Это вопрос, какой общий подход взять, поэтому я не включил какой-либо код.Заполнить видимую область редактора Eclipse RCP без прокрутки
Требование: Мне нужно создать страницу в многостраничном редакторе, в котором есть две вертикальные секции. Верхняя часть имеет дерево, а в нижней части - текстовое поле. Дерево и текстовое поле должны заполнить соответствующие разделы. Каждый раздел должен прокручиваться независимо, и между ними должен быть разветвитель. Когда редактор открывается, я хочу, чтобы видимая область редактора была разделена между двумя разделами на основе некоторого соотношения, которое я предоставляю. Затем, когда редактор изменяется, эти два раздела будут корректироваться пропорционально, чтобы поддерживать соотношение и соответствовать странице. Таким образом, на самой странице редактора не будут полосы прокрутки, а только две секции.
Предлагаемое решение: Моя идея состояла в том, чтобы добавить SashForm
на страницу редактора и установить размер SashForm
быть такой же, как видимая область редактора. Затем я добавлю реселлера на страницу редактора и отрегулирую размер SashForm
так, чтобы он оставался в синхронизации со страницей. Однако я не могу найти способ получить видимую область редактора. Поэтому, когда я добавляю SashForm
, он просто делает каждый раздел достаточно большим, чтобы соответствовать его данным, и добавляет прокрутку на самой странице редактора.
Возможно ли удовлетворить мое требование?
Моя проблема, по крайней мере, как я понимаю, что 'FormPage.getManagedForm(). GetForm()' возвращает экземпляр 'ScrolledForm'. Эта форма автоматически добавит полосы прокрутки для размещения своего содержимого. Поскольку я добавляю свой контент там, страница автоматически расширяется, чтобы соответствовать всему контенту. Таким образом, я получаю полосы прокрутки на всей странице, никогда в отдельных разделах. Я что-то упускаю? – user1155252
Зачем вам нужна 'Formpage'? –
Мой редактор расширяет 'FormEditor', поэтому я переопределял' addPages', Javadoc утверждает, что страницы должны быть добавлены с помощью 'addPage (IFormPage)'. Однако теперь я вижу, что 'FormEditor' также имеет' addPage (Control) '. Я попробую, чтобы посмотреть, могу ли я добавить страницу без прокрутки, соответствующую моим требованиям. Однако я удивляюсь, почему Javadoc из «FormPage» описывает класс как «базовый класс, который все страницы, которые должны быть добавлены в' FormEditor', должны подклассы ». – user1155252