unification of bug fixes 1198893, 1404228
[phpeclipse.git] / net.sourceforge.phpeclipse.webbrowser / src / net / sourceforge / phpeclipse / webbrowser / internal / InternalWebBrowser.java
1 package net.sourceforge.phpeclipse.webbrowser.internal;
2
3 import java.net.URL;
4
5 import net.sourceforge.phpeclipse.webbrowser.IInternalWebBrowser;
6 import net.sourceforge.phpeclipse.webbrowser.IInternalWebBrowserWorkingCopy;
7 import net.sourceforge.phpeclipse.webbrowser.WebBrowserEditorInput;
8
9 import org.eclipse.ui.IMemento;
10 /**
11  * 
12  */
13 public class InternalWebBrowser implements IInternalWebBrowser {
14         private static final String MEMENTO_NEW_PAGE = "new_page";
15         private static final String MEMENTO_CLEAR_HISTORY_ON_EXIT = "clear_history";
16
17         protected boolean useNewPage;
18         protected boolean clearHistory;
19
20         /* (non-Javadoc)
21          * @see net.sourceforge.phpeclipse.webbrowser.IWebBrowser#getName()
22          */
23         public String getName() {
24                 return WebBrowserUIPlugin.getResource("%internalWebBrowserName");
25         }
26         
27         public boolean getUseNewPage() {
28                 return useNewPage;
29         }
30         
31         public boolean getClearHistoryOnExit() {
32                 return clearHistory;
33         }
34         
35         public boolean isWorkingCopy() {
36                 return false;
37         }
38
39         public IInternalWebBrowserWorkingCopy getWorkingCopy() {
40                 return new InternalWebBrowserWorkingCopy(this);
41         }
42         
43         protected void setInternal(IInternalWebBrowser browser) {
44                 useNewPage = browser.getUseNewPage();
45                 clearHistory = browser.getClearHistoryOnExit();
46         }
47
48         /* (non-Javadoc)
49          * @see net.sourceforge.phpeclipse.webbrowser.IWebBrowser#openURL(java.net.URL)
50          */
51         public void openURL(URL url) {
52                 WebBrowserEditor.open(new WebBrowserEditorInput(url));
53         }
54         
55         protected void save(IMemento memento) {
56                 memento.putString(MEMENTO_NEW_PAGE, useNewPage ? "true" : "false");
57                 memento.putString(MEMENTO_CLEAR_HISTORY_ON_EXIT, clearHistory ? "true" : "false");
58         }
59
60         protected void load(IMemento memento) {
61                 String s = memento.getString(MEMENTO_NEW_PAGE);
62                 if ("true".equals(s))
63                         useNewPage = true;
64                 else
65                         useNewPage = false;
66                 
67                 s = memento.getString(MEMENTO_CLEAR_HISTORY_ON_EXIT);
68                 if ("true".equals(s))
69                         clearHistory = true;
70                 else
71                         clearHistory = false;
72         }
73         
74         public String toString() {
75                 return "Internal Web browser";
76         }
77 }