2006年3月22日

デフォルトドキュメントを指定する方法は?

Xcodeを使えば、新規のプロジェクトの作成で、Cocoaのドキュメントベースの雛形は簡単できる。あとは、Documentクラスなり、NSAppにデリゲートさせてカスタムコントロールオブジェクトを作ったり、ある程度は分かる。ただし、Cocoaを使うと、無償で付いてくる機能をカスタマイズしたい場合ドキュメントを彷徨う場合が多い。まぁ、それでフレームワーク特有の定石のパターンがある程度身に付くので無駄骨には終わらない。

で、カスタマイズしたい機能で未だに分からないがある。

Cocoaのドキュメントベースアプリで以下の場合「名称未設定」のドキュメントが生成されるのだが、

  1. 起動時
  2. Dockをクリックした時
  3. メニュー内の新規ファイル を選択した時
この1,2の場合のみ、ある特定ファイルを開くようにしたいのだが、もちろん無ければ勝手に作るようなデフォルトファイルを想定している。

1,2で「名称未設定」を抑制する方法はある。NSAppのデリゲートオブジェクトに下記のレシーバを追加すれば良いらしい。

- (BOOL)applicationShouldOpenUntitledFile:(NSApplication *)sender
{
    return NO;
}
まぁ、ドキュメントベースの機能をNSAppに問い合わせをしているのか意味がよく分からん。

ふむ、NSApp への通知メッセージapplicationDid???のどれか受けて、状況に応じて判断してドキュメントをオープンすればいいんかぁ? さっぱり、分からん。

0 件のコメント:

Cocoa Emacs 24.3 構築 (2013/03版)

暫く使っている Cocoa Emacs を更新していなかったので、24.3 に上げてみた。 当てるパッチは inline patch と ポップアップフリーズ対応パッチ くらい。 24.3 には既にフルスクリーン実装が入っているので、よく使われているフルスクリーンパッチは外し...