fixed bug in template expansion
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / ui / text / template / TemplateProposal.java
index 5178caa..ca3ac38 100644 (file)
@@ -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.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.java.IJavaCompletionProposal;
+import net.sourceforge.phpeclipse.PHPeclipsePlugin;
+import org.eclipse.core.runtime.CoreException;
+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;
@@ -41,7 +42,7 @@ public class TemplateProposal implements IJavaCompletionProposal {
 
        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.
@@ -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);        
@@ -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;
   }
 
        /*