Как мне программно изменить размер затмения ViewPart? - PullRequest
4 голосов
/ 10 июня 2009

У меня есть ViewPart, который создается с использованием обычной точки расширения плагина с коэффициентом, который определяет его высоту. Позже у меня есть блок кода, который добавляет некоторые вещи в Canvas для ViewPart. Новые элементы не отображаются, если пользователь не перетаскивает край ViewPart, чтобы увеличить его. Есть ли способ программно сказать ViewPart изменить размер самого себя, чтобы соответствовать его текущему содержимому или указанному мною значению?

Ответы [ 3 ]

4 голосов
/ 12 июня 2009

Вы можете заставить это работать, но только для представлений, которые находятся в их собственном стеке представлений. См. JavaDoc для IViewPart:

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. 

Чтобы увидеть это в действии, проверьте проект теста пользовательского интерфейса, как описано здесь и откройте представление под названием «Тест ограничений макета».

1 голос
/ 12 июня 2009

«Короткий ответ: вы не всегда можете контролировать размер и положение своего обзора».

Больше на Eclipse FAQ .

0 голосов
/ 10 июня 2009

Если я правильно помню, нет способа попросить ViewPart изменить размер самого себя. Мы столкнулись с этой проблемой раньше (в RCP 3.4), и я считаю, что нам пришлось обойти ее.

Я думаю, что мы должны были сначала добавить все возможные элементы управления, а затем скрыть их. Однако мы делали это с помощью мастера, поэтому все, что мы делали, это показывали первую страницу, и элементы управления не были невероятно динамичными. Например, мы знали максимальное количество элементов управления, и ничто не могло быть изменено пользователем.

...