com.aptana.deploy.internal.ui.handlers.RunDeployWizardHandler.java Source code

Java tutorial

Introduction

Here is the source code for com.aptana.deploy.internal.ui.handlers.RunDeployWizardHandler.java

Source

/**
 * Aptana Studio
 * Copyright (c) 2005-2012 by Appcelerator, Inc. All Rights Reserved.
 * Licensed under the terms of the GNU Public License (GPL) v3 (with exceptions).
 * Please see the license.html included with this distribution for details.
 * Any modifications to this file must keep this entire header intact.
 */
package com.aptana.deploy.internal.ui.handlers;

import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IFileEditorInput;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.handlers.HandlerUtil;

import com.aptana.deploy.internal.ui.handlers.DeployWizardDialog;
import com.aptana.deploy.internal.ui.handlers.Messages;
import com.aptana.deploy.ui.DeployUIPlugin;
import com.aptana.deploy.wizard.DeployWizard;

public class RunDeployWizardHandler extends AbstractHandler {

    private static final String DEPLOY_WIZARD_SECTION = "DeployWizardAction"; //$NON-NLS-1$

    public Object execute(ExecutionEvent event) throws ExecutionException {
        IStructuredSelection selection = StructuredSelection.EMPTY;
        IWorkbenchPart activePart = HandlerUtil.getActivePart(event);
        if (activePart instanceof IEditorPart) {
            IEditorInput editorInput = ((IEditorPart) activePart).getEditorInput();
            if (editorInput instanceof IFileEditorInput) {
                selection = new StructuredSelection(((IFileEditorInput) editorInput).getFile());
            }
        } else {
            selection = (IStructuredSelection) HandlerUtil.getCurrentSelection(event);
        }

        // Instantiates and initializes the wizard
        DeployWizard wizard = new DeployWizard();
        wizard.init(activePart.getSite().getWorkbenchWindow().getWorkbench(), selection);
        wizard.setWindowTitle(Messages.DeployHandler_Wizard_Title);
        IDialogSettings workbenchSettings = DeployUIPlugin.getDefault().getDialogSettings();
        IDialogSettings wizardSettings = workbenchSettings.getSection(DEPLOY_WIZARD_SECTION);
        if (wizardSettings == null) {
            wizardSettings = workbenchSettings.addNewSection(DEPLOY_WIZARD_SECTION);
        }
        wizard.setDialogSettings(wizardSettings);
        wizard.setForcePreviousAndNextButtons(true);

        // Instantiates the wizard container with the wizard and opens it
        Shell shell = activePart.getSite().getShell();
        if (shell == null) {
            shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
        }
        // FIXME Don't use this special dialog! move ILoginValidator stuff to page change listener stuff when necessary!
        DeployWizardDialog dialog = new DeployWizardDialog(shell, wizard);
        dialog.setPageSize(350, 500);
        dialog.setHelpAvailable(false);
        dialog.create();
        dialog.open();

        return null;
    }
}