2017-07-18 15 views
0

私は異なる視点を持つRCPアプリケーションを持っています。 p_layoutはIPageLayoutオブジェクトであるRCPアプリケーション内のビューのクローズ機能を無効にする

p_layout.addStandaloneView(View1.ID, true, IPageLayout.LEFT, lf_ratioView1, p_layout.getEditorArea()); 
    p_layout.addStandaloneView(MyView.ID, false, IPageLayout.TOP, lf_ratioMyView, View1.ID); 
    final IFolderLayout lf_detailsFolder = p_layout.createFolder("Details", IPageLayout.RIGHT, lf_ratioDetailsView, View1.ID); 
    lf_detailsFolder.addPlaceholder(DetailsView.ID); 
    lf_detailsFolder.addPlaceholder(View2.ID); 
    lf_detailsFolder.addPlaceholder(View3.ID + ":*"); 
    lf_detailsFolder.addView(View4.ID); 
    p_layout.addStandaloneView(View 5.ID, true, IPageLayout.BOTTOM, lf_ratioView5, "Details"); 
    p_layout.addStandaloneView(View6.ID, false, IPageLayout.BOTTOM, lf_ratioView6, View5.ID); 

一の観点では、そのように定義いくつかのビューが存在します。 これらのビューは、異なるボタンを押して閉じると開きます。

FolderLayout:DetailsView、View2、View3およびView 4のビューの閉じるオプションを無効にして、ユーザーがそれらのボタンを使用して閉じることができるようにしたいとします。

plugin.xmlのビュー拡張ポイントから属性closableをtrueに設定しようとしましたが、機能しませんでした。

私はまた、コードで試してみました:

p_layout.getViewLayout(DetailsView.ID).setCloseable(false); 
    p_layout.getViewLayout(View2.ID).setCloseable(false); 
    p_layout.getViewLayout(View3.ID).setCloseable(false); 
    p_layout.getViewLayout(View24.ID).setCloseable(false); 

も動作しませんでした。

RCPアプリケーションはEclipse Marsからビルドされています。

+0

ビュー拡張ポイントに「closeable」属性はありません。 perspectiveExtension拡張ポイントが、それをパースペクティブファクトリで既に定義したビューを参照するために使用しない場合、未定義の動作につながります。 –

答えて

0

明らかに、私が閉じることができたくなかった各ビューのメソッドsetCloseable(false)が正解でした。

"クリーン作業スペース"属性が有効になるようにアプリケーションを起動しました。

関連する問題