[#36686] 1.1 < 61.1 - 60.0 — Shin-ichiro HARA <sinara@...>

原です。

19 messages 2002/12/06

[#36770] www.ruby-lang.orgリニューアル準備のお知らせ — TADA Tadashi <sho@...>

ruby-lang.orgのwebmasterチームでは、タイムリーな情報提供と使いやすい

11 messages 2002/12/16

[ruby-list:36671] Re: Gtk.main

From: TOYOFUKU Chikanobu <toyofuku@...>
Date: 2002-12-05 06:14:43 UTC
List: ruby-list #36671
   豊福です。

   なかださん、澤井さん、むとうさん、いがらしさん、宮脇さん
フォローありがとうございます。
   Gtk.main と Gtk.main_quit とダイアログとスレッドがごっちゃ
になって混乱しています。整理がついたら改めてフォローしたいと
思います。

むとうさん
 >> Ruby-GNOMEメモ Gtk, Gdkの部 その他
 >> http://home2.highway.ne.jp/mutoh/tips/gtk_etc.html
 >> に「重いループ処理中に画面を再描画する」というのを見つけたの
 >> ですがここに書いてある Gtk.events_pending と Gtk.main_iteration
 >> を使う方法がよいでしょうか。
 > 
 > 重い処理というのが、for/while等を使った繰り返しで、
 > 1回当たりの処理は軽いけどループの回数が多いという
 > 処理であれば、スレッドを使うより簡単かもしれません。

   Ruby-GNOMEメモはむとうさんのページだったんですね。この
ページを参考にして Ruby/Gtkプログラム作っています。ありが
とうございます。
   やりたいことをさらに具体的にいうとまずウィンドウAを出し
ていてそこにつけたメニューから重い処理を実行します。重い処理
というのは外部コマンドを何回か system(正確には IO.popen)で
実行しています。そのときに「しばらくお待ちください」ダイアロ
グを出しそのダイアログにはキャンセルボタンがついていてその
ボタンでキャンセルすると重い処理を中断します。ダイアログの
移動でウィンドウAが expose されたときは再描画します。
重い処理が終了したら「しばらくお待ちください」ダイアログを
「終了しました」ダイアログにします。

   一応 Gtk.events_pending と Gtk.main_iteration を使って動く
ようにはなりました。
---
                                        豊福
                                        toyofuku@juice.or.jp 


In This Thread

Prev Next