[#21157] あったらうれしいメソッド to_n, to_n!, to_s! — ogino@...

荻野です。あったらうれしいメソッドということで書いてみます。

16 messages 2000/03/03

[#21159] メソッドの入り口 — ogino@...

荻野です。もうひとつご指導ください。

93 messages 2000/03/03
[#21170] Re: メソッドの入り口 — Shin-ichiro Hara <sinara@...> 2000/03/03

原です。

[#21243] Re: メソッドの入り口 — keiju@... (石塚圭樹) 2000/03/07

けいじゅ@日本ラショナルソフトウェアです.

[#21247] Re: メソッドの入り口 — 中村暁史 Nakamura Akifumi <BXQ04723@...> 2000/03/07

[#21267] 引数コピーとオブジェクト指向 (Re: メソッドの入り口) — Hideto ISHIBASHI <s34204@...> 2000/03/08

石橋秀仁です。

[#21272] Re: 引数コピーとオブジェクト指向 (Re: メソッドの入り口 ) — 中村暁史 Nakamura Akifumi <BXQ04723@...> 2000/03/08

[#21276] Re: 引数コピーとオブジェクト指向 (Re: メソッドの入り口 ) — nobu.nakada@... 2000/03/09

なかだです。

[#21279] Re: 引数コピーとオブジェクト指向 (Re: メソッドの入り口 ) — ogino@... 2000/03/09

oop未満の世界観の荻野です。

[#21282] Re: 引数コピーとオブジェクト指向 — Tomoyuki Kosimizu <greentea@...2.so-net.ne.jp> 2000/03/09

越水です。

[#21285] Re: 引数コピーとオブジェクト指向 — ogino@... 2000/03/10

荻野です。

[#21293] Re: 引数コピーとオブジェクト指向 — Matsuo Hisanori <hisanori@...> 2000/03/10

松尾です。

[#21297] Re: 引数コピーとオブジェクト指向 — ogino@... 2000/03/10

荻野です。

[#21302] Re: 引数コピーとオブジェクト指向 — 土岐 仁謙 <toki@...> 2000/03/10

土岐です。

[#21371] Re: 引数コピーとオブジェクト指向 — Matsuo Hisanori <hisanori@...> 2000/03/13

松尾です。

[#21374] Re: 引数コピーとオブジェクト指向 — TADA Tadashi <sho@...> 2000/03/13

ただただしです。

[#21365] Re: 引数コピーとオブジェクト指向 — Matsuo Hisanori <hisanori@...> 2000/03/13

松尾です。

[#21280] raise non-Exception object — Kenichi Komiya <kom@...3.rim.or.jp>

24 messages 2000/03/09
[#21283] Re: raise non-Exception object — nobu.nakada@... 2000/03/09

なかだです。

[#21315] Re: raise non-Exception object — Kenichi Komiya <kom@...3.rim.or.jp> 2000/03/11

[#21342] Re: raise non-Exception object — nobu.nakada@... 2000/03/12

なかだです。

[#21384] ruby 1.4.4 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

35 messages 2000/03/13

[#21442] 配列内のソート — Takayuki Tanaka <tanaka@...>

こんにちは Tanです。

16 messages 2000/03/15

[#21583] ruby for Web — TAKAHASHI Masayoshi <maki@...>

高橋征義です。

27 messages 2000/03/22
[#21584] Re: ruby for Web — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/03/22

なひです.

[#21649] net-1.1.10 — TAKAHASHI Masayoshi <maki@...>

高橋征義です。net/http 使いたおし中。

17 messages 2000/03/27

[#21669] new version of mod_ruby & eRuby — Shugo Maeda <shugo@...>

前田です。

14 messages 2000/03/28

[ruby-list:21190] Re: TkSelection.own の使い方?

From: Koji Arai <JCA02266@...>
Date: 2000-03-04 21:41:44 UTC
List: ruby-list #21190
新井です。

>>> From: Noritsugu Nakamura <nnakamur@mxq.mesh.ne.jp>
>>> Date: 04 Mar 2000 09:17:35 +0900
>>> Subject: [ruby-list:21179] Re: TkSelection.own の使い方?

> 
> 中村 のりつぐ です。

> #!/usr/local/bin/ruby
> 
> require "tk"
> 
> module TkSelection
>   def TkSelection.own(win=None, func=None)
>     tk_call 'selection', 'own', win, func
>   end
> end

訂正。tk_callの戻り(ウィジェットのパス名)をウィジェットオブ
ジェクトに変換した方が良いですね。Ruby/Tkでは、パスが表に出
る必要はほとんどないはずだし、避けたいと思うので。(tk.rbへの
パッチ形式で最後に添付します)。

> l1.bind 'ButtonRelease-1',
>   proc{ STDERR.print "Select : Listbox 1  Click 1\n" if TkSelection.own == l1.path }

なので、添付したパッチを適用すると
  proc{ ... if TkSelection.own == l1 }
となります。

> # 「tk.rb 読みこなし術」誰か書いてくれないかなあ〜

拙著Ruby/TkリファレンスマニュアルのTkObject、TkWindow、
TkComm、TkCoreを読めば大体分かるんじゃないかなあと期待してま
す。(ダメ?^^;)

tclスクリプトを実行するメソッドであるtk_call()を知れば今回の
件は解決できるはずです。ただし、このメソッドに渡す引数には、

-------------------+-------------
Rubyオブジェクト   |   tcl文字列
-------------------+-------------
TkComm::None       |   その引数を省略
nil                |   空文字列
Hash               |   -key1, val1, -key2, val2, ...
Proc               |   "rb_out cXXXX" (module TkCoreで定義したプロシージャ)
true/false	   |   "1" / "0"

などのような対応関係があります。(この変換は
TkComm#_get_eval_string()がやってます)



修正箇所:
  TkSelection.handle(win, func, type=None, format=None)
    func としてnilまたは空文字列を指定することでコールバック
    関数の取り消しを行えるようにしました(パッチ前の場合、nil
    が許されない)

    # install_cmd(nil)がnilを返すようにしてもよいのですが。
    # 検証してないのでとりあえず。

  TkSelection.own(win=None, func=None)
    winを省略可能にしました。
    引数を省略したときの戻り値をウィジェットオブジェクト(セ
    レクションを持たなければnil)にしました。

前にも書いたとおり、現状では古いtkのインタフェースに頼ってい
るので作り替える必要があるかも知れません。

でも、このままでも
    TkSelection.own({'command'=>c, 'displayof'=>w, 'selection'=>s}, win)
とすることは出来ますが・・・たぶん(注意:動作確認を一切してません)

--- ext/tk/lib/tk.rb.org	Wed Feb  2 02:03:32 2000
+++ ext/tk/lib/tk.rb	Sat Mar  4 22:39:16 2000
@@ -1062,15 +1062,13 @@ module TkSelection
     tk_call 'selection', 'get', type
   end
   def TkSelection.handle(win, func, type=None, format=None)
-    id = install_cmd(func)
-    tk_call 'selection', 'handle', win.path, id, type, format
+    tk_call 'selection', 'handle', win.path, func, type, format
   end
   def handle(func, type=None, format=None)
     TkSelection.handle self, func, type, format
   end
-  def TkSelection.own(win, func=None)
-    id = install_cmd(func)
-    tk_call 'selection', 'own', win.path, id
+  def TkSelection.own(win=None, func=None)
+    window(tk_call 'selection', 'own', win, func)
   end
   def own(func=None)
     TkSelection.own self, func

In This Thread