first version of external tools
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpeclipse / phpeditor / PHPActionContributor.java
index 5fa5d64..501813f 100644 (file)
@@ -21,6 +21,7 @@ import net.sourceforge.phpdt.ui.actions.GotoMatchingBracketAction;
 import net.sourceforge.phpdt.ui.actions.PHPdtActionConstants;
 import net.sourceforge.phpeclipse.PHPeclipsePlugin;
 
+import org.eclipse.core.resources.IFile;
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.action.IMenuManager;
 import org.eclipse.jface.action.IToolBarManager;
@@ -28,7 +29,9 @@ import org.eclipse.jface.action.Separator;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.swt.SWT;
 import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IFileEditorInput;
 import org.eclipse.ui.IWorkbenchActionConstants;
 import org.eclipse.ui.actions.ActionGroup;
 import org.eclipse.ui.actions.RetargetAction;
@@ -78,7 +81,7 @@ public class PHPActionContributor extends BasicTextEditorActionContributor {
     //  fTogglePresentation = new PresentationAction();
 
     fParserAction = PHPParserAction.getInstance();
-   
+
     if (SWT.getPlatform().equals("win32")) {
       fShowExternalPreviewAction = ShowExternalPreviewAction.getInstance();
     }
@@ -179,11 +182,17 @@ public class PHPActionContributor extends BasicTextEditorActionContributor {
     //    fTogglePresentation.setEditor(editor);
     //    fTogglePresentation.update();
 
-    PHPeclipsePlugin.getDefault().setTextEditor(textEditor);
+    IFile file = null;
+    IEditorInput editorInput = textEditor.getEditorInput();
+
+    if (editorInput instanceof IFileEditorInput) {
+      file = ((IFileEditorInput) editorInput).getFile();
+    }
+
+    PHPeclipsePlugin.getDefault().setLastEditorFile(file);
     fParserAction.setEditor(textEditor);
     fParserAction.update();
-    if (SWT.getPlatform().equals("win32") &&
-        textEditor instanceof AbstractTextEditor) {
+    if (SWT.getPlatform().equals("win32") && textEditor instanceof AbstractTextEditor) {
       fShowExternalPreviewAction.setEditor(textEditor);
       fShowExternalPreviewAction.update();
       IPreferenceStore store = PHPeclipsePlugin.getDefault().getPreferenceStore();