From: Masao M. <mu...@hi...> - 2003-12-30 19:46:34
|
むとうです。 2003年はご協力どうもありがとうございました。 いろいろ大変な一年でしたが、Ruby-GNOME2も徐々に知名度が あがってきたので、2004年は是非、飛躍の年にしたいですね。 #その前に1.0.0を出さねば....。 ちと、2004年への自分へのメモ代わりといっては何ですが、 自分の中でくすぶっているIssueとかTODOをまとめて公開した上 で2003年を終わりにしたいと思います。 細かいネタが多いと思いますが、1.0.0をリリースする前には 片づけたいと思っていますので、コメント等ございましたら 賀状代わりにでも是非お願いいたします。 #ってかお年玉代わりにパッチとか(^^;)。 ■ GLib::Object.type_registerについて 基本的には今の方向性で良いと思っているのですが、 以下のようなパターンがちょっといやかな、と感じてます。 require 'gtk2' class Test < Gtk::Button end class Test2 < Gtk::Button type_register("Test2") end class Test3 < Test2 type_register("Test3") end class Test4 < Test type_register("Test4") #ここでエラー end いやかな、と思っている箇所は2つあります。 a. Test4のところでエラー まぁ、これは直せるかな? b. a.が直せたとして、Test4のGType上のスーパークラス はGtk::Buttonになると思うのだけど、その際にRubyの クラス階層とは異なるようになるけどいいのかなーという あたりです。まぁ、でもこれはしょうがないのか。 ■ GLib::Type[]について これは、さかいさんと意見が分かれたところではあるのですが、 今後は、極力見せない形にしたいと考えています。 限界はあると思いますが、極力C言語知らない人でもRuby-GNOME2 が十分に楽しめるようにというのが大きな理由です。 #これ、キャッチフレーズにしようかな。 特にGLib::Object.signal_newは今後よく使われそうですので Rubyのクラスをそのまま使えるようにしていきたいと思います。 ■ GDKのFactory関連 GDKでは、実装がWin32の時やX11の時でそれぞれ別々のGTypeを 持ちます。 で、実は、いくつかのGdk関連のクラスで現在問題になっている のですが、Ruby側から登録されていないGTypeがあるために、 無名クラスとして値が返されるメソッドが結構あったりして そのままでは使えない状態になっています。 たとえば、Gdk::Screen.defaultなど。 で、以下の2つの対応方法を考えてみました。 1. GdkGCX11やGdkGCWin32はGdk::GCとして見えるようにする 2. GdkGCX11はGdk::GCX11に、GdkGCWin32はGdk::GCWin32にする 1.の場合、GOBJ2RVAL2(val, gtype)というのを作って明示的にRuby化 されるときのクラスを決定してしまう、という比較的安易な対応が できると思います。 2.の場合、すべて手作業でG_DEF_CLASSをするという手もありますが 結構面倒くさいかなーと。 プラッガブルに追加されるようなものを想定すると、 自動でクラスとgtypeのマッピングを生成するようなことを考える 必要がありますが、タイミング的にそれはちと難しいかなぁと 思っています。 実装の問題は置いておいて、本来どっちであるべきかというのも 実は悩ましいです。 GTK+は一つの環境には基本的に1つの実装(X11 or Win32 or linuxfb) がインストールされると思うのですが、その場合、rbbrなどで見たときに すべてのGdkクラス群が1つのサブクラス(というか実体)を持つという 感じになるのがちょっと冗長かな、と。 ドキュメント書くのも面倒くさいし(ホンネ)。 あー、でもここまで書いてきて思ったのですが、 やっぱり2の方が良さそうだなぁ。手動でもそんなに数が多いわけでも ないし。 ■ Ruby/ATKの実装 これ、もう少しで終わります...。 ■ GTK+-2.2対応 まだ結構、GTK+-2.0のままなんですよね。Hikiのステータス ページもバージョンごとに分けれるようにしないと。 ■ Ruby/GnomePrint 一度、某氏から送られてきたのをrejectしたのですが あのまま世に出たら使い物にならんって感じになりそうなので きちんとこちらでインプリしてあげたい.... 誰かやりませんか? ■ Ruby/PanelApplet うーん、うーん。 というわけで、良いお年を! -- .:% Masao Mutoh<mu...@hi...> |
Re: [ruby-gnome2-devel-ja] =?ISO-2022-JP?B?MjAwMxskQkcvSHcbKEI=?=
=?ISO-2022-JP?B?GyRCSzpPPxsoQg==?=
From: Masao M. <mu...@hi...> - 2003-12-30 19:49:20
|
むとうです。 おっと肝心なの忘れてた。 ■ Rubyのpthread対応への対応 どうなるんでしょ。怖くてまだ試してません;P。 On Wed, 31 Dec 2003 04:46:29 +0900 Masao Mutoh <mu...@hi...> wrote: > むとうです。 > > 2003年はご協力どうもありがとうございました。 > いろいろ大変な一年でしたが、Ruby-GNOME2も徐々に知名度が > あがってきたので、2004年は是非、飛躍の年にしたいですね。 > #その前に1.0.0を出さねば....。 > > ちと、2004年への自分へのメモ代わりといっては何ですが、 > 自分の中でくすぶっているIssueとかTODOをまとめて公開した上 > で2003年を終わりにしたいと思います。 > 細かいネタが多いと思いますが、1.0.0をリリースする前には > 片づけたいと思っていますので、コメント等ございましたら > 賀状代わりにでも是非お願いいたします。 > #ってかお年玉代わりにパッチとか(^^;)。 > > > ■ GLib::Object.type_registerについて > 基本的には今の方向性で良いと思っているのですが、 > 以下のようなパターンがちょっといやかな、と感じてます。 > > require 'gtk2' > > class Test < Gtk::Button > end > > class Test2 < Gtk::Button > type_register("Test2") > end > > class Test3 < Test2 > type_register("Test3") > end > > class Test4 < Test > type_register("Test4") #ここでエラー > end > > いやかな、と思っている箇所は2つあります。 > > a. Test4のところでエラー > まぁ、これは直せるかな? > > b. a.が直せたとして、Test4のGType上のスーパークラス > はGtk::Buttonになると思うのだけど、その際にRubyの > クラス階層とは異なるようになるけどいいのかなーという > あたりです。まぁ、でもこれはしょうがないのか。 > > > ■ GLib::Type[]について > これは、さかいさんと意見が分かれたところではあるのですが、 > 今後は、極力見せない形にしたいと考えています。 > 限界はあると思いますが、極力C言語知らない人でもRuby-GNOME2 > が十分に楽しめるようにというのが大きな理由です。 > #これ、キャッチフレーズにしようかな。 > > 特にGLib::Object.signal_newは今後よく使われそうですので > Rubyのクラスをそのまま使えるようにしていきたいと思います。 > > > ■ GDKのFactory関連 > GDKでは、実装がWin32の時やX11の時でそれぞれ別々のGTypeを > 持ちます。 > で、実は、いくつかのGdk関連のクラスで現在問題になっている > のですが、Ruby側から登録されていないGTypeがあるために、 > 無名クラスとして値が返されるメソッドが結構あったりして > そのままでは使えない状態になっています。 > たとえば、Gdk::Screen.defaultなど。 > > で、以下の2つの対応方法を考えてみました。 > > 1. GdkGCX11やGdkGCWin32はGdk::GCとして見えるようにする > 2. GdkGCX11はGdk::GCX11に、GdkGCWin32はGdk::GCWin32にする > > 1.の場合、GOBJ2RVAL2(val, gtype)というのを作って明示的にRuby化 > されるときのクラスを決定してしまう、という比較的安易な対応が > できると思います。 > > 2.の場合、すべて手作業でG_DEF_CLASSをするという手もありますが > 結構面倒くさいかなーと。 > プラッガブルに追加されるようなものを想定すると、 > 自動でクラスとgtypeのマッピングを生成するようなことを考える > 必要がありますが、タイミング的にそれはちと難しいかなぁと > 思っています。 > > 実装の問題は置いておいて、本来どっちであるべきかというのも > 実は悩ましいです。 > > GTK+は一つの環境には基本的に1つの実装(X11 or Win32 or linuxfb) > がインストールされると思うのですが、その場合、rbbrなどで見たときに > すべてのGdkクラス群が1つのサブクラス(というか実体)を持つという > 感じになるのがちょっと冗長かな、と。 > ドキュメント書くのも面倒くさいし(ホンネ)。 > > あー、でもここまで書いてきて思ったのですが、 > やっぱり2の方が良さそうだなぁ。手動でもそんなに数が多いわけでも > ないし。 > > ■ Ruby/ATKの実装 > これ、もう少しで終わります...。 > > ■ GTK+-2.2対応 > まだ結構、GTK+-2.0のままなんですよね。Hikiのステータス > ページもバージョンごとに分けれるようにしないと。 > > ■ Ruby/GnomePrint > 一度、某氏から送られてきたのをrejectしたのですが > あのまま世に出たら使い物にならんって感じになりそうなので > きちんとこちらでインプリしてあげたい.... > 誰かやりませんか? > > ■ Ruby/PanelApplet > うーん、うーん。 > > というわけで、良いお年を! > > -- > .:% Masao Mutoh<mu...@hi...> > > > ------------------------------------------------------- > This SF.net email is sponsored by: IBM Linux Tutorials. > Become an expert in LINUX or just sharpen your skills. Sign up for IBM's > Free Linux Tutorials. Learn everything from the bash shell to sys admin. > Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click > _______________________________________________ > ruby-gnome2-devel-ja mailing list > rub...@li... > https://lists.sourceforge.net/lists/listinfo/ruby-gnome2-devel-ja > -- .:% Masao Mutoh<mu...@hi...> |
From: Masao M. <mu...@hi...> - 2004-02-22 17:15:05
|
むとうです。 以前、直すと宣言していたものの中で、以下の件に ついて対応しました。 On Wed, 31 Dec 2003 04:46:29 +0900 Masao Mutoh <mu...@hi...> wrote: > ■ GDKのFactory関連 > GDKでは、実装がWin32の時やX11の時でそれぞれ別々のGTypeを > 持ちます。 > で、実は、いくつかのGdk関連のクラスで現在問題になっている > のですが、Ruby側から登録されていないGTypeがあるために、 > 無名クラスとして値が返されるメソッドが結構あったりして > そのままでは使えない状態になっています。 > たとえば、Gdk::Screen.defaultなど。 > > で、以下の2つの対応方法を考えてみました。 > > 1. GdkGCX11やGdkGCWin32はGdk::GCとして見えるようにする > 2. GdkGCX11はGdk::GCX11に、GdkGCWin32はGdk::GCWin32にする > > 1.の場合、GOBJ2RVAL2(val, gtype)というのを作って明示的にRuby化 > されるときのクラスを決定してしまう、という比較的安易な対応が > できると思います。 > > 2.の場合、すべて手作業でG_DEF_CLASSをするという手もありますが > 結構面倒くさいかなーと。 > プラッガブルに追加されるようなものを想定すると、 > 自動でクラスとgtypeのマッピングを生成するようなことを考える > 必要がありますが、タイミング的にそれはちと難しいかなぁと > 思っています。 > > 実装の問題は置いておいて、本来どっちであるべきかというのも > 実は悩ましいです。 > > GTK+は一つの環境には基本的に1つの実装(X11 or Win32 or linuxfb) > がインストールされると思うのですが、その場合、rbbrなどで見たときに > すべてのGdkクラス群が1つのサブクラス(というか実体)を持つという > 感じになるのがちょっと冗長かな、と。 > ドキュメント書くのも面倒くさいし(ホンネ)。 > > あー、でもここまで書いてきて思ったのですが、 > やっぱり2の方が良さそうだなぁ。手動でもそんなに数が多いわけでも > ないし。 結局、2.の案を採用しました。 具体的には、 G_DEF_CLASS3(gtype_name, ruby_name, module); というのを用意しました。 G_DEF_CLASS3("GdkScreenX11", "ScreenX11", Gdk); のように使います。 これで、Gdk::Screen.defaultを呼び出すとClassの代わりにGdk::ScreenX11 が呼び出されるようになり、その後はGdk::ScreenX11を使うことができます。 glibに手を入れましたので、内容についてご確認ください>さかいさん #ちょっと遅くなるかなぁ、と思ったのですが...まぁなんとかいけそうです(主観)。 > ■ Ruby/ATKの実装 > これ、もう少しで終わります...。 ほぼ、終わりました。ATKに関してはこのまま1.0にしても良いかな。 -- .:% Masao Mutoh<mu...@hi...> |
From: Masao M. <mu...@hi...> - 2004-02-22 17:28:00
|
むとうです。 補足です。 G_DEF_CLASS3は基本的にはfoo_get_type()メソッドが非公開のものに 対して使います。 foo_get_type()を明示的に呼び出すことができないために、foo_get_type() が呼び出されたであろう直後(実際はruby側からGDKの関数を呼び出した後)に Rubyのクラスを生成するようにしています。 そのときGdkScreenX11等の文字列を利用してgtypeを取得します。 On Mon, 23 Feb 2004 02:07:34 +0900 Masao Mutoh <mu...@hi...> wrote: > むとうです。 > > 以前、直すと宣言していたものの中で、以下の件に > ついて対応しました。 > > On Wed, 31 Dec 2003 04:46:29 +0900 > Masao Mutoh <mu...@hi...> wrote: > > > ■ GDKのFactory関連 > > GDKでは、実装がWin32の時やX11の時でそれぞれ別々のGTypeを > > 持ちます。 > > で、実は、いくつかのGdk関連のクラスで現在問題になっている > > のですが、Ruby側から登録されていないGTypeがあるために、 > > 無名クラスとして値が返されるメソッドが結構あったりして > > そのままでは使えない状態になっています。 > > たとえば、Gdk::Screen.defaultなど。 > > > > で、以下の2つの対応方法を考えてみました。 > > > > 1. GdkGCX11やGdkGCWin32はGdk::GCとして見えるようにする > > 2. GdkGCX11はGdk::GCX11に、GdkGCWin32はGdk::GCWin32にする > > > > 1.の場合、GOBJ2RVAL2(val, gtype)というのを作って明示的にRuby化 > > されるときのクラスを決定してしまう、という比較的安易な対応が > > できると思います。 > > > > 2.の場合、すべて手作業でG_DEF_CLASSをするという手もありますが > > 結構面倒くさいかなーと。 > > プラッガブルに追加されるようなものを想定すると、 > > 自動でクラスとgtypeのマッピングを生成するようなことを考える > > 必要がありますが、タイミング的にそれはちと難しいかなぁと > > 思っています。 > > > > 実装の問題は置いておいて、本来どっちであるべきかというのも > > 実は悩ましいです。 > > > > GTK+は一つの環境には基本的に1つの実装(X11 or Win32 or linuxfb) > > がインストールされると思うのですが、その場合、rbbrなどで見たときに > > すべてのGdkクラス群が1つのサブクラス(というか実体)を持つという > > 感じになるのがちょっと冗長かな、と。 > > ドキュメント書くのも面倒くさいし(ホンネ)。 > > > > あー、でもここまで書いてきて思ったのですが、 > > やっぱり2の方が良さそうだなぁ。手動でもそんなに数が多いわけでも > > ないし。 > > 結局、2.の案を採用しました。 > > 具体的には、 > G_DEF_CLASS3(gtype_name, ruby_name, module); > というのを用意しました。 > > G_DEF_CLASS3("GdkScreenX11", "ScreenX11", Gdk); > のように使います。 > これで、Gdk::Screen.defaultを呼び出すとClassの代わりにGdk::ScreenX11 > が呼び出されるようになり、その後はGdk::ScreenX11を使うことができます。 > > glibに手を入れましたので、内容についてご確認ください>さかいさん > > #ちょっと遅くなるかなぁ、と思ったのですが...まぁなんとかいけそうです(主観)。 > > > ■ Ruby/ATKの実装 > > これ、もう少しで終わります...。 > > ほぼ、終わりました。ATKに関してはこのまま1.0にしても良いかな。 > > -- > .:% Masao Mutoh<mu...@hi...> > > > ------------------------------------------------------- > SF.Net is sponsored by: Speed Start Your Linux Apps Now. > Build and deploy apps & Web services for Linux with > a free DVD software kit from IBM. Click Now! > http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click > _______________________________________________ > ruby-gnome2-devel-ja mailing list > rub...@li... > https://lists.sourceforge.net/lists/listinfo/ruby-gnome2-devel-ja > -- .:% Masao Mutoh<mu...@hi...> |
From: Masahiro S. ()
<sa...@to...> - 2007-07-15 09:27:46
|
酒井です。 昔のメールを見返していると、全然覚えてなくて困ります(汗 昔と意見が変わっている点も多いと思いますが、すみません。 From: Masao Mutoh <mu...@hi...> Date: Mon, 23 Feb 2004 02:07:34 +0900 > むとうです。 > > 以前、直すと宣言していたものの中で、以下の件に > ついて対応しました。 > > On Wed, 31 Dec 2003 04:46:29 +0900 > Masao Mutoh <mu...@hi...> wrote: > > > ■ GDKのFactory関連 > > GDKでは、実装がWin32の時やX11の時でそれぞれ別々のGTypeを > > 持ちます。 > > で、実は、いくつかのGdk関連のクラスで現在問題になっている > > のですが、Ruby側から登録されていないGTypeがあるために、 > > 無名クラスとして値が返されるメソッドが結構あったりして > > そのままでは使えない状態になっています。 > > たとえば、Gdk::Screen.defaultなど。 そもそも、これって無名クラスだと何か問題があるのでしたっけ? 単にinspectで無名クラスが表示されてイヤということであれば、inspectに細 工して少し分かりやすい文字列を返せばよいのではないかと思いました。 何故、こんなことを言い出したかというと、現在G_DEF_CLASS3が以下のような 使われ方をしていますが、これだとgtk側の内部実装が変わったり、新しいバッ クエンドが追加されただけで、Ruby-GNOME2側も変更しなくてはならなくなって しまうためです。 #ifdef GDK_WINDOWING_X11 G_DEF_CLASS3("GdkGCX11", "GCX11", mGdk); #elif defined(GDK_WINDOWING_WIN32) G_DEF_CLASS3("GdkGCWin32", "GCWin32", mGdk); #elif defined(GDK_WINDOWING_FB) G_DEF_CLASS3("GdkGCFB", "GCFB", mGdk); #endif > > で、以下の2つの対応方法を考えてみました。 > > > > 1. GdkGCX11やGdkGCWin32はGdk::GCとして見えるようにする > > 2. GdkGCX11はGdk::GCX11に、GdkGCWin32はGdk::GCWin32にする > > > > 1.の場合、GOBJ2RVAL2(val, gtype)というのを作って明示的にRuby化 > > されるときのクラスを決定してしまう、という比較的安易な対応が > > できると思います。 > > > > 2.の場合、すべて手作業でG_DEF_CLASSをするという手もありますが > > 結構面倒くさいかなーと。 > > プラッガブルに追加されるようなものを想定すると、 > > 自動でクラスとgtypeのマッピングを生成するようなことを考える > > 必要がありますが、タイミング的にそれはちと難しいかなぁと > > 思っています。 > > > > 実装の問題は置いておいて、本来どっちであるべきかというのも > > 実は悩ましいです。 > > > > GTK+は一つの環境には基本的に1つの実装(X11 or Win32 or linuxfb) > > がインストールされると思うのですが、その場合、rbbrなどで見たときに > > すべてのGdkクラス群が1つのサブクラス(というか実体)を持つという > > 感じになるのがちょっと冗長かな、と。 > > ドキュメント書くのも面倒くさいし(ホンネ)。 > > > > あー、でもここまで書いてきて思ったのですが、 > > やっぱり2の方が良さそうだなぁ。手動でもそんなに数が多いわけでも > > ないし。 > > 結局、2.の案を採用しました。 > > 具体的には、 > G_DEF_CLASS3(gtype_name, ruby_name, module); > というのを用意しました。 > > G_DEF_CLASS3("GdkScreenX11", "ScreenX11", Gdk); > のように使います。 > これで、Gdk::Screen.defaultを呼び出すとClassの代わりにGdk::ScreenX11 > が呼び出されるようになり、その後はGdk::ScreenX11を使うことができます。 From: Masao Mutoh <mu...@hi...> Date: Mon, 23 Feb 2004 02:20:31 +0900 > むとうです。 > > 補足です。 > > G_DEF_CLASS3は基本的にはfoo_get_type()メソッドが非公開のものに > 対して使います。 > foo_get_type()を明示的に呼び出すことができないために、foo_get_type() > が呼び出されたであろう直後(実際はruby側からGDKの関数を呼び出した後)に > Rubyのクラスを生成するようにしています。 > そのときGdkScreenX11等の文字列を利用してgtypeを取得します。 foo_get_type() が非公開ということは、 その型をユーザーに直接扱って欲しくないということだと思います。 本当にGdkScreenX11等を直接扱う必要があるのでしょうか? -- 酒井 政裕 / Masahiro Sakai |
From: Masao M. <mu...@hi...> - 2007-07-15 14:55:26
|
むとうです。 On Sun, 15 Jul 2007 18:26:48 +0900 (JST) Masahiro Sakai (酒井政裕) <sa...@to...> wrote: > 酒井です。 > > 昔のメールを見返していると、全然覚えてなくて困ります(汗 確かに。 > > > ■ GDKのFactory関連 > > > GDKでは、実装がWin32の時やX11の時でそれぞれ別々のGTypeを > > > 持ちます。 > > > で、実は、いくつかのGdk関連のクラスで現在問題になっている > > > のですが、Ruby側から登録されていないGTypeがあるために、 > > > 無名クラスとして値が返されるメソッドが結構あったりして > > > そのままでは使えない状態になっています。 > > > たとえば、Gdk::Screen.defaultなど。 > > そもそも、これって無名クラスだと何か問題があるのでしたっけ? 名前がわからないのが嫌だという問題かと。 > 単にinspectで無名クラスが表示されてイヤということであれば、inspectに細 > 工して少し分かりやすい文字列を返せばよいのではないかと思いました。 そうですね。 > 何故、こんなことを言い出したかというと、現在G_DEF_CLASS3が以下のような > 使われ方をしていますが、これだとgtk側の内部実装が変わったり、新しいバッ > クエンドが追加されただけで、Ruby-GNOME2側も変更しなくてはならなくなって > しまうためです。 これはやむなし、というのが当時の意見です。 > foo_get_type() が非公開ということは、 > その型をユーザーに直接扱って欲しくないということだと思います。 > > 本当にGdkScreenX11等を直接扱う必要があるのでしょうか? 直接GdkScreenX11オブジェクトにアクセスするかどうか、という意味であれば Yesです。 ただ、その名前である必要があるか、というと別に理由はないです。 #前で述べたようにGdkScreenで問題ない。ただgtypeが違うのに同じ #オブジェクトになるのが気持ち悪い、無名だと分かりづらい、という程度。 -- .:% Masao Mutoh<mu...@hi...> |
From: Masahiro S. ()
<sa...@to...> - 2007-07-15 09:39:24
|
酒井です。 From: Masao Mutoh <mu...@hi...> Date: Wed, 31 Dec 2003 04:46:29 +0900 > むとうです。 > > 2003年はご協力どうもありがとうございました。 > いろいろ大変な一年でしたが、Ruby-GNOME2も徐々に知名度が > あがってきたので、2004年は是非、飛躍の年にしたいですね。 > #その前に1.0.0を出さねば....。 そういえば、これから既に3年以上経っているんですね。 懐かしいなぁ…… # 1.0.0 はいまだ遠い!? -- 酒井 政裕 / Masahiro Sakai |
From: Masao M. <mu...@hi...> - 2007-07-15 15:30:59
|
むとうです。 On Sun, 15 Jul 2007 18:37:54 +0900 (JST) Masahiro Sakai (酒井政裕) <sa...@to...> wrote: > 酒井です。 > > From: Masao Mutoh <mu...@hi...> > Date: Wed, 31 Dec 2003 04:46:29 +0900 > > > むとうです。 > > > > 2003年はご協力どうもありがとうございました。 > > いろいろ大変な一年でしたが、Ruby-GNOME2も徐々に知名度が > > あがってきたので、2004年は是非、飛躍の年にしたいですね。 > > #その前に1.0.0を出さねば....。 > > そういえば、これから既に3年以上経っているんですね。 > 懐かしいなぁ…… そうですねぇ。 > # 1.0.0 はいまだ遠い!? 酒井さんに本格的に戻ってきていただけるのなら、 あっという間じゃないですかね、とか言ってみる(笑)。 -- .:% Masao Mutoh<mu...@hi...> |