閉じられないRCPビューを作成しようとしています。コードにセカンダリIDを使用してビューを作成しているため、このプロパティをプログラムで設定する方法が必要です。このため、拡張機能エディタのダイアログからは実行できません。
プログラムでビューからxを削除する方法はありますか?
私はついにこれを理解することができました。
パースペクティブのcreateInitialLayout()
関数では、ビューのレイアウトを取得し、その閉じることができるプロパティを設定できます。
IViewLayout vLayout = layout.getViewLayout(View.ID);
vLayout.setCloseable(false);
これは、セカンダリIDを持つビューでも機能します。その場合、コードはまったく同じになります。これは、同じプライマリIDを共有するすべてのセカンダリビューにcloseableプロパティが適用されるためです。
以下は機能しないことがわかりました。
IViewLayout vLayout = layout.getViewLayout(View.ID + ":1");
vLayout.setCloseable(false);
そのため、セカンダリIDに基づいて個々のビューを閉じることはできません。グループ全体がそうであるかそうでないかのどちらかです。
あなたはそれを簡単に行うことができます。
ビューのclosableプロパティをFalseに設定するだけです。
IViewLayout layout= layout.getViewLayout(View.ID);
layout.setCloseable(false);