タイトルInterface Builderで定義したシートを表示する方法を示すサンプルプログラムカテゴリーユーザインタフェース, Mac OS X, Carbon/CF
作成日2000/11/10 15:40:53作成者新居雅行
Mac OS Xのユーザインタフェースの特徴の1つとして「シート」という形式のウインドウがある。たとえば、文書ファイルを閉じるときに閉じるかどうかをたずねるダイアログボックスは、ウインドウのタイトルバーからすり出てくるような「シート」として表示される。ファイルの保存のダイアログボックスもやはりシートとして表示される。メインのウインドウに関連するダイアログボックスとしての表示に使われるのがシートであり、ダイアログボックスのメッセージの関連性をある程度ユーザに示すものとして、Mac OS Xでは積極的に使うべきものだ。そのシートの表示方法を示すサンプルプログラム「Sheets」が公開されている。
このサンプルプログラムは、Project Builderで作成されているが、Carbonアプリケーションであり、Mach-Oで出力されている。Mac OS X専用であるが、シート自体もMac OS Xでないと使えない。このシートを、Interface Builderで作成しておいて、プログラムで表示する方法を、このサンプルは示している。Interface Builderではウインドウなどをグラフィカルに設計できるが、ウインドウの1つとしてオブジェクト定義をしておき、nibファイルとして保存しておく。このとき、ウインドウのクラスとしてインスペクタで「Sheet」を選択しておくのがポイントとなる。あとは、nibのデータを利用したウインドウの作成方法と大きな違いはないと言えるだろう。プログラム自体はCで定義してあるが、nibで定義したウインドウを表示する方法を知るサンプルとしても参照できるだろう。Cで作成されたものなので、Interface Builderで、クリックして動作させるクラスなどといった定義はできない。つまり、ドラッグして線で結ぶような設定はできないため、Interface BuilderはあたかもResEditのように使っていると言えばよいだろうか。OKボタンなどへの反応は、Carbon Event Managerによるイベントハンドラによるもので、ソース内でボタンごとの分岐がcase文で作成されている。
関連リンクSheets 1.0