У меня проблема с редактором и его содержимым. Его следующее: есть редактор с функцией предварительного просмотра печати, основную часть редактора занимает скрепка компонента PrintPreview, с левой стороны - композит с несколькими кнопками (см. Скриншот 1).
Как видите, PrintPreview находится внутри ScrolledComposite.
Проблема в том, что при изменении размера окна или представлений в редакторе нижняя полоса прокрутки перемещается под представлениями и, таким образом, исчезает. После этого невозможно прокрутить по горизонтали (полоса прокрутки редактора не отображается). смотрите скриншот 2 (нижняя полоса прокрутки становится скрытой).
Оно начинает скрываться, когда высота редактора меньше высоты правого композита (под последней кнопкой есть больше виджетов, я только что их стер)
Если я сжимаю окно, то правый композит никогда не теряет своей ширины и всегда виден (см. Скриншот 3 - он не позволяет изменять размеры больше этого).
Композиты создаются следующим образом:
@Override
public void createPartControl(final Composite parent) {
GridLayout gridLayout = new GridLayout(2, false);
parent.setLayout(gridLayout);
// Scroll area for the print area
scroll = new ScrolledComposite(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
final GridData gridData = new GridData(GridData.FILL_BOTH);
gridData.grabExcessHorizontalSpace = true;
gridData.grabExcessVerticalSpace = true;
gridData.widthHint = 1;
gridData.heightHint = 1;
scroll.setLayoutData(gridData);
scroll.setExpandHorizontal(true);
scroll.setExpandVertical(true);
// Button area
final Composite buttonArea = new Composite(parent, SWT.FLAT);
final GridData layoutData = new GridData(SWT.FILL, SWT.TOP, false, false);
buttonArea.setLayoutData(layoutData);
gridLayout = new GridLayout(1, false);
buttonArea.setLayout(gridLayout);
Вопрос: как не предотвратить исчезновение нижней полосы прокрутки? Могу ли я вести себя так же, как ширина и ширина правильного композита - невозможно изменить размер меньше, чем правильная композитная высота? Или как я могу показать полосу прокрутки во всем редакторе, если превышен минимальный предел высоты?
Я пробовал разные вещи на разных композитах, например, устанавливал наименьшую высоту и высоту подсказки, помещал кнопки прокрутки в прокручиваемый композит (просто для удовольствия) и т. Д. Но мне ничего не помогло.
Кто-нибудь знает быстрое решение? Спасибо.