Macintosh Developer Online (MDOnline)


2001年9月15日発行号 - CarbonでDockをコントロール



来週はPC EXPOが幕張でありますけど、21日の午前のセッションは取材で行くとしても、その時だけかなとも思っていました。だけど、その後、すぐに東京に向かわないといけないし、20日に記者会見が入ったので、20日の午後遅くに行って、ブースの取材もしようと思っています。ただ、20日の記者会見の連絡が来たのが12日で、そこで決心してもさすがに幕張のホテルは確保できません。もっとも、ニューオータニで1泊35,000円みたいな部屋はあるにはあったのですが…。で、インターネットで検索できるようなところは軒並み満員で、しかも、幕張本郷はもちろん、千葉みなとや船橋とかでも満員でした。蘇我や千葉まで行くのなら、家に帰ったほうがマシとも思いますしね〜。さすがに、35万人が来場してメッセを全部使うイベントとなると違いますね。ま、でも地道に探して、なんとか稲毛海岸の駅のすぐのところにあるビジネスホテルを確保できた次第です。メールによる予約が可能なのと、インターネット割り引きがあるのですが、そのホテルはよくある予約サイトとかとは全然リンクされていないので、たぶん満員にはならなかったのでしょう。インターネットで便利になったとは言え、便利にしてあるサイトは人が殺到します。穴場を知っていれば得をするのはインターネットでも同じってことでしょうか。もっとも、イベントがイベントだけに、インターネットで簡単に検索できる範囲でしかチェックしない人が多いのかもしれません。ちなみに、以下のサイトで、そのホテルの存在を知りました。元大手旅行会社勤務の方がやっているサイトですが、それなりに有名なサイトでもあるようです。

◇MR-Factoryのトラベル情報
 http://www2u.biglobe.ne.jp/~MR-Net/index.html
(新居雅行 msyk@mdonline.jp


CarbonアプリケーションでDockのカスタマイズやDockメニューの処理を行う方法

CarbonアプリケーションでDockの諸機能を利用する方法が公開された。Dockではアプリケーションのアイコンだけでなく、アイコンのカスタマイズや、あるいはDockのアイコンをクリックして表示されるメニューの設定やカスタマイズが可能であるものの、Mac OS X10.0ではCocoaアプリケーションでしかそれができなかった。しかしながら、Mac OS X 10.1では、Carbonアプリケーションでも、Dock関連のカスタマイズができるようになっており、その方法がドキュメントとして公開された。Carbonアプリケーションを作成しているプログラマにとっては待ちに待った情報ではないだろうか。

◇Customizing Your Application Dock Tile
 http://developer.apple.com/techpubs/macosx/Carbon/HumanInterfaceToolbox/DockManager/customizing_docktile/index.html
Dock Tileというのは、Dockに見える1つのアイコンのことを示す。CarbonアプリケーションでスタティックなDockメニューを表示するには、Interface Builderでメニューを定義しておき、その定義内容に合わせてplist.Infoファイルに必要な情報を含めておく。さらに、アプリケーション側でダイナミックにメニューを構築したり、あるいは現在のメニューを取得するAPIも用意されている。ダイナミックにメニュー構築をするためのきっかけとしてはDockのアプリケーションアイコンをクリックするタイミングとなるが、それをアプリケーション側で判断できるようにCarbon Eventが発生されることなどが記載されている。なお、明確な記載はないが、メニューにはコマンドを定義するので、メニューを選択したときの応答処理は、Carbon Eventでのメニュー処理に含めることになると思われる。

◇Dock Manager Reference
 http://developer.apple.com/techpubs/macosx/Carbon/HumanInterfaceToolbox/DockManager/dockmgrref/dockmgrref.pdf
Carbonから利用できるDock関連機能のAPIリファレンスで、10ページとそれほど多くはない。前記のDockメニュー関連の情報に加えて、アプリケーションのアイコン画像を入れ替えたりあるいはオーバーレイ画像を設定したり、さらにはDockでの描画をQuickDrawあるいはCore Graphicsで行う方法等を参照できる。

カテゴリ:ユーザインタフェース, Carbon/CF


CarbonLib 1.4.5d6が公開

CarbonLibのSDKの最新版のバージョンが少しだけ上がって「CarbonLib 1.4.5d6」となった。プレリリース版であり、ADC(Apple Developer Connection)のメンバーだけが入手可能となっている。CarbonLib 1.4.5はMac OS 8.6以降をサポートする。

関連リンク:Carbon
カテゴリ:Carbon/CF


Mac OS Xでのインプットメソッドのインストール方法

Technical Q&Aに、Mac OS Xでのインプットメソッドのインストール方法についての説明が掲載されている。開発をしながら最初にシステムにインストールする場合と2回目以降の場合、インストーラの動作などが記載されているが、基本的にはLibraryフォルダにComponentsフォルダを作成し、そこにインストールし、必ず再起動をしないと機能しないということである。(なお、文書中にコマンド例として「mkdir -p /Library/Componentscp -r…」とあるが、正しくは「mkdir -p /Library/Components; cp -r…」ないしはcpの前に改行が必要だ。)

関連リンク:QA1054: Installing input methods on Mac OS X
カテゴリ:Technical Q&A, テキスト/フォント


カーネルイベントを使う場合にはベンダーコードの登録をしてその値を使う

Technical Q&Aに、カーネルのイベントがコンフリクトする場合の対処について掲載されている。イベントメッセージのvendor_codeフィールドに設定する値について説明があるが、サードパーティの場合はコードの登録を行って、その登録されたコードを使う必要がある。

関連リンク:QA1063: Avoiding Kernel Event Conflicts
カテゴリ:Mac OS X, Technical Q&A


KBase》WebObjects 5のFAQ集

Knowledge Baseに、WebObjects 5に関する質問と回答集が掲載された。動作環境や稼動環境、あるいはライセンスやサービス、入手方法といった基本的な内容が掲載されたものとなっている。

関連リンク:WebObjects 5: Frequently Asked Questions (FAQ)
カテゴリ:Knowledge Base(旧TIL), WebObjects


KBase》iToolsのホームページ作成でUndefinedと表示される原因で対処

iToolsのホームページ作成サービスでアルバムを作った場合に、ボタンなどがUndfinedと表示される問題についてKnowledge Baseに掲載された。アルバムのフォルダを作る時に、PicturesなどiDiskのルートにあるのと同じ名前のフォルダを作るとこうした症状になるため、フォルダ名は基本的にはそれらと異なる名前にしておく。iDiskで接続して作成したフォルダの名前を変更することで対処できる。

関連リンク:iTools: HomePage Folder Names and Buttons Disappear, "Undefined" Appears Instead
カテゴリ:Knowledge Base(旧TIL), インターネット全般