added PHPDoc contexts
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / ui / text / template / TemplateEngine.java
index e2e144e..f315c61 100644 (file)
@@ -14,10 +14,12 @@ import net.sourceforge.phpdt.internal.corext.template.php.CompilationUnitContext
 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.swt.graphics.Point;
 //import org.eclipse.jdt.internal.ui.text.link.LinkedPositionManager;
 
 public class TemplateEngine {
@@ -72,8 +74,17 @@ public class TemplateEngine {
 
                if (!(fContextType instanceof CompilationUnitContextType))
                        return;
-               
-               ((CompilationUnitContextType) fContextType).setContextParameters(document, completionPosition);//mpilationUnit);
+                       
+    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();