diff options
author | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-05-01 16:09:54 +0000 |
---|---|---|
committer | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-05-01 16:09:54 +0000 |
commit | 72e35a71aa4b38d661ee20895fc1e39a1ec6905c (patch) | |
tree | dfeb96c4772df8caba4e01e749c8f3e1262f8fe0 /ext/tk/sample/demos-jp | |
parent | 2045cc0e0b4391ed856ce8bcb885e80668e07842 (diff) | |
download | ruby-72e35a71aa4b38d661ee20895fc1e39a1ec6905c.tar.gz ruby-72e35a71aa4b38d661ee20895fc1e39a1ec6905c.tar.xz ruby-72e35a71aa4b38d661ee20895fc1e39a1ec6905c.zip |
* renewal Ruby/Tk
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@6237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tk/sample/demos-jp')
68 files changed, 2889 insertions, 559 deletions
diff --git a/ext/tk/sample/demos-jp/README.1st b/ext/tk/sample/demos-jp/README.1st new file mode 100644 index 000000000..60b278d7b --- /dev/null +++ b/ext/tk/sample/demos-jp/README.1st @@ -0,0 +1,20 @@ +このディレクトリには Ruby/Tk のデモスクリプトが収められています. + +'.rb' という拡張子を持っているファイルは,ランチャ─スクリプトで +ある 'widget' から呼び出されるサブスクリプトです.それぞれ独立に +は動きません.'widget' スクリプトから呼び出してください. + +もしランチャ─スクリプト 'widget' の起動と同時にいくつかのサブス +クリプトを起動したければ,そのサブスクリプトの名前を引数として与 +えてください. +( 例: /usr/local/bin/ruby widget button.rb entry1.rb text.rb ) +サブスクリプトの拡張子 '.rb' は省略することもできます. +( 例: /usr/local/bin/ruby widget button entry1 text ) + +もしランチャ─スクリプトのウィンドウが必要ない場合には,'-n' オ +プションを与えてください. +( 例: /usr/local/bin/ruby widget -n button.rb entry1.rb text.rb ) + +他のファイル (browse1 や hello など) は単独で動かすことが可能です. + + 2004/04/14 Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) diff --git a/ext/tk/sample/demos-jp/arrow.rb b/ext/tk/sample/demos-jp/arrow.rb index 3640798db..70fe346b6 100644 --- a/ext/tk/sample/demos-jp/arrow.rb +++ b/ext/tk/sample/demos-jp/arrow.rb @@ -104,7 +104,8 @@ TkLabel.new($arrow_demo, 'font'=>$font, 'wraplength'=>'5i', 'justify'=>'left', # frame 生成 $arrow_buttons = TkFrame.new($arrow_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $arrow_demo $arrow_demo = nil @@ -146,7 +147,7 @@ if TkWinfo.depth($arrow_canvas) > 1 $demo_arrowInfo.activeStyle = {'fill'=>'red', 'outline'=>'black', 'width'=>1} else $demo_arrowInfo.bigLineStyle = {'fill'=>'black', - 'stipple'=>'@'+[$demo_dir, 'images', 'grey.25'].join(File::Separator)} + 'stipple'=>'@'+[$demo_dir,'..','images','grey.25'].join(File::Separator)} $demo_arrowInfo.boxStyle = {'fill'=>'', 'outline'=>'black', 'width'=>1} $demo_arrowInfo.activeStyle = {'fill'=>'black','outline'=>'black','width'=>1} end diff --git a/ext/tk/sample/demos-jp/bind.rb b/ext/tk/sample/demos-jp/bind.rb index 1f221a629..eebd62fc0 100644 --- a/ext/tk/sample/demos-jp/bind.rb +++ b/ext/tk/sample/demos-jp/bind.rb @@ -18,7 +18,8 @@ $bind_demo = TkToplevel.new {|w| # frame 生成 TkFrame.new($bind_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $bind_demo $bind_demo = nil diff --git a/ext/tk/sample/demos-jp/bitmap.rb b/ext/tk/sample/demos-jp/bitmap.rb index a40086288..644b96081 100644 --- a/ext/tk/sample/demos-jp/bitmap.rb +++ b/ext/tk/sample/demos-jp/bitmap.rb @@ -46,7 +46,8 @@ TkLabel.new($bitmap_demo,'font'=>$font,'wraplength'=>'4i','justify'=>'left', # frame 生成 $bitmap_buttons = TkFrame.new($bitmap_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $bitmap_demo $bitmap_demo = nil diff --git a/ext/tk/sample/demos-jp/browse2 b/ext/tk/sample/demos-jp/browse2 index 304a5f547..edad04dbc 100644 --- a/ext/tk/sample/demos-jp/browse2 +++ b/ext/tk/sample/demos-jp/browse2 @@ -39,11 +39,11 @@ class Browse } # Set up bindings for the browser. - base.bind('Control-c', - proc{ - base.destroy + base.bind('Destroy', proc{ Browse::BROWSE_WIN_COUNTER.value = \ - Browse::BROWSE_WIN_COUNTER.to_i - 1}) + Browse::BROWSE_WIN_COUNTER.to_i - 1 + }) + base.bind('Control-c', proc{base.destroy}) list.bind('Double-Button-1', proc{TkSelection.get.each{|f| self.browse dir, f}}) end diff --git a/ext/tk/sample/demos-jp/button.rb b/ext/tk/sample/demos-jp/button.rb index 33247261f..20f8cae29 100644 --- a/ext/tk/sample/demos-jp/button.rb +++ b/ext/tk/sample/demos-jp/button.rb @@ -27,7 +27,8 @@ msg.pack('side'=>'top') # frame 生成 $button_buttons = TkFrame.new($button_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $button_demo $button_demo = nil diff --git a/ext/tk/sample/demos-jp/check.rb b/ext/tk/sample/demos-jp/check.rb index 50c21fac0..88e90c71d 100644 --- a/ext/tk/sample/demos-jp/check.rb +++ b/ext/tk/sample/demos-jp/check.rb @@ -20,7 +20,7 @@ msg = TkLabel.new($check_demo) { font $font wraplength '4i' justify 'left' - text "下には 3 つのチェックボタンが表示されています。クリックするとボタンの選択状態が変わり、Tcl 変数にそのボタンの状態を示す値を設定します。現在の変数の値を見るには「変数参照」ボタンをクリックしてください。" + text "下には 3 つのチェックボタンが表示されています。クリックするとボタンの選択状態が変わり、Tcl 変数 ( TkVariable オブジェクトでアクセスできます ) にそのボタンの状態を示す値を設定します。現在の変数の値を見るには「変数参照」ボタンをクリックしてください。" } msg.pack('side'=>'top') @@ -32,7 +32,8 @@ sober = TkVariable.new(0) # frame 生成 TkFrame.new($check_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $check_demo $check_demo = nil @@ -61,6 +62,6 @@ TkFrame.new($check_demo) {|frame| # checkbutton 生成 [ TkCheckButton.new($check_demo, 'text'=>'ワイパー OK', 'variable'=>wipers), TkCheckButton.new($check_demo, 'text'=>'ブレーキ OK', 'variable'=>brakes), - TkCheckButton.new($check_demo, 'text'=>'ドライバー素面', 'variable'=>sober) + TkCheckButton.new($check_demo, 'text'=>'運転手 素面', 'variable'=>sober) ].each{|w| w.relief('flat'); w.pack('side'=>'top', 'pady'=>2, 'anchor'=>'w')} diff --git a/ext/tk/sample/demos-jp/check2.rb b/ext/tk/sample/demos-jp/check2.rb new file mode 100644 index 000000000..63d3bf939 --- /dev/null +++ b/ext/tk/sample/demos-jp/check2.rb @@ -0,0 +1,107 @@ +# +# checkbutton widget demo2 (called by 'widget') +# + +# toplevel widget が存在すれば削除する +if defined?($check2_demo) && $check2_demo + $check2_demo.destroy + $check2_demo = nil +end + +# demo 用の toplevel widget を生成 +$check2_demo = TkToplevel.new {|w| + title("Checkbutton Demonstration 2") + iconname("check2") + positionWindow(w) +} + +# label 生成 +msg = TkLabel.new($check2_demo) { + font $font + wraplength '4i' + justify 'left' + text "下には4つのチェックボタンが表示されています。クリックするとボタンの選択状態が変わり、Tcl変数(TkVariableオブジェクトでアクセスできます)にそのボタンの状態を示す値を設定します。最初のボタンの状態は他の3つのボタンの状態にも依存して変化します。もし3つのボタンの一部だけにチェックが付けられている場合、最初のボタンはトライステート(3状態)モードでの表示を行います。現在の変数の値を見るには「変数参照」ボタンをクリックしてください。" +} +msg.pack('side'=>'top') + +# 変数生成 +safety = TkVariable.new(0) +wipers = TkVariable.new(0) +brakes = TkVariable.new(0) +sober = TkVariable.new(0) + +# frame 生成 +TkFrame.new($check2_demo) {|frame| + TkGrid(TkFrame.new(frame, :height=>2, :relief=>:sunken, :bd=>2), + :columnspan=>4, :row=>0, :sticky=>'ew', :pady=>2) + TkGrid('x', + TkButton.new(frame, :text=>'変数参照', + :image=>$image['view'], :compound=>:left, + :command=>proc{ + showVars($check2_demo, + ['safety', safety], ['wipers', wipers], + ['brakes', brakes], ['sober', sober]) + }), + TkButton.new(frame, :text=>'コード参照', + :image=>$image['view'], :compound=>:left, + :command=>proc{showCode 'check2'}), + TkButton.new(frame, :text=>'閉じる', + :image=>$image['delete'], :compound=>:left, + :command=>proc{ + tmppath = $check2_demo + $check2_demo = nil + $showVarsWin[tmppath.path] = nil + tmppath.destroy + }), + :padx=>4, :pady=>4) + frame.grid_columnconfigure(0, :weight=>1) +}.pack('side'=>'bottom', 'fill'=>'x') + + +# checkbutton 生成 +TkCheckButton.new($check2_demo, :text=>'安全性検査', :variable=>safety, + :relief=>:flat, :onvalue=>'all', :offvalue=>'none', + :tristatevalue=>'partial'){ + pack('side'=>'top', 'pady'=>2, 'anchor'=>'w') +} + +[ TkCheckButton.new($check2_demo, 'text'=>'ワイパー OK', 'variable'=>wipers), + TkCheckButton.new($check2_demo, 'text'=>'ブレーキ OK', 'variable'=>brakes), + TkCheckButton.new($check2_demo, 'text'=>'運転手 素面', 'variable'=>sober) +].each{|w| + w.relief('flat') + w.pack('side'=>'top', 'padx'=>15, 'pady'=>2, 'anchor'=>'w') +} + +# tristate check +in_check = false +tristate_check = proc{|n1,n2,op| + return if in_check + + in_check = true + begin + if n1 == safety + if safety == 'none' + wipers.value = 0 + brakes.value = 0 + sober.value = 0 + elsif safety == 'all' + wipers.value = 1 + brakes.value = 1 + sober.value = 1 + end + else + if wipers == 1 && brakes == 1 && sober == 1 + safety.value = 'all' + elsif wipers == 1 || brakes == 1 || sober == 1 + safety.value = 'partial' + else + safety.value = 'none' + end + end + ensure + in_check = false + end +} + +[wipers, brakes, sober, safety].each{|v| v.trace('w', tristate_check)} diff --git a/ext/tk/sample/demos-jp/clrpick.rb b/ext/tk/sample/demos-jp/clrpick.rb index 55cfd9c7c..284611a77 100644 --- a/ext/tk/sample/demos-jp/clrpick.rb +++ b/ext/tk/sample/demos-jp/clrpick.rb @@ -22,7 +22,8 @@ TkLabel.new($clrpick_demo,'font'=>$font,'wraplength'=>'4i','justify'=>'left', # frame 生成 TkFrame.new($clrpick_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $clrpick_demo $clrpick_demo = nil diff --git a/ext/tk/sample/demos-jp/colors.rb b/ext/tk/sample/demos-jp/colors.rb index f9a5983e7..c6128f9c0 100644 --- a/ext/tk/sample/demos-jp/colors.rb +++ b/ext/tk/sample/demos-jp/colors.rb @@ -27,7 +27,8 @@ msg.pack('side'=>'top') # frame 生成 TkFrame.new($colors_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $colors_demo $colors_demo = nil diff --git a/ext/tk/sample/demos-jp/cscroll.rb b/ext/tk/sample/demos-jp/cscroll.rb index 7f5ffa2f0..d128b63a7 100644 --- a/ext/tk/sample/demos-jp/cscroll.rb +++ b/ext/tk/sample/demos-jp/cscroll.rb @@ -24,7 +24,8 @@ TkLabel.new($cscroll_demo, 'font'=>$font, 'wraplength'=>'4i', # frame 生成 $cscroll_buttons = TkFrame.new($cscroll_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $cscroll_demo $cscroll_demo = nil diff --git a/ext/tk/sample/demos-jp/ctext.rb b/ext/tk/sample/demos-jp/ctext.rb index 6d9355e2f..4704b4141 100644 --- a/ext/tk/sample/demos-jp/ctext.rb +++ b/ext/tk/sample/demos-jp/ctext.rb @@ -30,7 +30,8 @@ TkLabel.new($ctext_demo, 'font'=>$font, 'wraplength'=>'5i', 'justify'=>'left', # frame 生成 $ctext_buttons = TkFrame.new($ctext_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $ctext_demo $ctext_demo = nil diff --git a/ext/tk/sample/demos-jp/dialog1.rb b/ext/tk/sample/demos-jp/dialog1.rb index 5b578a981..0d6181bfc 100644 --- a/ext/tk/sample/demos-jp/dialog1.rb +++ b/ext/tk/sample/demos-jp/dialog1.rb @@ -34,5 +34,5 @@ when 0 when 1 print "あなたは「キャンセル」を押しましたね。\n" when 2 - showCode dialog1 + showCode 'dialog1' end diff --git a/ext/tk/sample/demos-jp/dialog2.rb b/ext/tk/sample/demos-jp/dialog2.rb index 4819f18a0..36b2356cc 100644 --- a/ext/tk/sample/demos-jp/dialog2.rb +++ b/ext/tk/sample/demos-jp/dialog2.rb @@ -37,6 +37,6 @@ when 0 when 1 print "あなたは「キャンセル」を押しましたね。\n" when 2 - showCode dialog2 + showCode 'dialog2' end diff --git a/ext/tk/sample/demos-jp/entry1.rb b/ext/tk/sample/demos-jp/entry1.rb index 273b6728d..edf3b5f71 100644 --- a/ext/tk/sample/demos-jp/entry1.rb +++ b/ext/tk/sample/demos-jp/entry1.rb @@ -27,7 +27,8 @@ msg.pack('side'=>'top') # frame 生成 TkFrame.new($entry1_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $entry1_demo $entry1_demo = nil diff --git a/ext/tk/sample/demos-jp/entry2.rb b/ext/tk/sample/demos-jp/entry2.rb index 7efac005f..7d5740e66 100644 --- a/ext/tk/sample/demos-jp/entry2.rb +++ b/ext/tk/sample/demos-jp/entry2.rb @@ -27,7 +27,8 @@ msg.pack('side'=>'top') # frame 生成 TkFrame.new($entry2_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $entry2_demo $entry2_demo = nil diff --git a/ext/tk/sample/demos-jp/entry3.rb b/ext/tk/sample/demos-jp/entry3.rb index 9bf3f6209..f0e9bc868 100644 --- a/ext/tk/sample/demos-jp/entry3.rb +++ b/ext/tk/sample/demos-jp/entry3.rb @@ -41,7 +41,7 @@ EOL TkFrame.new($entry3_demo){|f| pack(:side=>:bottom, :fill=>:x, :pady=>'2m') - TkButton.new(f, :text=>'了解', :width=>15, :command=>proc{ + TkButton.new(f, :text=>'閉じる', :width=>15, :command=>proc{ $entry3_demo.destroy $entry3_demo = nil }).pack(:side=>:left, :expand=>true) @@ -161,6 +161,8 @@ def validatePhoneChange(widget, vmode, idx, char) widget.delete(idx) widget.insert(idx, $phoneNumberMap[char] || char) Tk.after_idle(proc{phoneSkipRight(widget, -1)}) + # Tk.update(true) # Don't work 'update' inter validation callback. + # It depends on Tcl/Tk side (tested on Tcl/Tk8.5a1). return true end return false diff --git a/ext/tk/sample/demos-jp/filebox.rb b/ext/tk/sample/demos-jp/filebox.rb index 175459670..78ae50a45 100644 --- a/ext/tk/sample/demos-jp/filebox.rb +++ b/ext/tk/sample/demos-jp/filebox.rb @@ -22,7 +22,8 @@ TkLabel.new($filebox_demo,'font'=>$font,'wraplength'=>'4i','justify'=>'left', # frame 生成 TkFrame.new($filebox_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $filebox_demo $filebox_demo = nil diff --git a/ext/tk/sample/demos-jp/floor.rb b/ext/tk/sample/demos-jp/floor.rb index bb655d5b5..d9d17ee94 100644 --- a/ext/tk/sample/demos-jp/floor.rb +++ b/ext/tk/sample/demos-jp/floor.rb @@ -1595,7 +1595,8 @@ TkLabel.new($floor_demo, 'font'=>$font, 'wraplength'=>'8i', 'justify'=>'left', # frame 生成 $floor_buttons = TkFrame.new($floor_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $floor_demo $floor_demo = nil diff --git a/ext/tk/sample/demos-jp/floor2.rb b/ext/tk/sample/demos-jp/floor2.rb new file mode 100644 index 000000000..e5a8f53f2 --- /dev/null +++ b/ext/tk/sample/demos-jp/floor2.rb @@ -0,0 +1,1716 @@ +# +# floorDisplay widget demo 2 (called by 'widget') +# + +# floorDisplay2 -- +# Recreate the floorplan display in the canvas given by "w". The +# floor given by "active" is displayed on top with its office structure +# visible. +# +# Arguments: +# w - Name of the canvas window. +# active - Number of active floor (1, 2, or 3). + +def floorDisplay2(w,active) + return if $activeFloor2 == active + + w.delete('all') + $activeFloor2 = active + + # First go through the three floors, displaying the backgrounds for + # each floor. + + floor2_bg1(w,$floor2_colors['bg1'],$floor2_colors['outline1']) + floor2_bg2(w,$floor2_colors['bg2'],$floor2_colors['outline2']) + floor2_bg3(w,$floor2_colors['bg3'],$floor2_colors['outline3']) + + # Raise the background for the active floor so that it's on top. + + w.raise("floor#{active}") + + # Create a dummy item just to mark this point in the display list, + # so we can insert highlights here. + + w.create(TkcRectangle,0,100,1,101,'fill'=>'','outline'=>'','tags'=>'marker') + + # Add the walls and labels for the active floor, along with + # transparent polygons that define the rooms on the floor. + # Make sure that the room polygons are on top. + + $floorLabels2.clear + $floorItems2.clear + send("floor2_fg#{active}", w, $floor2_colors['offices']) + w.raise('room') + + # Offset the floors diagonally from each other. + + w.move('floor1', '2c', '2c') + w.move('floor2', '1c', '1c') + + # Create items for the room entry and its label. + w.create(TkcWindow, 600, 100, 'anchor'=>'w', 'window'=>$floor2_entry) + w.create(TkcText, 600, 100, 'anchor'=>'e', 'text'=>"部屋番号: ") + w['scrollregion'] = w.bbox('all') +end + +# newRoom2 -- +# This method is invoked whenever the mouse enters a room +# in the floorplan. It changes tags so that the current room is +# highlighted. +# +# Arguments: +# w - The name of the canvas window. + +def newRoom2(w) + id = w.find_withtag('current')[0] + $currentRoom2.value = $floorLabels2[id.id] if id != "" + Tk.update(true) +end + +# roomChanged2 -- +# This method is invoked whenever the currentRoom variable changes. +# It highlights the current room and unhighlights any previous room. +# +# Arguments: +# w - The canvas window displaying the floorplan. +# args - Not used. + +def roomChanged2(w,*args) + w.delete('highlight') + item = $floorItems2[$currentRoom2.value] + return if item == nil + new = TkcPolygon.new(w, *(w.coords(item))) + new.configure('fill'=>$floor2_colors['active'], 'tags'=>'highlight') + w.raise(new, 'marker') +end + +# floor2_bg1 -- +# This method represents part of the floorplan database. When +# invoked, it instantiates the background information for the first +# floor. +# +# Arguments: +# w - The canvas window. +# fill - Fill color to use for the floor's background. +# outline - Color to use for the floor's outline. + +def floor2_bg1(w,fill,outline) + w.create(TkcPolygon,347,80,349,82,351,84,353,85,363,92,375,99,386,104, + 386,129,398,129,398,162,484,162,484,129,559,129,559,133,725, + 133,725,129,802,129,802,389,644,389,644,391,559,391,559,327, + 508,327,508,311,484,311,484,278,395,278,395,288,400,288,404, + 288,409,290,413,292,418,297,421,302,422,309,421,318,417,325, + 411,330,405,332,397,333,344,333,340,334,336,336,335,338,332, + 342,331,347,332,351,334,354,336,357,341,359,340,360,335,363, + 331,365,326,366,304,366,304,355,258,355,258,387,60,387,60,391, + 0,391,0,337,3,337,3,114,8,114,8,25,30,25,30,5,93,5,98,5,104,7, + 110,10,116,16,119,20,122,28,123,32,123,68,220,68,220,34,221, + 22,223,17,227,13,231,8,236,4,242,2,246,0,260,0,283,1,300,5, + 321,14,335,22,348,25,365,29,363,39,358,48,352,56,337,70, + 344,76,347,80, 'tags'=>['floor1','bg'], 'fill'=>fill) + w.create(TkcLine,386,129,398,129, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,258,355,258,387, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,60,387,60,391, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,0,337,0,391, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,60,391,0,391, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,3,114,3,337, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,258,387,60,387, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,484,162,398,162, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,398,162,398,129, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,484,278,484,311, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,484,311,508,311, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,508,327,508,311, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,559,327,508,327, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,644,391,559,391, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,644,389,644,391, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,559,129,484,129, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,484,162,484,129, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,725,133,559,133, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,559,129,559,133, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,725,129,802,129, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,802,389,802,129, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,3,337,0,337, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,559,391,559,327, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,802,389,644,389, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,725,133,725,129, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,8,25,8,114, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,8,114,3,114, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,30,25,8,25, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,484,278,395,278, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,30,25,30,5, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,93,5,30,5, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,98,5,93,5, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,104,7,98,5, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,110,10,104,7, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,116,16,110,10, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,119,20,116,16, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,122,28,119,20, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,123,32,122,28, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,123,68,123,32, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,220,68,123,68, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,386,129,386,104, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,386,104,375,99, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,375,99,363,92, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,353,85,363,92, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,220,68,220,34, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,337,70,352,56, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,352,56,358,48, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,358,48,363,39, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,363,39,365,29, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,365,29,348,25, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,348,25,335,22, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,335,22,321,14, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,321,14,300,5, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,300,5,283,1, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,283,1,260,0, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,260,0,246,0, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,246,0,242,2, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,242,2,236,4, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,236,4,231,8, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,231,8,227,13, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,223,17,227,13, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,221,22,223,17, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,220,34,221,22, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,340,360,335,363, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,335,363,331,365, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,331,365,326,366, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,326,366,304,366, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,304,355,304,366, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,395,288,400,288, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,404,288,400,288, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,409,290,404,288, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,413,292,409,290, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,418,297,413,292, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,421,302,418,297, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,422,309,421,302, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,421,318,422,309, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,421,318,417,325, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,417,325,411,330, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,411,330,405,332, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,405,332,397,333, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,397,333,344,333, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,344,333,340,334, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,340,334,336,336, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,336,336,335,338, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,335,338,332,342, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,331,347,332,342, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,332,351,331,347, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,334,354,332,351, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,336,357,334,354, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,341,359,336,357, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,341,359,340,360, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,395,288,395,278, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,304,355,258,355, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,347,80,344,76, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,344,76,337,70, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,349,82,347,80, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,351,84,349,82, 'fill'=>outline, 'tags'=>['floor1','bg']) + w.create(TkcLine,353,85,351,84, 'fill'=>outline, 'tags'=>['floor1','bg']) +end + +# floor2_bg2 -- +# This method represents part of the floorplan database. When +# invoked, it instantiates the background information for the first +# floor. +# +# Arguments: +# w - The canvas window. +# fill - Fill color to use for the floor's background. +# outline - Color to use for the floor's outline. + +def floor2_bg2(w,fill,outline) + w.create(TkcPolygon,559,129,484,129,484,162,398,162,398,129,315,129, + 315,133,176,133,176,129,96,129,96,133,3,133,3,339,0,339,0,391, + 60,391,60,387,258,387,258,329,350,329,350,311,395,311,395,280, + 484,280,484,311,508,311,508,327,558,327,558,391,644,391,644, + 367,802,367,802,129,725,129,725,133,559,133,559,129, + 'tags'=>['floor2','bg'], 'fill'=>fill) + w.create(TkcLine,350,311,350,329, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,398,129,398,162, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,802,367,802,129, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,802,129,725,129, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,725,133,725,129, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,559,129,559,133, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,559,133,725,133, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,484,162,484,129, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,559,129,484,129, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,802,367,644,367, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,644,367,644,391, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,644,391,558,391, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,558,327,558,391, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,558,327,508,327, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,508,327,508,311, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,484,311,508,311, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,484,280,484,311, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,398,162,484,162, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,484,280,395,280, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,395,280,395,311, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,258,387,60,387, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,3,133,3,339, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,3,339,0,339, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,60,391,0,391, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,0,339,0,391, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,60,387,60,391, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,258,329,258,387, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,350,329,258,329, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,395,311,350,311, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,398,129,315,129, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,176,133,315,133, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,176,129,96,129, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,3,133,96,133, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,315,133,315,129, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,176,133,176,129, 'fill'=>outline, 'tags'=>['floor2','bg']) + w.create(TkcLine,96,133,96,129, 'fill'=>outline, 'tags'=>['floor2','bg']) +end + +# floor2_bg3 -- +# This method represents part of the floorplan database. When +# invoked, it instantiates the background information for the first +# floor. +# +# Arguments: +# w - The canvas window. +# fill - Fill color to use for the floor's background. +# outline - Color to use for the floor's outline. + +def floor2_bg3(w,fill,outline) + w.create(TkcPolygon,159,300,107,300,107,248,159,248,159,129,96,129,96, + 133,21,133,21,331,0,331,0,391,60,391,60,370,159,370,159,300, + 'tags'=>['floor3','bg'], 'fill'=>fill) + w.create(TkcPolygon,258,370,258,329,350,329,350,311,399,311,399,129, + 315,129,315,133,176,133,176,129,159,129,159,370,258,370, + 'tags'=>['floor3','bg'], 'fill'=>fill) + w.create(TkcLine,96,133,96,129, 'fill'=>outline, 'tags'=>['floor3','bg']) + w.create(TkcLine,176,129,96,129, 'fill'=>outline, 'tags'=>['floor3','bg']) + w.create(TkcLine,176,129,176,133, 'fill'=>outline, 'tags'=>['floor3','bg']) + w.create(TkcLine,315,133,176,133, 'fill'=>outline, 'tags'=>['floor3','bg']) + w.create(TkcLine,315,133,315,129, 'fill'=>outline, 'tags'=>['floor3','bg']) + w.create(TkcLine,399,129,315,129, 'fill'=>outline, 'tags'=>['floor3','bg']) + w.create(TkcLine,399,311,399,129, 'fill'=>outline, 'tags'=>['floor3','bg']) + w.create(TkcLine,399,311,350,311, 'fill'=>outline, 'tags'=>['floor3','bg']) + w.create(TkcLine,350,329,350,311, 'fill'=>outline, 'tags'=>['floor3','bg']) + w.create(TkcLine,350,329,258,329, 'fill'=>outline, 'tags'=>['floor3','bg']) + w.create(TkcLine,258,370,258,329, 'fill'=>outline, 'tags'=>['floor3','bg']) + w.create(TkcLine,60,370,258,370, 'fill'=>outline, 'tags'=>['floor3','bg']) + w.create(TkcLine,60,370,60,391, 'fill'=>outline, 'tags'=>['floor3','bg']) + w.create(TkcLine,60,391,0,391, 'fill'=>outline, 'tags'=>['floor3','bg']) + w.create(TkcLine,0,391,0,331, 'fill'=>outline, 'tags'=>['floor3','bg']) + w.create(TkcLine,21,331,0,331, 'fill'=>outline, 'tags'=>['floor3','bg']) + w.create(TkcLine,21,331,21,133, 'fill'=>outline, 'tags'=>['floor3','bg']) + w.create(TkcLine,96,133,21,133, 'fill'=>outline, 'tags'=>['floor3','bg']) + w.create(TkcLine,107,300,159,300,159,248,107,248,107,300, + 'fill'=>outline, 'tags'=>['floor3','bg']) +end + +# floor2_fg1 -- +# This method represents part of the floorplan database. When +# invoked, it instantiates the foreground information for the first +# floor (office outlines and numbers). +# +# Arguments: +# w - The canvas window. +# color - Color to use for drawing foreground information. + +def floor2_fg1(w,color) + i = TkcPolygon.new(w,375,246,375,172,341,172,341,246, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '101' + $floorItems2['101'] = i + w.create(TkcText,358,209, 'text'=>'101', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,307,240,339,240,339,206,307,206, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = 'Pub Lift1' + $floorItems2['Pub Lift1'] = i + w.create(TkcText,323,223, 'text'=>'Pub Lift1', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,339,205,307,205,307,171,339,171, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = 'Priv Lift1' + $floorItems2['Priv Lift1'] = i + w.create(TkcText,323,188, 'text'=>'Priv Lift1', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,42,389,42,337,1,337,1,389, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '110' + $floorItems2['110'] = i + w.create(TkcText,21.5,363, 'text'=>'110', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,59,389,59,385,90,385,90,337,44,337,44,389, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '109' + $floorItems2['109'] = i + w.create(TkcText,67,363, 'text'=>'109', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,51,300,51,253,6,253,6,300, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '111' + $floorItems2['111'] = i + w.create(TkcText,28.5,276.5, 'text'=>'111', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,98,248,98,309,79,309,79,248, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '117B' + $floorItems2['117B'] = i + w.create(TkcText,88.5,278.5, 'text'=>'117B', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,51,251,51,204,6,204,6,251, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '112' + $floorItems2['112'] = i + w.create(TkcText,28.5,227.5, 'text'=>'112', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,6,156,51,156,51,203,6,203, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '113' + $floorItems2['113'] = i + w.create(TkcText,28.5,179.5, 'text'=>'113', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,85,169,79,169,79,192,85,192, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '117A' + $floorItems2['117A'] = i + w.create(TkcText,82,180.5, 'text'=>'117A', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,77,302,77,168,53,168,53,302, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '117' + $floorItems2['117'] = i + w.create(TkcText,65,235, 'text'=>'117', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,51,155,51,115,6,115,6,155, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '114' + $floorItems2['114'] = i + w.create(TkcText,28.5,135, 'text'=>'114', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,95,115,53,115,53,168,95,168, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '115' + $floorItems2['115'] = i + w.create(TkcText,74,141.5, 'text'=>'115', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,87,113,87,27,10,27,10,113, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '116' + $floorItems2['116'] = i + w.create(TkcText,48.5,70, 'text'=>'116', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,89,91,128,91,128,113,89,131, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '118' + $floorItems2['118'] = i + w.create(TkcText,108.5,102, 'text'=>'118', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,178,128,178,132,216,132,216,91, + 163,91,163,112,149,112,149,128, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '120' + $floorItems2['120'] = i + w.create(TkcText,189.5,111.5, 'text'=>'120', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,79,193,87,193,87,169,136,169,136,192, + 156,192,156,169,175,169,175,246,79,246, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '122' + $floorItems2['122'] = i + w.create(TkcText,131,207.5, 'text'=>'122', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,138,169,154,169,154,191,138,191, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '121' + $floorItems2['121'] = i + w.create(TkcText,146,180, 'text'=>'121', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,99,300,126,300,126,309,99,309, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '106A' + $floorItems2['106A'] = i + w.create(TkcText,112.5,304.5, 'text'=>'106A', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,128,299,128,309,150,309,150,248,99,248,99,299, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '105' + $floorItems2['105'] = i + w.create(TkcText,124.5,278.5, 'text'=>'105', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,174,309,174,300,152,300,152,309, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '106B' + $floorItems2['106B'] = i + w.create(TkcText,163,304.5, 'text'=>'106B', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,176,299,176,309,216,309,216,248,152,248,152,299, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '104' + $floorItems2['104'] = i + w.create(TkcText,184,278.5, 'text'=>'104', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,138,385,138,337,91,337,91,385, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '108' + $floorItems2['108'] = i + w.create(TkcText,114.5,361, 'text'=>'108', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,256,337,140,337,140,385,256,385, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '107' + $floorItems2['107'] = i + w.create(TkcText,198,361, 'text'=>'107', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,300,353,300,329,260,329,260,353, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = 'Smoking' + $floorItems2['Smoking'] = i + w.create(TkcText,280,341, 'text'=>'Smoking', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,314,135,314,170,306,170,306,246,177,246,177,135, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '123' + $floorItems2['123'] = i + w.create(TkcText,245.5,190.5, 'text'=>'123', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,217,248,301,248,301,326,257,326,257,310,217,310, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '103' + $floorItems2['103'] = i + w.create(TkcText,259,287, 'text'=>'103', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,396,188,377,188,377,169,316,169,316,131,396,131, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '124' + $floorItems2['124'] = i + w.create(TkcText,356,150, 'text'=>'124', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,397,226,407,226,407,189,377,189,377,246,397,246, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '125' + $floorItems2['125'] = i + w.create(TkcText,392,217.5, 'text'=>'125', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,399,187,409,187,409,207,474,207,474,164,399,164, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '126' + $floorItems2['126'] = i + w.create(TkcText,436.5,185.5, 'text'=>'126', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,409,209,409,229,399,229,399,253, + 486,253,486,239,474,239,474,209, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '127' + $floorItems2['127'] = i + w.create(TkcText,436.5,'231', 'text'=>'127', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,501,164,501,174,495,174,495,188, + 490,188,490,204,476,204,476,164, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = 'MShower' + $floorItems2['MShower'] = i + w.create(TkcText,488.5,'184', 'text'=>'MShower', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,497,176,513,176,513,204,492,204,492,190,497,190, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = 'Closet' + $floorItems2['Closet'] = i + w.create(TkcText,502.5,190, 'text'=>'Closet', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,476,237,476,206,513,206,513,254,488,254,488,237, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = 'WShower' + $floorItems2['WShower'] = i + w.create(TkcText,494.5,230, 'text'=>'WShower', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,486,131,558,131,558,135,724,135,724,166, + 697,166,697,275,553,275,531,254,515,254, + 515,174,503,174,503,161,486,161, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '130' + $floorItems2['130'] = i + w.create(TkcText,638.5,205, 'text'=>'130', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,308,242,339,242,339,248,342,248, + 342,246,397,246,397,276,393,276, + 393,309,300,309,300,248,308,248, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '102' + $floorItems2['102'] = i + w.create(TkcText,367.5,278.5, 'text'=>'102', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,397,255,486,255,486,276,397,276, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '128' + $floorItems2['128'] = i + w.create(TkcText,441.5,265.5, 'text'=>'128', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,510,309,486,309,486,255,530,255, + 552,277,561,277,561,325,510,325, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '129' + $floorItems2['129'] = i + w.create(TkcText,535.5,293, 'text'=>'129', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,696,281,740,281,740,387,642,387, + 642,389,561,389,561,277,696,277, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '133' + $floorItems2['133'] = i + w.create(TkcText,628.5,335, 'text'=>'133', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,742,387,742,281,800,281,800,387, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '132' + $floorItems2['132'] = i + w.create(TkcText,771,334, 'text'=>'132', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,800,168,800,280,699,280,699,168, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '134' + $floorItems2['134'] = i + w.create(TkcText,749.5,224, 'text'=>'134', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,726,131,726,166,800,166,800,131, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '135' + $floorItems2['135'] = i + w.create(TkcText,763,148.5, 'text'=>'135', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,340,360,335,363,331,365,326,366,304,366, + 304,312,396,312,396,288,400,288,404,288, + 409,290,413,292,418,297,421,302,422,309, + 421,318,417,325,411,330,405,332,397,333, + 344,333,340,334,336,336,335,338,332,342, + 331,347,332,351,334,354,336,357,341,359, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = 'Ramona Stair' + $floorItems2['Ramona Stair'] = i + w.create(TkcText,368,323, 'text'=>'Ramona Stair', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,30,23,30,5,93,5,98,5,104,7,110,10,116,16,119,20, + 122,28,123,32,123,68,220,68,220,87,90,87,90,23, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = 'University Stair' + $floorItems2['University Stair'] = i + w.create(TkcText,155,77.5, 'text'=>'University Stair', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,282,37,295,40,312,49,323,56,337,70,352,56, + 358,48,363,39,365,29,348,25,335,22,321,14, + 300,5,283,1,260,0,246,0,242,2,236,4,231,8, + 227,13,223,17,221,22,220,34,260,34, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = 'Plaza Stair' + $floorItems2['Plaza Stair'] = i + w.create(TkcText,317.5,28.5, 'text'=>'Plaza Stair', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,220,34,260,34,282,37,295,40,312,49, + 323,56,337,70,350,83,365,94,377,100, + 386,104,386,128,220,128, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = 'Plaza Deck' + $floorItems2['Plaza Deck'] = i + w.create(TkcText,303,81, 'text'=>'Plaza Deck', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,257,336,77,336,6,336,6,301,77,301,77,310,257,310, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '106' + $floorItems2['106'] = i + w.create(TkcText,131.5,318.5, 'text'=>'106', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + i = TkcPolygon.new(w,146,110,162,110,162,91,130,91,130,115,95,115, + 95,128,114,128,114,151,157,151,157,153,112,153, + 112,130,97,130,97,168,175,168,175,131,146,131, + 'fill'=>'', 'tags'=>['floor1','room']) + $floorLabels2[i.id] = '119' + $floorItems2['119'] = i + w.create(TkcText,143.5,133, 'text'=>'119', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor1','label']) + w.create(TkcLine,155,191,155,189, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,155,177,155,169, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,96,129,96,169, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,78,169,176,169, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,176,247,176,129, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,340,206,307,206, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,340,187,340,170, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,340,210,340,201, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,340,247,340,224, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,340,241,307,241, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,376,246,376,170, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,307,247,307,170, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,376,170,307,170, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,315,129,315,170, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,147,129,176,129, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,202,133,176,133, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,398,129,315,129, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,258,352,258,387, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,60,387,60,391, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,0,337,0,391, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,60,391,0,391, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,3,114,3,337, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,258,387,60,387, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,52,237,52,273, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,52,189,52,225, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,52,140,52,177, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,395,306,395,311, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,531,254,398,254, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,475,178,475,238, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,502,162,398,162, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,398,129,398,188, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,383,188,376,188, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,408,188,408,194, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,398,227,398,254, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,408,227,398,227, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,408,222,408,227, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,408,206,408,210, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,408,208,475,208, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,484,278,484,311, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,484,311,508,311, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,508,327,508,311, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,559,327,508,327, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,644,391,559,391, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,644,389,644,391, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,514,205,475,205, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,496,189,496,187, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,559,129,484,129, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,484,162,484,129, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,725,133,559,133, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,559,129,559,133, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,725,149,725,167, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,725,129,802,129, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,802,389,802,129, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,739,167,802,167, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,396,188,408,188, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,0,337,9,337, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,58,337,21,337, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,43,391,43,337, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,105,337,75,337, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,91,387,91,337, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,154,337,117,337, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,139,387,139,337, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,227,337,166,337, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,258,337,251,337, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,258,328,302,328, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,302,355,302,311, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,395,311,302,311, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,484,278,395,278, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,395,294,395,278, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,473,278,473,275, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,473,256,473,254, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,533,257,531,254, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,553,276,551,274, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,698,276,553,276, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,559,391,559,327, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,802,389,644,389, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,741,314,741,389, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,698,280,698,167, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,707,280,698,280, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,802,280,731,280, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,741,280,741,302, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,698,167,727,167, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,725,137,725,129, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,514,254,514,175, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,496,175,514,175, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,502,175,502,162, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,475,166,475,162, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,496,176,496,175, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,491,189,496,189, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,491,205,491,189, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,487,238,475,238, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,487,240,487,238, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,487,252,487,254, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,315,133,304,133, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,256,133,280,133, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,78,247,270,247, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,307,247,294,247, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,214,133,232,133, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,217,247,217,266, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,217,309,217,291, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,217,309,172,309, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,154,309,148,309, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,175,300,175,309, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,151,300,175,300, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,151,247,151,309, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,78,237,78,265, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,78,286,78,309, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,106,309,78,309, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,130,309,125,309, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,99,309,99,247, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,127,299,99,299, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,127,309,127,299, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,155,191,137,191, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,137,169,137,191, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,78,171,78,169, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,78,190,78,218, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,86,192,86,169, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,86,192,78,192, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,52,301,3,301, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,52,286,52,301, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,52,252,3,252, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,52,203,3,203, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,3,156,52,156, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,8,25,8,114, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,63,114,3,114, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,75,114,97,114, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,108,114,129,114, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,129,114,129,89, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,52,114,52,128, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,132,89,88,89, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,88,25,88,89, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,88,114,88,89, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,218,89,144,89, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,147,111,147,129, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,162,111,147,111, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,162,109,162,111, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,162,96,162,89, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,218,89,218,94, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,218,89,218,119, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,8,25,88,25, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,258,337,258,328, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,113,129,96,129, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,302,355,258,355, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,386,104,386,129, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,377,100,386,104, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,365,94,377,100, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,350,83,365,94, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,337,70,350,83, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,337,70,323,56, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,312,49,323,56, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,295,40,312,49, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,282,37,295,40, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,260,34,282,37, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,253,34,260,34, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,386,128,386,104, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,113,152,156,152, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,113,152,156,152, 'fill'=>color, 'tags'=>['floor1','wall']) + w.create(TkcLine,113,152,113,129, 'fill'=>color, 'tags'=>['floor1','wall']) +end + +# floor2_fg2 -- +# This method represents part of the floorplan database. When +# invoked, it instantiates the foreground information for the second +# floor (office outlines and numbers). +# +# Arguments: +# w - The canvas window. +# color - Color to use for drawing foreground information. + +def floor2_fg2(w,color) + i = TkcPolygon.new(w,748,188,755,188,755,205,758,205,758,222, + 800,222,800,168,748,168, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '238' + $floorItems2['238'] = i + w.create(TkcText,774,195, 'text'=>'238', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,726,188,746,188,746,166,800,166,800,131,726,131, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '237' + $floorItems2['237'] = i + w.create(TkcText,763,148.5, 'text'=>'237', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,497,187,497,204,559,204,559,324,641,324, + 643,324,643,291,641,291,641,205,696,205, + 696,291,694,291,694,314,715,314,715,291, + 715,205,755,205,755,190,724,190,724,187, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '246' + $floorItems2['246'] = i + w.create(TkcText,600,264, 'text'=>'246', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,694,279,643,279,643,314,694,314, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '247' + $floorItems2['247'] = i + w.create(TkcText,668.5,296.5, 'text'=>'247', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,232,250,308,250,308,242,339,242,339,246, + 397,246,397,255,476,255,476,250,482,250,559,250, + 559,274,482,274,482,278,396,278,396,274,232,274, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '202' + $floorItems2['202'] = i + w.create(TkcText,285.5,260, 'text'=>'202', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,53,228,53,338,176,338,233,338,233,196, + 306,196,306,180,175,180,175,169,156,169, + 156,196,176,196,176,228, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '206' + $floorItems2['206'] = i + w.create(TkcText,143,267, 'text'=>'206', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,51,277,6,277,6,338,51,338, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '212' + $floorItems2['212'] = i + w.create(TkcText,28.5,307.5, 'text'=>'212', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,557,276,486,276,486,309,510,309,510,325,557,325, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '245' + $floorItems2['245'] = i + w.create(TkcText,521.5,300.5, 'text'=>'245', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,560,389,599,389,599,326,560,326, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '244' + $floorItems2['244'] = i + w.create(TkcText,579.5,357.5, 'text'=>'244', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,601,389,601,326,643,326,643,389, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '243' + $floorItems2['243'] = i + w.create(TkcText,622,357.5, 'text'=>'243', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,688,316,645,316,645,365,688,365, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '242' + $floorItems2['242'] = i + w.create(TkcText,666.5,340.5, 'text'=>'242', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,802,367,759,367,759,226,802,226, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = 'Barbecue Deck' + $floorItems2['Barbecue Deck'] = i + w.create(TkcText,780.5,296.5, 'text'=>'Barbecue Deck', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,755,262,755,314,717,314,717,262, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '240' + $floorItems2['240'] = i + w.create(TkcText,736,288, 'text'=>'240', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,755,316,689,316,689,365,755,365, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '241' + $floorItems2['241'] = i + w.create(TkcText,722,340.5, 'text'=>'241', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,755,206,717,206,717,261,755,261, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '239' + $floorItems2['239'] = i + w.create(TkcText,736,233.5, 'text'=>'239', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,695,277,643,277,643,206,695,206, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '248' + $floorItems2['248'] = i + w.create(TkcText,669,241.5, 'text'=>'248', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,676,135,676,185,724,185,724,135, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '236' + $floorItems2['236'] = i + w.create(TkcText,700,160, 'text'=>'236', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,675,135,635,135,635,145,628,145,628,185,675,185, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '235' + $floorItems2['235'] = i + w.create(TkcText,651.5,160, 'text'=>'235', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,626,143,633,143,633,135,572,135, + 572,143,579,143,579,185,626,185, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '234' + $floorItems2['234'] = i + w.create(TkcText,606,160, 'text'=>'234', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,557,135,571,135,571,145,578,145, + 578,185,527,185,527,131,557,131, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '233' + $floorItems2['233'] = i + w.create(TkcText,552.5,158, 'text'=>'233', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,476,249,557,249,557,205,476,205, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '230' + $floorItems2['230'] = i + w.create(TkcText,516.5,227, 'text'=>'230', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,476,164,486,164,486,131,525,131,525,185,476,185, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '232' + $floorItems2['232'] = i + w.create(TkcText,500.5,158, 'text'=>'232', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,476,186,495,186,495,204,476,204, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '229' + $floorItems2['229'] = i + w.create(TkcText,485.5,195, 'text'=>'229', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,474,207,409,207,409,187,399,187,399,164,474,164, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '227' + $floorItems2['227'] = i + w.create(TkcText,436.5,185.5, 'text'=>'227', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,399,228,399,253,474,253,474,209,409,209,409,228, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '228' + $floorItems2['228'] = i + w.create(TkcText,436.5,231, 'text'=>'228', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,397,246,397,226,407,226,407,189,377,189,377,246, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '226' + $floorItems2['226'] = i + w.create(TkcText,392,217.5, 'text'=>'226', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,377,169,316,169,316,131,397,131,397,188,377,188, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '225' + $floorItems2['225'] = i + w.create(TkcText,356.5,150, 'text'=>'225', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,234,198,306,198,306,249,234,249, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '224' + $floorItems2['224'] = i + w.create(TkcText,270,223.5, 'text'=>'224', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,270,179,306,179,306,170,314,170,314,135,270,135, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '223' + $floorItems2['223'] = i + w.create(TkcText,292,157, 'text'=>'223', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,268,179,221,179,221,135,268,135, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '222' + $floorItems2['222'] = i + w.create(TkcText,244.5,157, 'text'=>'222', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,177,179,219,179,219,135,177,135, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '221' + $floorItems2['221'] = i + w.create(TkcText,198,157, 'text'=>'221', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,299,327,349,327,349,284,341,284,341,276,299,276, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '204' + $floorItems2['204'] = i + w.create(TkcText,324,301.5, 'text'=>'204', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,234,276,297,276,297,327,257,327,257,338,234,338, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '205' + $floorItems2['205'] = i + w.create(TkcText,265.5,307, 'text'=>'205', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,256,385,256,340,212,340,212,385, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '207' + $floorItems2['207'] = i + w.create(TkcText,234,362.5, 'text'=>'207', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,210,340,164,340,164,385,210,385, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '208' + $floorItems2['208'] = i + w.create(TkcText,187,362.5, 'text'=>'208', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,115,340,162,340,162,385,115,385, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '209' + $floorItems2['209'] = i + w.create(TkcText,138.5,362.5, 'text'=>'209', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,89,228,89,156,53,156,53,228, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '217' + $floorItems2['217'] = i + w.create(TkcText,71,192, 'text'=>'217', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,89,169,97,169,97,190,89,190, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '217A' + $floorItems2['217A'] = i + w.create(TkcText,93,179.5, 'text'=>'217A', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,89,156,89,168,95,168,95,135,53,135,53,156, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '216' + $floorItems2['216'] = i + w.create(TkcText,71,145.5, 'text'=>'216', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,51,179,51,135,6,135,6,179, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '215' + $floorItems2['215'] = i + w.create(TkcText,28.5,157, 'text'=>'215', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,51,227,6,227,6,180,51,180, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '214' + $floorItems2['214'] = i + w.create(TkcText,28.5,203.5, 'text'=>'214', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,51,275,6,275,6,229,51,229, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '213' + $floorItems2['213'] = i + w.create(TkcText,28.5,252, 'text'=>'213', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,114,340,67,340,67,385,114,385, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '210' + $floorItems2['210'] = i + w.create(TkcText,90.5,362.5, 'text'=>'210', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,59,389,59,385,65,385,65,340,1,340,1,389, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '211' + $floorItems2['211'] = i + w.create(TkcText,33,364.5, 'text'=>'211', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,393,309,350,309,350,282,342,282,342,276,393,276, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '203' + $floorItems2['203'] = i + w.create(TkcText,367.5,292.5, 'text'=>'203', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,99,191,91,191,91,226,174,226,174,198, + 154,198,154,192,109,192,109,169,99,169, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '220' + $floorItems2['220'] = i + w.create(TkcText,132.5,208.5, 'text'=>'220', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,339,205,307,205,307,171,339,171, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = 'Priv Lift2' + $floorItems2['Priv Lift2'] = i + w.create(TkcText,323,188, 'text'=>'Priv Lift2', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,307,240,339,240,339,206,307,206, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = 'Pub Lift 2' + $floorItems2['Pub Lift 2'] = i + w.create(TkcText,323,223, 'text'=>'Pub Lift 2', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,175,168,97,168,97,131,175,131, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '218' + $floorItems2['218'] = i + w.create(TkcText,136,149.5, 'text'=>'218', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,154,191,111,191,111,169,154,169, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '219' + $floorItems2['219'] = i + w.create(TkcText,132.5,180, 'text'=>'219', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + i = TkcPolygon.new(w,375,246,375,172,341,172,341,246, + 'fill'=>'', 'tags'=>['floor2','room']) + $floorLabels2[i.id] = '201' + $floorItems2['201'] = i + w.create(TkcText,358,209, 'text'=>'201', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor2','label']) + w.create(TkcLine,641,186,678,186, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,757,350,757,367, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,634,133,634,144, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,634,144,627,144, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,572,133,572,144, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,572,144,579,144, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,398,129,398,162, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,174,197,175,197, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,175,197,175,227, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,757,206,757,221, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,396,188,408,188, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,727,189,725,189, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,747,167,802,167, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,747,167,747,189, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,755,189,739,189, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,769,224,757,224, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,802,224,802,129, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,802,129,725,129, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,725,189,725,129, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,725,186,690,186, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,676,133,676,186, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,627,144,627,186, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,629,186,593,186, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,579,144,579,186, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,559,129,559,133, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,725,133,559,133, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,484,162,484,129, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,559,129,484,129, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,526,129,526,186, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,540,186,581,186, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,528,186,523,186, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,511,186,475,186, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,496,190,496,186, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,496,205,496,202, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,475,205,527,205, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,558,205,539,205, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,558,205,558,249, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,558,249,475,249, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,662,206,642,206, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,695,206,675,206, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,695,278,642,278, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,642,291,642,206, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,695,291,695,206, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,716,208,716,206, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,757,206,716,206, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,757,221,757,224, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,793,224,802,224, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,757,262,716,262, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,716,220,716,264, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,716,315,716,276, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,757,315,703,315, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,757,325,757,224, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,757,367,644,367, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,689,367,689,315, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,647,315,644,315, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,659,315,691,315, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,600,325,600,391, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,627,325,644,325, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,644,391,644,315, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,615,325,575,325, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,644,391,558,391, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,563,325,558,325, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,558,391,558,314, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,558,327,508,327, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,558,275,484,275, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,558,302,558,275, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,508,327,508,311, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,484,311,508,311, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,484,275,484,311, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,475,208,408,208, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,408,206,408,210, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,408,222,408,227, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,408,227,398,227, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,398,227,398,254, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,408,188,408,194, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,383,188,376,188, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,398,188,398,162, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,398,162,484,162, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,475,162,475,254, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,398,254,475,254, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,484,280,395,280, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,395,311,395,275, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,307,197,293,197, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,278,197,233,197, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,233,197,233,249, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,307,179,284,179, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,233,249,278,249, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,269,179,269,133, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,220,179,220,133, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,155,191,110,191, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,90,190,98,190, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,98,169,98,190, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,52,133,52,165, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,52,214,52,177, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,52,226,52,262, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,52,274,52,276, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,234,275,234,339, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,226,339,258,339, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,211,387,211,339, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,214,339,177,339, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,258,387,60,387, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,3,133,3,339, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,165,339,129,339, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,117,339,80,339, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,68,339,59,339, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,0,339,46,339, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,60,391,0,391, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,0,339,0,391, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,60,387,60,391, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,258,329,258,387, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,350,329,258,329, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,395,311,350,311, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,398,129,315,129, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,176,133,315,133, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,176,129,96,129, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,3,133,96,133, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,66,387,66,339, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,115,387,115,339, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,163,387,163,339, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,234,275,276,275, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,288,275,309,275, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,298,275,298,329, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,341,283,350,283, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,321,275,341,275, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,375,275,395,275, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,315,129,315,170, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,376,170,307,170, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,307,250,307,170, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,376,245,376,170, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,340,241,307,241, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,340,245,340,224, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,340,210,340,201, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,340,187,340,170, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,340,206,307,206, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,293,250,307,250, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,271,179,238,179, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,226,179,195,179, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,176,129,176,179, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,182,179,176,179, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,174,169,176,169, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,162,169,90,169, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,96,169,96,129, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,175,227,90,227, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,90,190,90,227, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,52,179,3,179, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,52,228,3,228, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,52,276,3,276, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,155,177,155,169, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,110,191,110,169, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,155,189,155,197, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,350,283,350,329, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,162,197,155,197, 'fill'=>color, 'tags'=>['floor2','wall']) + w.create(TkcLine,341,275,341,283, 'fill'=>color, 'tags'=>['floor2','wall']) +end + +# floor2_fg3 -- +# This method represents part of the floorplan database. When +# invoked, it instantiates the foreground information for the third +# floor (office outlines and numbers). +# +# Arguments: +# w - The canvas window. +# color - Color to use for drawing foreground information. + +def floor2_fg3(w,color) + i = TkcPolygon.new(w,89,228,89,180,70,180,70,228, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '316' + $floorItems2['316'] = i + w.create(TkcText,79.5,204, 'text'=>'316', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,115,368,162,368,162,323,115,323, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '309' + $floorItems2['309'] = i + w.create(TkcText,138.5,345.5, 'text'=>'309', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,164,323,164,368,211,368,211,323, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '308' + $floorItems2['308'] = i + w.create(TkcText,187.5,345.5, 'text'=>'308', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,256,368,212,368,212,323,256,323, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '307' + $floorItems2['307'] = i + w.create(TkcText,234,345.5, 'text'=>'307', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,244,276,297,276,297,327,260,327,260,321,244,321, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '305' + $floorItems2['305'] = i + w.create(TkcText,270.5,301.5, 'text'=>'305', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,251,219,251,203,244,203,244,219, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '324B' + $floorItems2['324B'] = i + w.create(TkcText,247.5,211, 'text'=>'324B', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,251,249,244,249,244,232,251,232, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '324A' + $floorItems2['324A'] = i + w.create(TkcText,247.5,240.5, 'text'=>'324A', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,223,135,223,179,177,179,177,135, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '320' + $floorItems2['320'] = i + w.create(TkcText,200,157, 'text'=>'320', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,114,368,114,323,67,323,67,368, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '310' + $floorItems2['310'] = i + w.create(TkcText,90.5,345.5, 'text'=>'310', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,23,277,23,321,68,321,68,277, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '312' + $floorItems2['312'] = i + w.create(TkcText,45.5,299, 'text'=>'312', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,23,229,68,229,68,275,23,275, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '313' + $floorItems2['313'] = i + w.create(TkcText,45.5,252, 'text'=>'313', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,68,227,23,227,23,180,68,180, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '314' + $floorItems2['314'] = i + w.create(TkcText,40.5,203.5, 'text'=>'314', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,95,179,95,135,23,135,23,179, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '315' + $floorItems2['315'] = i + w.create(TkcText,59,157, 'text'=>'315', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,99,226,99,204,91,204,91,226, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '316B' + $floorItems2['316B'] = i + w.create(TkcText,95,215, 'text'=>'316B', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,91,202,99,202,99,180,91,180, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '316A' + $floorItems2['316A'] = i + w.create(TkcText,95,191, 'text'=>'316A', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,97,169,109,169,109,192,154,192,154,198, + 174,198,174,226,101,226,101,179,97,179, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '319' + $floorItems2['319'] = i + w.create(TkcText,141.5,209, 'text'=>'319', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,65,368,58,368,58,389,1,389,1,333,23,333,23,323,65,323, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '311' + $floorItems2['311'] = i + w.create(TkcText,29.5,361, 'text'=>'311', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,154,191,111,191,111,169,154,169, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '318' + $floorItems2['318'] = i + w.create(TkcText,132.5,180, 'text'=>'318', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,175,168,97,168,97,131,175,131, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '317' + $floorItems2['317'] = i + w.create(TkcText,136,149.5, 'text'=>'317', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,274,194,274,221,306,221,306,194, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '323' + $floorItems2['323'] = i + w.create(TkcText,290,207.5, 'text'=>'323', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,306,222,274,222,274,249,306,249, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '325' + $floorItems2['325'] = i + w.create(TkcText,290,235.5, 'text'=>'325', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,263,179,224,179,224,135,263,135, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '321' + $floorItems2['321'] = i + w.create(TkcText,243.5,157, 'text'=>'321', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,314,169,306,169,306,192,273,192, + 264,181,264,135,314,135, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '322' + $floorItems2['322'] = i + w.create(TkcText,293.5,163.5, 'text'=>'322', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,307,240,339,240,339,206,307,206, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = 'Pub Lift3' + $floorItems2['Pub Lift3'] = i + w.create(TkcText,323,223, 'text'=>'Pub Lift3', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,339,205,307,205,307,171,339,171, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = 'Priv Lift3' + $floorItems2['Priv Lift3'] = i + w.create(TkcText,323,188, 'text'=>'Priv Lift3', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,350,284,376,284,376,276,397,276,397,309,350,309, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '303' + $floorItems2['303'] = i + w.create(TkcText,373.5,292.5, 'text'=>'303', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,272,203,272,249,252,249,252,230, + 244,230,244,221,252,221,252,203, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '324' + $floorItems2['324'] = i + w.create(TkcText,262,226, 'text'=>'324', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,299,276,299,327,349,327,349,284,341,284,341,276, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '304' + $floorItems2['304'] = i + w.create(TkcText,324,301.5, 'text'=>'304', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,375,246,375,172,341,172,341,246, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '301' + $floorItems2['301'] = i + w.create(TkcText,358,209, 'text'=>'301', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,397,246,377,246,377,185,397,185, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '327' + $floorItems2['327'] = i + w.create(TkcText,387,215.5, 'text'=>'327', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,316,131,316,169,377,169,377,185,397,185,397,131, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '326' + $floorItems2['326'] = i + w.create(TkcText,365.5,150, 'text'=>'326', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,308,251,242,251,242,274,342,274,342,282,375, 282, + 375,274,397,274,397,248,339,248,339,242,308,242, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '302' + $floorItems2['302'] = i + w.create(TkcText,319.5,261, 'text'=>'302', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + i = TkcPolygon.new(w,70,321,242,321,242,200,259,200,259,203,272,203, + 272,193,263,180,242,180,175,180,175,169,156,169, + 156,196,177,196,177,228,107,228,70,228,70,275,107,275, + 107,248,160,248,160,301,107,301,107,275,70,275, + 'fill'=>'', 'tags'=>['floor3','room']) + $floorLabels2[i.id] = '306' + $floorItems2['306'] = i + w.create(TkcText,200.5,284.5, 'text'=>'306', 'fill'=>color, + 'anchor'=>'c', 'tags'=>['floor3','label']) + w.create(TkcLine,341,275,341,283, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,162,197,155,197, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,396,247,399,247, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,399,129,399,311, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,258,202,243,202, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,350,283,350,329, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,251,231,243,231, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,243,220,251,220, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,243,250,243,202, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,155,197,155,190, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,110,192,110,169, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,155,192,110,192, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,155,177,155,169, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,176,197,176,227, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,69,280,69,274, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,21,276,69,276, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,69,262,69,226, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,21,228,69,228, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,21,179,75,179, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,69,179,69,214, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,90,220,90,227, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,90,204,90,202, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,90,203,100,203, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,90,187,90,179, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,90,227,176,227, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,100,179,100,227, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,100,179,87,179, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,96,179,96,129, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,162,169,96,169, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,173,169,176,169, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,182,179,176,179, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,176,129,176,179, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,195,179,226,179, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,224,133,224,179, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,264,179,264,133, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,238,179,264,179, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,273,207,273,193, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,273,235,273,250, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,273,224,273,219, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,273,193,307,193, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,273,222,307,222, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,273,250,307,250, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,384,247,376,247, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,340,206,307,206, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,340,187,340,170, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,340,210,340,201, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,340,247,340,224, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,340,241,307,241, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,376,247,376,170, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,307,250,307,170, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,376,170,307,170, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,315,129,315,170, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,376,283,366,283, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,376,283,376,275, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,399,275,376,275, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,341,275,320,275, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,341,283,350,283, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,298,275,298,329, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,308,275,298,275, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,243,322,243,275, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,243,275,284,275, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,258,322,226,322, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,212,370,212,322, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,214,322,177,322, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,163,370,163,322, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,165,322,129,322, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,84,322,117,322, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,71,322,64,322, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,115,322,115,370, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,66,322,66,370, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,52,322,21,322, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,21,331,0,331, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,21,331,21,133, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,96,133,21,133, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,176,129,96,129, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,315,133,176,133, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,315,129,399,129, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,399,311,350,311, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,350,329,258,329, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,258,322,258,370, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,60,370,258,370, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,60,370,60,391, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,0,391,0,331, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,60,391,0,391, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,307,250,307,242, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,273,250,307,250, 'fill'=>color, 'tags'=>['floor3','wall']) + w.create(TkcLine,258,250,243,250, 'fill'=>color, 'tags'=>['floor3','wall']) +end + +# Below is the "main program" that creates the floorplan demonstration. + +# toplevel widget が存在すれば削除する +if defined?($floor2_demo) && $floor2_demo + $floor2_demo.destroy + $floor2_demo = nil +end + +# demo 用の toplevel widget を生成 +$floor2_demo = TkToplevel.new {|w| + title("Floorplan Canvas Demonstration 2") + iconname("Floorplan2") + positionWindow(w) + geometry('+20+20') + minsize(100,100) +} + +# label 生成 +TkLabel.new($floor2_demo, 'font'=>$font, 'wraplength'=>'8i', 'justify'=>'left', + 'text'=>"このウィンドウにはディジタルエクイップメント社のウェスタンリサーチラボラトリ (DECWRL) の間取りが書かれたキャンバス widget が入っています。これは 3階建てで、常にそのうちの1階分が選択、つまりその間取りが表示されるようになっています。ある階を選択するには、その上でマウスの左ボタンをクリックしてください。マウスが選択されている階の上を動くと、その下にある部屋の色が変わり、部屋番号が「部屋番号:」エントリに表示されます。また、エントリに部屋番号を書くとその部屋の色が変わります。"){ + pack('side'=>'top') +} + +# frame 生成 +$floor2_buttons = TkFrame.new($floor2_demo) {|frame| + TkButton.new(frame) { + #text '了解' + text '閉じる' + command proc{ + tmppath = $floor2_demo + $floor2_demo = nil + tmppath.destroy + } + }.pack('side'=>'left', 'expand'=>'yes') + + TkButton.new(frame) { + text 'コード参照' + command proc{showCode 'floor2'} + }.pack('side'=>'left', 'expand'=>'yes') +} +$floor2_buttons.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m') + +# 変数設定 +$floorLabels2 = {} +$floorItems2 = {} + +# canvas 設定 +if $tk_version =~ /^4\.[01]/ + $floor2_canvas_frame = TkFrame.new($floor2_demo,'bd'=>2,'relief'=>'sunken', + 'highlightthickness'=>2) + $floor2_canvas = TkCanvas.new($floor2_canvas_frame, + 'width'=>900, 'height'=>500, 'borderwidth'=>0, + 'highlightthickness'=>0) {|c| + TkScrollbar.new($floor2_demo, 'orient'=>'horiz', + 'command'=>proc{|*args| c.xview(*args)}){|hs| + c.xscrollcommand(proc{|first,last| hs.set first,last}) + pack('side'=>'bottom', 'fill'=>'x') + } + TkScrollbar.new($floor2_demo, 'command'=>proc{|*args| c.yview(*args)}){|vs| + c.yscrollcommand(proc{|first,last| vs.set first,last}) + pack('side'=>'right', 'fill'=>'y') + } + } + $floor2_canvas_frame.pack('side'=>'top','fill'=>'both', 'expand'=>'yes') + $floor2_canvas.pack('expand'=>'yes', 'fill'=>'both') + +else + TkFrame.new($floor2_demo) {|f| + pack('side'=>'top', 'fill'=>'both', 'expand'=>'yes') + + h = TkScrollbar.new(f, 'highlightthickness'=>0, 'orient'=>'horizontal') + v = TkScrollbar.new(f, 'highlightthickness'=>0, 'orient'=>'vertical') + + TkFrame.new(f, 'bd'=>2, 'relief'=>'sunken') {|f1| + $floor2_canvas = TkCanvas.new(f1, 'width'=>900, 'height'=>500, + 'borderwidth'=>0, + 'highlightthickness'=>0) { + xscrollcommand(proc{|first,last| h.set first,last}) + yscrollcommand(proc{|first,last| v.set first,last}) + pack('expand'=>'yes', 'fill'=>'both') + } + grid('padx'=>1, 'pady'=>1, 'row'=>0, 'column'=>0, + 'rowspan'=>1, 'columnspan'=>1, 'sticky'=>'news') + } + + v.grid('padx'=>1, 'pady'=>1, 'row'=>0, 'column'=>1, + 'rowspan'=>1, 'columnspan'=>1, 'sticky'=>'news') + h.grid('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) + + pack('expand'=>'yes', 'fill'=>'both', 'padx'=>1, 'pady'=>1) + + v.command(proc{|*args| c.yview(*args)}) + h.command(proc{|*args| c.xview(*args)}) + } +end + +# Create an entry for displaying and typing in current room. + +$currentRoom2 = TkVariable.new +$floor2_entry = TkEntry.new($floor2_canvas, 'width'=>10, 'relief'=>'sunken', + 'bd'=>2, 'textvariable'=>$currentRoom2) + +# Choose colors, then fill in the floorplan. + +$floor2_colors = {} +if TkWinfo.depth($floor2_canvas) > 1 + $floor2_colors['bg1'] = '#a9c1da' + $floor2_colors['outline1'] = '#77889a' + $floor2_colors['bg2'] = '#9ab0c6' + $floor2_colors['outline2'] = '#687786' + $floor2_colors['bg3'] = '#8ba0b3' + $floor2_colors['outline3'] = '#596673' + $floor2_colors['offices'] = 'Black' + $floor2_colors['active'] = '#c4d1df' +else + $floor2_colors['bg1'] = 'white' + $floor2_colors['outline1'] = 'black' + $floor2_colors['bg2'] = 'white' + $floor2_colors['outline2'] = 'black' + $floor2_colors['bg3'] = 'white' + $floor2_colors['outline3'] = 'black' + $floor2_colors['offices'] = 'Black' + $floor2_colors['active'] = 'black' +end + +$activeFloor2 = '' +floorDisplay2 $floor2_canvas,3 + +# Set up event bindings for canvas: + +$floor2_canvas.itembind('floor1', '1', proc{floorDisplay2 $floor2_canvas,1}) +$floor2_canvas.itembind('floor2', '1', proc{floorDisplay2 $floor2_canvas,2}) +$floor2_canvas.itembind('floor3', '1', proc{floorDisplay2 $floor2_canvas,3}) +$floor2_canvas.itembind('room', 'Enter', proc{newRoom2 $floor2_canvas}) +$floor2_canvas.itembind('room', 'Leave', proc{$currentRoom2.value = ''}) +$floor2_canvas.bind('2', proc{|x,y| $floor2_canvas.scan_mark x,y}, '%x %y') +$floor2_canvas.bind('B2-Motion', + proc{|x,y| $floor2_canvas.scan_dragto x,y}, '%x %y') +$floor2_canvas.bind('Destroy', proc{$currentRoom2.unset}) +$currentRoom2.value = '' +$currentRoom2.trace('w',proc{roomChanged2 $floor2_canvas}) diff --git a/ext/tk/sample/demos-jp/form.rb b/ext/tk/sample/demos-jp/form.rb index 35baeed46..fe456d394 100644 --- a/ext/tk/sample/demos-jp/form.rb +++ b/ext/tk/sample/demos-jp/form.rb @@ -27,7 +27,8 @@ msg.pack('side'=>'top', 'fill'=>'x') # frame 生成 TkFrame.new($form_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $form_demo $form_demo = nil diff --git a/ext/tk/sample/demos-jp/hscale.rb b/ext/tk/sample/demos-jp/hscale.rb index 4333239c7..37d215435 100644 --- a/ext/tk/sample/demos-jp/hscale.rb +++ b/ext/tk/sample/demos-jp/hscale.rb @@ -24,7 +24,8 @@ msg.pack('side'=>'top') TkFrame.new($hscale_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc { tmppath = $hscale_demo $hscale_demo = nil diff --git a/ext/tk/sample/demos-jp/icon.rb b/ext/tk/sample/demos-jp/icon.rb index 9b39d3384..3180787da 100644 --- a/ext/tk/sample/demos-jp/icon.rb +++ b/ext/tk/sample/demos-jp/icon.rb @@ -27,7 +27,8 @@ msg.pack('side'=>'top') # frame 生成 TkFrame.new($icon_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $icon_demo $icon_demo = nil @@ -44,15 +45,16 @@ TkFrame.new($icon_demo) {|frame| # image 生成 flagup = \ -TkBitmapImage.new('file'=>[$demo_dir, - 'images','flagup.bmp'].join(File::Separator), +TkBitmapImage.new('file'=>[$demo_dir,'..', + 'images','flagup.xbm'].join(File::Separator), 'maskfile'=>\ - [$demo_dir,'images','flagup.bmp'].join(File::Separator)) + [$demo_dir,'..','images','flagup.xbm'].join(File::Separator)) flagdown = \ -TkBitmapImage.new('file'=>[$demo_dir, - 'images','flagdown.bmp'].join(File::Separator), +TkBitmapImage.new('file'=>[$demo_dir,'..', + 'images','flagdown.xbm'].join(File::Separator), 'maskfile'=>\ - [$demo_dir,'images','flagdown.bmp'].join(File::Separator)) + [$demo_dir,'..', + 'images','flagdown.xbm'].join(File::Separator)) # 変数生成 letters = TkVariable.new @@ -61,13 +63,15 @@ letters = TkVariable.new TkFrame.new($icon_demo, 'borderwidth'=>10){|w| TkFrame.new(w) {|f| TkRadioButton.new(f){ - bitmap '@' + [$demo_dir,'images','letters.bmp'].join(File::Separator) + bitmap '@' + [$demo_dir,'..', + 'images','letters.xbm'].join(File::Separator) variable letters value 'full' }.pack('side'=>'top', 'expand'=>'yes') TkRadioButton.new(f){ - bitmap '@' + [$demo_dir,'images','noletter.bmp'].join(File::Separator) + bitmap '@' + [$demo_dir,'..', + 'images','noletter.xbm'].join(File::Separator) variable letters value 'empty' }.pack('side'=>'top', 'expand'=>'yes') @@ -82,7 +86,8 @@ TkFrame.new($icon_demo, 'borderwidth'=>10){|w| }.pack('side'=>'left', 'expand'=>'yes', 'padx'=>'5m') TkCheckButton.new(w) { - bitmap '@' + [$demo_dir,'images','letters.bmp'].join(File::Separator) + bitmap '@' + [$demo_dir,'..', + 'images','letters.xbm'].join(File::Separator) indicatoron 0 selectcolor 'SeaGreen1' }.pack('side'=>'left', 'expand'=>'yes', 'padx'=>'5m') diff --git a/ext/tk/sample/demos-jp/image1.rb b/ext/tk/sample/demos-jp/image1.rb index bfe47c47a..3d47f844e 100644 --- a/ext/tk/sample/demos-jp/image1.rb +++ b/ext/tk/sample/demos-jp/image1.rb @@ -27,7 +27,8 @@ msg.pack('side'=>'top') # frame 生成 TkFrame.new($image1_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $image1_demo $image1_demo = nil @@ -44,10 +45,10 @@ TkFrame.new($image1_demo) {|frame| # image 生成 image1a = \ -TkPhotoImage.new('file'=>[$demo_dir, +TkPhotoImage.new('file'=>[$demo_dir,'..', 'images','earth.gif'].join(File::Separator)) image1b = \ -TkPhotoImage.new('file'=>[$demo_dir, +TkPhotoImage.new('file'=>[$demo_dir,'..', 'images','earthris.gif'].join(File::Separator)) # label 生成 diff --git a/ext/tk/sample/demos-jp/image2.rb b/ext/tk/sample/demos-jp/image2.rb index 07f9b17eb..e2e2a2b03 100644 --- a/ext/tk/sample/demos-jp/image2.rb +++ b/ext/tk/sample/demos-jp/image2.rb @@ -27,7 +27,8 @@ msg.pack('side'=>'top') # frame 生成 TkFrame.new($image2_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $image2_demo $image2_demo = nil @@ -43,7 +44,7 @@ TkFrame.new($image2_demo) {|frame| }.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m') # 変数生成 -$dirName = TkVariable.new([$demo_dir,'images'].join(File::Separator)) +$dirName = TkVariable.new([$demo_dir,'..','images'].join(File::Separator)) # image 生成 $image2a = TkPhotoImage.new diff --git a/ext/tk/sample/demos-jp/image3.rb b/ext/tk/sample/demos-jp/image3.rb index 84257a2b3..d42650f45 100644 --- a/ext/tk/sample/demos-jp/image3.rb +++ b/ext/tk/sample/demos-jp/image3.rb @@ -20,29 +20,29 @@ $image3_demo = TkToplevel.new {|w| } # -def loadDir(w) +def loadDir3(w) w.delete(0,'end') Dir.glob([$dirName,'*'].join(File::Separator)).sort.each{|f| w.insert('end',File.basename(f)) } end -# selectAndLoadDir -- +# selectAndLoadDir3 -- # This procedure pops up a dialog to ask for a directory to load into # the listobx and (if the user presses OK) reloads the directory # listbox from the directory named in the demo's entry. # # Arguments: # w - Name of the toplevel window of the demo. -def selectAndLoadDir(w, lbox) +def selectAndLoadDir3(w, lbox) dir = Tk.chooseDirectory(:initialdir=>$dirName, :parent=>w, :mustexist=>true) if dir.length > 0 $dirName.value = dir - loadDir(lbox) + loadDir3(lbox) end end -def loadImage(w,x,y) +def loadImage3(w,x,y) $image3a.file([$dirName, w.get("@#{x},#{y}")].join(File::Separator)) end @@ -59,7 +59,8 @@ msg.pack('side'=>'top') # frame TkFrame.new($image3_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $image3_demo $image3_demo = nil @@ -75,7 +76,7 @@ TkFrame.new($image3_demo) {|frame| }.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m') # variable -$dirName = TkVariable.new([$demo_dir,'images'].join(File::Separator)) +$dirName = TkVariable.new([$demo_dir,'..','images'].join(File::Separator)) # image begin @@ -96,16 +97,16 @@ image3_lbx = TkListbox.new(image3_ff, :width=>20, :height=>10) { yscrollbar(TkScrollbar.new(image3_ff).pack(:side=>:left, :fill=>:y, :expand=>true)) insert(0, *(%w(earth.gif earthris.gif teapot.ppm))) - bind('Double-1', proc{|x,y| loadImage(self, x, y)}, '%x %y') + bind('Double-1', proc{|x,y| loadImage3(self, x, y)}, '%x %y') } image3_ent = TkEntry.new(image3_df, :width=>30, :textvariable=>$dirName){ pack(:side=>:left, :fill=>:both, :padx=>'2m', :pady=>'2m', :expand=>true) - bind('Return', proc{loadDir(image3_lbx)}) + bind('Return', proc{loadDir3(image3_lbx)}) } TkButton.new(image3_df, :pady=>0, :padx=>'2m', :text=>"ディレクトリ選択", - :command=>proc{selectAndLoadDir(image3_ent, image3_lbx)}) { + :command=>proc{selectAndLoadDir3(image3_ent, image3_lbx)}) { pack(:side=>:left, :fill=>:y, :padx=>[0, '2m'], :pady=>'2m') } diff --git a/ext/tk/sample/demos-jp/images/earth.gif b/ext/tk/sample/demos-jp/images/earth.gif Binary files differdeleted file mode 100644 index 3ae4a9ce0..000000000 --- a/ext/tk/sample/demos-jp/images/earth.gif +++ /dev/null diff --git a/ext/tk/sample/demos-jp/images/earthris.gif b/ext/tk/sample/demos-jp/images/earthris.gif Binary files differdeleted file mode 100644 index 48f08c442..000000000 --- a/ext/tk/sample/demos-jp/images/earthris.gif +++ /dev/null diff --git a/ext/tk/sample/demos-jp/images/face.bmp b/ext/tk/sample/demos-jp/images/face.bmp deleted file mode 100644 index 03d829f4d..000000000 --- a/ext/tk/sample/demos-jp/images/face.bmp +++ /dev/null @@ -1,173 +0,0 @@ -#define face_width 108 -#define face_height 144 -#define face_x_hot 48 -#define face_y_hot 80 -static char face_bits[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x09, - 0x20, 0x80, 0x24, 0x05, 0x00, 0x80, 0x08, 0x00, 0x00, 0x00, 0x00, 0x88, - 0x24, 0x20, 0x80, 0x24, 0x00, 0x00, 0x00, 0x10, 0x80, 0x04, 0x00, 0x01, - 0x00, 0x01, 0x40, 0x0a, 0x09, 0x00, 0x92, 0x04, 0x80, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x10, 0x40, 0x12, 0x00, 0x00, 0x10, 0x40, 0x00, 0x00, 0x84, - 0x24, 0x40, 0x22, 0xa8, 0x02, 0x14, 0x84, 0x92, 0x40, 0x42, 0x12, 0x04, - 0x10, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x52, 0x11, 0x00, 0x12, 0x00, - 0x40, 0x02, 0x00, 0x20, 0x00, 0x08, 0x00, 0xaa, 0x02, 0x54, 0x85, 0x24, - 0x00, 0x10, 0x12, 0x00, 0x00, 0x81, 0x44, 0x00, 0x90, 0x5a, 0x00, 0xea, - 0x1b, 0x00, 0x80, 0x40, 0x40, 0x02, 0x00, 0x08, 0x00, 0x20, 0xa2, 0x05, - 0x8a, 0xb4, 0x6e, 0x45, 0x12, 0x04, 0x08, 0x00, 0x00, 0x00, 0x10, 0x02, - 0xa8, 0x92, 0x00, 0xda, 0x5f, 0x10, 0x00, 0x10, 0xa1, 0x04, 0x20, 0x41, - 0x02, 0x00, 0x5a, 0x25, 0xa0, 0xff, 0xfb, 0x05, 0x41, 0x02, 0x04, 0x00, - 0x00, 0x08, 0x40, 0x80, 0xec, 0x9b, 0xec, 0xfe, 0x7f, 0x01, 0x04, 0x20, - 0x90, 0x02, 0x04, 0x00, 0x08, 0x20, 0xfb, 0x2e, 0xf5, 0xff, 0xff, 0x57, - 0x00, 0x04, 0x02, 0x00, 0x00, 0x20, 0x01, 0xc1, 0x6e, 0xab, 0xfa, 0xff, - 0xff, 0x05, 0x90, 0x20, 0x48, 0x02, 0x00, 0x04, 0x20, 0xa8, 0xdf, 0xb5, - 0xfe, 0xff, 0xff, 0x0b, 0x01, 0x00, 0x01, 0x00, 0x80, 0x80, 0x04, 0xe0, - 0xbb, 0xef, 0xff, 0xff, 0x7f, 0x01, 0x00, 0x04, 0x48, 0x02, 0x00, 0x20, - 0x80, 0xf4, 0x6f, 0xfb, 0xff, 0xff, 0xff, 0x20, 0x90, 0x40, 0x02, 0x00, - 0x00, 0x04, 0x08, 0xb8, 0xf6, 0xff, 0xff, 0xdf, 0xbe, 0x12, 0x45, 0x10, - 0x90, 0x04, 0x90, 0x00, 0x22, 0xfa, 0xff, 0xff, 0xff, 0xbb, 0xd7, 0xe9, - 0x3a, 0x02, 0x02, 0x00, 0x04, 0x90, 0x80, 0xfe, 0xdf, 0xf6, 0xb7, 0xef, - 0xbe, 0x56, 0x57, 0x40, 0x48, 0x09, 0x00, 0x04, 0x00, 0xfa, 0xf5, 0xdf, - 0xed, 0x5a, 0xd5, 0xea, 0xbd, 0x09, 0x00, 0x00, 0x40, 0x00, 0x92, 0xfe, - 0xbf, 0x7d, 0xb7, 0x6a, 0x55, 0xbf, 0xf7, 0x02, 0x11, 0x01, 0x00, 0x91, - 0x00, 0xff, 0xff, 0xaf, 0x55, 0x55, 0x5b, 0xeb, 0xef, 0x22, 0x04, 0x04, - 0x04, 0x00, 0xa4, 0xff, 0xf7, 0xad, 0xaa, 0xaa, 0xaa, 0xbe, 0xfe, 0x03, - 0x20, 0x00, 0x10, 0x44, 0x80, 0xff, 0x7f, 0x55, 0x12, 0x91, 0x2a, 0xeb, - 0xbf, 0x0b, 0x82, 0x02, 0x00, 0x00, 0xd1, 0x7f, 0xdf, 0xa2, 0xa4, 0x54, - 0x55, 0xfd, 0xfd, 0x47, 0x08, 0x08, 0x00, 0x21, 0xe4, 0xff, 0x37, 0x11, - 0x09, 0xa5, 0xaa, 0xb6, 0xff, 0x0d, 0x80, 0x00, 0x00, 0x04, 0xd0, 0xff, - 0x4f, 0x44, 0x20, 0x48, 0x55, 0xfb, 0xff, 0x27, 0x11, 0x02, 0x40, 0x40, - 0xe2, 0xfb, 0x15, 0x11, 0x4a, 0x55, 0x4a, 0x7d, 0xf7, 0x0f, 0x00, 0x00, - 0x04, 0x08, 0xf8, 0xdf, 0x52, 0x44, 0x01, 0x52, 0xb5, 0xfa, 0xff, 0x0f, - 0x49, 0x02, 0x00, 0x02, 0xe9, 0xf6, 0x0a, 0x11, 0xa4, 0x88, 0x4a, 0x6d, - 0xff, 0x5f, 0x00, 0x00, 0x10, 0x20, 0xf0, 0x2f, 0x21, 0x44, 0x10, 0x52, - 0xb5, 0xfa, 0xff, 0x0f, 0x44, 0x04, 0x80, 0x08, 0xf8, 0xab, 0x8a, 0x00, - 0x81, 0xa4, 0xd4, 0xd6, 0xfe, 0x2f, 0x00, 0x00, 0x04, 0x40, 0xb5, 0x2d, - 0x21, 0x08, 0x04, 0x90, 0xaa, 0xfa, 0xff, 0x1f, 0x11, 0x01, 0x00, 0x04, - 0xf0, 0x57, 0x0a, 0x22, 0x40, 0x4a, 0xda, 0x5e, 0xfb, 0x1f, 0x40, 0x00, - 0x40, 0x20, 0xba, 0x95, 0x90, 0x00, 0x01, 0xa0, 0xaa, 0xea, 0xff, 0x5f, - 0x02, 0x02, 0x00, 0x01, 0xe8, 0x57, 0x05, 0x00, 0x00, 0x12, 0xd5, 0xfe, - 0xfd, 0x1f, 0x48, 0x00, 0x04, 0x48, 0x7a, 0x95, 0x08, 0x02, 0x10, 0x40, - 0xaa, 0x55, 0xf7, 0x1f, 0x00, 0x09, 0x20, 0x00, 0xf8, 0x57, 0x22, 0x10, - 0x00, 0x28, 0xa9, 0xfa, 0xff, 0x5f, 0x02, 0x00, 0x00, 0x49, 0xdd, 0x29, - 0x01, 0x00, 0x80, 0x80, 0xaa, 0xd7, 0xff, 0x0f, 0x10, 0x00, 0x08, 0x00, - 0xf8, 0x96, 0x08, 0x00, 0x00, 0x20, 0x54, 0xfa, 0xee, 0x3f, 0x81, 0x04, - 0x40, 0x24, 0xfe, 0x55, 0x82, 0x00, 0x00, 0x82, 0xd2, 0xad, 0xff, 0x0f, - 0x08, 0x00, 0x04, 0x80, 0x6c, 0x97, 0x00, 0x00, 0x02, 0x20, 0xa9, 0xf6, - 0xdf, 0x5f, 0x00, 0x02, 0x20, 0x09, 0xfa, 0x49, 0x12, 0x00, 0x20, 0x84, - 0x54, 0xdb, 0xfe, 0x1f, 0x91, 0x00, 0x00, 0x00, 0xf8, 0x2b, 0x00, 0x20, - 0x00, 0x40, 0xa4, 0xf6, 0xbb, 0x1f, 0x04, 0x00, 0x44, 0x92, 0x7e, 0x95, - 0x02, 0x00, 0x00, 0x89, 0xaa, 0xdd, 0xff, 0x1f, 0x20, 0x09, 0x10, 0x00, - 0xf4, 0x57, 0x20, 0x01, 0x08, 0x20, 0xa9, 0x76, 0xff, 0x5f, 0x02, 0x00, - 0x00, 0x21, 0xfc, 0x4a, 0x05, 0x00, 0x01, 0x80, 0x54, 0xdb, 0xff, 0x1e, - 0x08, 0x02, 0x04, 0x08, 0xf9, 0x2b, 0x00, 0x00, 0x40, 0x28, 0xd2, 0xf6, - 0xff, 0xbf, 0x80, 0x00, 0x90, 0x00, 0xbc, 0x92, 0x08, 0x10, 0x00, 0x82, - 0x54, 0xdb, 0xff, 0x1f, 0x20, 0x00, 0x00, 0x44, 0xf9, 0x55, 0x02, 0x01, - 0x00, 0x20, 0xaa, 0xbd, 0xfd, 0x3f, 0x08, 0x04, 0x04, 0x10, 0xf4, 0x2a, - 0x01, 0x00, 0x22, 0x80, 0xd4, 0xf6, 0xff, 0x5f, 0x82, 0x00, 0x40, 0x02, - 0xf8, 0x55, 0x20, 0x00, 0x00, 0x50, 0x6a, 0xdf, 0xfe, 0x3f, 0x00, 0x00, - 0x00, 0x48, 0xe9, 0x4a, 0x05, 0x08, 0x00, 0xa5, 0xd5, 0xf5, 0xff, 0x3f, - 0x10, 0x01, 0x10, 0x01, 0xb0, 0xab, 0x92, 0x02, 0x40, 0xf8, 0xbf, 0xde, - 0xfe, 0x5f, 0x02, 0x04, 0x04, 0x48, 0xfa, 0xd4, 0x6f, 0x20, 0x84, 0xef, - 0xff, 0xfb, 0xff, 0x1f, 0x20, 0x00, 0x00, 0x00, 0xe0, 0xed, 0xbf, 0x0b, - 0xa1, 0x7e, 0xff, 0xbf, 0xfd, 0x5f, 0x04, 0x01, 0x20, 0x49, 0xd2, 0xfb, - 0xfe, 0x55, 0xd4, 0xff, 0xff, 0xf6, 0xff, 0x07, 0x00, 0x04, 0x00, 0x00, - 0xc0, 0xaa, 0xfb, 0x2b, 0xa2, 0xfe, 0xff, 0xdf, 0xee, 0x1f, 0x91, 0x00, - 0x82, 0xa4, 0xa4, 0xf5, 0xff, 0x57, 0xd5, 0xff, 0xbf, 0xfd, 0xff, 0x4d, - 0x00, 0x00, 0x20, 0x00, 0x88, 0x5b, 0xff, 0x2f, 0x69, 0xff, 0xff, 0xdb, - 0xfe, 0x1f, 0x24, 0x02, 0x00, 0x49, 0xa2, 0xd6, 0xff, 0x5f, 0xea, 0xff, - 0x7f, 0x7f, 0x7f, 0x0d, 0x00, 0x00, 0x10, 0x00, 0x40, 0xab, 0xf7, 0xbb, - 0xf0, 0xdf, 0xff, 0xd5, 0xff, 0xbf, 0x82, 0x04, 0x42, 0x24, 0x91, 0xd5, - 0xaa, 0xae, 0xd4, 0xaa, 0x52, 0x7b, 0xff, 0x15, 0x08, 0x00, 0x00, 0x01, - 0x04, 0x55, 0xd5, 0x55, 0x70, 0x5b, 0x75, 0xdd, 0xdf, 0x1f, 0x40, 0x00, - 0x08, 0x48, 0xa0, 0x4a, 0xa9, 0x56, 0xea, 0x56, 0xad, 0x6a, 0x7d, 0x9b, - 0x04, 0x01, 0x00, 0x02, 0x42, 0x2a, 0xd5, 0xaa, 0xa8, 0xaa, 0xaa, 0xfa, - 0xdf, 0x2f, 0x10, 0x04, 0x22, 0x48, 0x08, 0x45, 0x2a, 0x15, 0x68, 0x55, - 0x55, 0xd7, 0x76, 0x1b, 0x00, 0x00, 0x00, 0x01, 0x40, 0x2a, 0x80, 0xa0, - 0xb2, 0x09, 0x48, 0xb9, 0xdf, 0x17, 0x22, 0x01, 0x00, 0x24, 0x45, 0x8a, - 0x24, 0x4a, 0x54, 0x51, 0x91, 0xf6, 0x6e, 0x4b, 0x00, 0x04, 0x90, 0x00, - 0x80, 0x52, 0x00, 0x20, 0x69, 0x05, 0xa4, 0xaa, 0xff, 0x1e, 0x48, 0x00, - 0x02, 0x92, 0x08, 0x05, 0x81, 0x94, 0xd4, 0x92, 0x40, 0xfd, 0xb6, 0x8b, - 0x00, 0x01, 0x40, 0x00, 0x82, 0x54, 0x00, 0x48, 0x68, 0x05, 0x90, 0xa4, - 0xef, 0x06, 0x24, 0x00, 0x08, 0x12, 0x10, 0x05, 0x00, 0x10, 0xb5, 0x01, - 0x42, 0xfb, 0xbf, 0x43, 0x00, 0x09, 0x00, 0x40, 0x81, 0xa8, 0x08, 0x4a, - 0xaa, 0x96, 0x90, 0xac, 0x6d, 0x15, 0x22, 0x00, 0x20, 0x09, 0x04, 0x15, - 0x80, 0x28, 0xdc, 0x01, 0x24, 0xfb, 0xbf, 0x01, 0x80, 0x04, 0x09, 0x00, - 0x40, 0x48, 0x02, 0x45, 0xb2, 0x2e, 0x41, 0x6d, 0xef, 0x05, 0x11, 0x00, - 0x40, 0x52, 0x02, 0x15, 0x29, 0x2a, 0xac, 0x42, 0x54, 0xfb, 0x3b, 0x51, - 0x84, 0x00, 0x08, 0x00, 0x20, 0x54, 0x80, 0x05, 0xb5, 0x3d, 0xa2, 0xb6, - 0xdf, 0x00, 0x20, 0x04, 0x20, 0x49, 0x89, 0xa8, 0x6a, 0x29, 0xac, 0xd6, - 0x54, 0xff, 0x3f, 0x84, 0x00, 0x01, 0x04, 0x10, 0x00, 0x94, 0xa8, 0x56, - 0xda, 0x5f, 0xab, 0xd5, 0x1e, 0x10, 0x48, 0x00, 0x90, 0x82, 0x48, 0xa8, - 0xb2, 0xac, 0xfd, 0x55, 0xd5, 0xfe, 0x9f, 0x80, 0x00, 0x0a, 0x02, 0x08, - 0x02, 0x55, 0x5a, 0x75, 0xff, 0xaf, 0xb6, 0xf7, 0x2d, 0x12, 0x92, 0x00, - 0x10, 0x20, 0x10, 0xa8, 0x54, 0xd5, 0xbf, 0x5d, 0xad, 0xdd, 0x0f, 0x00, - 0x00, 0x04, 0x40, 0x09, 0x84, 0xa8, 0xaa, 0x5a, 0xed, 0xeb, 0x6a, 0xff, - 0x9f, 0xa4, 0x24, 0x01, 0x02, 0xa0, 0x20, 0x50, 0x55, 0xd5, 0xbe, 0xae, - 0xad, 0xfd, 0x16, 0x00, 0x10, 0x04, 0x20, 0x0a, 0x08, 0xb4, 0xaa, 0x95, - 0xaa, 0x7b, 0xb7, 0xdb, 0x5f, 0x92, 0x04, 0x01, 0x84, 0x20, 0x21, 0x51, - 0xd5, 0x2a, 0xa9, 0xee, 0xd5, 0xfe, 0x0d, 0x00, 0x20, 0x04, 0x10, 0x00, - 0x08, 0x50, 0xe9, 0xd7, 0xd4, 0xfb, 0xb5, 0xff, 0x9f, 0x24, 0x09, 0x01, - 0x42, 0x4a, 0xa2, 0x64, 0xd5, 0x55, 0x7b, 0x7f, 0xda, 0x7d, 0x4f, 0x00, - 0x20, 0x04, 0x00, 0x80, 0x00, 0xa0, 0x2a, 0x13, 0x84, 0x6a, 0x55, 0xff, - 0x1d, 0x48, 0x8a, 0x00, 0x94, 0x24, 0x8a, 0xc8, 0xaa, 0x42, 0x20, 0x5d, - 0xf5, 0xff, 0x5f, 0x01, 0x00, 0x02, 0x01, 0x00, 0x20, 0xa2, 0x4a, 0x1a, - 0x82, 0x56, 0xda, 0xbd, 0x3f, 0x92, 0x92, 0x00, 0x90, 0x92, 0x00, 0x40, - 0x95, 0x6a, 0xf4, 0x55, 0x6d, 0xff, 0xd6, 0x00, 0x00, 0x0a, 0x04, 0x20, - 0x14, 0x49, 0x4b, 0xaa, 0xaa, 0x56, 0xf5, 0xff, 0xbf, 0xab, 0xa4, 0x00, - 0x20, 0x89, 0x40, 0x80, 0xaa, 0xaa, 0xaa, 0xaa, 0xde, 0xbf, 0xeb, 0x03, - 0x00, 0x02, 0x04, 0x02, 0x0a, 0x10, 0x2b, 0x2a, 0x55, 0x5b, 0xf5, 0xff, - 0xd7, 0x2f, 0x92, 0x00, 0x10, 0x28, 0x21, 0x01, 0x56, 0x95, 0xa0, 0x56, - 0xdf, 0xef, 0xea, 0x87, 0x40, 0x0a, 0x42, 0x41, 0x00, 0x90, 0xaa, 0x52, - 0xb6, 0xad, 0xfa, 0xff, 0xd5, 0x2f, 0x14, 0x00, 0x00, 0x04, 0x95, 0x04, - 0xaa, 0xac, 0x55, 0x6b, 0xff, 0xb7, 0xea, 0x9f, 0x40, 0x02, 0x28, 0x51, - 0x00, 0x40, 0x58, 0xd5, 0xda, 0xd6, 0x6e, 0x7f, 0xf9, 0x3f, 0x12, 0x04, - 0x02, 0x04, 0x49, 0x25, 0x55, 0xaa, 0x77, 0xab, 0xff, 0x2b, 0xfd, 0x3f, - 0x48, 0x01, 0x20, 0x41, 0x00, 0x00, 0x58, 0xa9, 0xda, 0xea, 0xfd, 0xaf, - 0xfa, 0xff, 0x02, 0x04, 0x08, 0x14, 0x29, 0x49, 0x52, 0x55, 0x55, 0x55, - 0xff, 0x8d, 0xfe, 0x3f, 0xa8, 0x00, 0x02, 0x41, 0x00, 0x02, 0xa0, 0xa2, - 0xaa, 0xea, 0xff, 0x53, 0xfd, 0xff, 0x02, 0x04, 0x50, 0x04, 0x25, 0xa8, - 0x54, 0x49, 0x52, 0xb5, 0xbf, 0x8a, 0xfe, 0xff, 0xa9, 0x08, 0x04, 0x50, - 0x80, 0x02, 0xa1, 0x2a, 0x95, 0xea, 0xff, 0xa1, 0xff, 0xff, 0x03, 0x02, - 0x90, 0x02, 0x09, 0x08, 0x44, 0x49, 0x52, 0xbd, 0x7f, 0xca, 0xff, 0xff, - 0x2b, 0x09, 0x04, 0x48, 0x40, 0x82, 0x90, 0x56, 0xa9, 0xf6, 0xbf, 0xd0, - 0xff, 0xff, 0x47, 0x00, 0x50, 0x02, 0x15, 0x11, 0x40, 0x95, 0xaa, 0xfd, - 0x2f, 0xe9, 0xff, 0xff, 0x8f, 0x0a, 0x84, 0x50, 0x40, 0x84, 0x14, 0xaa, - 0x6a, 0xff, 0x5f, 0xf2, 0xff, 0xff, 0x7f, 0x00, 0x10, 0x02, 0x09, 0x10, - 0x40, 0x7d, 0xf7, 0xff, 0x0b, 0xfc, 0xff, 0xff, 0xaf, 0x02, 0x84, 0x50, - 0x42, 0x85, 0x12, 0xd0, 0xdd, 0xff, 0xa7, 0xf2, 0xff, 0xff, 0xff, 0x04, - 0x00, 0x0a, 0x08, 0x10, 0x48, 0xf8, 0xff, 0xff, 0x0a, 0xfe, 0xff, 0xff, - 0x7f, 0x03, 0xa4, 0x80, 0xa2, 0x8a, 0x02, 0x68, 0xff, 0xff, 0x52, 0xfd, - 0xff, 0xff, 0xff, 0x07, 0x00, 0x2a, 0x08, 0x20, 0x28, 0xdc, 0xff, 0x5f, - 0x05, 0xff, 0xff, 0xff, 0xff, 0x0d, 0x92, 0x40, 0x22, 0x09, 0x02, 0xea, - 0xfb, 0xaf, 0x48, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x12, 0x81, 0xa0, - 0x48, 0x9c, 0x6e, 0x93, 0xa2, 0xff, 0xff, 0xff, 0xff, 0x07, 0xa8, 0x40, - 0x28, 0x0a, 0x02, 0x74, 0xb5, 0x45, 0x81, 0xff, 0xff, 0xff, 0xff, 0x0f, - 0x02, 0x0a, 0x81, 0x20, 0x08, 0xae, 0xaa, 0x90, 0xe8, 0xff, 0xff, 0xff, - 0xff, 0x0f, 0x90, 0x40, 0x28, 0x88, 0x12, 0x58, 0x15, 0x50, 0xd0, 0xff, - 0xff, 0xff, 0xff, 0x0f, 0x44, 0x0a, 0x41, 0x21, 0x08, 0xae, 0x04, 0x14, - 0xf0, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x10, 0x40, 0x14, 0x88, 0x04, 0xba, - 0x02, 0x28, 0xe8, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x42, 0x15, 0x41, 0x21, - 0x05, 0xad, 0x00, 0x05, 0xf8, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x10, 0x40, - 0x24, 0x8a, 0x0e, 0x36, 0x00, 0x0a, 0xf4, 0xff, 0xff, 0xff, 0xff, 0x0f, - 0x42, 0x25, 0x90, 0xd0, 0x8b, 0xc2, 0x41, 0x05, 0xfc, 0xff, 0xff, 0xff, - 0xff, 0x0f, 0x10, 0x08, 0x05, 0xe8, 0x8e, 0x58, 0x80, 0x02, 0xfa, 0xff, - 0xff, 0xff, 0xff, 0x0f, 0x4a, 0x20, 0xa8, 0xba, 0x0b, 0x2b, 0x51, 0x01, - 0xfe, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x8a, 0x02, 0xe8, 0xaf, 0x84, - 0x90, 0x04, 0xfd, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x52, 0x21, 0x54, 0xbf, - 0x1f, 0x15, 0xa5, 0x02, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x08, - 0x01, 0xfa, 0xb6, 0xa4, 0x52, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, - 0x4a, 0xa2, 0x54, 0xef, 0x5f, 0x4b, 0xa4, 0x80, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x0f, 0x80, 0x10, 0x82, 0xfe, 0xbf, 0x92, 0x52, 0x42, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x0f, 0x12, 0x42, 0xa8, 0xbf, 0x1f, 0x24, 0x80, 0xa0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x84, 0x28, 0x8a, 0xf7, 0x37, 0x80, - 0x52, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x10, 0x82, 0xe0, 0xff, - 0x1f, 0x00, 0x20, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x84, 0x28, - 0xca, 0xff, 0x1f, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, - 0x10, 0x42, 0xf0, 0xfd, 0x1b, 0x00, 0x50, 0xf0, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x0f, 0xa4, 0x10, 0xc5, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x0f, 0x00, 0x22, 0xf8, 0xff, 0x0e, 0x00, 0x00, 0xf0, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xaa, 0x88, 0xe2, 0xff, 0x0f, 0x10, - 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x25, 0xfa, 0xff, - 0x0f, 0x01, 0x11, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xfb, - 0xfb, 0xff, 0x7f, 0x5d, 0xd5, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f}; diff --git a/ext/tk/sample/demos-jp/images/flagdown.bmp b/ext/tk/sample/demos-jp/images/flagdown.bmp deleted file mode 100644 index 55abc5182..000000000 --- a/ext/tk/sample/demos-jp/images/flagdown.bmp +++ /dev/null @@ -1,27 +0,0 @@ -#define flagdown_width 48 -#define flagdown_height 48 -static char flagdown_bits[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, - 0x00, 0x00, 0x80, 0x7f, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe1, 0x00, 0x00, - 0x00, 0x00, 0x70, 0x80, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x03, 0x00, - 0x00, 0x00, 0x0c, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x04, - 0x00, 0x00, 0x03, 0x00, 0x06, 0x06, 0x00, 0x80, 0x01, 0x00, 0x06, 0x07, - 0x00, 0xc0, 0x1f, 0x00, 0x87, 0x07, 0x00, 0xe0, 0x7f, 0x80, 0xc7, 0x07, - 0x00, 0x70, 0xe0, 0xc0, 0xe5, 0x07, 0x00, 0x38, 0x80, 0xe1, 0x74, 0x07, - 0x00, 0x18, 0x80, 0x71, 0x3c, 0x07, 0x00, 0x0c, 0x00, 0x3b, 0x1e, 0x03, - 0x00, 0x0c, 0x00, 0x1f, 0x0f, 0x00, 0x00, 0x86, 0x1f, 0x8e, 0x07, 0x00, - 0x00, 0x06, 0x06, 0xc6, 0x05, 0x00, 0x00, 0x06, 0x00, 0xc6, 0x05, 0x00, - 0x00, 0x06, 0x00, 0xc6, 0x04, 0x00, 0x00, 0x06, 0x00, 0x06, 0x04, 0x00, - 0x7f, 0x06, 0x00, 0x06, 0xe4, 0xff, 0x00, 0x06, 0x00, 0x06, 0x04, 0x00, - 0x00, 0x06, 0x00, 0x06, 0x04, 0x00, 0x00, 0x06, 0x00, 0x06, 0x06, 0x00, - 0x00, 0x06, 0x00, 0x06, 0x03, 0x00, 0x00, 0x06, 0x00, 0x86, 0x01, 0x00, - 0x00, 0x06, 0x00, 0xc6, 0x00, 0x00, 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, - 0x00, 0x06, 0x00, 0x36, 0x00, 0x00, 0x00, 0x06, 0x00, 0x3e, 0x00, 0x00, - 0x00, 0xfe, 0xff, 0x2f, 0x00, 0x00, 0x00, 0xfc, 0xff, 0x27, 0x00, 0x00, - 0x00, 0x00, 0x88, 0x20, 0x00, 0x00, 0x00, 0x00, 0x88, 0x20, 0x00, 0x00, - 0x00, 0x00, 0x88, 0x20, 0x00, 0x00, 0x00, 0x00, 0x88, 0x20, 0x00, 0x00, - 0x00, 0x00, 0x88, 0x20, 0x00, 0x00, 0x00, 0x00, 0x88, 0x20, 0x00, 0x00, - 0x00, 0x00, 0x88, 0x20, 0x00, 0x00, 0x00, 0x00, 0x88, 0x20, 0x00, 0x00, - 0xf7, 0xbf, 0x8e, 0xfc, 0xdf, 0xf8, 0x9d, 0xeb, 0x9b, 0x76, 0xd2, 0x7a, - 0x46, 0x30, 0xe2, 0x0f, 0xe1, 0x47, 0x55, 0x84, 0x48, 0x11, 0x84, 0x19}; diff --git a/ext/tk/sample/demos-jp/images/flagup.bmp b/ext/tk/sample/demos-jp/images/flagup.bmp deleted file mode 100644 index 6eb0d846a..000000000 --- a/ext/tk/sample/demos-jp/images/flagup.bmp +++ /dev/null @@ -1,27 +0,0 @@ -#define flagup_width 48 -#define flagup_height 48 -static char flagup_bits[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x7f, 0x00, - 0x00, 0x00, 0x00, 0xe0, 0x7f, 0x00, 0x00, 0x00, 0x00, 0xef, 0x6a, 0x00, - 0x00, 0x00, 0xc0, 0x7b, 0x75, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0x6a, 0x00, - 0x00, 0x00, 0x30, 0x60, 0x75, 0x00, 0x00, 0x00, 0x18, 0xe0, 0x7f, 0x00, - 0x00, 0x00, 0x0c, 0xe0, 0x7f, 0x00, 0x00, 0x00, 0x06, 0xe0, 0x04, 0x00, - 0x00, 0x00, 0x03, 0xe0, 0x04, 0x00, 0x00, 0x80, 0x01, 0xe0, 0x06, 0x00, - 0x00, 0xc0, 0x1f, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x7f, 0xe0, 0x07, 0x00, - 0x00, 0x70, 0xe0, 0xe0, 0x05, 0x00, 0x00, 0x38, 0x80, 0xe1, 0x04, 0x00, - 0x00, 0x18, 0x80, 0xf1, 0x04, 0x00, 0x00, 0x0c, 0x00, 0xfb, 0x04, 0x00, - 0x00, 0x0c, 0x00, 0xff, 0x04, 0x00, 0x00, 0x86, 0x1f, 0xee, 0x04, 0x00, - 0x00, 0x06, 0x06, 0xe6, 0x04, 0x00, 0x00, 0x06, 0x00, 0xe6, 0x04, 0x00, - 0x00, 0x06, 0x00, 0xe6, 0x04, 0x00, 0x00, 0x06, 0x00, 0x66, 0x04, 0x00, - 0x7f, 0x56, 0x52, 0x06, 0xe4, 0xff, 0x00, 0x76, 0x55, 0x06, 0x04, 0x00, - 0x00, 0x56, 0x57, 0x06, 0x04, 0x00, 0x00, 0x56, 0x55, 0x06, 0x06, 0x00, - 0x00, 0x56, 0xd5, 0x06, 0x03, 0x00, 0x00, 0x06, 0x00, 0x86, 0x01, 0x00, - 0x54, 0x06, 0x00, 0xc6, 0x54, 0x55, 0xaa, 0x06, 0x00, 0x66, 0xaa, 0x2a, - 0x54, 0x06, 0x00, 0x36, 0x55, 0x55, 0xaa, 0x06, 0x00, 0xbe, 0xaa, 0x2a, - 0x54, 0xfe, 0xff, 0x6f, 0x55, 0x55, 0xaa, 0xfc, 0xff, 0xa7, 0xaa, 0x2a, - 0x54, 0x01, 0x88, 0x60, 0x55, 0x55, 0xaa, 0xaa, 0x8a, 0xa0, 0xaa, 0x2a, - 0x54, 0x55, 0x8d, 0x60, 0x55, 0x55, 0xaa, 0xaa, 0x8a, 0xa0, 0xaa, 0x2a, - 0x54, 0x55, 0x8d, 0x60, 0x55, 0x55, 0xaa, 0xaa, 0x8a, 0xa0, 0xaa, 0x2a, - 0x54, 0x55, 0x8d, 0x50, 0x55, 0x55, 0xaa, 0xaa, 0x8a, 0xa8, 0xaa, 0x2a, - 0x54, 0x55, 0x95, 0x54, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x2a, - 0x54, 0x55, 0x55, 0x55, 0x55, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/ext/tk/sample/demos-jp/images/gray25.bmp b/ext/tk/sample/demos-jp/images/gray25.bmp deleted file mode 100644 index b234b3cb0..000000000 --- a/ext/tk/sample/demos-jp/images/gray25.bmp +++ /dev/null @@ -1,6 +0,0 @@ -#define grey_width 16 -#define grey_height 16 -static char grey_bits[] = { - 0x11, 0x11, 0x44, 0x44, 0x11, 0x11, 0x44, 0x44, 0x11, 0x11, 0x44, 0x44, - 0x11, 0x11, 0x44, 0x44, 0x11, 0x11, 0x44, 0x44, 0x11, 0x11, 0x44, 0x44, - 0x11, 0x11, 0x44, 0x44, 0x11, 0x11, 0x44, 0x44}; diff --git a/ext/tk/sample/demos-jp/images/grey.25 b/ext/tk/sample/demos-jp/images/grey.25 deleted file mode 100644 index b234b3cb0..000000000 --- a/ext/tk/sample/demos-jp/images/grey.25 +++ /dev/null @@ -1,6 +0,0 @@ -#define grey_width 16 -#define grey_height 16 -static char grey_bits[] = { - 0x11, 0x11, 0x44, 0x44, 0x11, 0x11, 0x44, 0x44, 0x11, 0x11, 0x44, 0x44, - 0x11, 0x11, 0x44, 0x44, 0x11, 0x11, 0x44, 0x44, 0x11, 0x11, 0x44, 0x44, - 0x11, 0x11, 0x44, 0x44, 0x11, 0x11, 0x44, 0x44}; diff --git a/ext/tk/sample/demos-jp/images/grey.5 b/ext/tk/sample/demos-jp/images/grey.5 deleted file mode 100644 index 37688893f..000000000 --- a/ext/tk/sample/demos-jp/images/grey.5 +++ /dev/null @@ -1,6 +0,0 @@ -#define grey_width 16 -#define grey_height 16 -static char grey_bits[] = { - 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, - 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, - 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa}; diff --git a/ext/tk/sample/demos-jp/images/letters.bmp b/ext/tk/sample/demos-jp/images/letters.bmp deleted file mode 100644 index 0f12568d1..000000000 --- a/ext/tk/sample/demos-jp/images/letters.bmp +++ /dev/null @@ -1,27 +0,0 @@ -#define letters_width 48 -#define letters_height 48 -static char letters_bits[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xfe, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, - 0x00, 0xfa, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2a, - 0x00, 0x3a, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2e, - 0xe0, 0xff, 0xff, 0xff, 0xff, 0x21, 0x20, 0x00, 0x00, 0x00, 0x00, 0x21, - 0xa0, 0x03, 0x00, 0x00, 0x70, 0x21, 0x20, 0x00, 0x00, 0x00, 0x50, 0x21, - 0xa0, 0x1f, 0x00, 0x00, 0x50, 0x21, 0x20, 0x00, 0x00, 0x00, 0x70, 0x21, - 0xfe, 0xff, 0xff, 0xff, 0x0f, 0x21, 0x02, 0x00, 0x00, 0x00, 0x08, 0x21, - 0xfa, 0x01, 0x00, 0x80, 0x0b, 0x21, 0x02, 0x00, 0x00, 0x80, 0x0a, 0x21, - 0xba, 0x01, 0x00, 0x80, 0x0a, 0x21, 0x02, 0x00, 0x00, 0x80, 0x0b, 0x21, - 0x3a, 0x00, 0x00, 0x00, 0x08, 0x21, 0x02, 0x00, 0x00, 0x00, 0x08, 0x21, - 0x02, 0xc0, 0xfb, 0x03, 0x08, 0x21, 0x02, 0x00, 0x00, 0x00, 0x08, 0x3f, - 0x02, 0xc0, 0xbd, 0x0f, 0x08, 0x01, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, - 0x02, 0xc0, 0x7f, 0x7b, 0x08, 0x01, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, - 0x02, 0x00, 0x00, 0x00, 0xf8, 0x01, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, - 0xfe, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/ext/tk/sample/demos-jp/images/noletter.bmp b/ext/tk/sample/demos-jp/images/noletter.bmp deleted file mode 100644 index 5774124ef..000000000 --- a/ext/tk/sample/demos-jp/images/noletter.bmp +++ /dev/null @@ -1,27 +0,0 @@ -#define noletters_width 48 -#define noletters_height 48 -static char noletters_bits[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00, - 0x00, 0x00, 0xff, 0xff, 0x01, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x07, 0x00, - 0x00, 0xf0, 0x0f, 0xe0, 0x1f, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x7f, 0x00, - 0x00, 0x3e, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x1f, 0x00, 0x00, 0xf0, 0x01, - 0x80, 0x07, 0x00, 0x00, 0xc0, 0x03, 0xc0, 0x03, 0x00, 0x00, 0xe0, 0x07, - 0xe0, 0x01, 0x00, 0x00, 0xf0, 0x0f, 0xe0, 0x00, 0x00, 0x00, 0x78, 0x0e, - 0xf0, 0x00, 0x00, 0x00, 0x3c, 0x1e, 0x70, 0x00, 0x00, 0x00, 0x1e, 0x1c, - 0x38, 0x00, 0x00, 0x00, 0x0f, 0x38, 0x38, 0x00, 0x00, 0x80, 0x07, 0x38, - 0x3c, 0xfc, 0xff, 0xff, 0x7f, 0x78, 0x1c, 0x04, 0x00, 0xe0, 0x41, 0x70, - 0x1c, 0x04, 0x00, 0xf0, 0x40, 0x70, 0x1c, 0x74, 0x00, 0x78, 0x4e, 0x70, - 0x0e, 0x04, 0x00, 0x3c, 0x4a, 0xe0, 0x0e, 0x74, 0x03, 0x1e, 0x4a, 0xe0, - 0x0e, 0x04, 0x00, 0x0f, 0x4e, 0xe0, 0x0e, 0x04, 0x80, 0x07, 0x40, 0xe0, - 0x0e, 0x04, 0xf8, 0x0f, 0x40, 0xe0, 0x0e, 0x04, 0xe0, 0x01, 0x40, 0xe0, - 0x0e, 0x04, 0xf8, 0x00, 0x40, 0xe0, 0x0e, 0x04, 0x78, 0x00, 0x40, 0xe0, - 0x0e, 0x04, 0xfc, 0xf3, 0x40, 0xe0, 0x1c, 0x04, 0x1e, 0x00, 0x40, 0x70, - 0x1c, 0x04, 0x0f, 0x00, 0x40, 0x70, 0x1c, 0x84, 0x07, 0x00, 0x40, 0x70, - 0x3c, 0xfc, 0xff, 0xff, 0x7f, 0x78, 0x38, 0xe0, 0x01, 0x00, 0x00, 0x38, - 0x38, 0xf0, 0x00, 0x00, 0x00, 0x38, 0x70, 0x78, 0x00, 0x00, 0x00, 0x1c, - 0xf0, 0x3c, 0x00, 0x00, 0x00, 0x1e, 0xe0, 0x1e, 0x00, 0x00, 0x00, 0x0e, - 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0xc0, 0x07, 0x00, 0x00, 0x80, 0x07, - 0x80, 0x07, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x1f, 0x00, 0x00, 0xf0, 0x01, - 0x00, 0x3e, 0x00, 0x00, 0xf8, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x7f, 0x00, - 0x00, 0xf0, 0x0f, 0xe0, 0x1f, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x07, 0x00, - 0x00, 0x00, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00}; diff --git a/ext/tk/sample/demos-jp/images/pattern.bmp b/ext/tk/sample/demos-jp/images/pattern.bmp deleted file mode 100644 index df31baf78..000000000 --- a/ext/tk/sample/demos-jp/images/pattern.bmp +++ /dev/null @@ -1,6 +0,0 @@ -#define foo_width 16 -#define foo_height 16 -static char foo_bits[] = { - 0x60, 0x06, 0x90, 0x09, 0x90, 0x09, 0xb0, 0x0d, 0x4e, 0x72, 0x49, 0x92, - 0x71, 0x8e, 0x8e, 0x71, 0x8e, 0x71, 0x71, 0x8e, 0x49, 0x92, 0x4e, 0x72, - 0xb0, 0x0d, 0x90, 0x09, 0x90, 0x09, 0x60, 0x06}; diff --git a/ext/tk/sample/demos-jp/images/tcllogo.gif b/ext/tk/sample/demos-jp/images/tcllogo.gif Binary files differdeleted file mode 100644 index 3fc7720b1..000000000 --- a/ext/tk/sample/demos-jp/images/tcllogo.gif +++ /dev/null diff --git a/ext/tk/sample/demos-jp/images/teapot.ppm b/ext/tk/sample/demos-jp/images/teapot.ppm deleted file mode 100644 index 78afefbf8..000000000 --- a/ext/tk/sample/demos-jp/images/teapot.ppm +++ /dev/null @@ -1,56 +0,0 @@ -P6 -256 256 -255 -\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[7 eOLjQLmSMoTMnSMlRMhPL_9 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\nSMtVMzYN~[N~[N\N\O\O]O]O]O]O\O\O}[NyYNtVM\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\G-wXN}[N]O^O_O`O`O`O`OaOaOaOaOaOaOaOaO`O_O^O\N\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\aMLyYN_OaPbPcPcPdPdPdPdPdPdPdPdPdPePePePePePdPcP_OpUM\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\wXN_OdPfPgQhQhQiQiQiQiQiQjQjQjQjQjQjQjQjQjQjQiQfP`O\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\NCJiQLbPhQkQmRnRoRoRoRoRoRoRoRoRpRpSqSqSrSrSrSqSoRjQ]O\KK\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\fOLrUMcPlRqStSuTwTxTxTyTyTzTzUzUzUzUzUyTxTwTtSmRaOhPL\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\a0 cNLqUM\OfQpSwVzV|V}VVVVW[ew螽gqTfQ{ZNYIK9\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\O1{G#JkRMqUMtVNiSv\dbzZvUuTsSqSnRjQeP^OrUMHh>!T4\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\G-V5wE"~I#M%U+e7l:g2b*a(`(^(])^-]1S,qC$`9 R3G-\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\@)J/i>!pA"tD"wF$yH&xH&tE$wE#yG%}M+T4S5mE*Z7!K/B*;'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\aOoR{UVX<(F-a: e<!h>!j@#k@$h>"d<!c=$hD-fF2[<)K0@);'5$VV|U_LKYIK\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\_OxTW鵯k|X>f-^(Z'W&T&N>)F-J/b; g>#nD(jB&c<!b=%jH2_A/I0!<(8&5$JYS%8&;'?)E,<:HA=HE?IJAISFJYIKXIK\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\寸nR}UqevUe,V&VC -@|>y<u:r9o7l6 -j5 -h4 -g3 -5$D,K/b; h>"wM1tK.e="a<#cA,U8&E-<(9&.!a0 b1 c1 - -+3#@)46G<:HMCIXHK\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\U*vT~X{Yk+W&N$|>u:p8k5 -f3 -a0 _/ ]. [- I\*_(LkRMmSMmSMnSMnSMD,R3W5mA"|O0|P1j?"c<!a=%Y7"N1F,;'NCJNCJNDJODJODJODJh>!a: X/K% -g3 -a0 Z- \/T*Q(Hm8kRMmSMnTMoTMpTMpUM15G15G05G04G04GpUMpTM5^9 d<!yF#O+N,rC#qB"pB#k?"a: Z7 6ODJPDJPEJQEJQEJREJREJREJRFJSFJSFJSFJSFJe<!X/ -^/ V+Q(L&I$r9TlRMnSM46G47G47G46G46G46G46G46G36G36G25G25G15G04G/4F.3F -`O~[NqUM[- HUGJUGJVGJVGJVHJWHJWHJWHKWHKXHKXHKXHKXHKXHKXIKXIKXIKXIKXIKh>!Y0 - -L&C!:4 -X&pUMuWMwXNxXN<:H<:H<:H<:H<;H<;H<;H<;H=;H=;H=;H=;H>;H>;H?<H@<HA=HC>HG@ILBIREJ[JKcNLjQLpRuTzU~VWXcse{VvTpSkRgQbP_O^O]O\O\O\O\O]O]O]O]O]O]O]O]O]O]O]O\O\O~\N}[N|ZNxXNT%H$ -W&rVMvWNyYNzYN|ZN}[N}[N><H?<H?<H?<H?<H?<H@<H@<H@<HA=HA=HB=HC>HE?IG@IIAIKBIODJSFJWHKhQlRpRb(i*n+|7|6r,q+p-l+g)b(sSpSlRiQgQePcPaPaO`O`O_O_O_O_O_O_O_O_O_O_O^O^O^O^O]O]O\O~[N{ZNT% - - - - -@%<-$G?@pfdNLuWM\NdNL\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\TFJvWNaP./01E}[N]O_O`OaPbPbPcPcPcPdPdPdPePePePePfPfQfQgQgQgQhQhQhQiQiQjQjQkQkRlRlRY&\'^'^bcei gcba`^]X['Z'Y&mRmRmRlRlRlRkRkQkQjQjQjQiQiQiQiQhQhQhQhQgQgQgQgQgQfQfQfQfPePePdPcPaPO - B\\\\\\\\\\%7!!C*F#P){dYzep\OgPL\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\SFJ`LKvWNaPm6 - -\\\\\\\\\ B B -$5 `(e)nRjQ^OJAI\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\XIK^KKdNLhPLuWM]ObPfQeP -m6 -`OcPfQhQhQiQiQjQjQjQjQjQjQjQkQkQkQkRkRkRkRlRlRlRlRlRlRlRmRmRmRmRg)c(c(b(Vcei!i!db``__^Q]'_(`(f)nRnRnRnRnRnRnRnRnRnRnRnRnRmRmRmRmRmRmRmRmRmRnRmRmRnRmRmRmRmRkRhQGa0 bPmRjQfQaP}[NrUMmSML$\\\\\\\\ B B -#C, 8&H.Z7 pRjQ{ZN\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\QEJ[JK`LKdNLhQLqUM{ZN_OcPgQhQ -bPePhQiQjQjQkQkQkRkRkRlRlRlRlRlRlRlRlRlRlRmRmRmRmRmRmRmRmRmRnRnRj*g)e)d)dXghecbbbU`(a(a(c(i*oRoRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRoRoRoRoRoRoRoRoRoRoRoRoRnRmRjQQ%Z- jQnRlRhQdP_OuWMpTMnSMkRLa: \\\\\\\ B B&D2 -@*S6#G@IPDJhQmSM\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\VGJ]KKbMLeOLiQLlRMvWN\OaOePhQjQgQ -\\\\\ B'D+E$(1J/jH1NCJUGJYIKUGJ\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\XHK]KKbNLfOLiQLkRMmSMoTMqUMxXN\N_ObPfPhQkQmRoRpSpRhQmRoRpSqSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSsSsSsSsSsSsSsSsSsSsSsSsStStStSuSuSuTuTuTuTuTvTwTvTvTuTtSmRtSuTuStSrSpRmRkQhQePaP^O\N{ZNvXNqUMpTMnSMlRMP%\\\\ B#C*E$.E- .!G$Y:%d<"SFJYIKZIKNCJ\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\PDJZIK_LKdNLgPLjQLlRMnSMpTMqUMuWMyYN\O`OcPfPhQjQmRoRqSrSrSrSmR -!C+E'0F.4F7%8%U/lG.SFJZIK]KKZIKB=H\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\REJZJK`LKdNLgPLjQLlRMnSMpTMqUMtWMxXN{ZN~[N]O^O`OaObPdPgQiQkQlRnRpSrSsStTuTvTwTxTyTyTyTyTyTxTvTrSnRhQ|U|U|U|U|U|U|U|U|U|U|U|U|U|U}U}U}U}U}U}U}U~U~U~V~VVWXa(lRrSvTyTzU|U~VX[_djmnlhd_{[vWsUpSnRkRiQhQgQfQePdPbPaO_O^O\O|ZNxXNsVMpTMnTMmSMjQLC B)D&/F-3F47G6%>"Y7 kA$YIK]KK^KKSFJ\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\VGJ\KKbMLeOLhPLkRLmSMnTMpTMrUMuWNyYN|ZN\N]O_O`OaPbPcPePfPhQjQlRnRoSqTsTuUvUwVxVyVyUzUzU{U{U{U|U|U|U|U|U{U{U{UzUzTyTyTxTwTvTvTvTvTwTwTwTxTyTzTzU{U{U|U|U}UVWY\_dlu脾|讒鍖遶覈网{sld^yZuWqUoSlRkRjQiQhQgQfQePdPcPaP`O^O]O}[NyYNuWMpTMoTMmSMkRLgPL&D#.E,3F46G;'<(D"iB(VGJ]KK`LK[JKB>H\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\NCJYIK^LKcNLfOLiQLkRMmSMoTMqUMsVMvXNzYN}[N\O^O_O`OaPcPdPePfQgQhQiQkRmSoTrUtWwYzZ}\]^^^^\ZYX~W~W~V~V~V~V~U~U~U~UUUVVVVVVVWWXZ[^adint茖z遘鶩餘薊燹~vmf`z[vXrUpToSnSlRkRkRjQiQhQfQePdPcPbP`O_O]O~[NzYNvWNpTMoTMnSMkRMhQLo7,2F36G99HC+@ ]8 nA"\JK`ML_LKSFJ\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\SFJ[JK`LKdNLgPLjQLlRMnSMpTMqUMtVMwXNzZN}[N]O^O_OaObPcPdPePfQgQhQiQjRlRmSoUrWvZ{]afjnqssrqomjgca^\[YXWWWVVWWWXY[\_aehmqv筺z腓}螂覃覈薑絅|wrmhc~^yZvXtWsVqUpToSnSmRlRkRjQiQhQgQfPePcPbPaO_O^O\N{ZNwXNsVMoTMnSMlRMiQL~I#26G99G?<HA*E$ i@$ZIKaMLbML[JK;:H\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\WHJ]KKbMLeOLhPLjRLlSMnTMpTMrUMuWMxXN{ZN~\N]O^O`OaObPcPdPePfQgQhQiQkRlSmToUrWuZy]~aflsz棔礑茫覡躁蹼覓荐磽~ytojfb_\ZYXW~W~W~WXXYZ\^`bdfgijjjigda^}]|\{[yZxYvXtWsVqUpToSnSmRlRkRjQiQhQgQfPePdPbPaO_O^O\O|ZNxXNtVMpTMnSMmSMjQLgPL99G?<HG-E&b;!YIK`MLdOM`LKNCJ\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\lRyT~UXYX{WtUW'[(hQlRcP\OhQL\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\NCJYIK^LKcNLfOLiQLkRLmSMoTMqUMrVMvWNyYN|ZN\N]O_O`OaPbPcPdPfPgQhQiQjRkRlSnTpUsWvZz]bglsy泙礬茘豈鏗鏗遽覘腥癸ztnid`][~Y}X|W|V{V{V{V{V{V|W|W}X}Y~Z~Z~Z}[}[}[~\~\~]~]~]~]}]|\z[yZwYvXtWsVrUpToSnSmRlRkRjQiQhQgQfQePdPcPaP`O^O]O}[NyYNuWNpTMnTMmSMkRLhPL|H$D>IQ2P+XHK_LLfQOcNLXIK\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\制qSyT~V`鍮v]qSLG|>g3 -S)?*%.hQhQeP`OuWM\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\SFJ[JK`LKdNLgPLjQLlRMnSMoTMqUMsVMwXNzYN}[N\O^O_O`OaPbPdPePfPgQhQiQjRkRlSnTpVsXvZz^bgmsz泙礬茘蟄鰢鬠茗紲爐|wqlgb_\}Z{XzWyVyUxUxUxTxTxUxUxUyVyVyWzW{X{Y|Z}[}[}\~\~]~]}]|\{\z[yZwYvXtWsVrUpToSnSmRlRkRjQiQhQgQfQePdPcPbP`O_O]O~[NzZNvWNrUMoTMmSMlRMiQLeOLJAIJ(h>!]KKfQOgQN_LKD>I\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\iQtSyT{UYe鎰u|\Z'LD -|> - -+,!.! "`E6iYlZo\q]s^^Jvawbyczd{e}foTMqUMsVMuWNwXNyYN{ZN|ZN~[N\O]O]O^O_O_O`O`OaOaPbPbPcPcPcPdPdPdPdPePePePePePePePePfPfPfPfPfPfPfPePePePePePePePdPdPdPdPcPcPcPbPbPaPaO`O`O_O_O^O]O]O\O~[N|[N{ZNyYNwXNiiiihhRfQdQbPwfx]Opdkbtd_m`]OEDG?A;:@.S.S.S.S.S/S/S/S/S/S/S/S/STxTxTxTxTxTxTxTxTy/SGlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlVVVVぶぶぶぶぶEiぶぶぶぶぶぶぶぶぶぶぶぶぷぷぷぷプププBgBgBgBgBg&J|&J|&J|&J|&J|&J|&J|&J|&J|&J|&J|&J|&J|BfBfBfBfBfBfBfBfBfAfAf%J|%J|%J|%J|%J|%J|%J|%J|%J|%J|%I|%I|%I|%I|%I|%I| -+,YA5jPBpSDl[o]q^t`_Kwbycze{f}ghilSrVMtWMvWNxXNyYN{ZN|[N~[N\O]O]O^O_O_O`O`O`OaPaPbPbPbPcPcPcPcPdPdPdPdPdPdPdPdPePePePePePdPdPdPdPdPdPdPcPcPcPcPbPbPbPaPaO`O`O`O_O^O^O]O]O\O~[N|[N{ZNyYNxXNjjjjjjhSgSeRcR|`Qsfoe}jcrd`k_]LCDC=@,,3(4F(4F.S.S/S/S/S/S/S/S/STxTxTxTxTxTxTxTxTxTyTyTyHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlChChぶぶぶぶぶEiEiEiぶぶぶぶぶぶぷぷぷぷCgCgCgCgCgCgCgCgCgCgCgCgBgBg&J|&J|&J|&J|&J|&J|&J|&J|&J|&J|BfBfBfBfBfBfBfBfBfBfBfBfBfBfBf&J|%J|%J|%J|%J|%J|%J|%J|%J|%J|%J|%J|%I|%I|%I|%I|%I|#5H71O;3V?4iOBoSDsVFo]{[I^K`LbNdO{f}g~hjkTmUoVqWrWwXNxXNzYN{ZN}[N~[N\O]O]O^O^O_O_O`O`O`OaOaPaPbPbPbPbPcPcPcPcPcPcPcPcPcPcPcPcPcPcPcPcPcPcPbPbPbPbPaPaPaO`O`O_O_O_O^O^O]O\O\N~[N|ZN{ZNyYNoToToTnTllljUiThTfTcSvirgnfyidqdah^^HBD?<@)+3OZkMYk(5F(5F(5F/S/S/S/S/STxTxTxTxTxTxTxTxTyTyTyTyUyHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlDhDhDhCh&K}&K}&K}&K}&K}&K}ChChCgCgCgCgCgCgCgCgCgCgCgCgCgCgCgCgCgCgCgCgCgCgCg&J|&J|&J|&J|&J|&J|BgBgBgBfBfBfBfBfBfBfBfBfBfBfBfBfBfBfBf&J|&J|&J|&J|%J|%J|%J|%J|%J|%J|%J|%J|%J|%J|%J|%I|%I|A99N?;L:2T>4gNBlRDk\n^z[J~^LaNcOdPfQgRhTjUlVnWpXrXsYqqrrrsz[z[z[{[{[{ZrqqppoyVxVxUwTwTaPbPbPbPbPbPbPbPbPbPbPbPbPbPaPaPaPaPaOaO`O`O`O_O_O^O^O^O]O]O\O~\N}[N|ZNzYNpTpUpUpUoVoVnVmVlVkVjVhVfU~cUujqh~mfugdkaad\^E@D98?$(2minffm^blV^lMYk(5F(5F/STxTxTxTxTxTxTxTxTxTyTyTyUyUyHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHlHl'K}'K}'K}'K}'K}'K}'K}'K}'K}&K}&K}ChChChChChChChCgCgCgCgCgCgCgCgCgCgCgCgCgCgCgCgCgCg&J|CgCgCgCgCgBgBgBgBgBgBgBfBfBfBfBfBfBfBfBfBfBfBfBf&J|&J|&J|&J|&J|&J|&J|%J|%J|%J|%J|%J|%J|%J|AeAe;GY<68I=:I82Q=4XA6~fZj\m^p`|]L`NcPeQgSjlmnoXqYrZt[rsstttz]{]{]{\{\{\{[srrqppyWonmllkkaOaOaOaOaOaOaO`O`O`O`O`O`O_O_O_O_O^O^O]O]O]O\O~\N}[N|ZNllmqVqVqVpWpWoWnnnnn~neWxltkpiykfodcf_`JDG@>C*,5$1MYktr~tstmolinadmX_lNZkMZkTxTxTxTxTxTxTxTyTyTyUyUyUyHlHlHmHmHmHmHmHmHmHmHmHmHmHmHmHmHmHmHmHmHmHmHmHmHmHmHmHmHmHmHmHm'K}'K}'K}'K}'K}'K}'K}'K}'K}'K}'K}'K}DhDhDhDhChChChChChChChCgCgCgCgCgCgCgCgCgCgCg&J}&J}&J}CgCgCgCgCgCgCgCgCgCgBgBgBgBgBgBgBfBfBfBfBfBfBfBfBf&J|&J|&J|&J|&J|&J|&J|&J|&J|&J|AfAfAfAf;GY;GY;GY1'!D:9N?;N;3]I?zdYh[l^oascuebQdRfTlmnopqrsv]w]uuuuv{^{^|^|]|]{\{\{[{[zZzZyYyXxXonnmmuTuStStStRsRsQ_O_O_O^O^O^O^O^O]O]O]OrSrSrSkllmmmnnqWqXqXooppppp}o{cXv`Vp]U}nishfhaba\_DAF::B$)4 -., 7(8'A1&F4(L8*oXIw]Jpdasfcvhexkg{mi~ojqll\Xn^Yp`Zpa[qa\rb]rc^sc^sd_ue`wf`xgayhayhayhbxyyyyyy~ywgbvfateasd`qd`pc`nb_la_ut|ssxqrunpZUXVRWROUMMSHIRIC@967-/3'+0(*-ACF?AD;=@#%( -.+>1(B3)B2&F4'E4)gTGlXJs^OzcTzaPqfethgvjhbVTcWUdXVeYWfZXg[Yh\Zi]Zi][j^\usususts~tt~tt}tt|st{stut~tt|sszrsyqrwpquoqsmpqloXTXTQWPOULLSSJEA<:=99757335./2113)+.'),)+.8:="( -"6*#5*">2)>0&A2'C3(I8-^OFbRHfUJjXMq^RwcVzfYfRDfQCdN@zdTqijrjksklrklrklrklqjmpjmpjmojmojmnimmimkhliflscYm`Xg\VbYT^VRE>;A<:>98:77645:873220/0,-/)+.*,/#%( & - -&3#.$-% .% .& /&!,#,#@70A71XNHXNHWNHWNHZRLYQLYQLXQLWQLWPLUOLSNLQMKOLJMJJ0//.-.,,-&(+"(!' - -%' %$#" ! !$ - - - - - -* - ;?E7CU;HY=I[ diff --git a/ext/tk/sample/demos-jp/items.rb b/ext/tk/sample/demos-jp/items.rb index e1007c5a8..d80751064 100644 --- a/ext/tk/sample/demos-jp/items.rb +++ b/ext/tk/sample/demos-jp/items.rb @@ -26,7 +26,8 @@ TkLabel.new($items_demo) { # frame 生成 TkFrame.new($items_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $items_demo $items_demo = nil @@ -119,8 +120,8 @@ TkcLine.new(cvs, '5c','6c','9c','6c','9c','1c','8c','1c','8c','4.8c','8.8c', '8.6c','1.4c','8.4c','1.4c','8.4c','4.4c', 'width'=>3, 'fill'=>red, 'tags'=>$tag_item ) TkcLine.new(cvs, '1c','5c','7c','5c','7c','7c','9c','7c', 'width'=>'.5c', - 'stipple'=>'@'+[$demo_dir, - 'images','gray25.bmp'].join(File::Separator), + 'stipple'=>'@'+[$demo_dir,'..', + 'images','gray25.xbm'].join(File::Separator), 'arrow'=>'both', 'arrowshape'=>'15 15 7', 'tags'=>$tag_item ) TkcLine.new(cvs, '1c','7c','1.75c','5.8c','2.5c','7c','3.25c','5.8c','4c','7c', 'width'=>'.5c', 'capstyle'=>'round', 'join'=>'round', @@ -135,8 +136,8 @@ TkcLine.new(cvs, '15.5c','1c','19.5c','1.5c','15.5c','4.5c','19.5c','4c', TkcLine.new(cvs, '12c','6c','13.5c','4.5c','16.5c','7.5c','18c','6c', '16.5c','4.5c','13.5c','7.5c','12c','6c', 'smooth'=>'on', 'width'=>'3m', 'capstyle'=>'round', - 'stipple'=>'@'+[$demo_dir, - 'images', 'gray25.bmp'].join(File::Separator), + 'stipple'=>'@'+[$demo_dir, '..', + 'images', 'gray25.xbm'].join(File::Separator), 'fill'=>red, 'tags'=>$tag_item ) TkcText.new(cvs, '25c', '.2c', 'text'=>'多角形', 'anchor'=>'n') @@ -150,8 +151,8 @@ TkcPolygon.new(cvs, '25c','4c','25c','4c','25c','1c','26c','1c','27c','4c', TkcPolygon.new(cvs, '22c','4.5c','25c','4.5c','25c','6.75c','28c','6.75c', '28c','5.25c','24c','5.25c','24c','6.0c','26c','6c','26c', '7.5c','22c','7.5c', - 'stipple'=>'@' + [$demo_dir, - 'images', 'gray25.bmp'].join(File::Separator), + 'stipple'=>'@' + [$demo_dir, '..', + 'images', 'gray25.xbm'].join(File::Separator), 'outline'=>'black', 'tags'=>$tag_item ) TkcText.new(cvs, '5c', '8.2c', 'text'=>'矩形', 'anchor'=>'n') @@ -160,8 +161,8 @@ TkcRectangle.new(cvs, '1c','9.5c','4c','12.5c', TkcRectangle.new(cvs, '0.5c','13.5c','4.5c','15.5c', 'fill'=>green, 'tags'=>$tag_item ) TkcRectangle.new(cvs, '6c','10c','9c','15c', 'outline'=>'', - 'stipple'=>'@'+[$demo_dir, - 'images','gray25.bmp'].join(File::Separator), + 'stipple'=>'@'+[$demo_dir,'..', + 'images','gray25.xbm'].join(File::Separator), 'fill'=>blue, 'tags'=>$tag_item ) TkcText.new(cvs, '15c', '8.2c', 'text'=>'楕円', 'anchor'=>'n') @@ -170,8 +171,8 @@ TkcOval.new(cvs, '11c','9.5c','14c','12.5c', TkcOval.new(cvs, '10.5c','13.5c','14.5c','15.5c', 'fill'=>green, 'tags'=>$tag_item ) TkcOval.new(cvs, '16c','10c','19c','15c', 'outline'=>'', - 'stipple'=>'@'+[$demo_dir, - 'images','gray25.bmp'].join(File::Separator), + 'stipple'=>'@'+[$demo_dir,'..', + 'images','gray25.xbm'].join(File::Separator), 'fill'=>blue, 'tags'=>$tag_item ) TkcText.new(cvs, '25c', '8.2c', 'text'=>'テキスト', 'anchor'=>'n') @@ -186,7 +187,7 @@ TkcText.new(cvs, '25.5c', '11c', 'anchor'=>'w', 'font'=>font1, 'fill'=>blue, TkcRectangle.new(cvs, '24.9c','13.9c','25.1c','14.1c') if $tk_version =~ /^4\.[01]/ TkcText.new(cvs, '25c', '14c', 'anchor'=>'c', 'font'=>font2, 'fill'=>red, - 'stipple'=>'@' + [$demo_dir, + 'stipple'=>'@' + [$demo_dir, '..', 'images', 'grey.5'].join(File::Separator), 'text'=>'Stippled characters', 'tags'=>$tag_item ) else @@ -204,8 +205,8 @@ TkcArc.new(cvs, '0.5c','17c','7c','20c', 'fill'=>green, 'outline'=>'black', # 'tags'=>$tag_item) TkcArc.new(cvs, '6.5c','17c','9.5c','20c', 'width'=>'4m', 'style'=>'arc', 'outline'=>blue, 'start'=>135, 'extent'=>270, - 'outlinestipple'=>'@'+[$demo_dir, - 'images','gray25.bmp'].join(File::Separator), + 'outlinestipple'=>'@'+[$demo_dir, '..', + 'images','gray25.xbm'].join(File::Separator), 'tags'=>$tag_item) TkcArc.new(cvs, '0.5c','20c','9.5c','24c', 'width'=>'4m', 'style'=>'pieslice', 'fill'=>'', 'outline'=>red, 'start'=>225, 'extent'=>90, @@ -219,22 +220,22 @@ TkcText.new(cvs, '15c', '16.2c', 'text'=>'ビットマップ', 'anchor'=>'n') # 'bitmap'=>'@' + ['images', 'face'].join(File::Separator), # 'tags'=>$tag_item) TkcBitmap.new(cvs, '13c','20c', - 'bitmap'=>'@' + [$demo_dir, - 'images', 'face.bmp'].join(File::Separator), + 'bitmap'=>'@' + [$demo_dir, '..', + 'images', 'face.xbm'].join(File::Separator), 'tags'=>$tag_item) #TkcBitmap.new(cvs, '17c','18.5c', # 'bitmap'=>'@' + ['images', 'noletters'].join(File::Separator), # 'tags'=>$tag_item) TkcBitmap.new(cvs, '17c','18.5c', - 'bitmap'=>'@' + [$demo_dir, - 'images', 'noletter.bmp'].join(File::Separator), + 'bitmap'=>'@' + [$demo_dir, '..', + 'images', 'noletter.xbm'].join(File::Separator), 'tags'=>$tag_item) #TkcBitmap.new(cvs, '17c','21.5c', # 'bitmap'=>'@' + ['images', 'letters'].join(File::Separator), # 'tags'=>$tag_item) # ↓の形式でも可能 TkcBitmap.new(cvs, '17c','21.5c') { - bitmap '@' + [$demo_dir, 'images', 'letters.bmp'].join(File::Separator) + bitmap '@' + [$demo_dir, '..', 'images', 'letters.xbm'].join(File::Separator) tags $tag_item } #TkcBitmap.new(cvs, '17c','21.5c') { @@ -357,7 +358,7 @@ end def itemDrag(c,x,y) x = c.canvasx(x) y = c.canvasy(y) - c.move 'current', x - $lastX, y - $lastY + c.move('current', x - $lastX, y - $lastY) $lastX = x $lastY = y end diff --git a/ext/tk/sample/demos-jp/label.rb b/ext/tk/sample/demos-jp/label.rb index 80ab5f3d8..425654216 100644 --- a/ext/tk/sample/demos-jp/label.rb +++ b/ext/tk/sample/demos-jp/label.rb @@ -27,7 +27,8 @@ msg.pack('side'=>'top') # frame 生成 TkFrame.new($label_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $label_demo $label_demo = nil @@ -56,7 +57,7 @@ f_right = TkFrame.new($label_demo) ].each{|w| w.pack('side'=>'top', 'expand'=>'yes', 'pady'=>2, 'anchor'=>'w')} TkLabel.new(f_right) { - bitmap('@' + [$demo_dir,'images','face.bmp'].join(File::Separator)) + bitmap('@' + [$demo_dir,'..','images','face.xbm'].join(File::Separator)) borderwidth 2 relief 'sunken' }.pack('side'=>'top') diff --git a/ext/tk/sample/demos-jp/labelframe.rb b/ext/tk/sample/demos-jp/labelframe.rb index 044fcd23a..8f76ffacf 100644 --- a/ext/tk/sample/demos-jp/labelframe.rb +++ b/ext/tk/sample/demos-jp/labelframe.rb @@ -37,7 +37,7 @@ EOL TkFrame.new($labelframe_demo){|f| pack(:side=>:bottom, :fill=>:x, :pady=>'2m') - TkButton.new(f, :text=>'了解', :width=>15, :command=>proc{ + TkButton.new(f, :text=>'閉じる', :width=>15, :command=>proc{ $labelframe_demo.destroy $labelframe_demo = nil }).pack(:side=>:left, :expand=>true) diff --git a/ext/tk/sample/demos-jp/menu.rb b/ext/tk/sample/demos-jp/menu.rb index fb32623cc..79d5b3d4c 100644 --- a/ext/tk/sample/demos-jp/menu.rb +++ b/ext/tk/sample/demos-jp/menu.rb @@ -31,7 +31,8 @@ TkLabel.new($menu_demo,'font'=>$font,'wraplength'=>'4i','justify'=>'left') { # frame 生成 TkFrame.new($menu_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $menu_demo $menu_demo = nil @@ -150,7 +151,8 @@ TkMenubutton.new($menu_frame, 'text'=>'Icons', 'underline'=>0) {|m| TkMenu.new(m, 'tearoff'=>false) {|icon_menu| m.configure('menu'=>icon_menu) add('command', - 'bitmap'=>'@'+[$demo_dir,'images','pattern.bmp'].join(File::Separator), + 'bitmap'=>'@'+[$demo_dir,'..', + 'images','pattern.xbm'].join(File::Separator), 'command'=>proc{TkDialog.new('title'=>'Bitmap Menu Entry', 'text'=>'今あなたが選択したメニューの項目はテキストではなくビットマップを表示していました。それ以外の点では他のメニュー項目と変わりません。', 'bitmap'=>'', 'default'=>0, diff --git a/ext/tk/sample/demos-jp/menu84.rb b/ext/tk/sample/demos-jp/menu84.rb index ea5fdf648..78d4e6887 100644 --- a/ext/tk/sample/demos-jp/menu84.rb +++ b/ext/tk/sample/demos-jp/menu84.rb @@ -45,7 +45,8 @@ TkFrame.new($menu84_demo) {|frame| # frame TkFrame.new($menu84_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $menu84_demo $menu84_demo = nil @@ -68,8 +69,8 @@ TkMenu.new($menu84_frame, 'tearoff'=>false) {|m| $menu84_frame.add('cascade', 'label'=>'File', 'menu'=>m, 'underline'=>0) add('command', 'label'=>'Open...', 'command'=>proc{fail 'これは単なるデモですから、"Open..." 項目の機能は特に定義されてはいません。'}) add('command', 'label'=>'New', 'command'=>proc{fail 'これは単なるデモですから、"New" 項目の機能は特に定義されてはいません。'}) - add('command', 'label'=>'Save', 'command'=>proc{fail 'これは単なるでもですから、"Save" 項目の機能は特に定義されてはいません。'}) - add('command', 'label'=>'Save As...', 'command'=>proc{fail 'これは単なるでもですから、"Save As..." 項目の機能は特に定義されてはいません。'}) + add('command', 'label'=>'Save', 'command'=>proc{fail 'これは単なるデモですから、"Save" 項目の機能は特に定義されてはいません。'}) + add('command', 'label'=>'Save As...', 'command'=>proc{fail 'これは単なるデモですから、"Save As..." 項目の機能は特に定義されてはいません。'}) add('separator') add('command', 'label'=>'Print Setup...', 'command'=>proc{fail 'これは単なるデモですから、"Print Setup..." 項目の機能は特に定義されてはいません。'}) add('command', 'label'=>'Print...', 'command'=>proc{fail 'これは単なるデモですから、"Print..." 項目の機能は特に定義されてはいません。'}) @@ -157,7 +158,8 @@ TkMenu.new($menu84_frame, 'tearoff'=>false) {|m| TkMenu.new($menu84_frame, 'tearoff'=>false) {|m| $menu84_frame.add('cascade', 'label'=>'Icons', 'menu'=>m, 'underline'=>0) add('command', 'hidemargin'=>1, - 'bitmap'=>'@'+[$demo_dir,'images','pattern.bmp'].join(File::Separator), + 'bitmap'=>'@'+[$demo_dir,'..', + 'images','pattern.xbm'].join(File::Separator), 'command'=>proc{TkDialog.new('title'=>'Bitmap Menu Entry', 'text'=>'あなたが選択したメニュー項目は、文字列の代わりにビットマップイメージで項目を表示したものです。それ以外の点では、ほかのメニュー項目との間で特に違いがあるわけではありません。', 'bitmap'=>'', 'default'=>0, diff --git a/ext/tk/sample/demos-jp/menu8x.rb b/ext/tk/sample/demos-jp/menu8x.rb index a6d3c5e09..08598f88f 100644 --- a/ext/tk/sample/demos-jp/menu8x.rb +++ b/ext/tk/sample/demos-jp/menu8x.rb @@ -26,7 +26,8 @@ TkLabel.new($menu8x_demo,'font'=>$font,'wraplength'=>'4i','justify'=>'left') { # frame 生成 TkFrame.new($menu8x_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $menu8x_demo $menu8x_demo = nil @@ -36,7 +37,7 @@ TkFrame.new($menu8x_demo) {|frame| TkButton.new(frame) { text 'コード参照' - command proc{showCode 'menu'} + command proc{showCode 'menu8x'} }.pack('side'=>'left', 'expand'=>'yes') }.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m') @@ -62,7 +63,8 @@ TkFrame.new($menu8x_demo) {|frame| # frame 生成 TkFrame.new($menu8x_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $menu8x_demo $menu8x_demo = nil @@ -72,7 +74,7 @@ TkFrame.new($menu8x_demo) {|frame| TkButton.new(frame) { text 'コード参照' - command proc{showCode 'menu'} + command proc{showCode 'menu8x'} }.pack('side'=>'left', 'expand'=>'yes') }.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m') diff --git a/ext/tk/sample/demos-jp/menubu.rb b/ext/tk/sample/demos-jp/menubu.rb index 8b4d7980d..130801418 100644 --- a/ext/tk/sample/demos-jp/menubu.rb +++ b/ext/tk/sample/demos-jp/menubu.rb @@ -43,7 +43,8 @@ TkLabel.new($menubu_demo,'font'=>$font,'wraplength'=>'4i','justify'=>'left') { # frame 生成 TkFrame.new($menubu_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $menubu_demo $menubu_demo = nil @@ -53,7 +54,7 @@ TkFrame.new($menubu_demo) {|frame| TkButton.new(frame) { text 'コード参照' - command proc{showCode 'menu'} + command proc{showCode 'menubu'} }.pack('side'=>'left', 'expand'=>'yes') }.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m') @@ -156,7 +157,8 @@ center = TkFrame.new(body) { TkFrame.new($menubu_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc { tmppath = $menubu_demo $menubu_demo = nil diff --git a/ext/tk/sample/demos-jp/msgbox.rb b/ext/tk/sample/demos-jp/msgbox.rb index cf53d7048..03ab1f7db 100644 --- a/ext/tk/sample/demos-jp/msgbox.rb +++ b/ext/tk/sample/demos-jp/msgbox.rb @@ -22,7 +22,8 @@ TkLabel.new($msgbox_demo, 'font'=>$font, 'wraplength'=>'4i', 'justify'=>'left', # frame 生成 TkFrame.new($msgbox_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $msgbox_demo $msgbox_demo = nil diff --git a/ext/tk/sample/demos-jp/paned1.rb b/ext/tk/sample/demos-jp/paned1.rb index 99e6b6cdd..cd51e34aa 100644 --- a/ext/tk/sample/demos-jp/paned1.rb +++ b/ext/tk/sample/demos-jp/paned1.rb @@ -30,7 +30,7 @@ EOL TkFrame.new($paned1_demo){|f| pack(:side=>:bottom, :fill=>:x, :pady=>'2m') - TkButton.new(f, :text=>'了解', :width=>15, :command=>proc{ + TkButton.new(f, :text=>'閉じる', :width=>15, :command=>proc{ $paned1_demo.destroy $paned1_demo = nil }).pack(:side=>:left, :expand=>true) diff --git a/ext/tk/sample/demos-jp/paned2.rb b/ext/tk/sample/demos-jp/paned2.rb index 9df88c4b9..b0261d50f 100644 --- a/ext/tk/sample/demos-jp/paned2.rb +++ b/ext/tk/sample/demos-jp/paned2.rb @@ -30,7 +30,7 @@ EOL TkFrame.new($paned2_demo){|f| pack(:side=>:bottom, :fill=>:x, :pady=>'2m') - TkButton.new(f, :text=>'了解', :width=>15, :command=>proc{ + TkButton.new(f, :text=>'閉じる', :width=>15, :command=>proc{ $paned2_demo.destroy $paned2_demo = nil }).pack(:side=>:left, :expand=>true) diff --git a/ext/tk/sample/demos-jp/plot.rb b/ext/tk/sample/demos-jp/plot.rb index 464dd4441..c8025d8bf 100644 --- a/ext/tk/sample/demos-jp/plot.rb +++ b/ext/tk/sample/demos-jp/plot.rb @@ -24,7 +24,8 @@ TkLabel.new($plot_demo, 'font'=>$font, 'wraplength'=>'4i', 'justify'=>'left', # frame 生成 $plot_buttons = TkFrame.new($plot_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $plot_demo $plot_demo = nil diff --git a/ext/tk/sample/demos-jp/puzzle.rb b/ext/tk/sample/demos-jp/puzzle.rb index 24c48693a..afef8fcb0 100644 --- a/ext/tk/sample/demos-jp/puzzle.rb +++ b/ext/tk/sample/demos-jp/puzzle.rb @@ -27,7 +27,8 @@ msg.pack('side'=>'top') # frame 生成 TkFrame.new($puzzle_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $puzzle_demo $puzzle_demo = nil diff --git a/ext/tk/sample/demos-jp/radio.rb b/ext/tk/sample/demos-jp/radio.rb index 871503029..5858b4222 100644 --- a/ext/tk/sample/demos-jp/radio.rb +++ b/ext/tk/sample/demos-jp/radio.rb @@ -31,7 +31,8 @@ color = TkVariable.new # frame 生成 TkFrame.new($radio_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $radio_demo $radio_demo = nil diff --git a/ext/tk/sample/demos-jp/radio2.rb b/ext/tk/sample/demos-jp/radio2.rb index 62425af90..c7b98e631 100644 --- a/ext/tk/sample/demos-jp/radio2.rb +++ b/ext/tk/sample/demos-jp/radio2.rb @@ -1,4 +1,4 @@ -# radio.rb +# radio2.rb # # This demonstration script creates a toplevel window containing # several radiobutton widgets. @@ -14,8 +14,8 @@ end # demo toplevel widget $radio2_demo = TkToplevel.new {|w| - title("Radiobutton Demonstration") - iconname("radio") + title("Radiobutton Demonstration 2") + iconname("radio2") positionWindow(w) } @@ -24,7 +24,7 @@ msg = TkLabel.new($radio2_demo) { font $font wraplength '5i' justify 'left' - text "下には2つのラジオボタングループが表示されています。ボタンをクリックすると、そのボタンだけがそのグループの中で選択されます。各グループに対してそのグループの中のどのボタンが選択されているかを示す変数が割り当てられています。現在の変数の値を見るには「変数参照」ボタンをクリックしてください。" + text "下には3つのラジオボタングループが表示されています。ボタンをクリックすると、そのボタンだけがそのグループの中で選択されます。各グループに対してそのグループの中のどのボタンが選択されているかを示す変数が割り当てられています。現在の変数の値を見るには「変数参照」ボタンをクリックしてください。" } msg.pack('side'=>'top') @@ -36,7 +36,8 @@ align = TkVariable.new # frame TkFrame.new($radio2_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $radio2_demo $radio2_demo = nil @@ -47,7 +48,7 @@ TkFrame.new($radio2_demo) {|frame| TkButton.new(frame) { text 'コード参照' - command proc{showCode 'radio'} + command proc{showCode 'radio2'} }.pack('side'=>'left', 'expand'=>'yes') TkButton.new(frame) { diff --git a/ext/tk/sample/demos-jp/radio3.rb b/ext/tk/sample/demos-jp/radio3.rb new file mode 100644 index 000000000..bdc3ee0bf --- /dev/null +++ b/ext/tk/sample/demos-jp/radio3.rb @@ -0,0 +1,114 @@ +# radio3.rb +# +# This demonstration script creates a toplevel window containing +# several radiobutton widgets. +# +# radiobutton widget demo (called by 'widget') +# + +# toplevel widget +if defined?($radio3_demo) && $radio3_demo + $radio3_demo.destroy + $radio3_demo = nil +end + +# demo toplevel widget +$radio3_demo = TkToplevel.new {|w| + title("Radiobutton Demonstration 3") + iconname("radio3") + positionWindow(w) +} + +# label +msg = TkLabel.new($radio3_demo) { + font $font + wraplength '5i' + justify 'left' + text '下には3つのラジオボタングループが表示されています。ボタンをクリックすると、そのグループに属するすべてのボタンの中でクリックしたボタンだけが選択された状態になります。各グループには、そのグループの中のどのボタンが選択されているかを示す変数が割り当てられています。「トライステート」ボタンが押されたときには、ラジオボタンの表示がトライステートモードになります。いずれかのボタンを選択すれば、ボタンの状態は元のように個々のボタンのon/off状態を示すようになります。現在の変数の値を見るには「変数参照」ボタンをクリックしてください。' +} +msg.grid(:row=>0, :column=>0, :columnspan=>3, :sticky=>'nsew') + +# variable +size = TkVariable.new +color = TkVariable.new +align = TkVariable.new + +# frame +TkFrame.new($radio3_demo) {|frame| + TkGrid(TkFrame.new(frame, :height=>2, :relief=>:sunken, :bd=>2), + :columnspan=>4, :row=>0, :sticky=>'ew', :pady=>2) + TkGrid('x', + TkButton.new(frame, :text=>'変数参照', + :image=>$image['view'], :compound=>:left, + :command=>proc{ + showVars($radio3_demo, ['size', size], + ['color', color], ['compound', align]) + }), + TkButton.new(frame, :text=>'コード参照', + :image=>$image['view'], :compound=>:left, + :command=>proc{showCode 'radio3'}), + TkButton.new(frame, :text=>'閉じる', + :image=>$image['delete'], :compound=>:left, + :command=>proc{ + tmppath = $radio3_demo + $radio3_demo = nil + $showVarsWin[tmppath.path] = nil + tmppath.destroy + }), + :padx=>4, :pady=>4) + frame.grid_columnconfigure(0, :weight=>1) + TkGrid(frame, :row=>3, :column=>0, :columnspan=>3, :sticky=>'nsew') +} + +# frame +f_left = TkLabelFrame.new($radio3_demo, 'text'=>'文字サイズ', + 'pady'=>2, 'padx'=>2) +f_mid = TkLabelFrame.new($radio3_demo, 'text'=>'色', + 'pady'=>2, 'padx'=>2) +f_right = TkLabelFrame.new($radio3_demo, 'text'=>'ビットマップ配置', + 'pady'=>2, 'padx'=>2) +f_left .grid('column'=>0, 'row'=>1, 'pady'=>'.5c', 'padx'=>'.5c', 'rowspan'=>2) +f_mid .grid('column'=>1, 'row'=>1, 'pady'=>'.5c', 'padx'=>'.5c', 'rowspan'=>2) +f_right.grid('column'=>2, 'row'=>1, 'pady'=>'.5c', 'padx'=>'.5c') + +TkButton.new($radio3_demo, 'text'=>'トライステート', + 'command'=>proc{size.value = 'multi'; color.value = 'multi'}){ + grid('column'=>2, 'row'=>2, 'pady'=>'.5c', 'padx'=>'.5c') +} + +# radiobutton +[10, 12, 14, 18, 24].each {|sz| + TkRadioButton.new(f_left) { + text "ポイントサイズ #{sz}" + variable size + relief 'flat' + value sz + tristatevalue 'multi' + }.pack('side'=>'top', 'pady'=>2, 'anchor'=>'w', 'fill'=>'x') +} + +['Red', 'Green', 'Blue', 'Yellow', 'Orange', 'Purple'].each {|col| + TkRadioButton.new(f_mid) { + text col + variable color + relief 'flat' + value col.downcase + anchor 'w' + tristatevalue 'multi' + command proc{f_mid.fg(color.value)} + }.pack('side'=>'top', 'pady'=>2, 'fill'=>'x') +} + +label = TkLabel.new(f_right, 'text'=>'ラベル', 'bitmap'=>'questhead', + 'compound'=>'left') +label.configure('width'=>TkWinfo.reqwidth(label), 'compound'=>'top') +label.height(TkWinfo.reqheight(label)) +a_btn = ['Top', 'Left', 'Right', 'Bottom'].collect{|a| + TkRadioButton.new(f_right, 'text'=>a, 'variable'=>align, 'relief'=>'flat', + 'value'=>a.downcase, 'indicatoron'=>0, 'width'=>7, + 'command'=>proc{label.compound(align.value)}) +} + +Tk.grid('x', a_btn[0]) +Tk.grid(a_btn[1], label, a_btn[2]) +Tk.grid('x', a_btn[3]) diff --git a/ext/tk/sample/demos-jp/rolodex-j b/ext/tk/sample/demos-jp/rolodex-j index 1c482aafb..dcc18cfa5 100644 --- a/ext/tk/sample/demos-jp/rolodex-j +++ b/ext/tk/sample/demos-jp/rolodex-j @@ -4,7 +4,7 @@ # このスクリプトは Tom LaStrange の rolodex の一部です。 # # Copyright (C) 1998 by Takaaki Tateishi <ttate@jaist.ac.jp> -# Time-stamp: "03/08/02 14:01:54 nagai" +# Time-stamp: "04/04/09 00:32:12 nagai" # require "tk" diff --git a/ext/tk/sample/demos-jp/ruler.rb b/ext/tk/sample/demos-jp/ruler.rb index d1a7818be..5d8c0443c 100644 --- a/ext/tk/sample/demos-jp/ruler.rb +++ b/ext/tk/sample/demos-jp/ruler.rb @@ -37,7 +37,8 @@ TkLabel.new($ruler_demo, 'font'=>$font, 'wraplength'=>'5i', 'justify'=>'left', # frame 生成 $ruler_buttons = TkFrame.new($ruler_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $ruler_demo $ruler_demo = nil @@ -72,11 +73,13 @@ $demo_rulerInfo.normalStyle = {'fill'=>'black'} if TkWinfo.depth($ruler_canvas) > 1 $demo_rulerInfo.activeStyle = {'fill'=>'red', 'stipple'=>''} $demo_rulerInfo.deleteStyle = {'fill'=>'red', - 'stipple'=>'@'+[$demo_dir, 'images', 'gray25.bmp'].join(File::Separator)} + 'stipple'=>'@'+[$demo_dir, '..', + 'images', 'gray25.xbm'].join(File::Separator)} else $demo_rulerInfo.activeStyle = {'fill'=>'black', 'stipple'=>''} $demo_rulerInfo.deleteStyle = {'fill'=>'black', - 'stipple'=>'@'+[$demo_dir, 'images', 'gray25.bmp'].join(File::Separator)} + 'stipple'=>'@'+[$demo_dir, '..', + 'images', 'gray25.xbm'].join(File::Separator)} end TkcLine.new($ruler_canvas, diff --git a/ext/tk/sample/demos-jp/sayings.rb b/ext/tk/sample/demos-jp/sayings.rb index f627396e0..bcbdd7a5e 100644 --- a/ext/tk/sample/demos-jp/sayings.rb +++ b/ext/tk/sample/demos-jp/sayings.rb @@ -27,7 +27,8 @@ msg.pack('side'=>'top') # frame 生成 TkFrame.new($sayings_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $sayings_demo $sayings_demo = nil diff --git a/ext/tk/sample/demos-jp/search.rb b/ext/tk/sample/demos-jp/search.rb index 538c607c0..3ae7de769 100644 --- a/ext/tk/sample/demos-jp/search.rb +++ b/ext/tk/sample/demos-jp/search.rb @@ -77,7 +77,8 @@ $search_demo = TkToplevel.new {|w| # frame 生成 $search_buttons = TkFrame.new($search_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $search_demo $search_demo = nil @@ -141,45 +142,33 @@ $search_text = TkText.new($search_demo, 'setgrid'=>true) {|t| if TkWinfo.depth($search_demo) > 1 textToggle(proc{ - begin - $search_Tag.configure('background'=>'#ce5555', - 'foreground'=>'white') - rescue - end + $search_Tag.configure('background'=>'#ce5555', + 'foreground'=>'white') }, 800, proc{ - begin - $search_Tag.configure('background'=>'', 'foreground'=>'') - rescue - end + $search_Tag.configure('background'=>'', 'foreground'=>'') }, 200 ) else textToggle(proc{ - begin - $search_Tag.configure('background'=>'black', - 'foreground'=>'white') - rescue - end + $search_Tag.configure('background'=>'black', + 'foreground'=>'white') }, 800, proc{ - begin - $search_Tag.configure('background'=>'', 'foreground'=>'') - rescue - end + $search_Tag.configure('background'=>'', 'foreground'=>'') }, 200 ) end -$search_text.insert('1.0', '\ -このウィンドウは検索機構を実現するのにテキスト widget のタグ機能がどの -ように使われるのかをデモするものです。まず上のエントリにファイル名を入 -れ、<リターン> を押すか「ロード」ボタンを押してください。次にその下の -エントリに文字列を入力し、<リターン> を押すか「反転」ボタンを押してく -ださい。するとファイル中の、検索文字列と一致する部分に全て "search_Tag" -というタグがつけられ、タグの表示属性としてその文字列が点滅するように -設定されます。') +$search_text.insert('1.0', "\ +このウィンドウは検索機構を実現するのにテキスト widget のタグ機能がどの \ +ように使われるのかをデモするものです。まず上のエントリにファイル名を入 \ +れ、<リターン> を押すか「ロード」ボタンを押してください。次にその下の \ +エントリに文字列を入力し、<リターン> を押すか「反転」ボタンを押してく \ +ださい。するとファイル中の、検索文字列と一致する部分に全て \"search_Tag\" \ +というタグがつけられ、タグの表示属性としてその文字列が点滅するように \ +設定されます。") $search_text.set_insert '0.0' $search_fileName.value = '' diff --git a/ext/tk/sample/demos-jp/spin.rb b/ext/tk/sample/demos-jp/spin.rb index 4f6edc13c..69d6d71d8 100644 --- a/ext/tk/sample/demos-jp/spin.rb +++ b/ext/tk/sample/demos-jp/spin.rb @@ -41,7 +41,7 @@ EOL TkFrame.new($spin_demo){|f| pack(:side=>:bottom, :fill=>:x, :pady=>'2m') - TkButton.new(f, :text=>'了解', :width=>15, :command=>proc{ + TkButton.new(f, :text=>'閉じる', :width=>15, :command=>proc{ $spin_demo.destroy $spin_demo = nil }).pack(:side=>:left, :expand=>true) diff --git a/ext/tk/sample/demos-jp/states.rb b/ext/tk/sample/demos-jp/states.rb index cf8a6768b..dfae82126 100644 --- a/ext/tk/sample/demos-jp/states.rb +++ b/ext/tk/sample/demos-jp/states.rb @@ -27,7 +27,8 @@ msg.pack('side'=>'top') # frame 生成 TkFrame.new($states_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $states_demo $states_demo = nil diff --git a/ext/tk/sample/demos-jp/style.rb b/ext/tk/sample/demos-jp/style.rb index d58c6115a..458479611 100644 --- a/ext/tk/sample/demos-jp/style.rb +++ b/ext/tk/sample/demos-jp/style.rb @@ -18,7 +18,8 @@ $style_demo = TkToplevel.new {|w| # frame 生成 TkFrame.new($style_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $style_demo $style_demo = nil diff --git a/ext/tk/sample/demos-jp/tcolor b/ext/tk/sample/demos-jp/tcolor index 391ce4c44..fc697df63 100644 --- a/ext/tk/sample/demos-jp/tcolor +++ b/ext/tk/sample/demos-jp/tcolor @@ -16,15 +16,16 @@ require "tk" # Tkによって変更される変数はTkVariableのインスタンスを使う。 $colorSpace = TkVariable.new(:rgb) +$master = nil $red = 65535 $green = 0 $blue = 0 $color = "#ffff00000000" $updating = TkVariable.new(0) $autoUpdate = TkVariable.new(1) -$name = TkVariable.new("") -# $command = TkVariable.new("print(%%,\"\n\")") -$command = TkVariable.new("") +$name = TkVariable.new($color) +$command = TkVariable.new("print(%%,\"\n\")") +# $command = TkVariable.new("") $label1 = TkVariable.new("label1") $label2 = TkVariable.new("label2") $label3 = TkVariable.new("label3") @@ -134,6 +135,8 @@ def tc_scaleChanged return end + $master = :scale if $master == nil + scale1 = $root.middle.middle.scale1 scale2 = $root.middle.middle.scale2 scale3 = $root.middle.middle.scale3 @@ -158,11 +161,13 @@ def tc_scaleChanged raise(Exception,"unknown colorSpace") end $color = format("#%04x%04x%04x",$red.to_i,$green.to_i,$blue.to_i) + $name.value = $color if $master == :scale $root.middle.right.set_color($color) if( $autoUpdate.to_i == 1 ) doUpdate end - Tk.update(TRUE) + Tk.update(true) + $master = nil if $master == :scale end @@ -196,6 +201,8 @@ end def tc_loadNamedColor(name) + $name.value = name + $master = :name if $master == nil if name[0,1] != "#" list = TkWinfo.rgb($root.middle.right.swatch,name) $red = list[0] @@ -222,9 +229,9 @@ def tc_loadNamedColor(name) if strlist.length != 3 raise(eException,"syntax error in color name \"#{name}\"") end - $red = strlist[0].to_i - $green = strlist[1].to_i - $blue = strlist[2].to_i + $red = strlist[0].hex + $green = strlist[1].hex + $blue = strlist[2].hex } $red = $red << shift $green = $green << shift @@ -237,6 +244,8 @@ def tc_loadNamedColor(name) if $autoUpdate.to_i == 1 doUpdate end + Tk.update(true) + $master = nil if $master == :name end diff --git a/ext/tk/sample/demos-jp/text.rb b/ext/tk/sample/demos-jp/text.rb index 179589d82..bec95ee52 100644 --- a/ext/tk/sample/demos-jp/text.rb +++ b/ext/tk/sample/demos-jp/text.rb @@ -25,7 +25,8 @@ end # frame 生成 TkFrame.new($text_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $text_demo $text_demo = nil diff --git a/ext/tk/sample/demos-jp/twind.rb b/ext/tk/sample/demos-jp/twind.rb index d35acd24d..8716ad727 100644 --- a/ext/tk/sample/demos-jp/twind.rb +++ b/ext/tk/sample/demos-jp/twind.rb @@ -18,7 +18,8 @@ $twind_demo = TkToplevel.new {|w| # frame 生成 $twind_buttons = TkFrame.new($twind_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc{ tmppath = $twind_demo $twind_demo = nil @@ -75,7 +76,7 @@ TkTextWindow.new($twind_text, 'end', command proc{textWindOn $twind_text,$twind_buttons} cursor 'top_left_arrow' }) -$twind_text.insert('end', 'にします。また2つめのボタンをクリックすると') +$twind_text.insert('end', "にします。また2つめのボタンをクリックすると\n") $twind_text.insert('end', '水平方向のスクロールを') TkTextWindow.new($twind_text, 'end', 'window'=>TkButton.new($twind_text) { diff --git a/ext/tk/sample/demos-jp/twind2.rb b/ext/tk/sample/demos-jp/twind2.rb new file mode 100644 index 000000000..8c871688b --- /dev/null +++ b/ext/tk/sample/demos-jp/twind2.rb @@ -0,0 +1,381 @@ +# +# text (embedded windows) widget demo 2 (called by 'widget') +# + +# toplevel widget が存在すれば削除する +if defined?($twind2_demo) && $twind2_demo + $twind2_demo.destroy + $twind2_demo = nil +end + +# demo 用の toplevel widget を生成 +$twind2_demo = TkToplevel.new {|w| + title("Text Demonstration - Embedded Windows 2") + iconname("Embedded Windows") + positionWindow(w) +} + +# frame 生成 +$twind2_buttons = TkFrame.new($twind2_demo) {|frame| + TkGrid(TkFrame.new(frame, :height=>2, :relief=>:sunken, :bd=>2), + :columnspan=>4, :row=>0, :sticky=>'ew', :pady=>2) + TkGrid('x', + TkButton.new(frame, :text=>'コード参照', + :image=>$image['view'], :compound=>:left, + :command=>proc{showCode 'twind2'}), + TkButton.new(frame, :text=>'閉じる', + :image=>$image['delete'], :compound=>:left, + :command=>proc{ + tmppath = $twind2_demo + $twind2_demo = nil + $showVarsWin[tmppath.path] = nil + tmppath.destroy + }), + :padx=>4, :pady=>4) + frame.grid_columnconfigure(0, :weight=>1) +} +$twind2_buttons.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m') + +# frame 生成 +$twind2_text = nil +TkFrame.new($twind2_demo, 'highlightthickness'=>2, 'borderwidth'=>2, + 'relief'=>'sunken') {|f| + $twind2_text = TkText.new(f, 'setgrid'=>true, 'font'=>$font, + # 'width'=>'70', 'height'=>35, 'wrap'=>'word', + 'width'=>'70', 'height'=>35, 'wrap'=>'char', + 'highlightthickness'=>0, 'borderwidth'=>0 ){|t| + TkScrollbar.new(f) {|s| + command proc{|*args| t.yview(*args)} + t.yscrollcommand proc{|first,last| s.set first,last} + }.pack('side'=>'right', 'fill'=>'y') + }.pack('expand'=>'yes', 'fill'=>'both') +}.pack('expand'=>'yes', 'fill'=>'both') + +# タグ生成 +$tag2_center = TkTextTag.new($twind2_text, + 'justify' =>'center', + 'spacing1'=>'5m', + 'spacing3'=>'5m' ) +$tag2_buttons = TkTextTag.new($twind2_text, + 'lmargin1'=>'1c', + 'lmargin2'=>'1c', + 'rmargin' =>'1c', + 'spacing1'=>'3m', + 'spacing2'=>0, + 'spacing3'=>0 ) + +# テキストの生成 +$twind2_text.insert('end', 'テキストウィジェットには色々な種類のアイテム') +$twind2_text.insert('end', '(動的なものや静的なものの両方があります)を') +$twind2_text.insert('end', '数多く含めることができます。そうしたアイテムは') +$twind2_text.insert('end', '行替え、タブ、中央揃えなどの様々な方法で') +$twind2_text.insert('end', '配置することができます。') +$twind2_text.insert('end', '加えて、テキストウィジェットの内容物が') +$twind2_text.insert('end', 'ウィンドウサイズに比べて大きすぎる場合でも') +$twind2_text.insert('end', 'すべての方向にスムーズにスクロールさせて') +$twind2_text.insert('end', '確認することが可能です。') +$twind2_text.insert('end', "\n\n") +$twind2_text.insert('end', 'テキストウィジェット上には他のウィジェットを') +$twind2_text.insert('end', '含めることもできます。こうしたものは') +$twind2_text.insert('end', '「埋め込みウィンドウ」と呼ばれ、その中に') +$twind2_text.insert('end', 'いかなるウィジェットでも詰め込むことができます。') +$twind2_text.insert('end', '例えば,ここには2つの') +$twind2_text.insert('end', 'ボタンウィジェットが埋め込まれています。') +$twind2_text.insert('end', '最初のボタンをクリックすると、') +$twind2_text.insert('end', '水平方向のスクロールを ') +TkTextWindow.new($twind2_text, 'end', + 'window'=>TkButton.new($twind2_text) { + #text 'ON' + text 'オン' + command proc{textWindOn2 $twind2_text,$twind2_buttons} + cursor 'top_left_arrow' + }) +$twind2_text.insert('end', "にします。また、2つめのボタンをクリックすると\n") +$twind2_text.insert('end', '水平方向のスクロールを') +TkTextWindow.new($twind2_text, 'end', + 'window'=>TkButton.new($twind2_text) { + #text 'OFF' + text 'オフ' + command proc{textWindOff2 $twind2_text} + cursor 'top_left_arrow' + }) +$twind2_text.insert('end', "にします。\n\n") + +$twind2_text.insert('end', '次はもうひとつの例です。') +TkTextWindow.new($twind2_text, 'end', + 'window'=>TkButton.new($twind2_text) { + text 'ここをクリック' + command proc{textWindPlot2 $twind2_text} + cursor 'top_left_arrow' + }) +$twind2_text.insert('end', 'すると、x-yプロットがここに現れます。') +$mark2_plot = TkTextMark.new($twind2_text, 'insert') +$mark2_plot.gravity='left' +$twind2_text.insert('end', 'マウスでドラッグすることで、') +$twind2_text.insert('end', 'プロット上のデータ点を移動することができます。') +TkTextWindow.new($twind2_text, 'end', + 'window'=>TkButton.new($twind2_text) { + text '消去' + command proc{textWindDel2 $twind2_text} + cursor 'top_left_arrow' + }) +$twind2_text.insert('end', 'をクリックすると元に戻ります。') +$twind2_text.insert('end', "\n\n") + +$twind2_text.insert('end', '表示するテキストなしに埋め込みウィンドウだけを') +$twind2_text.insert('end', 'テキストウィジェットに含めることも有用でしょう。') +$twind2_text.insert('end', 'この場合、テキストウィジェットは') +$twind2_text.insert('end', 'ジオメトリマネージャのように働きます。') +$twind2_text.insert('end', '例えば、ここにはテキストウィジェットに') +$twind2_text.insert('end', 'よってボタンがきれいに整列して配置されています。') +$twind2_text.insert('end', 'これらのボタンをクリックすることで、') +$twind2_text.insert('end', 'このテキストウィジェットの背景色を') +$twind2_text.insert('end', '変えることができます("デフォルト"ボタンで') +$twind2_text.insert('end', '元の色に戻すことができます)。') +$twind2_text.insert('end', '"Short"というボタンをクリックすると文字列の長さが') +$twind2_text.insert('end', '変わり、テキストウィジェットが自動的に') +$twind2_text.insert('end', 'レイアウトを整える様子を見ることができます。') +$twind2_text.insert('end', 'もう一度同じボタンを押すと元に戻ります。') +$twind2_text.insert('end', "\n") + +btn_default = TkButton.new($twind2_text) {|b| + text 'デフォルト' + command proc{embDefBg2 $twind2_text} + cursor 'top_left_arrow' +} +TkTextWindow.new($twind2_text, 'end', 'window'=>btn_default, 'padx'=>3) +embToggle = TkVariable.new('Short') +TkTextWindow.new($twind2_text, 'end', + 'window'=>TkCheckButton.new($twind2_text) { + textvariable embToggle + indicatoron 0 + variable embToggle + onvalue 'A much longer string' + offvalue 'Short' + cursor 'top_left_arrow' + pady 5 + padx 2 + }, + 'padx'=>3, + 'pady'=>2 ) + +[ 'AntiqueWhite3', 'Bisque1', 'Bisque2', 'Bisque3', 'Bisque4', + 'SlateBlue3', 'RoyalBlue1', 'SteelBlue2', 'DeepSkyBlue3', 'LightBlue1', + 'DarkSlateGray1', 'Aquamarine2', 'DarkSeaGreen2', 'SeaGreen1', + 'Yellow1', 'IndianRed1', 'IndianRed2', 'Tan1', 'Tan4' +].each{|twind_color| + TkTextWindow.new($twind2_text, 'end', + 'window'=>TkButton.new($twind2_text) { + text twind_color + cursor 'top_left_arrow' + command proc{$twind2_text.bg twind_color} + }, + 'padx'=>3, + 'pady'=>2 ) +} + +$tag2_buttons.add(btn_default, 'end') + +$text_normal2 = {} +$text_normal2['border'] = $twind2_text.cget('borderwidth') +$text_normal2['highlight'] = $twind2_text.cget('highlightthickness') +$text_normal2['pad'] = $twind2_text.cget('padx') + +$twind2_text.insert('end', "\nborder width や highlightthickness, ") +$twind2_text.insert('end', "padding を通常の値から変更することも可能です。\n") + +TkTextWindow.new($twind2_text, 'end', + 'window'=>TkButton.new($twind2_text, :text=>"Big borders", + :cursor=>'top_left_arrow', + 'command'=>proc{ + textWinBigB2 $twind2_text + })) + +TkTextWindow.new($twind2_text, 'end', + 'window'=>TkButton.new($twind2_text, :text=>"Small borders", + :cursor=>'top_left_arrow', + 'command'=>proc{ + textWinSmallB2 $twind2_text + })) + +TkTextWindow.new($twind2_text, 'end', + 'window'=>TkButton.new($twind2_text, :text=>"Big highlight", + :cursor=>'top_left_arrow', + 'command'=>proc{ + textWinBigH2 $twind2_text + })) + +TkTextWindow.new($twind2_text, 'end', + 'window'=>TkButton.new($twind2_text, :text=>"Small highlight", + :cursor=>'top_left_arrow', + 'command'=>proc{ + textWinSmallH2 $twind2_text + })) + +TkTextWindow.new($twind2_text, 'end', + 'window'=>TkButton.new($twind2_text, :text=>"Big pad", + :cursor=>'top_left_arrow', + 'command'=>proc{ + textWinBigP2 $twind2_text + })) + +TkTextWindow.new($twind2_text, 'end', + 'window'=>TkButton.new($twind2_text, :text=>"Small pad", + :cursor=>'top_left_arrow', + 'command'=>proc{ + textWinSmallP2 $twind2_text + })) + +$twind2_text.insert('end', "\n\n更にイメージもテキストウィジェットに") +$twind2_text.insert('end', "うまく配置できます:") + +TkTextImage.new($twind2_text, 'end', + 'image'=>TkBitmapImage.new(:file=>[ + $demo_dir, '..', + 'images', 'face.xbm' + ].join(File::Separator))) + +# メソッド定義 +def textWinBigB2(w) + w.borderwidth 15 +end +def textWinSmallB2(w) + w.borderwidth $text_normal2['border'] +end +def textWinBigH2(w) + w.highlightthickness 15 +end +def textWinSmallH2(w) + w.highlightthickness $text_normal2['highlight'] +end +def textWinBigP2(w) + w.configure(:padx=>15, :pady=>15) +end +def textWinSmallP2(w) + w.configure(:padx=>$text_normal2['pad'], :pady=>$text_normal2['pad']) +end + +def textWindOn2 (w,f) + if defined? $twind2_scroll + begin + $twind2_scroll.destroy + rescue + end + $twind2_scroll = nil + end + + base = TkWinfo.parent( TkWinfo.parent(w) ) + $twind2_scroll = TkScrollbar.new(base) {|s| + orient 'horizontal' + command proc{|*args| w.xview(*args)} + w.xscrollcommand proc{|first,last| s.set first,last} + w.wrap 'none' + pack('after'=>f, 'side'=>'bottom', 'fill'=>'x') + } + + return nil +end + +def textWindOff2 (w) + if defined? $twind2_scroll + begin + $twind2_scroll.destroy + rescue + end + $twind2_scroll = nil + end + w.xscrollcommand '' + #w.wrap 'word' + w.wrap 'char' +end + +def textWindPlot2 (t) + if (defined? $twind2_plot) && (TkWinfo.exist?($twind2_plot)) + return + end + + $twind2_plot = TkCanvas.new(t) { + relief 'sunken' + width 450 + height 300 + cursor 'top_left_arrow' + } + + #font = '-Adobe-Helvetica-Medium-R-Normal--*-180-*-*-*-*-*-*' + font = 'Helvetica 18' + + TkcLine.new($twind2_plot, 100, 250, 400, 250, 'width'=>2) + TkcLine.new($twind2_plot, 100, 250, 100, 50, 'width'=>2) + TkcText.new($twind2_plot, 225, 20, + 'text'=>"A Simple Plot", 'font'=>font, 'fill'=>'brown') + + (0..10).each {|i| + x = 100 + (i * 30) + TkcLine.new($twind2_plot, x, 250, x, 245, 'width'=>2) + TkcText.new($twind2_plot, x, 254, + 'text'=>10*i, 'font'=>font, 'anchor'=>'n') + } + (0..5).each {|i| + y = 250 - (i * 40) + TkcLine.new($twind2_plot, 100, y, 105, y, 'width'=>2) + TkcText.new($twind2_plot, 96, y, + 'text'=>"#{i*50}.0", 'font'=>font, 'anchor'=>'e') + } + + for xx, yy in [[12,56],[20,94],[33,98],[32,120],[61,180],[75,160],[98,223]] + x = 100 + (3*xx) + y = 250 - (4*yy)/5 + item = TkcOval.new($twind2_plot, x-6, y-6, x+6, y+6, + 'width'=>1, 'outline'=>'black', 'fill'=>'SkyBlue2') + item.addtag 'point' + end + + $twind2_plot.itembind('point', 'Any-Enter', + proc{$twind2_plot.itemconfigure 'current', 'fill', 'red'}) + $twind2_plot.itembind('point', 'Any-Leave', + proc{$twind2_plot.itemconfigure 'current', 'fill', 'SkyBlue2'}) + $twind2_plot.itembind('point', '1', + proc{|x,y| embPlotDown2 $twind2_plot,x,y}, "%x %y") + $twind2_plot.itembind('point', 'ButtonRelease-1', + proc{$twind2_plot.dtag 'selected'}) + $twind2_plot.bind('B1-Motion', + proc{|x,y| embPlotMove2 $twind2_plot,x,y}, "%x %y") + while ($twind2_text.get($mark2_plot) =~ /[ \t\n]/) + $twind2_text.delete $mark2_plot + end + $twind2_text.insert $mark2_plot,"\n" + TkTextWindow.new($twind2_text, $mark2_plot, 'window'=>$twind2_plot) + $tag2_center.add $mark2_plot + $twind2_text.insert $mark2_plot,"\n" +end + +$embPlot2 = {'lastX'=>0, 'lastY'=>0} + +def embPlotDown2 (w, x, y) + w.dtag 'selected' + w.addtag_withtag 'selected', 'current' + w.raise 'current' + $embPlot2['lastX'] = x + $embPlot2['lastY'] = y +end + +def embPlotMove2 (w, x, y) + w.move 'selected', x - $embPlot2['lastX'], y - $embPlot2['lastY'] + $embPlot2['lastX'] = x + $embPlot2['lastY'] = y +end + +def textWindDel2 (w) + if (defined? $twind2_text) && TkWinfo.exist?($twind2_plot) + $twind2_text.delete $twind2_plot + $twind2_plot = nil + while ($twind2_text.get($mark2_plot) =~ /[ \t\n]/) + $twind2_text.delete $mark2_plot + end + $twind2_text.insert $mark2_plot," " + end +end + +def embDefBg2 (w) + w['background'] = w.configinfo('background')[3] +end diff --git a/ext/tk/sample/demos-jp/unicodeout.rb b/ext/tk/sample/demos-jp/unicodeout.rb index d408a36aa..37cc1699b 100644 --- a/ext/tk/sample/demos-jp/unicodeout.rb +++ b/ext/tk/sample/demos-jp/unicodeout.rb @@ -41,7 +41,7 @@ EOL TkFrame.new($unicodeout_demo){|f| pack(:side=>:bottom, :fill=>:x, :pady=>'2m') - TkButton.new(f, :text=>'了解', :width=>15, :command=>proc{ + TkButton.new(f, :text=>'閉じる', :width=>15, :command=>proc{ $unicodeout_demo.destroy $unicodeout_demo = nil }).pack(:side=>:left, :expand=>true) diff --git a/ext/tk/sample/demos-jp/vscale.rb b/ext/tk/sample/demos-jp/vscale.rb index 4cb8e0f6b..86f6f7cde 100644 --- a/ext/tk/sample/demos-jp/vscale.rb +++ b/ext/tk/sample/demos-jp/vscale.rb @@ -24,7 +24,8 @@ msg.pack('side'=>'top', 'padx'=>'.5c') TkFrame.new($vscale_demo) {|frame| TkButton.new(frame) { - text '了解' + #text '了解' + text '閉じる' command proc { tmppath = $vscale_demo $vscale_demo = nil diff --git a/ext/tk/sample/demos-jp/widget b/ext/tk/sample/demos-jp/widget index 696a9073c..0544127cb 100644 --- a/ext/tk/sample/demos-jp/widget +++ b/ext/tk/sample/demos-jp/widget @@ -1,8 +1,11 @@ #!/usr/bin/env ruby +# 漢字コード設定 ( tk.rb のロード時の encoding 推定/設定に使われる ) +$KCODE = 'euc' + # tk 関係ライブラリの読み込み require 'tk' -require 'tkafter' +# require 'tkafter' # widget demo directory 位置の獲得 $demo_dir = File.dirname($0) @@ -12,43 +15,106 @@ $root = TkRoot.new{title "Widget Demonstration"} # 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 情報へのアクセスオブジェクト $tk_platform = TkVarAccess.new('tcl_platform') # フォント設定 -$font = TkFont.new('-*-Helvetica-Medium-R-Normal--*-140-*-*-*-*-*-*', nil) -knjfont = '-*-r-*--16-*-jisx0208.1983-0' -$kanji_font = TkFont.new('-*-Helvetica-Medium-R-Normal--*-140-*-*-*-*-*-*', - knjfont) -TkOption.add('*kanjiFont', knjfont, 'startupFile') -$msg_kanji_font = TkFont.new('-*-Helvetica-Medium-R-Normal--*-140-*-*-*-*-*-*', - '-*-r-*--24-*-jisx0208.1983-0') ####### -#case($tk_version) -#when /^4.*/ -# $font = '-*-Helvetica-Medium-R-Normal--*-140-*-*-*-*-*-*' -# $kanji_font = '-*--16-*-jisx0208.1983-0' -# $msg_kanji_font = '-*--24-*-jisx0208.1983-0' -# $knjfont_opt = 'kanjifont' -# TkOption.add('*kanjiFont', $kanji_font, 'startupFile') -# -#when /^8.*/ -# Tk.tk_call('font', 'create', '@ascii', -# '-copy', '-*-Helvetica-Medium-R-Normal--*-140-*-*-*-*-*-*') -# Tk.tk_call('font', 'create', '@kanji', -# '-copy', '-*--16-*-jisx0208.1983-0') -# Tk.tk_call('font', 'create', '@msg_knj', -# '-copy', '-*--24-*-jisx0208.1983-0') -# Tk.tk_call('font', 'create', '@cFont', '-compound', '@ascii @kanji') -# Tk.tk_call('font', 'create', '@cMsgFont', '-compound', '@ascii @msg_knj') -# $font = '-*-Helvetica-Medium-R-Normal--*-140-*-*-*-*-*-*' -# $kanji_font = '@cFont' -# $msg_kanji_font = '@cMsgFont' -# $knjfont_opt = 'font' -#end +case($tk_version) +when /^4.*/ + $font = TkFont.new('-*-Helvetica-Medium-R-Normal--*-140-*-*-*-*-*-*', nil) + knjfont = '-*--16-*-jisx0208.1983-0' + $kanji_font = TkFont.new('-*-Helvetica-Medium-R-Normal--*-140-*-*-*-*-*-*', + knjfont) + TkOption.add('*kanjiFont', knjfont, 'startupFile') + $msg_kanji_font=TkFont.new('-*-Helvetica-Medium-R-Normal--*-140-*-*-*-*-*-*', + '-*--24-*-jisx0208.1983-0') + +#when '8.0' +# $font = TkFont.new('Helvetica -12') +# $kanji_font = TkFont.new('Helvetica -12', 'Mincho -12') +# TkOption.add('*kanjiFont', knjfont, 'startupFile') +# $msg_kanji_font=TkFont.new('Helvetica 16', 'Gothic 16 bold') + +when /^8.*/ + $font = TkFont.new('Helvetica -12') + $kanji_font = TkFont.new('Helvetica -12', 'Mincho -12') + TkOption.add('*kanjiFont', knjfont, 'startupFile') + $msg_kanji_font=TkFont.new('Helvetica 16', 'Gothic 16 bold') + +else + $font = TkFont.new('-*-Helvetica-Medium-R-Normal--*-140-*-*-*-*-*-*', nil) + knjfont = '-*--16-*-jisx0208.1983-0' + $kanji_font = TkFont.new('-*-Helvetica-Medium-R-Normal--*-140-*-*-*-*-*-*', + knjfont) + TkOption.add('*kanjiFont', knjfont, 'startupFile') + $msg_kanji_font=TkFont.new('-*-Helvetica-Medium-R-Normal--*-140-*-*-*-*-*-*', + '-*--24-*-jisx0208.1983-0') +end ####### +# イメージ設定 +$image = {} + +if $tk_major_ver >= 8 +$image['refresh'] = TkPhotoImage.new(:height=>16, :format=>'GIF', :data=><<EOD) + R0lGODlhEAAQAPMAAMz/zCpnKdb/1z9mPypbKBtLGy9NMPL/9Or+6+P+4j1Y + PwQKBP7//xMLFAYBCAEBASH5BAEAAAAALAAAAAAQABAAAwR0EAD3Gn0Vyw0e + ++CncU7IIAezMA/nhUqSLJizvSdCEEjy2ZIV46AwDAoDHwPYGSoEiUJAAGJ6 + EDHBNCFINW5OqABKSFk/B9lUa94IDwIFgewFMwQDQwCZQCztTgM9Sl8SOEMG + KSAthiaOjBMPDhQONBiXABEAOw== +EOD +end + +if $tk_major_ver >= 8 +$image['view'] = TkPhotoImage.new(:height=>16, :format=>'GIF', :data=><<EOD) + R0lGODlhEAAQAPMAAMz/zP///8DAwICAgH9/fwAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAACH5BAEAAAAALAAAAAAQABAAAwRIcMhJB7h3hM33 + KFjWdQQYap1QrCaGBmrRrS4nj5b53jOgbwXBKGACoYLDIuAoHCmZyYvR1rT5 + RMAq8LqcIYGsrjPsW1XOmFUEADs= +EOD +end + +if $tk_major_ver >= 8 +$image['delete'] = TkPhotoImage.new(:height=>16, :format=>'GIF', :data=><<EOD) + R0lGODlhEAAOAKEAAIQAAO/n3v///////yH5BAEKAAIALAAAAAAQAA4AAAIm + lI9pAKHbIHNoVhYhTdjlJ2AWKG2g+CldmB6rxo2uybYhbS80eRQAOw== +EOD +end + +if $tk_major_ver >= 8 +$image['print'] = TkPhotoImage.new(:height=>16, :format=>'GIF', :data=><<EOD) + R0lGODlhGgATAPcAACEQOTEpQjEpUkIpc0IxY0I5c0oxjEo5SlJCY1JCe1JK + UlpChFpCjFpGkFpSc1paa2NKc2NKnGNja2tapWtjc29KnHNanHNjc3NjrXNr + jHNrnHNzc3tjpXtrtXtzhICAgIRzvYSEjIZzqox7tYyEnIyMjJSEtZSEvZSM + lJyMtZyMvZyUlJyUrZyUvZycnKWctaWlpa2czq2lzrWtvbWtzrW1tb21xr21 + 1sa9zs693s7OztbO3tbO597W1t7W7+fe7+fn5////+/n7+/v7+/v9////wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAACH5BAEAAEEALAAAAAAaABMAQAj/AIMIHBhkg0GC + CBMGIQEiQgseQT4oeCBBAokgRYYQ0JBixg8hRIiUUEBBYYmTByBwiCBCRYwH + CxY8cKFw4AogRXLqLAJkQ80gCBBg3BkxZswTNGh4MGqgQQUMJRHCwMkTSE+D + Pn8eCKBhxIMhO3ei2OHDBw6sWSlMMMoWgwwfMDZI8GBjx44NARZwEGGi5MkS + PcIWKRGz5YgLbAco+KkQBQoJIRgjdGEVq+SaJajqtNrzMgsPCmoIzqmDgmWE + KOBuUKAAwYabYTfs4OHjY0giGyhk4MAWRI4eKyRQqPgggYUXPH4A+XBAgwoK + DiIsCFxjA9sFEVQQCRJCAYAFDJxiKhAxvMTonEFimrhhYinTBgWiCvxLNX3M + DkkpsKV5OYhjBxCMYAICAigUEAA7 +EOD +end + # メニュー設定 TkMenubar.new($root, [[['File', 0], @@ -57,6 +123,7 @@ TkMenubar.new($root, ['Quit', proc{exit}, 0, 'Meta-Q'] ]]).pack('side'=>'top', 'fill'=>'x') $root.bind('F1', proc{aboutBox}) +$root.bind('Meta-q', proc{exit}) =begin TkFrame.new($root){|frame| @@ -77,7 +144,7 @@ if $tk_version =~ /^4\.[01]/ txt = TkText.new($root) { #wrap 'word' wrap 'char' - width 60 + width 70 height 30 font $font setgrid 'yes' @@ -95,7 +162,7 @@ else txt = TkText.new($root) { #wrap 'word' wrap 'char' - width 60 + width 70 height 30 font $font setgrid 'yes' @@ -103,6 +170,7 @@ else padx 4 pady 2 takefocus 0 + bd 1 yscrollcommand proc{|first,last| scr.set first,last} } scr.command(proc{|*args| txt.yview(*args)}) @@ -124,11 +192,13 @@ end # テキストタグ設定 tag_title = TkTextTag.new(txt, 'font'=>'-*-Helvetica-Bold-R-Normal--*-180-*-*-*-*-*-*') -tag_kanji_title = TkTextTag.new(txt, 'kanjifont'=>$msg_kanji_font) -tag_middle = TkTextTag.new(txt, 'kanjifont'=>$kanji_font) +#tag_kanji_title = TkTextTag.new(txt, 'kanjifont'=>$msg_kanji_font) +#tag_middle = TkTextTag.new(txt, 'kanjifont'=>$kanji_font) +tag_kanji_title = TkTextTag.new(txt, 'font'=>$msg_kanji_font) +tag_middle = TkTextTag.new(txt, 'font'=>$kanji_font) tag_demospace = TkTextTag.new(txt, 'lmargin1'=>'1c', 'lmargin2'=>'1c') -if TkWinfo.depth($root) == '1' +if TkWinfo.depth($root) == 1 tag_demo = TkTextTag.new(txt, 'lmargin1'=>'1c', 'lmargin2'=>'1c', 'underline'=>1) $tag_visited = TkTextTag.new(txt, 'lmargin1'=>'1c', 'lmargin2'=>'1c', @@ -218,28 +288,34 @@ txt.insert('end', " \n ", tag_demospace) txt.insert('end', "4. チェックボタン (複数を選択可能)\n", tag_demo, "demo-check") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "5. ラジオボタン (任意の一つを選択可能)\n", +txt.insert('end', "5. 3状態チェックボタン (機能に対応したバージョンのTkが必要)\n", + tag_demo, "demo-check2") +txt.insert('end', " \n ", tag_demospace) +txt.insert('end', "6. ラジオボタン (任意の一つを選択可能)\n", tag_demo, "demo-radio") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "6. ラジオボタン (機能に対応したバージョンのTkが必要)\n", +txt.insert('end', "7. ラジオボタン (機能に対応したバージョンのTkが必要)\n", tag_demo, "demo-radio2") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "7. ボタンで作られた15-パズルゲーム\n", +txt.insert('end', "8. 3状態ラジオボタン (機能に対応したバージョンのTkが必要)\n", + tag_demo, "demo-radio3") +txt.insert('end', " \n ", tag_demospace) +txt.insert('end', "9. ボタンで作られた15-パズルゲーム\n", tag_demo, "demo-puzzle") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "8. ビットマップを使用したアイコンボタン\n", +txt.insert('end', "10. ビットマップを使用したアイコンボタン\n", tag_demo, "demo-icon") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "9. 画像を表示する二つのラベル\n", +txt.insert('end', "11. 画像を表示する二つのラベル\n", tag_demo, "demo-image1") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "10. 画像を見るための簡単なユーザインターフェース\n", +txt.insert('end', "12. 画像を見るための簡単なユーザインターフェース\n", tag_demo, "demo-image2") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "11. 画像を見るための簡単なユーザインターフェース (機能に対応したバージョンのTkが必要)\n", +txt.insert('end', "13. 画像を見るための簡単なユーザインターフェース (機能に対応したバージョンのTkが必要)\n", tag_demo, "demo-image3") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "12. ラベル付きフレーム (機能に対応したバージョンのTkが必要)\n", +txt.insert('end', "14. ラベル付きフレーム (機能に対応したバージョンのTkが必要)\n", tag_demo, "demo-labelframe") txt.insert('end', " \n ", tag_demospace) @@ -286,7 +362,10 @@ txt.insert('end', " \n ", tag_demospace) txt.insert('end', "4. ウィンドウを埋め込んだテキスト\n", tag_demo, "demo-twind") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "5. 検索\n", tag_demo, "demo-search") +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") txt.insert('end', " \n ", tag_demospace) txt.insert('end', "\n") @@ -305,7 +384,9 @@ txt.insert('end', "5. ルーラー\n", tag_demo, "demo-ruler") txt.insert('end', " \n ", tag_demospace) txt.insert('end', "6. フロアプラン\n", tag_demo, "demo-floor") txt.insert('end', " \n ", tag_demospace) -txt.insert('end', "7. スクロール可能なキャンバス\n", +txt.insert('end', "7. フロアプラン (異なるキャンバスアイテム作成方法を使用)\n", tag_demo, "demo-floor2") +txt.insert('end', " \n ", tag_demospace) +txt.insert('end', "8. スクロール可能なキャンバス\n", tag_demo, "demo-cscroll") txt.insert('end', " \n ", tag_demospace) @@ -381,14 +462,14 @@ end # 親ウィジェットと,変数名と TkVariable との組(配列)の並びを渡す $showVarsWin = {} -def showVars (parent, *args) +def showVars1(parent, *args) if $showVarsWin[parent.path] begin $showVarsWin[parent.path].destroy rescue end end - w = TkToplevel.new(parent) {|w| + top = TkToplevel.new(parent) {|w| title "Variable values" TkLabel.new(w) { text "変数値:" @@ -413,7 +494,49 @@ def showVars (parent, *args) command proc{w.destroy} }.pack('side'=>'bottom', 'pady'=>2) } - $showVarsWin[parent.path] = w + $showVarsWin[parent.path] = top +end + +def showVars2(parent, *args) + if $showVarsWin[parent.path] + begin + $showVarsWin[parent.path].destroy + rescue + end + end + $showVarsWin[parent.path] = TkToplevel.new(parent) {|w| + title "Variable values" + + TkLabelFrame.new(w, :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'), + :padx=>2, :pady=>2, :sticky=>'w') + } + + f.grid(:sticky=>'news', :padx=>4) + f.grid_columnconfig(1, :weight=>1) + f.grid_rowconfig(100, :weight=>1) + } + TkButton.new(w, :text=>"了解", :width=>8, :default=>:active, + :command=>proc{w.destroy}){|b| + w.bind('Return', proc{b.invoke}) + w.bind('Escape', proc{b.invoke}) + + b.grid(:sticky=>'e', :padx=>4, :pady=>[6, 4]) + } + w.grid_columnconfig(0, :weight=>1) + w.grid_rowconfig(0, :weight=>1) + } +end + +if $tk_major_ver < 8 + alias showVars showVars1 +elsif $tk_major_ver == 8 && $tk_minor_ver < 4 + alias showVars showVars1 +else # ver >= 8.4 + alias showVars showVars2 end # テキスト上での click に対する動作 @@ -424,7 +547,8 @@ def invoke (txt, index) txt.cursor('watch') Tk.update # eval `cat #{tag[5..-1]}.rb` - eval `cat #{[$demo_dir, tag[5..-1]].join(File::Separator)}.rb` +# eval `cat #{[$demo_dir, tag[5..-1]].join(File::Separator)}.rb` + eval IO.readlines("#{[$demo_dir, tag[5..-1]].join(File::Separator)}.rb").join Tk.update # txt.cursor('xterm') txt.cursor(cursor) @@ -449,14 +573,15 @@ def showStatus (txt, index) end # ソースコードの表示 -def showCode (demo) +def showCode1(demo) file = "#{demo}.rb" $code_window = nil unless defined? $code_window - if $code_window == nil || TkWinfo.exist?($code_window) == '0' + if $code_window == nil || TkWinfo.exist?($code_window) == false $code_window = TkToplevel.new(nil) f = TkFrame.new($code_window) TkButton.new(f) { - text "了解" + #text "了解" + text "閉じる" command proc{ $code_window.destroy $code_window = nil @@ -528,13 +653,194 @@ def showCode (demo) fid.close end +def showCode2(demo) + file = "#{demo}.rb" + $code_window = nil unless defined? $code_window + 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, + :highlightthickness=>0, :pady=>2, :padx=>3) + xscr = TkScrollbar.new(tf, :bd=>1){assign($code_text)} + yscr = TkScrollbar.new(tf, :bd=>1){assign($code_text)} + TkGrid($code_text, yscr, :sticky=>'news') + #TkGrid(xscr) + tf.grid_rowconfigure(0, :weight=>1) + tf.grid_columnconfigure(0, :weight=>1) + + bf = TkFrame.new($code_window) + + #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)}, + :image=>$image['print'], :compound=>:left) + b_run = TkButton.new(bf, :text=>'再実行', + :command=>proc{eval($code_text.get('1.0','end'))}, + :image=>$image['refresh'], :compound=>:left) + + TkGrid('x', b_run, b_prn, b_dis, :padx=>4, :pady=>[6,4]) + bf.grid_columnconfigure(0, :weight=>1) + + TkGrid(tf, :sticky=>'news') + TkGrid(bf, :sticky=>'ew') + $code_window.grid_columnconfigure(0, :weight=>1) + $code_window.grid_rowconfigure(0, :weight=>1) + + $code_window.bind('Return', proc{|win| + b_dis.invoke unless win.kind_of?(TkText) + }, '%W') + $code_window.bindinfo('Return').each{|cmd, arg| + $code_window.bind_append('Escape', cmd, arg) + } + else + $code_window.deiconify + $code_window.raise + end + + $code_window.title("Demo code: #{file}") + $code_window.iconname(file) + fid = open([$demo_dir, file].join(File::Separator), 'r') + $code_text.delete('1.0', 'end') + $code_text.insert('1.0', fid.read) + TkTextMarkInsert.new($code_text,'1.0') + fid.close +end + +if $tk_major_ver < 8 + alias showCode showCode1 +elsif $tk_major_ver == 8 && $tk_minor_ver < 4 + alias showCode showCode1 +else # ver >= 8.4 + alias showCode showCode2 +end + + +# printCode -- +# Prints the source code currently displayed in the See Code dialog. +# Much thanks to Arjen Markus for this. +# +# Arguments: +# txt - Name of text widget containing code to print +# file - Name of the original file (implicitly for title) + +def printCode(txt, file) + code = txt.get('1.0', 'end - 1c') + dir = '.' + dir = ENV['HOME'] if ENV['HOME'] + dir = ENV['TMP'] if ENV['TMP'] + dir = ENV['TEMP'] if ENV['TEMP'] + + fname = [dir, 'tkdemo-' + file].join(File::Separator) + open(fname, 'w'){|fid| fid.print(code)} + begin + case Tk::TCL_PLATFORM('platform') + when 'unix' + msg = `lp -c #{fname}` + unless $?.exitstatus == 0 + Tk.messageBox(:title=>'Print spooling failure', + :message=>'エラーが発生しました.' + + '印刷に失敗したものと思われます : ' + msg) + end + when 'windows' + begin + printTextWin32(fname) + rescue => e + Tk.messageBox(:title=>'Print spooling failure', + :message=>'エラーが発生しました.' + + '印刷に失敗したものと思われます : ' + + e.message) + end + when 'macintosh' + Tk.messageBox(:title=>'Operation not Implemented', + :message=>'印刷機能はまだ実装されていません') + else + Tk.messageBox(:title=>'Operation not Implemented', + :message=>'検出された環境 ' + + Tk::TCL_PLATFORM('platform') + + ' は未知の環境であるため,' + + '印刷機能は実装されていません: ') + end + ensure + File.delete(fname) + end +end + +# printTextWin32 -- +# Print a file under Windows +# +# Arguments: +# filename - Name of the file +# +def printTextWin32(fname) + require 'win32/registry' + begin + app = Win32::Registry::HKEY_CLASSES_ROOT['.txt'] + pcmd = nil + Win32::Registry::HKEY_CLASSES_ROOT.open("#{app}\\shell\\print"){|reg| + pcmd = reg['command'] + } + rescue + app = Tk.tk_call('auto_execok', 'notepad.exe') + pcmd = "#{app} /p %1" + end + + pcmd.gsub!('%1', fname) + puts pcmd + cmd = Tk.tk_call('auto_execok', 'start') + ' /min ' + pcmd + + msg = `#{cmd}` + unless $?.exitstatus == 0 + fail RuntimeError, msg + end +end + # aboutBox # # Pops up a message box with an "about" message # def aboutBox Tk.messageBox('icon'=>'info', 'type'=>'ok', 'title'=>'About Widget Demo', - 'message'=>"Ruby/Tk ウィジェットデモ Ver.1.3.2-jp\n\n( based on Tk ウィジェットデモ :: Copyright (c) 1996-1997 Sun Microsystems, Inc. )\n\nRunning Version :: Ruby#{VERSION}/Tk#{$tk_version}#{(Tk::JAPANIZED_TK)? 'jp': ''}") + 'message'=>"Ruby/Tk ウィジェットデモ Ver.1.4.3-jp\n\n" + + "based on demos of Tk8.1 -- 8.5 " + + "( Copyright:: " + + "(c) 1996-1997 Sun Microsystems, Inc. / " + + "(c) 1997-2000 Ajuba Solutions, Inc. / " + + "(c) 2001-2003 Donal K. Fellows )\n\n" + + "Your Ruby & Tk Version ::\n" + + "Ruby#{RUBY_VERSION}(#{RUBY_RELEASE_DATE})[#{RUBY_PLATFORM}] / Tk#{$tk_patchlevel}#{(Tk::JAPANIZED_TK)? '-jp': ''}") +end + +#################################### +# 引数で指定されたデモを起動する +no_launcher = false +if ARGV[0] == '-n' + ARGV.shift + no_launcher = true if ARGV.size > 0 +end +ARGV.each{|cmd| + if cmd =~ /(.*).rb/ + cmd = $1 + end + eval IO.readlines("#{[$demo_dir, cmd].join(File::Separator)}.rb").join +} +if no_launcher + $root.withdraw # hide root window + Thread.start{ + loop do + count = 0 + $root.winfo_children.each{|w| + count += 1 if w.kind_of?(TkToplevel) + } + $root.destroy if count == 0 + end + } end ################################ |