共通デスクトップ環境 スタイル・ガイド

アプリケーションの中でのアタッチメントの使用

この節では、共通デスクトップ環境 1.0 のドキュメントにドキュメントを接続する方法に関するユーザ・モデルとガイドラインを説明します。この機能はメール・プログラムで実現されています。アプリケーションのインタフェースにアタッチメント・リストを取り込む場合は、この節を読んでください。


注 -

このガイドラインのセットは、埋め込みドキュメント・アーキテクチャの説明ではありません。


共通デスクトップ環境では、アタッチメントとアタッチメント・リストは次のように定義されています。

アタッチメント

A と B という名前の 2 つのドキュメントがあるとします。ドキュメント A が別のドキュメント B に接続されると、A は B によって「運ばれる」独立したドキュメントとして存在し続けます。A は B の内部でアイコンとして表示されます。A は独立に開いたり表示したりでき、後に B から分離して一度も接続されなかったかのようにできます。

アタッチメント・リスト

アタッチメントが表示される領域です。スクロール可能でなくてはならず、アイコン・ラベルを表示するための空間が必要です。


注 -

ユーザは、複数のドキュメントが接続されたドキュメントをコンテナとは見ません。コンテナは、アタッチメントのヒューマン・インタフェースに現われるべきではない実装上の概念です。このため、ユーザにアタッチメントを説明する際には、コンテナという用語は使うべきではありません (これ以外の状況では使用できることもあります)。


アタッチメント・ユーザ・モデル

アタッチメントは、接続先にアイコンで表示されます。これらのアイコンは、ファイル・マネージャや、共通デスクトップ環境の他の場所で使用されているのと同じアイコンです。基本的な動作規則は、アタッチメントと同じアイコンがファイル・マネージャで使用されているならば、あらゆる状況で、この 2 つが同じ動作をするように努力しなければならないというものです。

接続されたドキュメントの機能には、次の 3 つのレベルがあります。

  1. ドキュメントを接続および分離できる。

  2. 接続されたドキュメントを独立したウィンドウで開き、表示し、終了できる。

  3. アタッチメントを独立したウィンドウで編集し、変更内容を接続されたドキュメントに戻して保存できる。

目標は、可能な限りレベル 3 の機能を実現することです。アタッチメントがこのレベルを実現できない場合は、上記のように機能のレベルを下げていきます。この節ではレベル 3 の機能を前提として説明します。

ドキュメントがアタッチメントに関して提供している機能が、ファイル・マネージャのアイコンとして提供されている機能と大きく異なる場合は、ユーザが機能の違いをはっきりと認識できるように、アタッチメントには別のアイコンを用意してください。

アタッチメントの機能

アタッチメントをアプリケーションに組み込む際には、いくつかの点に注意する必要があります。

何がアタッチメントできるのか

各アプリケーションについて、接続できる項目を決定しなければなりません。たとえば、メール・プログラムはドキュメント、スクリプト、およびアプリケーションなどを接続できますが、フォルダは接続できません。

アタッチメントの方法は

アタッチメントの方法には、[アタッチメント] メニューの [ファイルの追加] を選択したときに表示されるファイル選択ダイアログ・ボックスを通して行う方法と、ファイル・マネージャまたは他のアプリケーションからのドラッグ&ドロップによる方法の 2 つがあります。

推奨 

eh: 

ドラッグ&ドロップがオブジェクトの接続を行う唯一の方法であってはならない。 

推奨 

el: 

ユーザが、接続可能な項目でない何かをファイル選択ダイアログ・ボックスから選択した場合に、ユーザは、選択された項目が接続できないことを説明するエラー・メッセージを受け取る。次に例を示す。 

The folder "My.Stuff" cannot be attached because it is a folder. Only documents, applications, and scripts can be attached.

My.Stuff」はフォルダなので、アタッチできません。ドキュメント、アプリケーション、およびスクリプトだけがアタッチできます。

推奨 

ej: 

ユーザが、接続可能でない何かをアタッチメント・リストにドロップしようとすると、ドロップは失敗し、その項目はソースにスナップ・バックされる。 

アタッチメントされると何が起こるのか

ドキュメント A をドキュメント B に接続すると、ドキュメント A のビットがドキュメント B の中にコピーされます。元のファイルとのつながりは、これ以外にはありません。ユーザが接続されたドキュメントを開いて変更すると、変更内容は接続されたドキュメントにのみ保存され、ファイル・システムの中のファイルには保存されません。

アタッチメント内部のアタッチメント

ユーザは、アタッチメントを含んでいるメッセージやテキスト・ファイルを接続できます。これは「ネスティング」と呼ばれることがあります。テキスト・ファイルを読んでいるとメール・メッセージがあり、このメール・メッセージを開くと、さらにテキスト・メッセージとアタッチメントがあるというような状況があります。

アタッチメントの編集と保存

ユーザがアタッチメントを開き、編集し、変更内容をアタッチメントに保存できなくてはなりません。アタッチメントがこれを実行する能力を持っていない場合は、アタッチメントが選択されたときに、メニューの [アクション] の部分には [開く] のアクションが表示されてはならず、またダブルクリックを行なってもアタッチメントが開かないようになっていなければなりません。

推奨 

ei: 

