**********************************************************************/
import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.IPath;
*/
public class PHPFileWizardPage extends WizardPage {
- private Text containerText;
+ private static final String INITIAL_FILENAME = "file.php";
+
+private Text containerText;
private Text fileText;
else
container = ((IResource) obj).getParent();
containerText.setText(container.getFullPath().toString());
+ fileText.setFocus();
}
}
- fileText.setText("*.php");
+ fileText.setText(INITIAL_FILENAME);
}
/**
return;
}
-// if (!PHPFileUtil.isPHPFileName(fileName)) {
-// updateStatus(PHPWizardMessages.getString("WizardPage.mustBePHP"));
-// return;
-// }
updateStatus(null);
}
}
/**
- * Finds the current directory where the file should be created
- */
- protected boolean checkFolderForExistingFile() {
- boolean result = false;
-
- if (containerText.getText() != null) {
- IPath containerPath = new Path(containerText.getText().trim());
- if (containerPath.segmentCount() > 1) {
- IFolder container = ResourcesPlugin.getWorkspace().getRoot().getFolder(
- containerPath);
- if (container != null && container.exists()) {
- IResource file = container.getFile(fileText.getText().trim());
- if (file != null && file.exists()) {
- this.setErrorMessage(PHPWizardMessages
- .getString("WizardPage.fileAlreadyExists"));
- result = true;
- }
- }
- } else {
- // this is a project
- IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(
- containerText.getText().trim());
- if (project != null && project.exists()) {
- IResource file = project.getFile(fileText.getText().trim());
- if (file != null && file.exists()) {
- this.setErrorMessage(PHPWizardMessages
- .getString("WizardPage.fileAlreadyExists"));
- result = true;
- }
- }
- }
- }
-
- if (!result)
- ((PHPFileWizard) this.getWizard()).setFileName(fileText.getText().trim());
-
- return result;
- }
+ * Finds the current directory where the file should be created
+ */
+ protected boolean checkFolderForExistingFile() {
+ IContainer container = getFileContainer();
+ if (container != null) {
+ IResource file = container.getFile(new Path(fileText.getText()
+ .trim()));
+ if (file != null && file.exists()) {
+ this.setErrorMessage(PHPWizardMessages
+ .getString("WizardPage.fileAlreadyExists"));
+ return true;
+ }
+
+ ((PHPFileWizard) this.getWizard()).setFileName(fileText.getText()
+ .trim());
+ }
+ return false;
+ }
+
+ private IContainer getFileContainer() {
+ if (containerText.getText() != null) {
+ IPath containerPath = new Path(containerText.getText().trim());
+ IContainer container;
+ if (containerPath.segmentCount() > 1) {
+ container = ResourcesPlugin.getWorkspace().getRoot().getFolder(
+ containerPath);
+ } else {
+ // this is a project
+ container = ResourcesPlugin.getWorkspace().getRoot()
+ .getProject(containerText.getText().trim());
+ }
+ if (container != null && container.exists()) {
+ return container;
+ }
+ }
+ return null;
+ }
+
+ public void setVisible(boolean visible) {
+ super.setVisible(visible);
+ if (visible) {
+ String fileName=fileText.getText().trim();
+ if (getFileContainer() != null && fileName.equalsIgnoreCase(INITIAL_FILENAME)) {
+ fileText.setFocus();
+ fileText.setText(fileName);
+ fileText.setSelection(0, fileName.length()-(new Path(INITIAL_FILENAME)).getFileExtension().length()-1);
+ }
+ }
+ }
}
\ No newline at end of file