1

エディターエリアを使用するEclipseRCPアプリケーションがあります。プログラムでやりたいことがいくつかありますが、ドキュメントが見つかりません。

1)エディターのサッシレイアウトを復元しないでください。つまり、私はrcp saveAndRestore機能を使用するのが好きですが、私の視点、ビュー、およびその他の瞬間のために。ただし、エディター領域の複数のタブグループを復元したくありません。IPersistableEditorインターフェイスを実装しないことを選択したため、エディターセッションは復元されませんが、アプリケーションを再起動しても、分割されたウィンドウ(複数のタブグループのswtサッシ)などが残っています。デフォルトのようなグループ。

2)エディターをプログラムで別のタブグループに分割/複製したい。たとえば、「水平に分割」というボタンがあり、現在のタブグループの横にある新しいタブグループで新しいエディターを開きます。

どんな助けでも大歓迎です!ハッピーコーディング!

/ P

4

1 に答える 1

1

1)おかしい、プラットフォームのバグのようです。ワークベンチウィンドウを閉じるときに、すべてのエディターを明示的に閉じることができます。これを行う1つのオプションは、WorkbenchWindowAdvisorのpreWindowShellCloseメソッドをオーバーライドすることです。

public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
    @Override
    public boolean preWindowShellClose() {
        getWindowConfigurer().getWindow().getActivePage().closeAllEditors(true);
        return super.preWindowShellClose();
    }
}

ApplicationWorkbenchWindowAdvisorにアクセスできない場合は、IPerspectiveListenerXを使用して同じことを試すことができます。

2)このためのパブリックAPIはないと思います。エディター領域の動作は、プレゼンテーション・ファクトリーで定義されています(org.eclipse.ui.presentationFactories拡張ポイントを参照)。RCP標準プレゼンテーションのクローンを作成し、必要な分割エディター領域オンデマンド機能を実装できます。

于 2012-06-04T13:48:54.980 に答える