2009-06-10 3 views
4

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

ответ

0

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

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

1

«Короткий ответ заключается в том, что вы не можете всегда контролировать размер и положение вашего вида».

Подробнее на Eclipse FAQ.

4

Вы можете заставить его работать, но только для представлений, которые находятся в своём стеке. Смотрите 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. 

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

+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

Смежные вопросы