36 public void create(Composite parent, int style) { |
37 public void create(Composite parent, int style) { |
37 |
38 |
38 // At this point, browser.handle is the view port of QScrollArea, set by Composite |
39 // At this point, browser.handle is the view port of QScrollArea, set by Composite |
39 int scrollAreaHandle = Internal_PackageSupport.topHandle(browser); |
40 int scrollAreaHandle = Internal_PackageSupport.topHandle(browser); |
40 int viewPortHandle = Internal_PackageSupport.handle(browser); |
41 int viewPortHandle = Internal_PackageSupport.handle(browser); |
41 webViewHandle = OS.QWebView_new(); |
42 webViewHandle = OS_webkit.QWebView_new(); |
42 OS.QWidget_setParent(webViewHandle, scrollAreaHandle); |
43 OS.QWidget_setParent(webViewHandle, scrollAreaHandle); |
43 |
44 |
44 int layout = OS.QVBoxLayout_new(0); |
45 int layout = OS.QVBoxLayout_new(0); |
45 OS.QLayout_setContentsMargins(layout, 0, 0, 0, 0); |
46 OS.QLayout_setContentsMargins(layout, 0, 0, 0, 0); |
46 OS.QLayout_setSpacing(layout, 0); |
47 OS.QLayout_setSpacing(layout, 0); |
81 browser.setData(SET_NO_TRAVERSE_STATE_KEY, new Boolean(true)); |
82 browser.setData(SET_NO_TRAVERSE_STATE_KEY, new Boolean(true)); |
82 browser.setData(SET_NO_KEY_PROPAGATE_STATE_KEY, new Boolean(true)); |
83 browser.setData(SET_NO_KEY_PROPAGATE_STATE_KEY, new Boolean(true)); |
83 browser.setData(SET_NO_MOUSE_PROPAGATE_STATE_KEY, new Boolean(true)); |
84 browser.setData(SET_NO_MOUSE_PROPAGATE_STATE_KEY, new Boolean(true)); |
84 browser.setData(SET_EMBEDDED_SCROLLBARS_STATE_KEY, new Boolean(true)); |
85 browser.setData(SET_EMBEDDED_SCROLLBARS_STATE_KEY, new Boolean(true)); |
85 |
86 |
86 int handler1 = OS.SignalHandler_new(webViewHandle, this, OS.QSIGNAL_WEBVIEW_LOADFINISHED); |
87 int handler1 = OS.SignalForwarder_new(webViewHandle, this, OS.QSIGNAL_WEBVIEW_LOADFINISHED); |
87 OS.QObject_connectOrThrow(webViewHandle, "loadFinished(bool)", |
88 OS.QObject_connectOrThrow(webViewHandle, "loadFinished(bool)", |
88 handler1, "widgetSignal(bool)", OS.QT_AUTOCONNECTION); |
89 handler1, "widgetSignal(bool)", OS.QT_AUTOCONNECTION); |
89 int handler2 = OS.SignalHandler_new(webViewHandle, this, OS.QSIGNAL_WEBVIEW_LOADPROGRESS); |
90 int handler2 = OS.SignalForwarder_new(webViewHandle, this, OS.QSIGNAL_WEBVIEW_LOADPROGRESS); |
90 OS.QObject_connectOrThrow(webViewHandle, "loadProgress(int)", |
91 OS.QObject_connectOrThrow(webViewHandle, "loadProgress(int)", |
91 handler2, "widgetSignal(int)", OS.QT_AUTOCONNECTION); |
92 handler2, "widgetSignal(int)", OS.QT_AUTOCONNECTION); |
92 int handler3 = OS.SignalHandler_new(webViewHandle, this, OS.QSIGNAL_WEBVIEW_LOADSTARTED); |
93 int handler3 = OS.SignalForwarder_new(webViewHandle, this, OS.QSIGNAL_WEBVIEW_LOADSTARTED); |
93 OS.QObject_connectOrThrow(webViewHandle, "loadStarted()", |
94 OS.QObject_connectOrThrow(webViewHandle, "loadStarted()", |
94 handler3, "widgetSignal()", OS.QT_AUTOCONNECTION); |
95 handler3, "widgetSignal()", OS.QT_AUTOCONNECTION); |
95 int handler4 = OS.SignalHandler_new(webViewHandle, this, OS.QSIGNAL_WEBVIEW_STATUSBARMESSAGE); |
96 int handler4 = OS.SignalForwarder_new(webViewHandle, this, OS.QSIGNAL_WEBVIEW_STATUSBARMESSAGE); |
96 OS.QObject_connectOrThrow(webViewHandle, "statusBarMessage(const QString&)", |
97 OS.QObject_connectOrThrow(webViewHandle, "statusBarMessage(const QString&)", |
97 handler4, "widgetSignal(const QString&)", OS.QT_AUTOCONNECTION); |
98 handler4, "widgetSignal(const QString&)", OS.QT_AUTOCONNECTION); |
98 int handler5 = OS.SignalHandler_new(webViewHandle, this, OS.QSIGNAL_WEBVIEW_TITLECHANGED); |
99 int handler5 = OS.SignalForwarder_new(webViewHandle, this, OS.QSIGNAL_WEBVIEW_TITLECHANGED); |
99 OS.QObject_connectOrThrow(webViewHandle, "titleChanged(const QString&)", |
100 OS.QObject_connectOrThrow(webViewHandle, "titleChanged(const QString&)", |
100 handler5, "widgetSignal(const QString&)", OS.QT_AUTOCONNECTION); |
101 handler5, "widgetSignal(const QString&)", OS.QT_AUTOCONNECTION); |
101 int handler6 = OS.SignalHandler_new(webViewHandle, this, OS.QSIGNAL_WEBVIEW_URLCHANGED); |
102 int handler6 = OS.SignalForwarder_new(webViewHandle, this, OS.QSIGNAL_WEBVIEW_URLCHANGED); |
102 OS.QObject_connectOrThrow(webViewHandle, "urlChanged(const QUrl&)", |
103 OS.QObject_connectOrThrow(webViewHandle, "urlChanged(const QUrl&)", |
103 handler6, "widgetSignal(const QUrl&)", OS.QT_AUTOCONNECTION); |
104 handler6, "widgetSignal(const QUrl&)", OS.QT_AUTOCONNECTION); |
104 int handler7 = OS.SignalHandler_new(webViewHandle, this, OS.QSIGNAL_WEBVIEW_LINKCLICKED); |
105 int handler7 = OS.SignalForwarder_new(webViewHandle, this, OS.QSIGNAL_WEBVIEW_LINKCLICKED); |
105 OS.QObject_connectOrThrow(webViewHandle, "linkClicked(const QUrl&)", |
106 OS.QObject_connectOrThrow(webViewHandle, "linkClicked(const QUrl&)", |
106 handler7, "widgetSignal(const QUrl&)", OS.QT_AUTOCONNECTION); |
107 handler7, "widgetSignal(const QUrl&)", OS.QT_AUTOCONNECTION); |
107 } |
108 } |
108 |
109 |
109 /** |
110 /** |
110 * @see WebBrowser |
111 * @see WebBrowser |
111 */ |
112 */ |
112 public boolean back() { |
113 public boolean back() { |
113 if (OS.QWebView_swt_canGoBack(webViewHandle)) { |
114 if (OS_webkit.QWebView_swt_canGoBack(webViewHandle)) { |
114 if (sendLocationEventChanging((int)System.currentTimeMillis(), |
115 if (sendLocationEventChanging((int)System.currentTimeMillis(), |
115 OS.QWebView_swt_backUrl(webViewHandle))) { |
116 OS_webkit.QWebView_swt_backUrl(webViewHandle))) { |
116 OS.QWebView_back(webViewHandle); |
117 OS_webkit.QWebView_back(webViewHandle); |
117 return true; |
118 return true; |
118 } |
119 } |
119 } |
120 } |
120 return false; |
121 return false; |
121 } |
122 } |
122 |
123 |
123 /** |
124 /** |
124 * @see WebBrowser |
125 * @see WebBrowser |
125 */ |
126 */ |
126 public boolean execute(String script) { |
127 public boolean execute(String script) { |
127 return OS.QWebView_swt_evaluateJavaScript(webViewHandle, script); |
128 return OS_webkit.QWebView_swt_evaluateJavaScript(webViewHandle, script); |
128 } |
129 } |
129 |
130 |
130 /** |
131 /** |
131 * @see WebBrowser |
132 * @see WebBrowser |
132 */ |
133 */ |
133 public boolean forward() { |
134 public boolean forward() { |
134 if (OS.QWebView_swt_canGoForward(webViewHandle)) { |
135 if (OS_webkit.QWebView_swt_canGoForward(webViewHandle)) { |
135 if (sendLocationEventChanging((int)System.currentTimeMillis(), |
136 if (sendLocationEventChanging((int)System.currentTimeMillis(), |
136 OS.QWebView_swt_forwardUrl(webViewHandle))) { |
137 OS_webkit.QWebView_swt_forwardUrl(webViewHandle))) { |
137 OS.QWebView_forward(webViewHandle); |
138 OS_webkit.QWebView_forward(webViewHandle); |
138 return true; |
139 return true; |
139 } |
140 } |
140 } |
141 } |
141 return false; |
142 return false; |
142 } |
143 } |
157 |
158 |
158 /** |
159 /** |
159 * @see WebBrowser |
160 * @see WebBrowser |
160 */ |
161 */ |
161 public String getUrl() { |
162 public String getUrl() { |
162 return OS.QWebView_url(webViewHandle); |
163 return OS_webkit.QWebView_url(webViewHandle); |
163 } |
164 } |
164 |
165 |
165 /** |
166 /** |
166 * @see WebBrowser |
167 * @see WebBrowser |
167 */ |
168 */ |
168 public boolean isBackEnabled() { |
169 public boolean isBackEnabled() { |
169 return OS.QWebView_swt_canGoBack(webViewHandle); |
170 return OS_webkit.QWebView_swt_canGoBack(webViewHandle); |
170 } |
171 } |
171 |
172 |
172 /** |
173 /** |
173 * @see WebBrowser |
174 * @see WebBrowser |
174 */ |
175 */ |
175 public boolean isForwardEnabled() { |
176 public boolean isForwardEnabled() { |
176 return OS.QWebView_swt_canGoForward(webViewHandle); |
177 return OS_webkit.QWebView_swt_canGoForward(webViewHandle); |
177 } |
178 } |
178 |
179 |
179 /** |
180 /** |
180 * @see WebBrowser |
181 * @see WebBrowser |
181 */ |
182 */ |
182 public void refresh() { |
183 public void refresh() { |
183 if (sendLocationEventChanging((int)System.currentTimeMillis(), |
184 if (sendLocationEventChanging((int)System.currentTimeMillis(), |
184 OS.QWebView_url(webViewHandle))) { |
185 OS_webkit.QWebView_url(webViewHandle))) { |
185 OS.QWebView_reload(webViewHandle); |
186 OS_webkit.QWebView_reload(webViewHandle); |
186 } |
187 } |
187 } |
188 } |
188 |
189 |
189 /** |
190 /** |
190 * @see WebBrowser |
191 * @see WebBrowser |
191 */ |
192 */ |
192 public boolean setText(String html) { |
193 public boolean setText(String html) { |
193 if (sendLocationEventChanging((int)System.currentTimeMillis(), "about:blank")) { |
194 if (sendLocationEventChanging((int)System.currentTimeMillis(), "about:blank")) { |
194 OS.QWebView_setHtml(webViewHandle, html); |
195 OS_webkit.QWebView_setHtml(webViewHandle, html); |
195 return true; |
196 return true; |
196 } |
197 } |
197 else { |
198 else { |
198 return false; |
199 return false; |
199 } |
200 } |