単語リストプログラム その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 - ファイルビューのパーツの設定