Как автоматически установить виджеты в окне с переменным размером окна - PullRequest
0 голосов
/ 27 ноября 2011

У меня есть приложение RCP, в котором я изменил положение окна (оболочки) и его размер путем переопределения метода postWindowCreate () в классе ApplicationWorkbenchWindowAdvisor, виджеты в представлениях не соответствуют измененному размеру окна, чтобы увидеть всевиджеты: мне нужно либо развернуть окно, либо переместить полосы прокрутки, чтобы увидеть все виджеты внутри представления, возможно ли автоматическое подгонка (показывать все виджеты в текущем размере окна, не перемещая полосы прокрутки или разворачивая окно)виджеты в представлении, даже если размер экрана меняется.

1 Ответ

3 голосов
/ 29 ноября 2011

Обычно размер оболочки изменяется в WorkbenchWindowAdvisor.preWindowOpen(), а не в WorkbenchWindowAdvisor.postWindowCreate():

public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
    @Override
    public void preWindowOpen() {
        final IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
        configurer.setInitialSize(new Point(800, 600));
        configurer.setShowCoolBar(false);
        configurer.setShowStatusLine(false);
        // configurer.setShellStyle(SWT.TITLE | SWT.RESIZE);
    }
}

Аналогично, вы можете установить заголовок окна и стиль окна.

Положение окна обычно лучше всего установить в WorkbenchWindowAdvisor.postWindowCreate() ...

Если вам нужно изменить размер окна, не забудьте позвонить shell.pack()!

...