X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/template/TemplateEngine.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/template/TemplateEngine.java index d14b31e..f315c61 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/template/TemplateEngine.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/template/TemplateEngine.java @@ -6,22 +6,20 @@ package net.sourceforge.phpdt.internal.ui.text.template; import java.util.ArrayList; +import net.sourceforge.phpdt.internal.corext.template.ContextType; +import net.sourceforge.phpdt.internal.corext.template.DocumentTemplateContext; +import net.sourceforge.phpdt.internal.corext.template.Template; +import net.sourceforge.phpdt.internal.corext.template.Templates; +import net.sourceforge.phpdt.internal.corext.template.php.CompilationUnitContextType; +import net.sourceforge.phpdt.internal.ui.PHPUiImages; +import net.sourceforge.phpdt.internal.ui.text.java.IPHPCompletionProposal; + +import org.eclipse.jface.text.BadLocationException; import org.eclipse.jface.text.IDocument; import org.eclipse.jface.text.IRegion; import org.eclipse.jface.text.ITextViewer; import org.eclipse.jface.text.Region; - -//import org.eclipse.jdt.core.ICompilationUnit; -//import org.eclipse.jdt.core.JavaModelException; - -//import org.eclipse.jdt.internal.corext.Assert; -import net.sourceforge.phpdt.internal.corext.template.ContextType; -import net.sourceforge.phpdt.internal.corext.template.Template; -import net.sourceforge.phpdt.internal.corext.template.Templates; -import net.sourceforge.phpdt.internal.corext.template.java.CompilationUnitContext; -import net.sourceforge.phpdt.internal.corext.template.java.CompilationUnitContextType; -//import org.eclipse.jdt.internal.ui.JavaPluginImages; -import net.sourceforge.phpdt.internal.ui.text.java.IJavaCompletionProposal; +import org.eclipse.swt.graphics.Point; //import org.eclipse.jdt.internal.ui.text.link.LinkedPositionManager; public class TemplateEngine { @@ -53,8 +51,8 @@ public class TemplateEngine { /** * Returns the array of matching templates. */ - public IJavaCompletionProposal[] getResults() { - return (IJavaCompletionProposal[]) fProposals.toArray(new IJavaCompletionProposal[fProposals.size()]); + public IPHPCompletionProposal[] getResults() { + return (IPHPCompletionProposal[]) fProposals.toArray(new IPHPCompletionProposal[fProposals.size()]); } /** @@ -76,9 +74,18 @@ public class TemplateEngine { if (!(fContextType instanceof CompilationUnitContextType)) return; - - ((CompilationUnitContextType) fContextType).setContextParameters(document, completionPosition);//mpilationUnit); - CompilationUnitContext context= (CompilationUnitContext) fContextType.createContext(); + + Point selection= viewer.getSelectedRange(); + // remember selected text + String selectedText= null; + if (selection.y != 0) { + try { + selectedText= document.get(selection.x, selection.y); + } catch (BadLocationException e) {} + } + + ((CompilationUnitContextType) fContextType).setContextParameters(document, completionPosition, selection.y);//mpilationUnit); + DocumentTemplateContext context= (DocumentTemplateContext) fContextType.createContext(); int start= context.getStart(); int end= context.getEnd(); IRegion region= new Region(start, end - start); @@ -86,7 +93,7 @@ public class TemplateEngine { Template[] templates= Templates.getInstance().getTemplates(); for (int i= 0; i != templates.length; i++) if (context.canEvaluate(templates[i])) - fProposals.add(new TemplateProposal(templates[i], context, region, viewer)); //luginImages.get(JavaPluginImages.IMG_OBJS_TEMPLATE))); + fProposals.add(new TemplateProposal(templates[i], context, region, viewer, PHPUiImages.get(PHPUiImages.IMG_OBJS_TEMPLATE))); } }