Set Size of JFace Wizard

前端 未结 3 625
日久生厌
日久生厌 2020-12-20 16:56

I am building an Eclipse RCP application and am having trouble on settings the size of a JFace Wizard.

相关标签:
3条回答
  • 2020-12-20 17:32

    It turns out that the Wizard is the size of your largest WizardPage.

    0 讨论(0)
  • 2020-12-20 17:35

    To set the size of the dialog, it's

    wizardDialog.getShell().setSize(WIDTH, HEIGHT)
    

    To disable that the dialog is resizable, leave the SWT.RESIZE bit in an own WizardDialog implementation:

    // original WizardDialog class
    public WizardDialog(Shell parentShell, IWizard newWizard) {
        super(parentShell);
        setShellStyle(SWT.CLOSE | SWT.TITLE | SWT.BORDER | SWT.APPLICATION_MODAL | SWT.RESIZE);
        setWizard(newWizard);
        ...
    }
    
    // Own implementation without SWT.RESIZE
    public NoResizeWizardDialog(Shell parentShell, IWizard newWizard) {
        super(parentShell);
        setShellStyle(SWT.CLOSE | SWT.TITLE | SWT.BORDER | SWT.APPLICATION_MODAL);
        setWizard(newWizard);
        ...
    }
    
    0 讨论(0)
  • 2020-12-20 17:37

    Yeah, it is generally a good idea to let Eclipse work out the size for you. However, if you really want to set the size of the wizard, you can do it by setting the size of the WizardDialog which you are using to open your wizard. For example:

    Wizard wizard = new MyCustomWizard();
    WizardDialog wizardDialog = new WizardDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), wizard);
    wizardDialog.setPageSize(WIDTH, HEIGHT);
    // Could also use wizardDialog.setMinimumPageSize(WIDTH, HEIGHT) if that's more appropriate
    
    0 讨论(0)
提交回复
热议问题