import java.io.InputStream;
import java.lang.reflect.InvocationTargetException;
+import net.sourceforge.phpdt.internal.corext.codemanipulation.StubUtility;
+import net.sourceforge.phpdt.internal.corext.template.php.CodeTemplateContext;
+import net.sourceforge.phpdt.internal.corext.template.php.CodeTemplateContextType;
+import net.sourceforge.phpeclipse.PHPeclipsePlugin;
+
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.Status;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.jface.text.templates.Template;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.ui.INewWizard;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWizard;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.ide.IDE;
/**
* This wizard creates one file with the extension
public void run() {
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
try {
- page.openEditor(file);
+ IDE.openEditor(page,file,true);
} catch (PartInitException e) {
}
}
* We will initialize file contents with a sample text.
*/
private InputStream openContentStream() {
- StringBuffer contents = new StringBuffer("<?php\n\n");
- contents.append("function f0() {\n\n");
- contents.append("}\n\n");
- contents.append("function f1() {\n\n");
- contents.append("}\n\n");
- contents.append("switch($func) {\n");
- contents.append(" case \"f1\":\n");
- contents.append(" f1();\n");
- contents.append(" break;\n\n");
- contents.append(" default:\n");
- contents.append(" f0();\n");
- contents.append(" break;\n\n");
- contents.append("}\n\n?>");
- return new ByteArrayInputStream(contents.toString().getBytes());
+ try {
+ Template template= PHPeclipsePlugin.getDefault().getCodeTemplateStore().findTemplate(CodeTemplateContextType.NEWTYPE);
+ if (template == null) {
+ return null;
+ }
+ String lineDelimiter = System.getProperty("line.separator", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
+ CodeTemplateContext context= new CodeTemplateContext(template.getContextTypeId(), null, lineDelimiter);
+// context.setCompilationUnitVariables(cu);
+
+
+ return new ByteArrayInputStream(StubUtility.evaluateTemplate(context, template).getBytes());
+ } catch (CoreException e) {
+ e.printStackTrace();
+ return null;
+ }
+
+// StringBuffer contents = new StringBuffer("<?php\n\n");
+// contents.append("function f0() {\n\n");
+// contents.append("}\n\n");
+// contents.append("function f1() {\n\n");
+// contents.append("}\n\n");
+// contents.append("switch($func) {\n");
+// contents.append(" case \"f1\":\n");
+// contents.append(" f1();\n");
+// contents.append(" break;\n\n");
+// contents.append(" default:\n");
+// contents.append(" f0();\n");
+// contents.append(" break;\n\n");
+// contents.append("}\n\n?>");
+// return new ByteArrayInputStream(contents.toString().getBytes());
}
private void throwCoreException(String message) throws CoreException {