X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/template/TemplateProposal.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/template/TemplateProposal.java index 5178caa..8350ec3 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/template/TemplateProposal.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/template/TemplateProposal.java @@ -9,10 +9,13 @@ import net.sourceforge.phpdt.internal.corext.template.TemplateBuffer; import net.sourceforge.phpdt.internal.corext.template.TemplateContext; import net.sourceforge.phpdt.internal.corext.template.TemplateMessages; import net.sourceforge.phpdt.internal.corext.template.TemplatePosition; +import net.sourceforge.phpdt.internal.corext.template.php.PHPUnitContext; +import net.sourceforge.phpdt.internal.corext.template.php.PHPTemplateMessages; +import net.sourceforge.phpdt.internal.ui.text.java.IPHPCompletionProposal; import net.sourceforge.phpeclipse.PHPeclipsePlugin; import org.eclipse.core.runtime.CoreException; -import net.sourceforge.phpdt.internal.corext.template.java.CompilationUnitContext; -import net.sourceforge.phpdt.internal.corext.template.java.JavaTemplateMessages; +import net.sourceforge.phpdt.internal.ui.text.link.LinkedPositionManager; +import net.sourceforge.phpdt.internal.ui.text.link.LinkedPositionUI; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.text.BadLocationException; import org.eclipse.jface.text.IDocument; @@ -22,8 +25,6 @@ import org.eclipse.jface.text.contentassist.IContextInformation; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.widgets.Shell; -//import org.eclipse.jdt.internal.ui.JavaPlugin; -import net.sourceforge.phpdt.internal.ui.text.java.IJavaCompletionProposal; //import org.eclipse.jdt.internal.ui.text.link.LinkedPositionManager; //import org.eclipse.jdt.internal.ui.text.link.LinkedPositionUI; //import org.eclipse.jdt.internal.ui.util.ExceptionHandler; @@ -31,17 +32,17 @@ import net.sourceforge.phpdt.internal.ui.text.java.IJavaCompletionProposal; /** * A template proposal. */ -public class TemplateProposal implements IJavaCompletionProposal { +public class TemplateProposal implements IPHPCompletionProposal { private final Template fTemplate; private final TemplateContext fContext; private final ITextViewer fViewer; -// private final Image fImage; + private final Image fImage; private final IRegion fRegion; private TemplateBuffer fTemplateBuffer; private String fOldText; -// private IRegion fSelectedRegion; // initialized by apply() + private IRegion fSelectedRegion; // initialized by apply() /** * Creates a template proposal with a template and its context. @@ -49,7 +50,7 @@ public class TemplateProposal implements IJavaCompletionProposal { * @param context the context in which the template was requested. * @param image the icon of the proposal. */ - public TemplateProposal(Template template, TemplateContext context, IRegion region, ITextViewer viewer){ //, Image image) { + public TemplateProposal(Template template, TemplateContext context, IRegion region, ITextViewer viewer, Image image) { // Assert.isNotNull(template); // Assert.isNotNull(context); // Assert.isNotNull(region); @@ -58,7 +59,7 @@ public class TemplateProposal implements IJavaCompletionProposal { fTemplate= template; fContext= context; fViewer= viewer; -// fImage= image; + fImage= image; fRegion= region; } @@ -78,7 +79,7 @@ public class TemplateProposal implements IJavaCompletionProposal { document.replace(start, end - start, templateString); // translate positions - // LinkedPositionManager manager= new LinkedPositionManager(document); + LinkedPositionManager manager= new LinkedPositionManager(document); TemplatePosition[] variables= fTemplateBuffer.getVariables(); for (int i= 0; i != variables.length; i++) { TemplatePosition variable= variables[i]; @@ -89,15 +90,15 @@ public class TemplateProposal implements IJavaCompletionProposal { int[] offsets= variable.getOffsets(); int length= variable.getLength(); -// for (int j= 0; j != offsets.length; j++) -// manager.addPosition(offsets[j] + start, length); + for (int j= 0; j != offsets.length; j++) + manager.addPosition(offsets[j] + start, length); } -// LinkedPositionUI editor= new LinkedPositionUI(fViewer, manager); -// editor.setFinalCaretOffset(getCaretOffset(fTemplateBuffer) + start); -// editor.enter(); + LinkedPositionUI editor= new LinkedPositionUI(fViewer, manager); + editor.setFinalCaretOffset(getCaretOffset(fTemplateBuffer) + start); + editor.enter(); -// fSelectedRegion= editor.getSelectedRegion(); + fSelectedRegion= editor.getSelectedRegion(); } catch (BadLocationException e) { PHPeclipsePlugin.log(e); @@ -113,7 +114,7 @@ public class TemplateProposal implements IJavaCompletionProposal { for (int i= 0; i != variables.length; i++) { TemplatePosition variable= variables[i]; - if (variable.getName().equals(JavaTemplateMessages.getString("GlobalVariables.variable.name.cursor"))) //$NON-NLS-1$ + if (variable.getName().equals(PHPTemplateMessages.getString("GlobalVariables.variable.name.cursor"))) //$NON-NLS-1$ return variable.getOffsets()[0]; } @@ -124,8 +125,8 @@ public class TemplateProposal implements IJavaCompletionProposal { * @see ICompletionProposal#getSelection(IDocument) */ public Point getSelection(IDocument document) { -// return new Point(fSelectedRegion.getOffset(), fSelectedRegion.getLength()); - return null; + return new Point(fSelectedRegion.getOffset(), fSelectedRegion.getLength()); +// return null; } /* @@ -155,8 +156,7 @@ public class TemplateProposal implements IJavaCompletionProposal { * @see ICompletionProposal#getImage() */ public Image getImage() { -// return fImage; - return null; + return fImage; } /* @@ -220,8 +220,8 @@ public class TemplateProposal implements IJavaCompletionProposal { */ public int getRelevance() { - if (fContext instanceof CompilationUnitContext) { - CompilationUnitContext context= (CompilationUnitContext) fContext; + if (fContext instanceof PHPUnitContext) { + PHPUnitContext context= (PHPUnitContext) fContext; switch (context.getCharacterBeforeStart()) { // high relevance after whitespace case ' ':