長期に渡る運用

org.eclipse.jface.operations パッケージは、進行状況表示が必要な、あるいはユーザーが操作をキャンセルできる、 長期に渡る運用のためのインターフェースを定義しています。

実行可能および進行状況

プラットフォームのコア・ランタイムは、共通のインターフェース IProgressMonitor を定義しています。 これは、長期に渡る運用が進行しているときに、ユーザーに進行状況を報告するために使用されます。 クライアントは、ユーザーに進行状況を表示することが重要な場合には、 多くのプラットフォーム API のメソッドでパラメーターとしてモニターを提供することができます。

JFace は、進行状況をモニターするためのユーザー・インターフェースをインプリメントしているオブジェクトに対して、 さらに具体的なインターフェースを定義しています。 

IRunnableWithProgress は、 長期に渡る運用のためのインターフェースです。  このインターフェースの実行メソッドは、 IProgressMonitor パラメーターを 持っています。これは、進行状況を報告し、ユーザーからのキャンセルがないかをチェックするために使用されます。

IRunnableContext は、 進行状況を報告することができる、UI 内のさまざまな場所におけるインターフェースです。  このインターフェースをインプリメントするクラスは、別の手法を使用して、進行状況を表示し、操作を実行することができます。  例えば、ProgressMonitorDialog は、 進行状況ダイアログを表示することにより、このインターフェースをインプリメントしています。  IWorkbenchWindow は、 ワークベンチ・ウィンドウの状況表示行に進行状況を表示することにより、このインターフェースをインプリメントしています。  WizardDialog は、 ウィザード内の状況表示行の内部に長期に渡る運用を表示するためのインターフェースをインプリメントしています。

注:  ワークベンチの UI は、 WorkspaceModifyOperation での操作を追加サポートしています。  このクラスは、ワークスペースを変更する長期に渡る運用のインプリメンテーションを容易にします。  これは、IRunnableWithProgressIWorkspaceRunnable の間を マップします。  詳細については javadoc を参照してください。

モーダル操作

ModalContext クラスは、 クライアント・コードの観点からはモーダルである操作を実行するために提供されています。 これは、IRunnableContext の さまざまなインプリメンテーション内部で使用されます。  プラグインが、長期に渡る運用が終了するまで待機してから、実行を継続する必要がある場合には、 ModalContext を使用すると、 ユーザー・インターフェースが応答できるようにしたまま、待機することができます。

モーダル・コンテキストで操作を実行すると、別のスレッドで操作を fork するようにできます。 fork が偽の場合、操作は呼び出し側のスレッドで実行されます。  fork が真の場合は、操作は新しいスレッドで実行され、呼び出し側のスレッドはブロックされ、 UI のイベント・ループは、操作が終了するまで実行されます。   

UI のイベント・ループの詳細については、 「クライアントに対するスレッド化の問題」を参照してください。

Copyright IBM Corporation and others 2000, 2003.