Contributors:
IBM Corporation - Initial implementation
- Klaus Hartlage - www.eclipseproject.de
+ www.phpeclipse.de
**********************************************************************/
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;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.dialogs.ContainerSelectionDialog;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
/**
* The "New" wizard page allows setting the container for the new file as well
*/
public class HTMLFileWizardPage extends WizardPage {
- private Text containerText;
-
+ private static final String INITIAL_FILENAME = "file.html";
+
+private Text containerText;
+
private Text fileText;
private ISelection selection;
/**
* Constructor for SampleNewWizardPage.
- *
+ *
* @param pageName
*/
public HTMLFileWizardPage(ISelection selection) {
else
container = ((IResource) obj).getParent();
containerText.setText(container.getFullPath().toString());
+ fileText.setFocus();
}
}
- fileText.setText("*.html");
+ 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)
- ((HTMLFileWizard) 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;
+ }
+ }
+ 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