com.aptana.ui.ftp.actions.NewFTPConnectionAction.java Source code

Java tutorial

Introduction

Here is the source code for com.aptana.ui.ftp.actions.NewFTPConnectionAction.java

Source

/**
 * Aptana Studio
 * Copyright (c) 2005-2011 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.ui.ftp.actions;

import org.eclipse.jface.action.IAction;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.ui.IObjectActionDelegate;
import org.eclipse.ui.IWorkbenchPart;

import com.aptana.ide.core.io.CoreIOPlugin;
import com.aptana.ui.IPropertyDialog;
import com.aptana.ui.ftp.internal.FTPPropertyDialogProvider;

/**
 * @author Max Stepanov
 */
public class NewFTPConnectionAction implements IObjectActionDelegate {

    private static final String DEFAULT_TYPE = "ftp"; //$NON-NLS-1$

    private IWorkbenchPart targetPart;

    /*
     * (non-Javadoc)
     * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction,
     * org.eclipse.ui.IWorkbenchPart)
     */
    public void setActivePart(IAction action, IWorkbenchPart targetPart) {
        this.targetPart = targetPart;
    }

    /*
     * (non-Javadoc)
     * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
     */
    public void run(IAction action) {
        Dialog dlg = new FTPPropertyDialogProvider().createPropertyDialog(targetPart.getSite());
        if (dlg instanceof IPropertyDialog) {
            String typeId;
            if (action == null) {
                typeId = DEFAULT_TYPE;
            } else {
                typeId = action.getId();
                int index = typeId.lastIndexOf('.');
                if (index >= 0 && index + 1 < typeId.length()) {
                    typeId = typeId.substring(index + 1);
                }
            }
            ((IPropertyDialog) dlg).setPropertySource(CoreIOPlugin.getConnectionPointManager().getType(typeId));
        }
        dlg.open();
    }

    /*
     * (non-Javadoc)
     * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction,
     * org.eclipse.jface.viewers.ISelection)
     */
    public void selectionChanged(IAction action, ISelection selection) {
    }
}