package org.rubypeople.rdt.internal.ui.util;
import java.io.File;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.DirectoryDialog;
public class DirectorySelector extends ResourceSelector {
public DirectorySelector(Composite parent) {
super(parent);
}
protected void handleBrowseSelected() {
DirectoryDialog dialog = new DirectoryDialog(getShell());
dialog.setMessage(browseDialogMessage);
String currentWorkingDir = textField.getText();
if (!currentWorkingDir.trim().equals("")) {
File path = new File(currentWorkingDir);
if (path.exists()) {
dialog.setFilterPath(currentWorkingDir);
}
}
String selectedDirectory = dialog.open();
if (selectedDirectory != null) {
textField.setText(selectedDirectory);
}
}
protected String validateResourceSelection() {
String directory = textField.getText();
File directoryFile = new File(directory);
if (directoryFile.exists() && directoryFile.isDirectory())
return directory;
return EMPTY_STRING;
}
}