■ラジオボタンを極める
ラジオボタンを使ってみましょう。
基本プロジェクトを作成します。作成方法はひな型プロジェクトを作るを見てください。
radioburronとしてプロジェクトを作成しました。
MainMenu.nibのJapaneseをダブルクリックしてnibファイルを編集します。
ラジオボタンを配置します。

Infoパネルのアップルスクリプトから名前を付けます。
あれ?InfoパネルのタイトルバーにはNSMatrix Infoと表示されていますね。
そうです、ラジオボタンはmatrixというクラスのうちの一つなのです
matrixというクラスは複数のオブジェクトを束ねる役割を持っています。
ApleScriptでいえば、recordやlistみたいなものです。

ということで名前は"ma"としました。
さてmatrixは複数のオブジェクトを束ねると書きましたが、ボタンにアクセスするにはどうしたらいいのでしょうか?
簡単です。matrixをダブルクリックします。

すると、ダブルクリックした部分のボタンが選択されて、Infoパネルの表示もNSButtonCell Infoと変わりました。

つまりラジオボタンとは、button cellが複数集まったmatrixだと言うことです。
初期状態ではボタンの数は2つです。ボタンを増やしてみましょう

InfoパネルのAttributesからRow/Colの値を変えます。
rowを4にcolを2にしました。
上と左にのびていきましたね。

今までのMacintoshの描画機構であるQuickDrawとは上下(y軸)が逆になっていますのでこうなるのです。
ボタンの数の増減にはもう一つ方法があります。
optionキーを押したままドラッグするとボタンの数が増減します。

コマンドキーを押したままドラッグするとボタン同士の間隔がかわります。


とりあえずボタン3つにしました。
ボタンを一つ配置します。
名前をbuとして
EventHandlerのclickedにチェックを入れ、AppleScriptのApplication.applescriptにチェックを入れます。

「EditScript」ボタンを押してスクリプトを書きます。

| -- Application.applescript on clicked theObject set title of theObject to (title of cell 2 of matrix "ma" of window of theObject) set title of cell 1 of matrix "ma" of window of theObject to "eee" make new button cell at beginning in cell of matrix "ma" of window of theObject with properties {title:"www", button type:radio button} end clicked |
ビルドして実行します。
ボタンのタイトルが2番めのラジオボタンのタイトルになり、1番めのラジオボタンのタイトルをeeeに変更した後、ラジオボタンの一番はじめに新しくラジオボタンを作成します。

2002.1.18 (C)Satoshi Oomori