Finder 自体が cocoa になった今、ココア アプリに Finder 機能を埋め込むことは可能ですか (アプリが Snow Leopard でのみ機能すると仮定すると)?
私が言いたいのは、アプリの一部としてファイル ブラウザ ペインを用意し、実際にファイル システム自体を参照して (別のペインで編集するため)、ただし Finder のすべての機能を記述しないということです。ありがとう!
Finder 自体は単なるアプリケーションです。コンポーネント ライブラリでもフレームワークでもありません。アプリケーションに Finder 機能を「埋め込む」ことはできませんが、Finder 機能に影響を与えて Finder 機能を呼び出すことはできます。
まず、フォルダー アクションをフォルダーにアタッチできます。これらは、ユーザーがフォルダーの内容に対して何かを行ったときにトリガーされます。たとえば、ファイルをフォルダーにドロップします。これは Finder で設定します。Finder を操作したい場合は、少しAppleScriptを学ぶ必要があります。
次に、Finder は AppleEvents をサポートしているため、AppleScript を使用して Finder に影響を与えることができます。これを行う方法については、 My First AppleScriptおよびMy First AppleScript Part IIを参照してください。AppleScript の概要: AppleScript によるスクリプト作成に、より詳細な情報があります。ここにいくつかのその他の Finder スクリプトがあります。
第 3 に、Automator (Mac OS X 10.5) を使用して、ユーザーがボタンをクリックするだけで Finder が複雑なことを行う方法を開発するためのサポートもあります。Mac OS X 10.6 (「Snow Leopard」) 以降では、Automator でサービスを作成することもできます。この後者の手法の紹介については、Mac OS X 10.6 の Automator and Finder Actions を参照してください。
Finder ウィンドウ自体は埋め込み可能なコンポーネントではありませんが、ペン、印刷、削除、複製などの機能を本当に提供したい場合は、ファイル/フォルダー、およびフォルダーからフォルダーへの移動を行うことができます。応用。
ファインダーを模倣したり、そのすべての機能を複製するようにサイトを設定しない限り、これを行うのに膨大な量の作業は必要ありません。
ただし、AppleScript を使用するだけでなく、Macintosh のプログラミング方法を知っている必要があります。これを行う通常の方法は、Objective-C プログラミング言語と Cocoa フレームワークを学ぶことです。Model-View-Controller アーキテクチャを使用したアプリケーションの作成に慣れる必要があります。
MyFile などの名前の NSObject のサブクラスと、MyFolder などの名前のコレクション クラスのサブクラスを作成します。アプリケーションがブラウジング ウィンドウを作成し、アプリケーションがアクティブになる (最前面のアプリケーションになる) たびに、you8 はブラウジング メニューの内容を更新します。
メニューバーにコマンドを含むメニューを配置できます: 開く、印刷、削除、複製。ユーザーがこれらのコマンドのいずれかを実行すると、アプリケーションは適切なアクションを実行するか、要求を Finder に送信します。アクションが完全に実行された後、現在表示されているフォルダ、またはユーザーが別のフォルダに移動した場合は新しく表示されたフォルダの参照ウィンドウを更新します。
デザイン パターン、オブジェクト指向プログラミング、およびフレームワーク全般に精通している場合は、Cocoa デザイン パターンを読むと、学習曲線が大幅に短縮されます。
これらは、Finder の機能の一部を活用するために使用できるさまざまなテクニックです。これらに目を通し、これがアプリケーションのユーザーにどのようなメリットをもたらすかを頭の中で明確にすることをお勧めします。この機能の全体的な目的と、サポートしたいコマンドを書き留めておくと、開発する際のパスを選択しやすくなります。
Finder は常に実行されているため、ユーザーは常にボタンをクリックするだけで Finder フォルダ ウィンドウをクリックできます。そのため、その機能を単純に複製することは避けてください。ユーザーに提供するメリットに焦点を当てます。ユーザーがコンテンツを表示しているフォルダーを別のアプリケーションから更新してから、アプリケーションに切り替える状況を確実に処理してください。
いいえ、彼らはFinderをプレビューのようなフレームワークの単なるホストにしたわけではありません。あなたはまだこれを自分で書かなければなりません。