index

■ラジオボタンを極める

ラジオボタンを使ってみましょう。


基本プロジェクトを作成します。作成方法はひな型プロジェクトを作るを見てください。
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