mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
a25fbe3b3e
* parse.y: encoding aware parsing. * parse.y (pragma_encoding): encoding specification pragma. * parse.y (rb_intern3): encoding specified symbols. * string.c (rb_str_length): length based on characters. for older behavior, bytesize method added. * string.c (rb_str_index_m): index based on characters. rindex as well. * string.c (succ_char): encoding aware succeeding string. * string.c (rb_str_reverse): reverse based on characters. * string.c (rb_str_inspect): encoding aware string description. * string.c (rb_str_upcase_bang): encoding aware case conversion. downcase, capitalize, swapcase as well. * string.c (rb_str_tr_bang): tr based on characters. delete, squeeze, tr_s, count as well. * string.c (rb_str_split_m): split based on characters. * string.c (rb_str_each_line): encoding aware each_line. * string.c (rb_str_each_char): added. iteration based on characters. * string.c (rb_str_strip_bang): encoding aware whitespace stripping. lstrip, rstrip as well. * string.c (rb_str_justify): encoding aware justifying (ljust, rjust, center). * string.c (str_encoding): get encoding attribute from a string. * re.c (rb_reg_initialize): encoding aware regular expression * sprintf.c (rb_str_format): formatting (i.e. length count) based on characters. * io.c (rb_io_getc): getc to return one-character string. for older behavior, getbyte method added. * ext/stringio/stringio.c (strio_getc): ditto. * io.c (rb_io_ungetc): allow pushing arbitrary string at the current reading point. * ext/stringio/stringio.c (strio_ungetc): ditto. * ext/strscan/strscan.c: encoding support. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
50 lines
1.8 KiB
Ruby
50 lines
1.8 KiB
Ruby
# -*- coding: euc-jp -*-
|
|
#
|
|
# paned1.rb
|
|
#
|
|
# This demonstration script creates a toplevel window containing
|
|
# a paned window that separates two windows horizontally.
|
|
#
|
|
# based on "Id: paned1.tcl,v 1.1 2002/02/22 14:07:01 dkf Exp"
|
|
|
|
if defined?($paned1_demo) && $paned1_demo
|
|
$paned1_demo.destroy
|
|
$paned1_demo = nil
|
|
end
|
|
|
|
$paned1_demo = TkToplevel.new {|w|
|
|
title("Horizontal Paned Window Demonstration")
|
|
iconname("paned1")
|
|
positionWindow(w)
|
|
}
|
|
|
|
TkLabel.new($paned1_demo,
|
|
:font=>$font, :wraplength=>'4i', :justify=>:left,
|
|
:text=><<EOL).pack(:side=>:top)
|
|
下の色付けされた二つのウィンドウの間の仕切り枠は、一つの領域をそれぞれのウィンドウのために分割するためのものです。左ボタンで仕切りを操作すると、分割サイズ変更の操作途中では再表示はなされず、確定させたときに表示が更新されます。マウスによる仕切りの操作に追随してサイズを変更した表示がなわれるようにしたい場合は、マウスの中央ボタンを使ってください。
|
|
もしあなたが使っている Ruby にリンクされている Tk ライブラリが panedwindow を実装していない
|
|
場合、このデモはうまく動かないはずです。その場合には panedwindow が実装されているような
|
|
より新しいバージョンの Tk を組み合わせて試す
|
|
ようにしてください。
|
|
EOL
|
|
|
|
# The bottom buttons
|
|
TkFrame.new($paned1_demo){|f|
|
|
pack(:side=>:bottom, :fill=>:x, :pady=>'2m')
|
|
|
|
TkButton.new(f, :text=>'閉じる', :width=>15, :command=>proc{
|
|
$paned1_demo.destroy
|
|
$paned1_demo = nil
|
|
}).pack(:side=>:left, :expand=>true)
|
|
|
|
TkButton.new(f, :text=>'コード参照', :width=>15, :command=>proc{
|
|
showCode 'paned1'
|
|
}).pack(:side=>:left, :expand=>true)
|
|
}
|
|
|
|
TkPanedwindow.new($paned1_demo){|f|
|
|
pack(:side=>:top, :expand=>true, :fill=>:both, :pady=>2, :padx=>'2m')
|
|
|
|
add(TkLabel.new(f, :text=>"This is the\nleft side", :bg=>'yellow'),
|
|
TkLabel.new(f, :text=>"This is the\nright side", :bg=>'cyan'))
|
|
}
|