X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPActionContributor.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPActionContributor.java index 9cbd2c9..66656e2 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPActionContributor.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPActionContributor.java @@ -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; @@ -50,8 +53,8 @@ public class PHPActionContributor extends BasicTextEditorActionContributor { private RetargetTextEditorAction fGotoMatchingBracket; private List fRetargetToolbarActions = new ArrayList(); - protected PHPParserAction parserAction; - protected ShowExternalPreviewAction showExternalPreviewAction; + protected PHPParserAction fParserAction; + protected ShowExternalPreviewAction fShowExternalPreviewAction; /** * Default constructor. @@ -77,9 +80,10 @@ public class PHPActionContributor extends BasicTextEditorActionContributor { // fContentAssistTip = new RetargetTextEditorAction(PHPEditorMessages.getResourceBundle(), "ContentAssistTip."); //$NON-NLS-1$ // fTogglePresentation = new PresentationAction(); - parserAction = PHPParserAction.getInstance(); + fParserAction = PHPParserAction.getInstance(); + if (SWT.getPlatform().equals("win32")) { - showExternalPreviewAction = ShowExternalPreviewAction.getInstance(); + fShowExternalPreviewAction = ShowExternalPreviewAction.getInstance(); } } @@ -178,19 +182,30 @@ public class PHPActionContributor extends BasicTextEditorActionContributor { // fTogglePresentation.setEditor(editor); // fTogglePresentation.update(); - parserAction.setEditor(textEditor); - parserAction.update(); - if (SWT.getPlatform().equals("win32") && - textEditor instanceof AbstractTextEditor) { - showExternalPreviewAction.setEditor(textEditor); - showExternalPreviewAction.update(); - IPreferenceStore store = PHPeclipsePlugin.getDefault().getPreferenceStore(); - if (store.getBoolean(PHPeclipsePlugin.SHOW_EXTERNAL_PREVIEW_PREF)) { - IAction a = ShowExternalPreviewAction.getInstance(); - if (a != null) - a.run(); + if (textEditor != null) { + + 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) { + fShowExternalPreviewAction.setEditor(textEditor); + fShowExternalPreviewAction.update(); + IPreferenceStore store = PHPeclipsePlugin.getDefault().getPreferenceStore(); + if (store.getBoolean(PHPeclipsePlugin.SHOW_EXTERNAL_PREVIEW_PREF)) { + IAction a = ShowExternalPreviewAction.getInstance(); + if (a != null) + a.run(); + } } } + } /*