X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/util/PHPProjectSelector.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/util/PHPProjectSelector.java new file mode 100644 index 0000000..e7c21b2 --- /dev/null +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/util/PHPProjectSelector.java @@ -0,0 +1,41 @@ +package net.sourceforge.phpdt.internal.ui.util; + +import net.sourceforge.phpeclipse.PHPCore; +import net.sourceforge.phpeclipse.PHPeclipsePlugin; +import org.eclipse.core.resources.IProject; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.ui.model.WorkbenchLabelProvider; +import net.sourceforge.phpdt.internal.ui.dialog.ElementListSelectionDialog; + +public class PHPProjectSelector extends ResourceSelector { + + public PHPProjectSelector(Composite parent) { + super(parent); + + browseDialogTitle = "Project Selection"; + } + + public IProject getSelection() { + String projectName = getSelectionText(); + if (projectName != null && !projectName.equals("")) + return PHPeclipsePlugin.getWorkspace().getRoot().getProject(projectName); + + return null; + } + + protected void handleBrowseSelected() { + ElementListSelectionDialog dialog = new ElementListSelectionDialog(getShell(), new WorkbenchLabelProvider()); + dialog.setTitle(browseDialogTitle); + dialog.setMessage(browseDialogMessage); + dialog.setElements(PHPCore.getPHPProjects()); + + if (dialog.open() == dialog.OK) { + textField.setText(((IProject) dialog.getFirstResult()).getName()); + } + } + + protected String validateResourceSelection() { + IProject project = getSelection(); + return project == null ? EMPTY_STRING : project.getName(); + } +} \ No newline at end of file