com.amazonaws.eclipse.ec2.ui.views.instances.OpenShellDialog.java Source code

Java tutorial

Introduction

Here is the source code for com.amazonaws.eclipse.ec2.ui.views.instances.OpenShellDialog.java

Source

/*
 * Copyright 2011 Amazon Technologies, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at:
 *
 *    http://aws.amazon.com/apache2.0
 *
 * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
 * OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and
 * limitations under the License.
 */
package com.amazonaws.eclipse.ec2.ui.views.instances;

import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;

import com.amazonaws.eclipse.ec2.Ec2Plugin;
import com.amazonaws.eclipse.ec2.preferences.PreferenceConstants;

public final class OpenShellDialog extends MessageDialog {

    private Text userNameText;
    private String userName;

    public OpenShellDialog() {
        super(Display.getDefault().getActiveShell(), "SSH Connection Options", null,
                "Configure the SSH connection to your Amazon EC2 instance with the options below.",
                MessageDialog.INFORMATION, new String[] { "Connect" }, 0);
    }

    @Override
    protected Control createCustomArea(Composite parent) {
        parent.setLayout(new FillLayout());

        Composite control = new Composite(parent, SWT.NONE);
        control.setLayout(new GridLayout(2, false));

        new Label(control, SWT.NONE).setText("User Name: ");

        userNameText = new Text(control, SWT.BORDER);
        userNameText.setText(Ec2Plugin.getDefault().getPreferenceStore().getString(PreferenceConstants.P_SSH_USER));
        userNameText.setSelection(0, userNameText.getText().length());
        userNameText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));

        userNameText.addModifyListener(new ModifyListener() {
            public void modifyText(ModifyEvent e) {
                userName = userNameText.getText();
                getButton(0).setEnabled(userName.length() > 0);
            }
        });

        return control;
    }

    public String getUserName() {
        return userName;
    }
}