単語リストプログラム その5

今回は、ファイルビューの方にテーブルとボタンを配置していく。TabView の File のタブをクリックして選択しておく。

単語リストは2つ表示できるようにするので、それぞれに対応するファイルリスト用のテーブルを準備する。さらにファイルの中身がプレビューできるように、下の方に TextView を配置する。このために NSSplitView を使う。

まず、Library の Horizontal Split View を選んで、ファイルビューに配置してサイズを調整する。

配置したら、Inspector の Attributes で Style を Thin divider にする(Thick divider でもいい)。あと、Autosave に小文字で始まる(多分)名前を付けておくと、divider の位置を覚えておいてくれるようだ。

さらに、前回の TabView と同様にサイズのタブで Autosizing の設定をする。

見た目はこんな感じ。

この上の Custom View に Vertical Split View を配置して同様の設定をする。このとき、divider を動かしてそれぞれの Custom View の大きさを調整する。

上の縦の Split View は幅が同じになるように調整する。

ここまでできたら、左上の Custom View に TableView を配置する。Library で Table View を選んでドラッグアンドドロップ。

さらに、ボタンを3つ配置したいので、Rounded Rect Button を選んでドラッグアンドドロップ。別に他のボタンでもいいけど。

配置としては、ガイドにあわせてこんな感じで。ボタンは、Delete、Clear、Add としておく。

テーブルの Autosizing を設定するときは、Table View が乗っかっている Scroll View を選んで行う。つまり、テーブルの枠の部分も選択された状態にする。そして、次のように設定する。

左2つのボタンは、左下に固定して、幅も固定したいので次のようにする。

右下のボタンは、右下に固定して、幅も固定したいので次のようにする。

ためしに、ここで Command + R で Cocoa Simulator を立ち上げると、実際のウィンドウがどうなるか確認できる。

さて、テーブルの細かい設定は後にするとして、見た目の設定をする。

テーブルには、ファイル名と、テキストファイルの文字コードを表示するようにして、文字コードの変更がテーブル上でできるようにしたい。

ここでは、Table View を選択したいので、Scroll View が選択された状態で、もう一度クリックする。次のような状態。

Inspector の Attributes で Alternating Rows にチェックを入れ、Selection の Column のチェックを外す。Col. Sizing は First Column Only にしておく。ここでも、Autosave に小文字で始まる名前を付けておくと、テーブルのコラムの状態とかを覚えてくれているっぽい。

次に、それぞれのコラムを選択して、設定をしていく。

それぞれのコラムで Title を設定して Identifier をつけておく(使わないかもしれないけど)。そして、Editable のチェックを外しておく。

Size では、右側のコラムの幅(Width)を 120 で固定してちょうどになるように調整する。

こんどは、左側のコラムの Text Cell と書いてある部分をクリックして、その Cell を選ぶ。

ここは、ファイル名を表示して変更されたくないので Inspector の Attributes で Selectable と Editable のチェックを外す。

右側のコラムは、ポップアップボタンを入れて文字コードが選択できるようにしたいので、Library から Pop Up Button Cell を選んで、右側のコラムにドラッグアンドドロップする。

テーブル上はこう見える。

さらに、これをダブルクリックして、メニューアイテムを加えていく。デフォルトでは、一つだけなので、コピーアンドペーストで数を増やしてからタイトルを変更していく。

このサンプルでは、文字コードは次のものに対応させるようにする。

これ以外にも、Library の Cocoa -> Application にある Menu Item をドラッグアンドドロップして増やしてもいい。

あと、この Pup Up Button Cell のフォントはデフォルトで Lucida Grande の 11pt なので、Command + T でフォントパネルを表示させて 12pt もしくは 13pt にする。まあ、そのままでも問題ない。

ここまでできたら、このテーブルと3つのボタンを選択してコピーし、右側の Custom View にペーストする。したら、サイズと配置を微調整する。

こんな感じになってるはず。

ここで、同じラベルのボタンが2つずつあるので、スクリプトで区別できるように Inspector の Attributes で Alt. Title を設定する。

左側のボタンはすべて 0、右側のボタンはすべて 1 にする。

これ以外にも、その下の方にある Tag であつかった方がいいんじゃないかと思うようになった。Alt. Title だと、ボタン以外で使えなかったりするんだけど、Tag はテーブルとかメニューアイテムでも使えるようだから。

今回の最後に、下の Custom View にファイルの内容をプレビュー表示する Text View と、それの機能をオン/オフする Check Box を配置する。

配置したら Autosizing を設定する。それぞれ次の通り。

Text View

Check Box

次に、Text View を選択して次の状態にする。

この状態で Inspector の Attributes で Editable、Continuous Spell Checking のチェックを外し、Non-contiguous Layout にチェックを入れる。

これで、パーツの配置はとりあえず終了。全体ではこんな感じにする。まあ、ものさえそろってれば、多少違ってても問題ないけど。

次回は、ここで配置したパーツと outlet を結びつけたり、テーブルを Array Controller とバインドしたりする。

単語リストプログラム その6 - ファイルビューのパーツの設定