com.siteview.mde.internal.ui.wizards.site.NewSiteProjectCreationPage.java Source code

Java tutorial

Introduction

Here is the source code for com.siteview.mde.internal.ui.wizards.site.NewSiteProjectCreationPage.java

Source

/*******************************************************************************
 *  Copyright (c) 2000, 2008 IBM Corporation and others.
 *  All rights reserved. This program and the accompanying materials
 *  are made available under the terms of the Eclipse Public License v1.0
 *  which accompanies this distribution, and is available at
 *  http://www.eclipse.org/legal/epl-v10.html
 * 
 *  Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package com.siteview.mde.internal.ui.wizards.site;

import java.io.File;
import org.eclipse.jface.dialogs.Dialog;
import com.siteview.mde.internal.ui.IHelpContextIds;
import com.siteview.mde.internal.ui.MDEUIMessages;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.*;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.*;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;

public class NewSiteProjectCreationPage extends WizardNewProjectCreationPage {

    private Button fWebButton;
    protected Text fWebText;
    private Label fWebLabel;

    /**
     * Creates a new project creation wizard page.
     *
     * @param pageName the name of this page
     */
    public NewSiteProjectCreationPage(String pageName) {
        super(pageName);
    }

    /** (non-Javadoc)
     * Method declared on IDialogPage.
     */
    public void createControl(Composite parent) {
        super.createControl(parent);
        Composite control = (Composite) getControl();
        GridLayout layout = new GridLayout();
        layout.verticalSpacing = 15;
        control.setLayout(layout);

        Group webGroup = new Group(control, SWT.NULL);
        webGroup.setText(MDEUIMessages.NewSiteProjectCreationPage_webTitle);

        initializeDialogUnits(parent);
        layout = new GridLayout();
        layout.numColumns = 2;
        webGroup.setLayout(layout);
        webGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

        fWebButton = new Button(webGroup, SWT.CHECK);
        fWebButton.setText(MDEUIMessages.SiteHTML_checkLabel);
        GridData gd = new GridData();
        gd.horizontalSpan = 2;
        fWebButton.setLayoutData(gd);
        fWebButton.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent e) {
                fWebLabel.setEnabled(fWebButton.getSelection());
                fWebText.setEnabled(fWebButton.getSelection());
                setPageComplete(validatePage());
            }
        });

        fWebLabel = new Label(webGroup, SWT.NULL);
        fWebLabel.setText(MDEUIMessages.SiteHTML_webLabel);
        fWebLabel.setEnabled(false);

        fWebText = new Text(webGroup, SWT.BORDER);
        fWebText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        fWebText.setText("web"); //$NON-NLS-1$
        fWebText.setEnabled(false);
        fWebText.addModifyListener(new ModifyListener() {
            public void modifyText(ModifyEvent e) {
                setPageComplete(validatePage());
            }
        });

        setPageComplete(validatePage());
        setControl(control);
        Dialog.applyDialogFont(control);
        PlatformUI.getWorkbench().getHelpSystem().setHelp(control, IHelpContextIds.NEW_SITE_MAIN);
    }

    public String getWebLocation() {
        if (fWebButton == null)
            return null;

        if (!fWebButton.getSelection())
            return null;

        String text = fWebText.getText();
        if (text.startsWith(File.separator) || text.startsWith("/")) //$NON-NLS-1$
            text = text.substring(1);
        if (text.endsWith(File.separator) || text.endsWith("/")) //$NON-NLS-1$
            text = text.substring(0, text.length() - 1);
        return text.trim();
    }

    protected boolean validatePage() {
        if (!super.validatePage())
            return false;
        String webLocation = getWebLocation();
        if (webLocation != null && webLocation.trim().length() == 0) {
            setErrorMessage(MDEUIMessages.SiteHTML_webError);
            return false;
        }
        return true;
    }
}