: O. Yuanying

RubyCocoa でダウンローダを作ってみる その2

RubyCocoa でダウンローダを作ってみる その1」の続き。

コントローラの登録

InterfaceBuilderから、前回作ったAppControllerをいじれるようにnibファイルにAppControllerを登録してやる。

rubycocoa06.png

ライブラリから、Object(NSObject)を選択して、MainMenu.nibと書かれたウィンドウにドラッグアンドドロップしてやる。これで、nibファイルにとりあえず何らかのObjectが登録された。

つぎに、今登録したObjectをAppControllerクラスに変更する。

rubycocoa07.png

登録したObjectを選択したままInspector (Shift + Command + I)を開き、IdentityタブからクラスをAppControllerに変更する。

以上でnibファイルにAppControllerが登録された。

コントローラとGUI部品の結びつけ

では、コントローラからボタンなどのGUI部品を参照できるように、それらの結びつけを設定してやる。

具体的には前回、コントローラクラスにコーディングしたib_outletで宣言した変数を対応するボタンやテキストフィールドに、ib_actionで宣言したシンボルをアクションとして関連づける。

ib_outletの関連づけ

rubycocoa08.png

InterfaceBuilder上でAppControllerを選択した状態でCtrを押しながらクリックすると、青い線が延びので、これを適当なボタンまで延ばすと、宣言したib_outletがリストで表示されるので、

rubycocoa09.png

それぞれ適切なib_outletを選択する。

これらをすべてのGUI部品について関連づける。

ib_actionの関連づけ

rubycocoa10.png

アクションは反対に、GUI部品を選択した状態でCtrlキーを押しながらクリックして、

rubycocoa11.png

適切なアクションへと関連づける。

アクションとGUI部品がちゃんと関連づけられているか簡単なコードを書いて試してみよう。

例えば以下のようにコーディングしておいて、

ib_action :download do
  @path_text.setStringValue("Hello World !!")
end

コンパイルし実行後、ダウンロードボタンをクリックした時に、@path_textで関連づけられたGUI部品に「Hello World !!」と表示されたら成功。

その3に続く。