Проблемы с Eclipse RCP IPageLayout

У меня есть приложение Eclipse RCP с макетом из трех столбцов :

enter image description here

. Область редактора находится в крайнем правом углу. Теперь, когда вы получаете IPageLayoutдля работы, область редактора уже добавлена. Это нормально :мы добавляем область B слева от редактора и область A слева от B, и макет именно то, что нам нужно.

Проблема в том, что когда вы перемещаете створку между A и B, виды A и B меняются без изменения размера области редактора (хорошо; )но когда вы перемещаете другую створку между B и областью редактирования,все три представления изменены; менеджер компоновки поддерживает соотношение ширины A и B, а это не , что нам нужно. Мы хотим, чтобы пользователь мог перемещать каждую створку независимо друг от друга и чтобы она влияла только на два вида, к которым она прикасается.

Похоже, основной причиной этого является то, что редактор находится на месте, когда вы получаете свой IPageView, и поэтому вы должны позиционировать IFolderLayoutотносительно него. Если бы вместо этого вы могли расположить редактор относительно точки B, изменение размера было бы правильным.

Итак, мои вопросы:

  1. Есть ли способ указать IPageViewпозиционировать редактор относительно представления, а не наоборот?
  2. За исключением этого, есть ли другой способ повлиять на алгоритм компоновки, например, написать какой-нибудь менеджер компоновки?
7
задан Ernest Friedman-Hill 9 August 2012 в 20:56
поделиться