X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/template/IdentifierEngine.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/template/IdentifierEngine.java index 66a315c..0658df7 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/template/IdentifierEngine.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/template/IdentifierEngine.java @@ -6,22 +6,18 @@ 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.php.CompilationUnitContextType; +import net.sourceforge.phpdt.internal.corext.template.php.PHPUnitContext; +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 IdentifierEngine { @@ -53,8 +49,8 @@ public class IdentifierEngine { /** * 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()]); } /** @@ -77,8 +73,18 @@ public class IdentifierEngine { 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); + + PHPUnitContext context= (PHPUnitContext) fContextType.createContext(); int start= context.getStart(); int end= context.getEnd(); IRegion region= new Region(start, end - start); @@ -88,7 +94,7 @@ public class IdentifierEngine { for (int i= 0; i != identifiers.length; i++) { identifier = (String) identifiers[i]; if (context.canEvaluate(identifier)) { - fProposals.add(new IdentifierProposal(identifier, context, region, viewer)); //luginImages.get(JavaPluginImages.IMG_OBJS_TEMPLATE))); + fProposals.add(new IdentifierProposal(identifier, context, region, viewer, PHPUiImages.get(PHPUiImages.IMG_FUN), PHPUiImages.get(PHPUiImages.IMG_VAR))); } } }