summaryrefslogtreecommitdiff
path: root/ruby_1_8_6/ext/tk/sample/demos-jp/form.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ruby_1_8_6/ext/tk/sample/demos-jp/form.rb')
-rw-r--r--ruby_1_8_6/ext/tk/sample/demos-jp/form.rb63
1 files changed, 63 insertions, 0 deletions
diff --git a/ruby_1_8_6/ext/tk/sample/demos-jp/form.rb b/ruby_1_8_6/ext/tk/sample/demos-jp/form.rb
new file mode 100644
index 0000000000..fe456d3943
--- /dev/null
+++ b/ruby_1_8_6/ext/tk/sample/demos-jp/form.rb
@@ -0,0 +1,63 @@
+#
+# form widget demo (called by 'widget')
+#
+
+# toplevel widget が存在すれば削除する
+if defined?($form_demo) && $form_demo
+ $form_demo.destroy
+ $form_demo = nil
+end
+
+# demo 用の toplevel widget を生成
+$form_demo = TkToplevel.new {|w|
+ title("Form Demonstration")
+ iconname("form")
+ positionWindow(w)
+}
+
+# label 生成
+msg = TkLabel.new($form_demo) {
+ font $font
+ wraplength '4i'
+ justify 'left'
+ text "このウィンドウは簡単なフォーム入力用になっていて、さまざまなエントリに入力ができます。タブでエントリの切替えができます。"
+}
+msg.pack('side'=>'top', 'fill'=>'x')
+
+# frame 生成
+TkFrame.new($form_demo) {|frame|
+ TkButton.new(frame) {
+ #text '了解'
+ text '閉じる'
+ command proc{
+ tmppath = $form_demo
+ $form_demo = nil
+ tmppath.destroy
+ }
+ }.pack('side'=>'left', 'expand'=>'yes')
+
+ TkButton.new(frame) {
+ text 'コード参照'
+ command proc{showCode 'form'}
+ }.pack('side'=>'left', 'expand'=>'yes')
+}.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
+
+# entry 生成
+form_data = []
+(1..5).each{|i|
+ f = TkFrame.new($form_demo, 'bd'=>2)
+ e = TkEntry.new(f, 'relief'=>'sunken', 'width'=>40)
+ l = TkLabel.new(f)
+ e.pack('side'=>'right')
+ l.pack('side'=>'left')
+ form_data[i] = {'frame'=>f, 'entry'=>e, 'label'=>l}
+}
+
+# 文字列設定
+form_data[1]['label'].text('名前:')
+form_data[2]['label'].text('住所:')
+form_data[5]['label'].text('電話:')
+
+# pack
+(1..5).each{|i| form_data[i]['frame'].pack('side'=>'top', 'fill'=>'x')}
+