Fixed bug in CodeFormatter; for partial formatting select complete <?php ... ?> range
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpeclipse / phpeditor / ShowExternalPreviewAction.java
index 9b53e0e..e76037f 100644 (file)
@@ -11,7 +11,9 @@ package net.sourceforge.phpeclipse.phpeditor;
 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;
@@ -20,7 +22,6 @@ import org.eclipse.ui.IWorkbenchPage;
 import org.eclipse.ui.PartInitException;
 import org.eclipse.ui.texteditor.ITextEditor;
 import org.eclipse.ui.texteditor.TextEditorAction;
-import net.sourceforge.phpeclipse.overlaypages.Util;
 //import org.eclipse.update.internal.ui.UpdatePerspective;
 //import org.eclipse.update.internal.ui.views.IEmbeddedWebBrowser;
 /**
@@ -35,7 +36,8 @@ public class ShowExternalPreviewAction extends TextEditorAction {
     super(PHPEditorMessages.getResourceBundle(), "ParserAction.", null); //$NON-NLS-1$
     update();
   }
-  public static ShowExternalPreviewAction getInstance() {
+  
+public static ShowExternalPreviewAction getInstance() {
     return instance;
   }
   /**
@@ -68,6 +70,35 @@ public class ShowExternalPreviewAction extends TextEditorAction {
           }
         }
         ((BrowserView) part).setUrl(localhostURL);
+        
+      } catch (PartInitException 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 (PartInitException e) {
         PHPeclipsePlugin.log(e);
       }