2011-07-09 8 views
2

RCPアプリケーションを開発しており、視点でFolderLayoutのサイズを定義する問題があります。 APIでサイズを比率として設定する必要があるため、ワークベンチのサイズを手動で変更すると、フォルダのサイズは変わっていません。 フォルダレイアウトの絶対サイズまたは最大サイズを設定する方法はありますか? EclipseのJava perspecitveのPackage explorerビューのようになります。メインワークベンチのサイズを拡大または縮小すると、その幅は変わりません。FolderLayoutのサイズを比率ではなく絶対値で設定する方法

おかげで、

答えて

3

あなたは以下のコードのように、あなたのViewPartにISizeProviderアダプタに対応する必要があります。

public Object getAdapter(Class adapter) { 
    if (ISizeProvider.class == adapter) { 
     return new ISizeProvider() { 
      public int getSizeFlags(boolean width) { 
       return SWT.MIN | SWT.MAX | SWT.FILL; 
      } 

      public int computePreferredSize(boolean width, int availableParallel, int availablePerpendicular, int preferredResult) { 
       return width ? 600 : preferredResult; 
      } 
     }; 
    } 
    return super.getAdapter(adapter); 
} 

ビューは幅によって固定されるように作成し、高さは柔軟にできるようになります。固定高さの場合は、preferedResultを希望の値に置き換えます。

また

[IViewLayout.setMoveable(ブーリアン)]、それは同様に移動不能ビューの部分を作るために理にかなっているように、既に他のビューの部分を含む別のビュースタックフォルダにその一部を移動することは、固定サイズの影響を排除することができることに、注意

乾杯、 最大

+1

Eclipse 3.xでのみ動作します。 Eclipse 4ではgetAdapter()はISizeProvider.classを引数として呼び出されることはありません。 – Robert

関連する問題