[ruby-list:41666] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb

From: Hidetoshi NAGAI <nagai@...>
Date: 2005-12-05 14:51:10 UTC
List: ruby-list #41666
永井@知能.九工大です.

From: 天野 竜太郎 <wn9r-amn@asahi-net.or.jp>
Subject: [ruby-list:41665] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb
Date: Mon, 5 Dec 2005 21:56:27 +0900
Message-ID: <16F22DA6-4DF7-4B5F-AD36-33BE562C7698@asahi-net.or.jp>
> この二つのダイアログは、どちらも「Message Box  
> Demonstration」ウィンドウのタイトル部分からにょきっという感じで 
> 出てくるSheet風のダイアログで、OSXになってからできた 
> タイプのもので、それ以前のOS9のMacソフトには存在して 
> いませんでした。AquaTclTkなので、OSXのAPIを利 
> 用しているのだと思います。

あ,MacOS X 独自のものが使われているんですね.
てっきり他の環境と同じで,通常の topleve ウィジェットを用いた
ダイアログになっていると思っていました.
そうなると,ちょっと違う部分を調べないといけないですね.

# Tk のソースの macosx ディレクトリ内に定義があるのかなぁ...

> あと、最初のラベル、ボタン、チェックボタン、ラジオボタンの 
> 13番
> 13,画像を見るための簡単なユーザーインターフェイス(機能に対応し 
> たバージョンのTkが必要)
> ですが、「ディレクトリ選択」ボタンをクリックするとエラーになりま 
> す。

これは単純なバグですね.
他の環境ではこれまで何でエラーが出なかったんだろう?(^_^;
以下のパッチで解消するはずです.demo-en の方も同様です.

Index: image3.rb
===================================================================
RCS file: /var/cvs/src/ruby/ext/tk/sample/demos-jp/image3.rb,v
retrieving revision 1.1.2.2
diff -u -r1.1.2.2 image3.rb
--- image3.rb	11 Oct 2004 04:51:16 -0000	1.1.2.2
+++ image3.rb	5 Dec 2005 14:48:14 -0000
@@ -35,7 +35,8 @@
 # Arguments:
 # w -                   Name of the toplevel window of the demo.
 def selectAndLoadDir3(w, lbox)
-  dir = Tk.chooseDirectory(:initialdir=>$dirName, :parent=>w, :mustexist=>true)
+  dir = Tk.chooseDirectory(:initialdir=>$dirName.value, 
+                           :parent=>w, :mustexist=>true)
   if dir.length > 0
     $dirName.value = dir 
     loadDir3(lbox)


-- 
                                       永井 秀利 (九工大 知能情報)
                                           nagai@ai.kyutech.ac.jp

In This Thread