2009-06-10 8 views
4

私はViewPartを持っています。ViewPartは、その高さを定義する比率で通常のプラグイン拡張ポイントを使用して作成されています。後で、私はViewPartのためにCanvasにいくつかのものを追加するコードブロックを持っています。ユーザーがViewPartの端をドラッグして大きくしない限り、新しい項目は表示されません。 ViewPartに現在の内容または指定した値と一致するようにプログラム自体でサイズを変更するよう指示する方法はありますか?プログラムでEclipseのViewPartのサイズを変更するにはどうすればよいですか?

答えて

0

正しくリコールすると、ViewPartにサイズ変更を依頼する方法はありません。私たちは以前(RCP 3.4で)この問題に遭遇しました。私はそれを回避しなければならないと考えています。

私たちがやっていることは、考えられるすべてのコントロールを最初に追加してから隠すことだと思います。しかし、私たちはウィザードでこれをやっていたので、最初のページが表示され、コントロールは非常に動的ではありませんでした。たとえば、コントロールの最大数はわかっていて、ユーザーが変更できるものはありませんでした。

1

"短い答えは、常にあなたのビューのサイズと位置を制御することはできないということです。"

さらにEclipse FAQです。

4

これを機能させることはできますが、独自のビュースタック内にあるビューに対してのみ行うことができます。 IViewPartのJavadocを参照してください。

As of 3.4, views may optionally adapt to ISizeProvider if they have a 
preferred size. The default presentation will make a best effort to 
allocate the preferred size to a view if it is the only part in a stack. 
If there is more than one part in the stack, the constraints will be 
disabled for that stack. The size constraints are adjusted for the size 
of the tab and border trim. Note that this is considered to be a hint to 
the presentation, and not all presentations may honor size constraints. 

、この動作を確認説明hereとしてUIテストプロジェクトをチェックアウトし、「レイアウト制約テスト」と呼ばれるビューを開くには。

+0

これは素晴らしかったです!どうもありがとうございます。もし誰かが興味を持っていれば、このファイルがあります:https://github.com/eclipse/eclipse.platform.ui/blob/master/tests/org.eclipse.ui.tests/Eclipse%20UI%20Tests/org/eclipse/ui /tests/layout/constraints/LayoutConstraintsView.java – parasietje

関連する問題