次の問題があります。
私たちの Eclipse RCP 4 アプリケーションには複数のパーツがあり、パーツは閉じることができます。ユーザーが部品を閉じているとき、部品を本当に閉じたいかどうかをユーザーに尋ねるカスタム ポップアップ (一部の内部部品の状態に応じて) が必要です。Eclipse RCP 4 で実装するのはそれほど簡単ではないようです。または、何かを完全に監視しただけです。私たちが試したことについて簡単に説明します。
- 部分で @persist メソッドを使用して、dirtable を使用します。問題はありますが、この標準の Eclipse 保存ダイアログは必要ありません。これをオーバーライドする方法はありますか?
- public int promptToSaveOnClose(): これは有望なように見えましたが、Eclipse 4 ではそうではありませんでしたか、それともそのように統合する方法はありますか? 比較: http://e-rcp.blogspot.de/2007/09/prevent-that-rcp-editor-is-closed.html
最後の試みは、カスタム パーツ リスナーを統合することでした。簡単な例を以下に示します。
partService.addPartListener(new IPartListener() { public void partVisible(MPart part) { } public void partHidden(MPart part) { partService.showPart(part, PartState.ACTIVATE); } public void partDeactivated(MPart part) { } public void partBroughtToTop(MPart part) { } public void partActivated(MPart part) { } });
これに関する問題は、連続ループに陥っていることです。似たような内容が最後のコメントに投稿されています: Eclipse エディターでタブを閉じることを検出する
ですから、この問題についてもう少し書くこともできますが、今のところはそれで十分だと思います。さらに入力が必要な場合は、ヒントを教えてください。助けてくれてありがとう。