package com.aptana.rdt.ui.gems;
import java.util.List;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
public class RemoveGemDialog extends Dialog {
private Combo versionCombo;
private String version;
private List<String> versions;
public RemoveGemDialog(Shell parentShell, List<String> versions) {
super(parentShell);
this.versions = versions;
}
@Override
protected Control createDialogArea(Composite parent) {
getShell().setText(GemsMessages.RemoveGemDialog_dialog_title);
Composite control = new Composite(parent, SWT.NULL);
GridLayout layout = new GridLayout();
layout.numColumns = 2;
control.setLayout(layout);
Label versionLabel = new Label(control, SWT.LEFT);
versionLabel.setText(GemsMessages.RemoveGemDialog_version_label);
versionCombo = new Combo(control, SWT.DROP_DOWN);
GridData versionComboData = new GridData();
versionComboData.widthHint = 100;
versionCombo.setLayoutData(versionComboData);
if (versions != null && !versions.isEmpty()) {
for (String version : versions) {
versionCombo.add(version);
}
// Set the oldest version as default option
versionCombo.select(versions.size() - 1);
}
return control;
}
/**
* @see org.eclipse.jface.dialogs.Dialog#buttonPressed(int)
*/
public void buttonPressed(int buttonId) {
if (buttonId == IDialogConstants.OK_ID) {
version = versionCombo.getText();
okPressed();
} else if (buttonId == IDialogConstants.CANCEL_ID) {
cancelPressed();
}
}
public String getVersion() {
return version;
}
}