「自分の意見に議論を渡すにはどうすればよいか」という古典的な問題に直面しているように見えますか?
このスレッドはそれを最もよく示しています:
私はRCPプロジェクトの開始時に同じ問題に直面していました。ビューモデルとしてのビューに引数を渡す方法がないという事実について、私は奇妙になりました。
なんで?なぜなら(私の強調):
開いた、プラグ可能なプラットフォームを使用しています。あなたは既存の開発に貢献し、他の人はあなたの開発に貢献できるはずです。
したがって、引数をビューに「渡す」ことはありません。これにより、すべてが開かれていないデザインにロックされます。
代わりに、ビューはプラットフォームに管理する情報を決定するように要求します(またはプラットフォームをリッスンします)。
他のビュー(まだ存在していない他のプラグインから)も、同じイベントで同じ情報を管理したい場合があります。
次に行うべきことは、現在の選択をワークベンチに要求することです。ビューはダブルクリックアクションまたは単純な選択で開いているので、ビューで管理するオブジェクトが現在選択されていると思います。
これは、ビューからワークベンチの選択を取得する方法です。
ISelection s = this.getSite().getWorkbenchWindow().getSelectionService().getSelection();
ここで、「this」はViewPartです。
次に、最初のビュー(のような特定のイベントからビューの作成を開始するビューDoubleClick)を選択プロバイダーにする必要があります。JFaceビューアは選択プロバイダーであるため、jfaceを使用している場合はビューアを使用でき、カスタムコントロールを使用している場合はインターフェイスを実装できますISelectionProvider(SWT私の場合)。
記事「EclipseWorkbench:Selection Serviceの使用」でも、いくつかの指針が得られます。
