X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/wizards/PHPFileWizard.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/wizards/PHPFileWizard.java index c3311bd..d172145 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/wizards/PHPFileWizard.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/wizards/PHPFileWizard.java @@ -37,6 +37,7 @@ import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.PartInitException; import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.ide.IDE; /** * This wizard creates one file with the extension @@ -111,8 +112,15 @@ public class PHPFileWizard extends Wizard implements INewWizard { } IContainer container = (IContainer) resource; final IFile file = container.getFile(new Path(fileName)); + String className = getClassName(fileName); + try { - InputStream stream = openContentStream(); + InputStream stream; + if (className == null) { + stream = openContentStream(); + } else { + stream = openContentStreamClass(className); + } if (file.exists()) { file.setContents(stream, true, true, monitor); } else { @@ -127,7 +135,7 @@ public class PHPFileWizard extends Wizard implements INewWizard { public void run() { IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); try { - page.openEditor(file); + IDE.openEditor(page,file,true); } catch (PartInitException e) { } } @@ -136,10 +144,39 @@ public class PHPFileWizard extends Wizard implements INewWizard { } /** + * Check if the filename is like this anyname.class.php + * @param fileName the filename + * @return the anyname or null + */ + private static final String getClassName(final String fileName) { + final int lastDot = fileName.lastIndexOf('.'); + if (lastDot == -1) return null; + final int precLastDot = fileName.lastIndexOf('.',lastDot-1); + if (precLastDot == -1) return null; + if (!fileName.substring(precLastDot+1,lastDot).toUpperCase().equals("CLASS")) return null; + return fileName.substring(0,precLastDot); + } + + /** + * We will initialize file contents for a class + * @param className the classname + */ + private InputStream openContentStreamClass(final String className) { + StringBuffer contents = new StringBuffer(""); + return new ByteArrayInputStream(contents.toString().getBytes()); + } + + /** * We will initialize file contents with a sample text. */ private InputStream openContentStream() { - String className = fileName.substring(0, fileName.length() - 3); StringBuffer contents = new StringBuffer("