Initial version from the webtools project; sligthly modified for phpeclipse
[phpeclipse.git] / net.sourceforge.phpeclipse.webbrowser / src / org / eclipse / webbrowser / internal / InternalWebBrowser.java
diff --git a/net.sourceforge.phpeclipse.webbrowser/src/org/eclipse/webbrowser/internal/InternalWebBrowser.java b/net.sourceforge.phpeclipse.webbrowser/src/org/eclipse/webbrowser/internal/InternalWebBrowser.java
new file mode 100644 (file)
index 0000000..4071a7c
--- /dev/null
@@ -0,0 +1,76 @@
+package org.eclipse.webbrowser.internal;
+
+import java.net.URL;
+
+import org.eclipse.ui.IMemento;
+import org.eclipse.webbrowser.IInternalWebBrowser;
+import org.eclipse.webbrowser.IInternalWebBrowserWorkingCopy;
+import org.eclipse.webbrowser.WebBrowserEditorInput;
+/**
+ * 
+ */
+public class InternalWebBrowser implements IInternalWebBrowser {
+       private static final String MEMENTO_NEW_PAGE = "new_page";
+       private static final String MEMENTO_CLEAR_HISTORY_ON_EXIT = "clear_history";
+
+       protected boolean useNewPage;
+       protected boolean clearHistory;
+
+       /* (non-Javadoc)
+        * @see org.eclipse.webbrowser.IWebBrowser#getName()
+        */
+       public String getName() {
+               return WebBrowserUIPlugin.getResource("%internalWebBrowserName");
+       }
+       
+       public boolean getUseNewPage() {
+               return useNewPage;
+       }
+       
+       public boolean getClearHistoryOnExit() {
+               return clearHistory;
+       }
+       
+       public boolean isWorkingCopy() {
+               return false;
+       }
+
+       public IInternalWebBrowserWorkingCopy getWorkingCopy() {
+               return new InternalWebBrowserWorkingCopy(this);
+       }
+       
+       protected void setInternal(IInternalWebBrowser browser) {
+               useNewPage = browser.getUseNewPage();
+               clearHistory = browser.getClearHistoryOnExit();
+       }
+
+       /* (non-Javadoc)
+        * @see org.eclipse.webbrowser.IWebBrowser#openURL(java.net.URL)
+        */
+       public void openURL(URL url) {
+               WebBrowserEditor.open(new WebBrowserEditorInput(url));
+       }
+       
+       protected void save(IMemento memento) {
+               memento.putString(MEMENTO_NEW_PAGE, useNewPage ? "true" : "false");
+               memento.putString(MEMENTO_CLEAR_HISTORY_ON_EXIT, clearHistory ? "true" : "false");
+       }
+
+       protected void load(IMemento memento) {
+               String s = memento.getString(MEMENTO_NEW_PAGE);
+               if ("true".equals(s))
+                       useNewPage = true;
+               else
+                       useNewPage = false;
+               
+               s = memento.getString(MEMENTO_CLEAR_HISTORY_ON_EXIT);
+               if ("true".equals(s))
+                       clearHistory = true;
+               else
+                       clearHistory = false;
+       }
+       
+       public String toString() {
+               return "Internal Web browser";
+       }
+}
\ No newline at end of file