きりかノート 3冊め

おあそびプログラミング

Inside TextEdit #1 - まずは README から

「あなたがMacを使うべき10の理由」で TextEdit についての言及があって興味を持ったので、久しぶりにコードをながめてみよう。通常であれば、 /Developer/Examples/AppKit/TextEdit/ にインストールされている。

「Document base Application で ドキュメントウィンドウに NSTextView 貼ればできるんじゃないの?」と思ってる人もいるかもしれないけれど、それがそうでもないのだ。AppleScript に対応させたり、印刷の制御したり。なによりも、NSDocument を使っていない。NSDocumentController は使ってるから、Document base のとそんなに変わらなくもあるのだけど。

コ−ドにはいる前に、README.rtf を見ておく。けっこうていねいに書いてあって、OS のバージョンが変化したときに Cocoa にどんな機能が追加されたかもわかったりしておもしろい。

「Changes in TextEdit 1.4 (Tiger)」で、いくつか目をひいた点としては、

  • Spotlight 検索のためのドキュメントプロパティを追加したよ
  • WordML, Safari WebArchive 形式での保存ができるよ
  • 「編集」メニューに「改行」「段落区切り」「改ページ」の挿入を追加したよ。改行と段落区切りは区別されてて、 Return キーの入力は段落区切りになるよ。
  • Cocoa のテキストシステムが変わったから、複数選択や矩形選択ができるようになったよ

最後のはぜんぜん知らなかった。NSTextView レベルでそうなってるので、CotEditor や JTerminal でもできる。複数選択は Command-ドラッグで、矩形選択は、Option-ドラッグだ。

今日はここまで。本格的なコードについては(たぶん)次回以降に。