package com.aptana.ruby.debug.ui.launcher;
import java.io.File;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.DirectoryDialog;
import com.aptana.core.util.StringUtil;
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 (!StringUtil.isEmpty(currentWorkingDir))
{
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;
}
}