[#35314] biorhythm.rb — 小西 弘将 <konishih@...6.so-net.ne.jp>
小西 弘将です。
9 messages
2002/06/01
[#35316] Re: biorhythm.rb
— Tadayoshi Funaba <tadf@...5.so-net.ne.jp>
2002/06/01
ふなばです。
[#35324] Re: ruby-dev summary #17208-17251 — Wakou Aoyama <wakou@...>
青山です。
7 messages
2002/06/04
[#35327] Re: ruby-dev summary #17208-17251
— TAKAHASHI Masayoshi <maki@...>
2002/06/04
高橋征義です。
[#35329] mswin32 での config.status の自動生成 — 小西 弘将 <konishih@...6.so-net.ne.jp>
小西 弘将です。
5 messages
2002/06/04
[#35340] ハッシュの配列 — Nal <inoue@...>
7 messages
2002/06/04
[#35363] How to delete a RAA project — Takeshi Horinouchi <horinout@...>
堀之内と申します。
9 messages
2002/06/11
[#35366] Re: How to delete a RAA project
— matz@... (Yukihiro Matsumoto)
2002/06/11
まつもと ゆきひろです
[#35372] Re: How to delete a RAA project
— "NAKAMURA, Hiroshi" <nakahiro@...>
2002/06/12
なひです。
[#35367] ruby クックブック — 齋藤雅浩 <m-saito@...4.so-net.ne.jp>
はじめまして、齋藤と申します。
6 messages
2002/06/11
[#35397] RubyUnit: Extended assert module and stacktrace — "Shirai,Kaoru" <shirai@...1jp.com>
白井です。
7 messages
2002/06/18
[#35402] Re: RubyUnit: Extended assert module and stacktrace
— Masaki Suketa <masaki.suketa@...>
2002/06/19
助田です。
[#35405] Re: RubyUnit: Extended assert module and stacktrace
— "Shirai,Kaoru" <shirai@...1jp.com>
2002/06/19
白井です。
[#35398] id の数値とエラーメッセージの数値。 — Take_tk <ggb03124@...>
たけ(tk)です
6 messages
2002/06/19
[#35406] RE: win32ole で excel が終了しない — "Oka Yasushi" <oka@...>
こんにちは、岡といいます。
20 messages
2002/06/19
[#35407] Re: win32ole で excel が終了しない
— Takashi Kanai <kanai@...4u.or.jp>
2002/06/19
金井です。
[#35408] Re: win32ole で excel が終了しない
— Takashi Kanai <kanai@...4u.or.jp>
2002/06/19
金井です。
[#35412] Re: win32ole で excel が終了しない
— "NAKAMURA, Hiroshi" <nakahiro@...>
2002/06/20
なひです。
[#35418] Re: win32ole で excel が終了しない
— Takashi Kanai <kanai@...4u.or.jp>
2002/06/20
金井です。
[#35419] Re: win32ole で excel が終了しない
— nobu.nakada@...
2002/06/21
なかだです。
[#35428] Re: win32ole で excel が終了しない
— Masaki Suketa <masaki.suketa@...>
2002/06/22
助田です。
[#35429] Re: win32ole で excel が終了しない
— arton <artonx@...>
2002/06/23
artonです。
[#35430] Re: win32ole で excel が終了しない
— nobu.nakada@...
2002/06/23
なかだです。
[#35431] Re: win32ole で excel が終了しない
— arton <artonx@...>
2002/06/23
artonです。
[#35432] Re: win32ole で excel が終了しない
— nobu.nakada@...
2002/06/23
なかだです。
[#35414] Webrick,Div,Apache — Takeshi Honda <moecho21@...>
WebrickをApacheと連動させたいのですが、
6 messages
2002/06/20
[#35423] mkmf の have_library — Takeshi Honda <moecho21@...>
続けざま質問しちゃって、すいません。
5 messages
2002/06/21
[#35446] [ANN]RDE0.9.6.0 リリース — sakazuki <QZS01353@...>
sakazukiです。
6 messages
2002/06/24
[#35449] メールアドレスを抽出する方法 — Sato Daisuke <densuke@...>
佐藤と申します。
9 messages
2002/06/25
[#35451] Re: メールアドレスを抽出する方法
— shukaku@...
2002/06/25
At Tue, 25 Jun 2002 12:59:54 +0900,
[#35452] Re: メールアドレスを抽出する方法
— Sato Daisuke <densuke@...>
2002/06/25
佐藤です、
[#35459] 超簡単版 GetTExt — Take_tk <ggb03124@...>
たけ(tk)です
14 messages
2002/06/25
[#35464] Re: 超簡単版 GetTExt
— Takaaki Tateishi <ttate@...>
2002/06/26
At Tue, 25 Jun 2002 17:01:03 +0900,
[#35477] 1.7 系を使っていますが、5月頃は式展開内のコメントが使えていましたが、今は使えなくなっていますね。 — "井上 浩一" <kyoui32@...>
=1B$B0f>e$G$9!#=1B(B
6 messages
2002/06/28
[#35480] Re: 1.7 系を使っていますが、5月頃は式展開内のコメントが使えていましたが、今は使えなくなっていますね。 — "井上 浩一" <kyoui32@...>
=1B$B0f>e$G$9!#=1B(B
12 messages
2002/06/28
[#35483] Re: 1.7 系を使っていますが、5月頃は式展開内のコメントが使えていましたが、今は使えなくなっていますね。
— nobu.nakada@...
2002/06/28
なかだです。
[#35485] ログアウト後も Ruby プロセスを残すには? — ABE Shigeru <shiger-a@...>
阿部です。また質問させていただきます。
8 messages
2002/06/28
[ruby-list:35326] update Tk
From:
nagai@...
Date:
2002-06-04 10:40:03 UTC
List:
ruby-list #35326
永井@知能.九工大です.
ruby-dev の方にも書きましたが,1.7.x の CVS の方で
Ruby/Tk 周りの修正を行いました.
今回の修正はかなり影響の大きいものになっていますから,
もし良かったらテストしてみていただけると助かります.
ポイントは以下の通りです.
・mainloop を作り直した.
これにより,複数のスレッドを用いている際のレスポンスが向上したはずです.
さらに,スレッド切り替えのタイミングをコントロールするパラメータも
変更できるようにしましたので,アプリケーションのタイプや状態に応じて
mainloop スレッドのプライオリティを制御できます.
また,Tk.restart のことなども考え,root widget が破壊されても
mainloop を終了しないようにするパラメータも加えています.
・mainloop_watchdog の追加.
従来の mainloop は例えば Tk のコールバック中に Thread.new{b.invoke}.join
というようなことを行うと mainloop が停止して deadlock に陥りました.
mainloop を使うところで代りに mainloop_watchdog を使えば,
この問題を回避できます.
ただし,監視スレッドが動くことになり,負荷が増えますから,
特に必要なケース以外は従来の mainloop を使っておく方がいいでしょう.
・特定の safe-level でのコールバック実行の適正化.
従来のイベントループでは,イベントループ以外のスレッドからの操作の際に
$SAFE の指定がうまく機能しないケースがありましたので,対策を施しました.
・Tk でのパラメータ指定に Symbol を使えるようにした.
属性名指定などに Symbol を使えるようになりました.
ただし,キーボードを打つのが 1 文字減るだけだという話もあります.
・ウィジェットクラスでの new メソッドで,第 1 引数なしの記述を可能とした.
parent 属性で指定するという形式を可能としました.
以下のような記述が可能となります.
TkFrame.new('classname'=>'User'){|base|
pack
f = TkFrame.new(base, :classname=>'ButtonFrame').pack
TkButton.new(
:parent => f,
:text => 'Quit',
:command => proc{exit}
).pack(
:fill => :x,
:pady => 2
)
}
・キャンバスオブジェクトの new メソッドで,座標を属性で与えられるようにした.
従来の new メソッドでは,座標値をひとつずつ引数で並べねばなりませんでした.
これは,座標値の並びを配列で管理し,属性も Hash で指定したいという場合に
少々不便です (属性を後で与えるなどとすると Tk 呼び出しが増えて嬉しくない).
そこで coords 属性に座標値の並びを配列で与えることができるようにしました.
・TkAfter の強化.
TkAfter オブジェクトに登録される反復手続きなどにおいて,
ブロック引数でオブジェクト自身を受け取ることができるようにしました.
これに伴い,TkAfter#current_interval, TkAfter#current_args,
TkAfter#return_value メソッドを追加し,現在のインターバル値や
直前の反復手続きの戻り値などを受け取ることができるようにしています.
従来でも proc の共通スコープの変数を使えば同じようなことができたのですが,
それよりは少しながら自由度が上がっています.
・リソースデータベースをまともに活用できるようにした.
リソースデータベース自体は従来から使えはしましたが,
「ウィジェット名がわからない」,「アプリケーション名が指定できない」などで
正直なところ,使い物にはなりませんでした.
今回の修正で,きちんと使えるようになったと思います.
具体的には以下のいくつかの修正が効いています.
・Tk.restart で app-name と use を指定できるようにした.
app-name はアプリケーション名およびリソースクラスを決定します.
use は root widget を指定した WINDOW ID のウィンドウに埋め込みます.
これにより,一旦 require 'tk' をした後に restart することで,
Ruby/Tk アプリケーションに名前を付けたり,特定のアプリケーションの中に
埋め込んだりすることが可能となります.
従来でもアプリケーション名は Tk.appname で付けることはできましたが,
これではリソースクラスは変更されず,しかも複数起動すると
アプリケーション名には #1 などが付くため,リソースデータベースでは
使い物になりませんでした.
今回の修正でリソースクラスを指定できるようになりましたから,
リソースデータベースを有効に使えるはずです.
・ウィジェットクラスの new メソッドでウィジェット名を指定できるようにした.
widgetname 属性を追加しました.
従来,ウィジェット名は自動で付けられていましたが,
その場合,名前が特定できないことや特定できたとしても意味を持たない文字列
であることから,リソースデータベースでの指定には支障がありました.
これにより名前を指定することが可能になります.
例えばリソースデータベースに Xxx*quit.text: QUIT などと設定し,
Tk.restart('Xxx')
TkButton.new(nil, 'widgetname'=>'quit', 'command'=>proc{exit}).pack
Tk.mainloop
などと実行すれば,quit ボタンの表示文字列は 'QUIT' になります.
もちろん,リソースデータベースの項目はウィジェット生成前に
有効になっていなければなりません.
・ユーザ定義手続きをリソースデータベースで設定するためのサポートを追加.
TkOption::new_proc_class を追加しました.
これは,リソースデータベース上でのユーザによる手続きの定義を
受け付けるクラスを生成するものです.
リソースデータベースでのクラス名の他,パラメータとして,
定義できるメソッド一覧,実行の safe-level,メソッド追加を許すか,
親となるクラスの指定が可能です.
例えば resource-test というファイルに
*CMD.foo: {|*args| p [$SAFE, :foo, args]}
*CMD.XXX.bar: {|*args| p [$SAFE, :bar, args]}
*Button.command: ruby {p self; p $SAFE; TkOption::CMD::XXX.bar(1,2,3)}
などと設定(ボタンウィジェットなどの command 属性指定は,3 行目のように
ruby { ... }としてください)をしておき,
require 'tk'
TkOption.readfile 'resource-test'
p TkOption.new_proc_class(:CMD, [:foo], 1)
p TkOption.new_proc_class(:XXX, [:bar], 2, false, TkOption::CMD)
TkButton.new(:text=>'test').pack
Tk.mainloop
などと実行すれば,その効果を確認できると思います.
--
永井 秀利 (九工大 知能情報)
nagai@ai.kyutech.ac.jp