org.talend.updates.runtime.ui.UpdateStudioWizardDialog.java Source code

Java tutorial

Introduction

Here is the source code for org.talend.updates.runtime.ui.UpdateStudioWizardDialog.java

Source

// ============================================================================
//
// Copyright (C) 2006-2016 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.updates.runtime.ui;

import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.preference.PreferenceDialog;
import org.eclipse.jface.wizard.ProgressMonitorPart;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.dialogs.PreferencesUtil;
import org.talend.updates.runtime.i18n.Messages;

/**
 * created by sgandon on 26 sept. 2013 Detailled comment
 * 
 */
class UpdateStudioWizardDialog extends WizardDialog {

    /**
     * DOC sgandon WizardDialogExtension constructor comment.
     * 
     * @param parentShell
     * @param newWizard
     * @param updateStudioWizard TODO
     * @param shell
     */
    UpdateStudioWizardDialog(UpdateStudioWizard updateStudioWizard, Shell parentShell) {
        super(parentShell, updateStudioWizard);
    }

    @Override
    protected org.eclipse.jface.wizard.ProgressMonitorPart createProgressMonitorPart(Composite parent,
            org.eclipse.swt.layout.GridLayout pmlayout) {
        final UpdateStudioWizard updateStudioWizard = (UpdateStudioWizard) getWizard();
        Composite checkAndProgressComposite = new Composite(parent, SWT.NONE);
        checkAndProgressComposite.setLayout(new GridLayout(3, false));
        GridDataFactory.fillDefaults().grab(true, false).applyTo(checkAndProgressComposite);
        // do not show this again check box
        updateStudioWizard.doNotShowAgainCB = new Button(checkAndProgressComposite, SWT.CHECK);
        updateStudioWizard.doNotShowAgainCB
                .setText(Messages.getString("UpdateStudioWizard.do.no.show.check.box.text")); //$NON-NLS-1$
        GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.CENTER)
                .applyTo(updateStudioWizard.doNotShowAgainCB);
        updateStudioWizard.updateCbStateFromPref();
        // progress bar
        ProgressMonitorPart createProgressMonitorPart = super.createProgressMonitorPart(checkAndProgressComposite,
                pmlayout);
        // proxy configuration button
        Button proxyPrefBtn = new Button(checkAndProgressComposite, SWT.PUSH);
        proxyPrefBtn.setText(Messages.getString("UpdateStudioWizard.proxy.config.button.text")); //$NON-NLS-1$
        GridDataFactory.fillDefaults().align(SWT.END, SWT.END).applyTo(proxyPrefBtn);
        proxyPrefBtn.addSelectionListener(new SelectionListener() {

            @Override
            public void widgetSelected(SelectionEvent e) {
                PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(getShell(),
                        "org.eclipse.ui.net.NetPreferences", new String[] { "org.eclipse.ui.net.NetPreferences" }, //$NON-NLS-1$//$NON-NLS-2$
                        null);
                dialog.open();
            }

            @Override
            public void widgetDefaultSelected(SelectionEvent e) {
                widgetSelected(e);
            }
        });
        // store the fact that the user has modified the value of the check box to enable the finish button
        updateStudioWizard.doNotShowAgainCB.addSelectionListener(new SelectionListener() {

            @Override
            public void widgetSelected(SelectionEvent e) {
                updateStudioWizard.updateWizardModel.hasDoNotShowThisAgainChanged = true;
                updateButtons();
            }

            @Override
            public void widgetDefaultSelected(SelectionEvent e) {
                widgetSelected(e);

            }
        });
        return createProgressMonitorPart;
    }

    /*
     * (non-Javadoc)
     * 
     * @see org.eclipse.jface.dialogs.Dialog#create()
     */
    @Override
    public void create() {
        super.create();
        ((UpdateStudioWizard) getWizard()).launchInitialRunnable(this);
    }

}