ダブルクリックは、アタッチメントを選択して、アタッチメントを [開く] メニュー項目を選択するという操作のショートカットであり、アタッチメントにアクセスするための唯一の方法であってはならない。 

推奨 

ek: 

ユーザが編集するために 1 個以上のアタッチメントを開いており、ユーザの編集結果を失う可能性がある操作を試みた場合は、ユーザに明確な警告を発し、変更内容を保存する機会を与えなければならない。 

アタッチメントの実行

ユーザが実行可能なアタッチメントを開いたり、ダブルクリックを試みた場合、ユーザにこの操作の確認を求めた方がいいことがあります。この場合、アタッチメント名と、アタッチメントに対して実行されるアクション名の両方が変数になります。エラー・メッセージの例を次に示します。

   "Invitation" is an executable attachment. Do you want to Run it?
    Buttons: Run, Cancel, Help
   「Invitation」は実行可能なアタッチメントです。実行しますか?
   ボタン: [実行]、[取消し]、[ヘルプ]

読み取り専用アタッチメント

読み取り専用アタッチメントは、読み取り専用として開くことができます。この状態は、アタッチメント・アプリケーションのメニューを無効にしたり、選択カーソルを無効にしたり、その他のはっきりした方法を使ってユーザに通知したりしなければなりません。少なくとも、アタッチメント・アプリケーションの [保存] メニュー項目は選択不可になっていなければなりません。

ドラッグ読み込みとアタッチメント

ドラッグ読み込みを実行するには 2 つの方法があります。ドラッグ読み込みを直接にサポートするアプリケーションでは、ユーザがファイル・マネージャのアイコンを、そのアプリケーションの開かれたウィンドウにドラッグ&ドロップすれば、そのアイコンが表すファイルが読み込まれます。同じ結果が、アイコンをアクション・アイコン上にドロップしても実現されます。アクションはエディタを起動し、そのアイコンが表すファイルがエディタに読み込まれます。ファイル・マネージャのアイコンをドラッグ読み込みするのは、[ファイル] メニューで [開く] を選択するのと同じです。開かれたファイルは編集、保存ができます。

アタッチメントの場合、ユーザはドラッグ読み込みをサポートするエディタ上やアクション上に、アタッチメントをドラッグ&ドロップできますが、編集の結果はアタッチメントには保存されません。アタッチメントはバッファとして実装されており、読み取り専用のデータとして読み込まれます。

ユーザが読み込んだアタッチメントに変更内容を保存しようとすると、エディタはファイル選択ダイアログ・ボックスを表示し、ユーザに、名前を確認して、ファイル・システム内のファイルの保存場所を選択するように要求します。ファイル選択ダイアログ・ボックスで使用される名前は、アタッチメント名と同じです。エディタ (コマンド行アプリケーション) がファイル選択ダイアログ・ボックスを表示できない場合は、読み込んだファイルが読み込み専用であることを、はっきりと視覚的にユーザに通知しなければなりません。

ユーザがアタッチメントを直接に編集したい場合は、ユーザはアタッチメント・リストの中でアタッチメントを選択し、[アタッチメント] メニューから [開く] を選択するか、アタッチメントをダブルクリックします。これにより、編集し、変更内容を保存できるような形でアタッチメントを開くことができます。

もう 1 つのオプションとして、アタッチメントをドラッグ読み込みし、編集し、新しいファイル名で保存して、古いアタッチメントを新しいアタッチメントに手動で置き換えるという方法があります。

[アタッチメント] メニューの内容

推奨 

bw: 

アプリケーションでアタッチメント・メニューを使用する場合、該当するアクションが実際にサポートされているなら、次に示す選択肢にアプリケーションの機能を加えて格納します。 

推奨 

 

[ファイルの追加...] 

接続するファイルや他の項目を選択する。ユーザが接続したいファイルを選択するためのファイル選択ボックスが表示される。ファイル選択ボックスのデフォルト・ボタンは [接続] である。 

推奨 

 

[別名保存...] 

現在選択されているアタッチメントを保存する。ファイル・システムのどこにアタッチメントを保存するのかを指定するためのファイル選択ダイアログ・ボックスが、ユーザに表示される。複数のアタッチメントが選択されている場合、名前フィールドはアクティブでなく、アタッチメントの現在の名前が、新しいファイルの名前として使用される。このメニュー項目は、1 個以上のアタッチメントが選択されているときにのみアクティブである。 

推奨 

 

[名前の変更...] 

アタッチメント・アイコンの名前を変更する。アプリケーションは、ファイル・マネージャのように、アタッチメント・アイコンの名前を変更したいときにはいつでも変更できるような手段を提供しなければならない。アプリケーションがインラインでの名前変更を提供できない場合、[名前の変更] はダイアログ・ボックスを表示して、ユーザに名前の入力を要求することによりアタッチメントの名前を変更する。このメニュー項目は、単一のアタッチメントが選択されているときにのみアクティブである。複数のアタッチメントが選択されているときはアクティブではない。  

推奨 

 

[削除] 

アタッチメント・リストからアタッチメントを削除する。このメニュー項目は、アタッチメントが選択されている場合にのみアクティブである。 

推奨 

 

[すべてを選択] 

アタッチメント・リストの中のすべてのアタッチメントを選択する。