aboutsummaryrefslogtreecommitdiffstats
path: root/ext/tk/sample/demos-jp/entry3.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ext/tk/sample/demos-jp/entry3.rb')
-rw-r--r--ext/tk/sample/demos-jp/entry3.rb74
1 files changed, 37 insertions, 37 deletions
diff --git a/ext/tk/sample/demos-jp/entry3.rb b/ext/tk/sample/demos-jp/entry3.rb
index 4dff97a93a..f57dc13553 100644
--- a/ext/tk/sample/demos-jp/entry3.rb
+++ b/ext/tk/sample/demos-jp/entry3.rb
@@ -18,8 +18,8 @@ $entry3_demo = TkToplevel.new {|w|
}
TkLabel.new($entry3_demo,
- :font=>$font, :wraplength=>'5i', :justify=>:left,
- :text=><<EOL).pack(:side=>:top)
+ :font=>$font, :wraplength=>'5i', :justify=>:left,
+ :text=><<EOL).pack(:side=>:top)
以下には4種類のエントリボックスが表示されています.各エントリボックスは,\
マウスクリックで選択し文字を打ち込むことが可能ですが,それぞれがどのような\
入力を受け付けることができるかには制約が設けられています.\
@@ -42,13 +42,13 @@ TkFrame.new($entry3_demo){|f|
pack(:side=>:bottom, :fill=>:x, :pady=>'2m')
TkButton.new(f, :text=>'閉じる', :width=>15, :command=>proc{
- $entry3_demo.destroy
- $entry3_demo = nil
- }).pack(:side=>:left, :expand=>true)
+ $entry3_demo.destroy
+ $entry3_demo = nil
+ }).pack(:side=>:left, :expand=>true)
TkButton.new(f, :text=>'コード参照', :width=>15, :command=>proc{
- showCode 'entry3'
- }).pack(:side=>:left, :expand=>true)
+ showCode 'entry3'
+ }).pack(:side=>:left, :expand=>true)
}
# focusAndFlash --
@@ -58,32 +58,32 @@ TkFrame.new($entry3_demo){|f|
# 2.5Hz).
#
# Arguments:
-# widget - entry widget to flash
-# fg - Initial foreground colour
-# bg - Initial background colour
-# count - Counter to control the number of times flashed
+# widget - entry widget to flash
+# fg - Initial foreground colour
+# bg - Initial background colour
+# count - Counter to control the number of times flashed
def focusAndFlash(widget, fg, bg, count=5)
return if count <= 0
TkTimer.new(100, count,
- proc{widget.configure(:foreground=>bg, :background=>fg)},
- proc{widget.configure(:foreground=>fg, :background=>bg)}
- ).start
+ proc{widget.configure(:foreground=>bg, :background=>fg)},
+ proc{widget.configure(:foreground=>fg, :background=>bg)}
+ ).start
widget.focus(true)
end
l1 = TkLabelFrame.new($entry3_demo, :text=>"整数エントリ")
TkEntry.new(l1, :validate=>:focus,
- :vcmd=>[
- proc{|s| s == '' || /^[+-]?\d+$/ =~ s }, '%P'
- ]) {|e|
+ :vcmd=>[
+ proc{|s| s == '' || /^[+-]?\d+$/ =~ s }, '%P'
+ ]) {|e|
invalidcommand [proc{|w| focusAndFlash(w, e.fg, e.bg)}, '%W']
pack(:fill=>:x, :expand=>true, :padx=>'1m', :pady=>'1m')
}
l2 = TkLabelFrame.new($entry3_demo, :text=>"長さ制約付きエントリ")
TkEntry.new(l2, :validate=>:key, :invcmd=>proc{Tk.bell},
- :vcmd=>[proc{|s| s.length < 10}, '%P']
- ).pack(:fill=>:x, :expand=>true, :padx=>'1m', :pady=>'1m')
+ :vcmd=>[proc{|s| s.length < 10}, '%P']
+ ).pack(:fill=>:x, :expand=>true, :padx=>'1m', :pady=>'1m')
### PHONE NUMBER ENTRY ###
# Note that the source to this is quite a bit longer as the behaviour
@@ -105,7 +105,7 @@ Hash[*(%w(abc 2 def 3 ghi 4 jkl 5 mno 6 pqrs 7 tuv 8 wxyz 9))].each{|chars, n|
# Skip over fixed characters in a phone-number string when moving left.
#
# Arguments:
-# widget - The entry widget containing the phone-number.
+# widget - The entry widget containing the phone-number.
def phoneSkipLeft(widget)
idx = widget.index('insert')
if idx == 8
@@ -125,7 +125,7 @@ end
# Skip over fixed characters in a phone-number string when moving right.
#
# Arguments:
-# widget - The entry widget containing the phone-number.
+# widget - The entry widget containing the phone-number.
# add - Offset to add to index before calculation (used by validation.)
def phoneSkipRight(widget, add = 0)
idx = widget.index('insert')
@@ -149,14 +149,14 @@ end
#
# widget - entry widget to validate
# vmode - The widget's validation mode
-# idx - The index where replacement is to occur
+# idx - The index where replacement is to occur
# char - The character (or string, though that will always be
-# refused) to be overwritten at that point.
+# refused) to be overwritten at that point.
def validatePhoneChange(widget, vmode, idx, char)
return true if idx == nil
Tk.after_idle(proc{widget.configure(:validate=>vmode,
- :invcmd=>proc{Tk.bell})})
+ :invcmd=>proc{Tk.bell})})
if !(idx<3 || idx==6 || idx==7 || idx==11 || idx>15) && char =~ /[0-9A-Za-z]/
widget.delete(idx)
widget.insert(idx, $phoneNumberMap[char] || char)
@@ -171,17 +171,17 @@ end
l3 = TkLabelFrame.new($entry3_demo, :text=>"米国電話番号エントリ")
TkEntry.new(l3, :validate=>:key, :invcmd=>proc{Tk.bell},
- :textvariable=>entry3content,
- :vcmd=>[
- proc{|w,v,i,s| validatePhoneChange(w,v,i,s)},
- "%W %v %i %S"
- ]){|e|
+ :textvariable=>entry3content,
+ :vcmd=>[
+ proc{|w,v,i,s| validatePhoneChange(w,v,i,s)},
+ "%W %v %i %S"
+ ]){|e|
# Click to focus goes to the first editable character...
bind('FocusIn', proc{|d,w|
- if d != "NotifyAncestor"
- w.cursor = 3
- Tk.after_idle(proc{w.selection_clear})
- end
+ if d != "NotifyAncestor"
+ w.cursor = 3
+ Tk.after_idle(proc{w.selection_clear})
+ end
}, '%d %W')
bind('Left', proc{|w| phoneSkipLeft(w)}, '%W')
bind('Right', proc{|w| phoneSkipRight(w)}, '%W')
@@ -190,10 +190,10 @@ TkEntry.new(l3, :validate=>:key, :invcmd=>proc{Tk.bell},
l4 = TkLabelFrame.new($entry3_demo, :text=>"パスワードエントリ")
TkEntry.new(l4, :validate=>:key, :show=>'*',
- :vcmd=>[
- proc{|s| s.length <= 8},
- '%P'
- ]).pack(:fill=>:x, :expand=>true, :padx=>'1m', :pady=>'1m')
+ :vcmd=>[
+ proc{|s| s.length <= 8},
+ '%P'
+ ]).pack(:fill=>:x, :expand=>true, :padx=>'1m', :pady=>'1m')
TkFrame.new($entry3_demo){|f|
lower