13.2. Customizing a Wizard

Problem

You want to customize a template you created for a plug-in that includes a wizard.

Solution

Edit the wizard’s support file (SampleNewWizard.java in the example created in the previous recipe) to customize the code.

Discussion

In the plug-in created in the previous recipe, the wizard creates files with the default name document.new, inserting default text into those files. This wizard is supported by the two files SampleNewWizard.java and SampleNewWizardPage.java. In SampleNewWizard.java, the code begins by creating the page the wizard will show:

public class SampleNewWizard extends Wizard implements INewWizard {
    private SampleNewWizardPage page;
    private ISelection selection;

    /**
     * Constructor for SampleNewWizard.
     */
    public SampleNewWizard( ) {
        super( );
        setNeedsProgressMonitor(true);
    }
    
    /**
     * Adding the page to the wizard.
     */

    public void addPages( ) {
               page = new SampleNewWizardPage(selection);
               addPage(page);
               }
        .
        .
        .

In the createControl method of SampleNewWizardPage.java, the wizard’s appearance is created. As you can see here, the SWT controls—labels, text controls, and so on—are added and positioned:

public void createControl(Composite parent) { Composite container = new Composite(parent, SWT.NULL); GridLayout layout = new GridLayout( ); container.setLayout(layout); layout.numColumns = 3; layout.verticalSpacing = 9; Label label = new Label(container, SWT.NULL); label.setText("&Container:"); containerText = new Text(container, SWT.BORDER | SWT.SINGLE); ...

Get Eclipse Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.