+++ /dev/null
-package net.sourceforge.phpeclipse.phpeditor;
-/*******************************************************************************
- * Copyright (c) 2000, 2002 IBM Corp. and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Common Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors: IBM Corporation - Initial implementation Klaus Hartlage -
- * www.eclipseproject.de
- ******************************************************************************/
-import net.sourceforge.phpdt.internal.ui.util.PHPFileUtil;
-import net.sourceforge.phpeclipse.IPreferenceConstants;
-import net.sourceforge.phpeclipse.PHPeclipsePlugin;
-import net.sourceforge.phpeclipse.actions.PHPEclipseShowAction;
-import net.sourceforge.phpeclipse.overlaypages.Util;
-import net.sourceforge.phpeclipse.views.browser.BrowserView;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.TextEditorAction;
-//import org.eclipse.update.internal.ui.UpdatePerspective;
-//import org.eclipse.update.internal.ui.views.IEmbeddedWebBrowser;
-/**
- * ClassDeclaration that defines the action for parsing the current PHP file
- */
-public class ShowExternalPreviewAction extends TextEditorAction {
- private static ShowExternalPreviewAction instance = new ShowExternalPreviewAction();
- /**
- * Constructs and updates the action.
- */
- private ShowExternalPreviewAction() {
- super(PHPEditorMessages.getResourceBundle(), "ParserAction.", null); //$NON-NLS-1$
- update();
- }
-
-public static ShowExternalPreviewAction getInstance() {
- return instance;
- }
- /**
- * Code called when the action is fired.
- */
- public void run() {
- IFile previewFile = getFile();
- if (previewFile == null) {
- // should never happen
- return;
- }
- boolean autoPreview = Util.getPreviewBooleanValue(previewFile,
- IPreferenceConstants.PHP_AUTO_PREVIEW_DEFAULT);
- boolean bringToTopPreview = Util.getPreviewBooleanValue(previewFile,
- IPreferenceConstants.PHP_BRING_TO_TOP_PREVIEW_DEFAULT);
- boolean showHTMLFilesLocal = Util.getPreviewBooleanValue(previewFile,
- IPreferenceConstants.PHP_SHOW_HTML_FILES_LOCAL);
- boolean isPHPFileName = PHPFileUtil.isPHPFileName(previewFile.getLocation().toString());
-
- if (autoPreview) {
- String localhostURL;
- if (showHTMLFilesLocal && (!isPHPFileName)) {
- localhostURL = previewFile.getLocation().toString();
- } else if ((localhostURL = PHPEclipseShowAction.getLocalhostURL(null,
- previewFile)) == null) {
- return;
- }
- IWorkbenchPage page = PHPeclipsePlugin.getActivePage();
- try {
- IViewPart part = page.findView(BrowserView.ID_BROWSER);
- if (part == null) {
- part = page.showView(BrowserView.ID_BROWSER);
- } else {
- if (bringToTopPreview) {
- page.bringToTop(part);
- }
- }
- ((BrowserView) part).setUrl(localhostURL);
-
- } catch (Exception e) {
- //PHPeclipsePlugin.log(e);
- }
- }
- }
-
- public void refresh() {
- IFile fileToParse = getFile();
- if (fileToParse == null) {
- // should never happen
- return;
- }
- boolean autoPreview = Util.getPreviewBooleanValue(fileToParse,
- IPreferenceConstants.PHP_AUTO_PREVIEW_DEFAULT);
- boolean bringToTopPreview = Util.getPreviewBooleanValue(fileToParse,
- IPreferenceConstants.PHP_BRING_TO_TOP_PREVIEW_DEFAULT);
- if (autoPreview) {
- IWorkbenchPage page = PHPeclipsePlugin.getActivePage();
- try {
- IViewPart part = page.findView(BrowserView.ID_BROWSER);
- if (part == null) {
- part = page.showView(BrowserView.ID_BROWSER);
- } else {
- if (bringToTopPreview) {
- page.bringToTop(part);
- }
- }
- ((BrowserView) part).refresh();
-
- } catch (Exception e) {
- // PHPeclipsePlugin.log(e);
- }
- }
- }
- /**
- * Finds the file that's currently opened in the PHP Text Editor
- */
- protected IFile getFile() {
- ITextEditor editor = getTextEditor();
- IEditorInput editorInput = null;
- if (editor != null) {
- editorInput = editor.getEditorInput();
- }
- if (editorInput instanceof IFileEditorInput)
- return ((IFileEditorInput) editorInput).getFile();
- // if nothing was found, which should never happen
- return null;
- }
-}
\ No newline at end of file