in PluginsAndFeatures/azure-toolkit-for-eclipse/com.microsoft.azuretools.azureexplorer/src/com/microsoft/azuretools/azureexplorer/forms/createvm/MachineSettingsStep.java [97:200]
private void createSettings(Composite container) {
final Composite composite = new Composite(container, SWT.NONE);
GridLayout gridLayout = new GridLayout();
gridLayout.numColumns = 1;
GridData gridData = new GridData();
gridData.horizontalAlignment = SWT.FILL;
gridData.verticalAlignment = GridData.BEGINNING;
gridData.grabExcessHorizontalSpace = true;
gridData.widthHint = 250;
composite.setLayout(gridLayout);
composite.setLayoutData(gridData);
vmNameLabel = new Label(composite, SWT.LEFT);
vmNameLabel.setText("Virtual Machine Name:");
vmNameTextField = new Text(composite, SWT.LEFT | SWT.BORDER);
gridData = new GridData(SWT.FILL, SWT.CENTER, true, true);
vmNameTextField.setLayoutData(gridData);
vmSizeLabel = new Label(composite, SWT.LEFT);
vmSizeLabel.setText("Size:");
Composite sizeContainer = new Composite(composite, SWT.NONE);
gridLayout = new GridLayout();
gridLayout.numColumns = 2;
sizeContainer.setLayout(gridLayout);
gridData = new GridData();
gridData.horizontalAlignment = SWT.FILL;
gridData.grabExcessHorizontalSpace = true;
sizeContainer.setLayoutData(gridData);
vmSizeComboBox = new Combo(sizeContainer, SWT.READ_ONLY);
gridData = new GridData(SWT.FILL, SWT.CENTER, true, true);
vmSizeComboBox.setLayoutData(gridData);
pricingLink = new Link(sizeContainer, SWT.NONE);
pricingLink.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
try {
PlatformUI.getWorkbench().getBrowserSupport().getExternalBrowser()
.openURL(new URL("https://azure.microsoft.com/en-us/pricing/details/virtual-machines/linux/"));
} catch (Exception ex) {
DefaultLoader.getUIHelper().logError(ex.getMessage(), ex);
}
}
});
pricingLink.setText("<a>Pricing</a>");
gridData = new GridData(SWT.RIGHT, SWT.CENTER, false, false);
pricingLink.setLayoutData(gridData);
vmUserLabel = new Label(composite, SWT.LEFT);
vmUserLabel.setText("User name:");
vmUserTextField = new Text(composite, SWT.LEFT | SWT.BORDER);
gridData = new GridData(SWT.FILL, SWT.CENTER, true, true);
vmUserTextField.setLayoutData(gridData);
certificateCheckBox = new Button(composite, SWT.CHECK);
certificateCheckBox.setText("Upload compatible SSH key");
certificateCheckBox.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
certificateCheckBoxSelected(certificateCheckBox.getSelection());
}
});
createCertificatePanel(composite);
passwordCheckBox = new Button(composite, SWT.CHECK);
passwordCheckBox.setText("Provide a password");
passwordCheckBox.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
vmPasswordLabel.setEnabled(passwordCheckBox.getSelection());
vmPasswordField.setEnabled(passwordCheckBox.getSelection());
confirmPasswordLabel.setEnabled(passwordCheckBox.getSelection());
confirmPasswordField.setEnabled(passwordCheckBox.getSelection());
validateEmptyFields();
}
});
vmPasswordLabel = new Label(composite, SWT.LEFT);
vmPasswordLabel.setText("Password:");
vmPasswordField = new Text(composite, SWT.PASSWORD | SWT.BORDER);
gridData = new GridData(SWT.FILL, SWT.CENTER, true, true);
vmPasswordField.setLayoutData(gridData);
confirmPasswordLabel = new Label(composite, SWT.LEFT);
confirmPasswordLabel.setText("Confirm:");
confirmPasswordField = new Text(composite, SWT.PASSWORD | SWT.BORDER);
gridData = new GridData(SWT.FILL, SWT.CENTER, true, true);
confirmPasswordField.setLayoutData(gridData);
ModifyListener modifyListener = new ModifyListener() {
@Override
public void modifyText(ModifyEvent modifyEvent) {
validateEmptyFields();
}
};
vmNameTextField.addModifyListener(modifyListener);
vmUserTextField.addModifyListener(modifyListener);
certificateField.addModifyListener(modifyListener);
vmPasswordField.addModifyListener(modifyListener);
confirmPasswordField.addModifyListener(modifyListener);
}