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 999ec19..501813f 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPActionContributor.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/PHPActionContributor.java @@ -19,19 +19,25 @@ import java.util.ResourceBundle; 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; 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; +import org.eclipse.ui.texteditor.AbstractTextEditor; import org.eclipse.ui.texteditor.BasicTextEditorActionContributor; import org.eclipse.ui.texteditor.ITextEditor; -import org.eclipse.ui.texteditor.ITextEditorActionConstants; import org.eclipse.ui.texteditor.RetargetTextEditorAction; /** @@ -47,7 +53,8 @@ public class PHPActionContributor extends BasicTextEditorActionContributor { private RetargetTextEditorAction fGotoMatchingBracket; private List fRetargetToolbarActions = new ArrayList(); - protected PHPParserAction parserAction; + protected PHPParserAction fParserAction; + protected ShowExternalPreviewAction fShowExternalPreviewAction; /** * Default constructor. @@ -58,16 +65,13 @@ public class PHPActionContributor extends BasicTextEditorActionContributor { ResourceBundle b = PHPEditorMessages.getResourceBundle(); fRetargetContentAssist = new RetargetAction(PHPdtActionConstants.CONTENT_ASSIST, PHPEditorMessages.getString("ContentAssistProposal.label")); //$NON-NLS-1$ - fRetargetContentAssist.setActionDefinitionId( - PHPEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); + fRetargetContentAssist.setActionDefinitionId(PHPEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); fContentAssist = new RetargetTextEditorAction(b, "ContentAssistProposal."); //$NON-NLS-1$ - fContentAssist.setActionDefinitionId( - PHPEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); + fContentAssist.setActionDefinitionId(PHPEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); fGotoMatchingBracket = new RetargetTextEditorAction(b, "GotoMatchingBracket."); //$NON-NLS-1$ - fGotoMatchingBracket.setActionDefinitionId( - PHPEditorActionDefinitionIds.GOTO_MATCHING_BRACKET); + fGotoMatchingBracket.setActionDefinitionId(PHPEditorActionDefinitionIds.GOTO_MATCHING_BRACKET); // fContentAssist.setImageDescriptor(JavaPluginImages.DESC_CLCL_CODE_ASSIST); // fContentAssist.setDisabledImageDescriptor(JavaPluginImages.DESC_DLCL_CODE_ASSIST); @@ -76,7 +80,11 @@ 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")) { + fShowExternalPreviewAction = ShowExternalPreviewAction.getInstance(); + } } /* @@ -132,19 +140,16 @@ public class PHPActionContributor extends BasicTextEditorActionContributor { super.init(bars); IMenuManager menuManager = bars.getMenuManager(); - IMenuManager editMenu = - menuManager.findMenuUsingPath(IWorkbenchActionConstants.M_EDIT); + IMenuManager editMenu = menuManager.findMenuUsingPath(IWorkbenchActionConstants.M_EDIT); if (editMenu != null) { editMenu.add(new Separator()); editMenu.add(fContentAssist); editMenu.add(fGotoMatchingBracket); - + // editMenu.add(fContentAssistTip); } - bars.setGlobalActionHandler( - PHPdtActionConstants.CONTENT_ASSIST, - fContentAssist); + bars.setGlobalActionHandler(PHPdtActionConstants.CONTENT_ASSIST, fContentAssist); // IToolBarManager toolBarManager = bars.getToolBarManager(); // if (toolBarManager != null) { // toolBarManager.add(new Separator()); @@ -161,19 +166,12 @@ public class PHPActionContributor extends BasicTextEditorActionContributor { fContentAssist.setAction(getAction(textEditor, "ContentAssistProposal")); //$NON-NLS-1$ // fContentAssistTip.setAction(getAction(editor, "ContentAssistTip")); //$NON-NLS-1$ - fGotoMatchingBracket.setAction( - getAction(textEditor, GotoMatchingBracketAction.GOTO_MATCHING_BRACKET)); + fGotoMatchingBracket.setAction(getAction(textEditor, GotoMatchingBracketAction.GOTO_MATCHING_BRACKET)); IActionBars bars = getActionBars(); - bars.setGlobalActionHandler( - PHPdtActionConstants.COMMENT, - getAction(textEditor, "Comment")); - bars.setGlobalActionHandler( - PHPdtActionConstants.UNCOMMENT, - getAction(textEditor, "Uncomment")); - bars.setGlobalActionHandler( - PHPdtActionConstants.FORMAT, - getAction(textEditor, "Format")); + bars.setGlobalActionHandler(PHPdtActionConstants.COMMENT, getAction(textEditor, "Comment")); + bars.setGlobalActionHandler(PHPdtActionConstants.UNCOMMENT, getAction(textEditor, "Uncomment")); + bars.setGlobalActionHandler(PHPdtActionConstants.FORMAT, getAction(textEditor, "Format")); if (part instanceof PHPEditor) { PHPEditor cuEditor = (PHPEditor) part; @@ -184,8 +182,26 @@ public class PHPActionContributor extends BasicTextEditorActionContributor { // fTogglePresentation.setEditor(editor); // fTogglePresentation.update(); - parserAction.setEditor(textEditor); - parserAction.update(); + 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(); + } + } } /*