1/* 2 * Copyright (C) 2007 Kevin Ollivier <kevino@theolliviers.com> 3 * 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: 9 * 1. Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * 2. Redistributions in binary form must reproduce the above copyright 12 * notice, this list of conditions and the following disclaimer in the 13 * documentation and/or other materials provided with the distribution. 14 * 15 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 16 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 18 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR 19 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 20 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 22 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 23 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 */ 27 28#ifndef WXWEBVIEW_H 29#define WXWEBVIEW_H 30 31#include "wx/wxprec.h" 32#ifndef WX_PRECOMP 33 #include "wx/wx.h" 34#endif 35 36#include "WebFrame.h" 37#include "WebKitDefines.h" 38#include "WebSettings.h" 39 40class WebViewPrivate; 41class WebViewFrameData; 42class wxWebFrame; 43 44typedef struct OpaqueJSContext* JSGlobalContextRef; 45typedef struct OpaqueJSValue* JSObjectRef; 46 47namespace WebCore { 48 class ChromeClientWx; 49 class FrameLoaderClientWx; 50} 51 52#ifndef SWIG 53extern WXDLLIMPEXP_WEBKIT const wxChar* wxWebViewNameStr; 54#endif 55 56static const int defaultCacheCapacity = 8192 * 1024; // mirrors Cache.cpp 57 58class WXDLLIMPEXP_WEBKIT wxWebViewCachePolicy 59{ 60public: 61 wxWebViewCachePolicy(unsigned minDead = 0, unsigned maxDead = defaultCacheCapacity, unsigned totalCapacity = defaultCacheCapacity) 62 : m_minDeadCapacity(minDead) 63 , m_maxDeadCapacity(maxDead) 64 , m_capacity(totalCapacity) 65 {} 66 67 ~wxWebViewCachePolicy() {} 68 69 unsigned GetCapacity() const { return m_capacity; } 70 void SetCapacity(int capacity) { m_capacity = capacity; } 71 72 unsigned GetMinDeadCapacity() const { return m_minDeadCapacity; } 73 void SetMinDeadCapacity(unsigned minDeadCapacity) { m_minDeadCapacity = minDeadCapacity; } 74 75 unsigned GetMaxDeadCapacity() const { return m_maxDeadCapacity; } 76 void SetMaxDeadCapacity(unsigned maxDeadCapacity) { m_maxDeadCapacity = maxDeadCapacity; } 77 78protected: 79 unsigned m_capacity; 80 unsigned m_minDeadCapacity; 81 unsigned m_maxDeadCapacity; 82}; 83 84 85// copied from WebKit/mac/Misc/WebKitErrors[Private].h 86enum { 87 WebKitErrorCannotShowMIMEType = 100, 88 WebKitErrorCannotShowURL = 101, 89 WebKitErrorFrameLoadInterruptedByPolicyChange = 102, 90 WebKitErrorCannotUseRestrictedPort = 103, 91 WebKitErrorCannotFindPlugIn = 200, 92 WebKitErrorCannotLoadPlugIn = 201, 93 WebKitErrorJavaUnavailable = 202, 94}; 95 96enum wxProxyType { 97 HTTP, 98 Socks4, 99 Socks4A, 100 Socks5, 101 Socks5Hostname 102}; 103 104class WXDLLIMPEXP_WEBKIT wxWebView : public wxWindow 105{ 106 // ChromeClientWx needs to get the Page* stored by the wxWebView 107 // for the createWindow function. 108 friend class WebCore::ChromeClientWx; 109 friend class WebCore::FrameLoaderClientWx; 110 111public: 112 // ctor(s) 113#if SWIG 114 %pythonAppend wxWebView "self._setOORInfo(self)" 115 %pythonAppend wxWebView() "" 116#endif 117 118 wxWebView(wxWindow* parent, int id = wxID_ANY, 119 const wxPoint& point = wxDefaultPosition, 120 const wxSize& size = wxDefaultSize, 121 long style = 0, 122 const wxString& name = wxWebViewNameStr); // For wxWebView internal data passing 123#if SWIG 124 %rename(PreWebView) wxWebView(); 125#else 126 wxWebView(); 127#endif 128 129 bool Create(wxWindow* parent, int id = wxID_ANY, 130 const wxPoint& point = wxDefaultPosition, 131 const wxSize& size = wxDefaultSize, 132 long style = 0, 133 const wxString& name = wxWebViewNameStr); // For wxWebView internal data passing 134 135#ifndef SWIG 136 virtual ~wxWebView(); 137#endif 138 139 void LoadURL(const wxString& url); 140 bool GoBack(); 141 bool GoForward(); 142 void Stop(); 143 void Reload(); 144 145 bool CanGoBack(); 146 bool CanGoForward(); 147 148 bool CanCut(); 149 bool CanCopy(); 150 bool CanPaste(); 151 152 void Cut(); 153 void Copy(); 154 void Paste(); 155 156 //bool CanGetPageSource(); 157 wxString GetPageSource(); 158 void SetPageSource(const wxString& source, const wxString& baseUrl = wxEmptyString); 159 160 wxString GetInnerText(); 161 wxString GetAsMarkup(); 162 wxString GetExternalRepresentation(); 163 164 void SetTransparent(bool transparent); 165 bool IsTransparent() const; 166 167 wxString RunScript(const wxString& javascript); 168 169 bool FindString(const wxString& string, bool forward = true, 170 bool caseSensitive = false, bool wrapSelection = true, 171 bool startInSelection = true); 172 173 bool CanIncreaseTextSize() const; 174 void IncreaseTextSize(); 175 bool CanDecreaseTextSize() const; 176 void DecreaseTextSize(); 177 void ResetTextSize(); 178 void MakeEditable(bool enable); 179 bool IsEditable() const { return m_isEditable; } 180 181 wxString GetPageTitle() const { return m_title; } 182 void SetPageTitle(const wxString& title) { m_title = title; } 183 184 wxWebFrame* GetMainFrame() { return m_mainFrame; } 185 186 wxWebViewDOMElementInfo HitTest(const wxPoint& pos) const; 187 188 bool ShouldClose() const; 189 190 static void SetCachePolicy(const wxWebViewCachePolicy& cachePolicy); 191 static wxWebViewCachePolicy GetCachePolicy(); 192 193 void SetMouseWheelZooms(bool mouseWheelZooms) { m_mouseWheelZooms = mouseWheelZooms; } 194 bool GetMouseWheelZooms() const { return m_mouseWheelZooms; } 195 196 static void SetDatabaseDirectory(const wxString& databaseDirectory); 197 static wxString GetDatabaseDirectory(); 198 199 static void SetProxyInfo(const wxString& host = wxEmptyString, 200 unsigned long port = 0, 201 wxProxyType type = HTTP, 202 const wxString& username = wxEmptyString, 203 const wxString& password = wxEmptyString); 204 205 wxWebSettings GetWebSettings(); 206 wxWebKitParseMode GetParseMode() const; 207 208protected: 209 210 // event handlers (these functions should _not_ be virtual) 211 void OnPaint(wxPaintEvent& event); 212 void OnSize(wxSizeEvent& event); 213 void OnMouseEvents(wxMouseEvent& event); 214 void OnContextMenuEvents(wxContextMenuEvent& event); 215 void OnMenuSelectEvents(wxCommandEvent& event); 216 void OnKeyEvents(wxKeyEvent& event); 217 void OnSetFocus(wxFocusEvent& event); 218 void OnKillFocus(wxFocusEvent& event); 219 220private: 221 // any class wishing to process wxWindows events must use this macro 222#ifndef SWIG 223 DECLARE_EVENT_TABLE() 224 DECLARE_DYNAMIC_CLASS(wxWebView) 225#endif 226 float m_textMagnifier; 227 bool m_isEditable; 228 bool m_isInitialized; 229 bool m_beingDestroyed; 230 bool m_mouseWheelZooms; 231 WebViewPrivate* m_impl; 232 wxWebFrame* m_mainFrame; 233 wxString m_title; 234 235}; 236 237// ---------------------------------------------------------------------------- 238// Web Kit Events 239// ---------------------------------------------------------------------------- 240 241enum { 242 wxWEBVIEW_LOAD_STARTED = 1, 243 wxWEBVIEW_LOAD_NEGOTIATING = 2, 244 wxWEBVIEW_LOAD_REDIRECTING = 4, 245 wxWEBVIEW_LOAD_TRANSFERRING = 8, 246 wxWEBVIEW_LOAD_STOPPED = 16, 247 wxWEBVIEW_LOAD_FAILED = 32, 248 wxWEBVIEW_LOAD_DL_COMPLETED = 64, 249 wxWEBVIEW_LOAD_DOC_COMPLETED = 128, 250 wxWEBVIEW_LOAD_ONLOAD_HANDLED = 256, 251 wxWEBVIEW_LOAD_WINDOW_OBJECT_CLEARED = 512 252}; 253 254enum { 255 wxWEBVIEW_NAV_LINK_CLICKED = 1, 256 wxWEBVIEW_NAV_BACK_NEXT = 2, 257 wxWEBVIEW_NAV_FORM_SUBMITTED = 4, 258 wxWEBVIEW_NAV_RELOAD = 8, 259 wxWEBVIEW_NAV_FORM_RESUBMITTED = 16, 260 wxWEBVIEW_NAV_OTHER = 32 261}; 262 263class WXDLLIMPEXP_WEBKIT wxWebViewBeforeLoadEvent : public wxCommandEvent 264{ 265#ifndef SWIG 266 DECLARE_DYNAMIC_CLASS( wxWebViewBeforeLoadEvent ) 267#endif 268 269public: 270 bool IsCancelled() const { return m_cancelled; } 271 void Cancel(bool cancel = true) { m_cancelled = cancel; } 272 wxString GetURL() const { return m_url; } 273 void SetURL(const wxString& url) { m_url = url; } 274 void SetNavigationType(int navType) { m_navType = navType; } 275 int GetNavigationType() const { return m_navType; } 276 277 wxWebViewBeforeLoadEvent( wxWindow* win = (wxWindow*) NULL ); 278 wxEvent *Clone(void) const { return new wxWebViewBeforeLoadEvent(*this); } 279 280private: 281 bool m_cancelled; 282 wxString m_url; 283 int m_navType; 284}; 285 286class WXDLLIMPEXP_WEBKIT wxWebViewLoadEvent : public wxCommandEvent 287{ 288#ifndef SWIG 289 DECLARE_DYNAMIC_CLASS( wxWebViewLoadEvent ) 290#endif 291 292public: 293 int GetState() const { return m_state; } 294 void SetState(const int state) { m_state = state; } 295 wxString GetURL() const { return m_url; } 296 void SetURL(const wxString& url) { m_url = url; } 297 298 wxWebViewLoadEvent( wxWindow* win = (wxWindow*) NULL ); 299 wxEvent *Clone(void) const { return new wxWebViewLoadEvent(*this); } 300 301private: 302 int m_state; 303 wxString m_url; 304}; 305 306class WXDLLIMPEXP_WEBKIT wxWebKitWindowFeatures 307{ 308public: 309 wxWebKitWindowFeatures() 310 : menuBarVisible(true) 311 , statusBarVisible(true) 312 , toolBarVisible(true) 313 , locationBarVisible(true) 314 , scrollbarsVisible(true) 315 , resizable(true) 316 , fullscreen(false) 317 , dialog(false) 318 { } 319 320 bool menuBarVisible; 321 bool statusBarVisible; 322 bool toolBarVisible; 323 bool locationBarVisible; 324 bool scrollbarsVisible; 325 bool resizable; 326 bool fullscreen; 327 bool dialog; 328}; 329 330class WXDLLIMPEXP_WEBKIT wxWebViewNewWindowEvent : public wxCommandEvent 331{ 332#ifndef SWIG 333 DECLARE_DYNAMIC_CLASS( wxWebViewNewWindowEvent ) 334#endif 335 336public: 337 wxString GetURL() const { return m_url; } 338 void SetURL(const wxString& url) { m_url = url; } 339 wxString GetTargetName() const { return m_targetName; } 340 void SetTargetName(const wxString& name) { m_targetName = name; } 341 wxWebView* GetWebView() { return m_webView; } 342 void SetWebView(wxWebView* webView) { m_webView = webView; } 343 wxWebKitWindowFeatures GetWindowFeatures() { return m_features; } 344 void SetWindowFeatures(wxWebKitWindowFeatures features) { m_features = features; } 345 346 wxWebViewNewWindowEvent( wxWindow* win = static_cast<wxWindow*>(NULL)); 347 wxEvent *Clone(void) const { return new wxWebViewNewWindowEvent(*this); } 348 349private: 350 wxWebView* m_webView; 351 wxWebKitWindowFeatures m_features; 352 wxString m_url; 353 wxString m_targetName; 354}; 355 356class WXDLLIMPEXP_WEBKIT wxWebViewRightClickEvent : public wxCommandEvent 357{ 358#ifndef SWIG 359 DECLARE_DYNAMIC_CLASS( wxWebViewRightClickEvent ) 360#endif 361 362public: 363 wxWebViewRightClickEvent( wxWindow* win = static_cast<wxWindow*>(NULL)); 364 wxEvent *Clone(void) const { return new wxWebViewRightClickEvent(*this); } 365 366 wxWebViewDOMElementInfo GetInfo() const { return m_info; } 367 void SetInfo(wxWebViewDOMElementInfo info) { m_info = info; } 368 369 wxPoint GetPosition() const { return m_position; } 370 void SetPosition(wxPoint pos) { m_position = pos; } 371 372private: 373 wxWebViewDOMElementInfo m_info; 374 wxPoint m_position; 375}; 376 377// copied from page/Console.h 378enum wxWebViewConsoleMessageLevel { 379 TipMessageLevel, 380 LogMessageLevel, 381 WarningMessageLevel, 382 ErrorMessageLevel 383}; 384 385class WXDLLIMPEXP_WEBKIT wxWebViewConsoleMessageEvent : public wxCommandEvent 386{ 387#ifndef SWIG 388 DECLARE_DYNAMIC_CLASS( wxWebViewConsoleMessageEvent ) 389#endif 390 391public: 392 wxString GetMessage() const { return m_message; } 393 void SetMessage(const wxString& message) { m_message = message; } 394 395 unsigned int GetLineNumber() const { return m_lineNumber; } 396 void SetLineNumber(unsigned int lineNumber) { m_lineNumber = lineNumber; } 397 398 wxString GetSourceID() const { return m_sourceID; } 399 void SetSourceID(const wxString& sourceID) { m_sourceID = sourceID; } 400 401 wxWebViewConsoleMessageEvent( wxWindow* win = (wxWindow*) NULL ); 402 wxEvent *Clone(void) const { return new wxWebViewConsoleMessageEvent(*this); } 403 404 wxWebViewConsoleMessageLevel GetLevel() const { return m_level; } 405 void SetLevel(wxWebViewConsoleMessageLevel level) { m_level = level; } 406 407private: 408 unsigned int m_lineNumber; 409 wxString m_message; 410 wxString m_sourceID; 411 wxWebViewConsoleMessageLevel m_level; 412}; 413 414class WXDLLIMPEXP_WEBKIT wxWebViewAlertEvent : public wxCommandEvent 415{ 416#ifndef SWIG 417 DECLARE_DYNAMIC_CLASS( wxWebViewAlertEvent ) 418#endif 419 420public: 421 wxString GetMessage() const { return m_message; } 422 void SetMessage(const wxString& message) { m_message = message; } 423 424 wxWebViewAlertEvent( wxWindow* win = (wxWindow*) NULL ); 425 wxEvent *Clone(void) const { return new wxWebViewAlertEvent(*this); } 426 427private: 428 wxString m_message; 429}; 430 431class WXDLLIMPEXP_WEBKIT wxWebViewConfirmEvent : public wxWebViewAlertEvent 432{ 433#ifndef SWIG 434 DECLARE_DYNAMIC_CLASS( wxWebViewConfirmEvent ) 435#endif 436 437public: 438 int GetReturnCode() const { return m_returnCode; } 439 void SetReturnCode(int code) { m_returnCode = code; } 440 441 wxWebViewConfirmEvent( wxWindow* win = (wxWindow*) NULL ); 442 wxEvent *Clone(void) const { return new wxWebViewConfirmEvent(*this); } 443 444private: 445 int m_returnCode; 446}; 447 448class WXDLLIMPEXP_WEBKIT wxWebViewPromptEvent : public wxWebViewConfirmEvent 449{ 450#ifndef SWIG 451 DECLARE_DYNAMIC_CLASS( wxWebViewPromptEvent ) 452#endif 453 454public: 455 wxString GetResponse() const { return m_response; } 456 void SetResponse(const wxString& response) { m_response = response; } 457 458 wxWebViewPromptEvent( wxWindow* win = (wxWindow*) NULL ); 459 wxEvent *Clone(void) const { return new wxWebViewPromptEvent(*this); } 460 461private: 462 wxString m_response; 463}; 464 465class WXDLLIMPEXP_WEBKIT wxWebViewReceivedTitleEvent : public wxCommandEvent 466{ 467#ifndef SWIG 468 DECLARE_DYNAMIC_CLASS( wxWebViewReceivedTitleEvent ) 469#endif 470 471public: 472 wxString GetTitle() const { return m_title; } 473 void SetTitle(const wxString& title) { m_title = title; } 474 475 wxWebViewReceivedTitleEvent( wxWindow* win = static_cast<wxWindow*>(NULL)); 476 wxEvent *Clone(void) const { return new wxWebViewReceivedTitleEvent(*this); } 477 478private: 479 wxString m_title; 480}; 481 482class WXDLLIMPEXP_WEBKIT wxWebViewWindowObjectClearedEvent : public wxCommandEvent 483{ 484#ifndef SWIG 485 DECLARE_DYNAMIC_CLASS( wxWebViewWindowObjectClearedEvent ) 486#endif 487 488public: 489 JSGlobalContextRef GetJSContext() const { return m_jsContext; } 490 void SetJSContext(JSGlobalContextRef context) { m_jsContext = context; } 491 492 JSObjectRef GetWindowObject() const { return m_windowObject; } 493 void SetWindowObject(JSObjectRef object) { m_windowObject = object; } 494 495 wxWebViewWindowObjectClearedEvent( wxWindow* win = static_cast<wxWindow*>(NULL)); 496 wxEvent *Clone(void) const { return new wxWebViewWindowObjectClearedEvent(*this); } 497 498private: 499 JSGlobalContextRef m_jsContext; 500 JSObjectRef m_windowObject; 501}; 502 503typedef void (wxEvtHandler::*wxWebViewLoadEventFunction)(wxWebViewLoadEvent&); 504typedef void (wxEvtHandler::*wxWebViewBeforeLoadEventFunction)(wxWebViewBeforeLoadEvent&); 505typedef void (wxEvtHandler::*wxWebViewNewWindowEventFunction)(wxWebViewNewWindowEvent&); 506typedef void (wxEvtHandler::*wxWebViewRightClickEventFunction)(wxWebViewRightClickEvent&); 507typedef void (wxEvtHandler::*wxWebViewConsoleMessageEventFunction)(wxWebViewConsoleMessageEvent&); 508typedef void (wxEvtHandler::*wxWebViewAlertEventFunction)(wxWebViewAlertEvent&); 509typedef void (wxEvtHandler::*wxWebViewConfirmEventFunction)(wxWebViewConfirmEvent&); 510typedef void (wxEvtHandler::*wxWebViewPromptEventFunction)(wxWebViewPromptEvent&); 511typedef void (wxEvtHandler::*wxWebViewReceivedTitleEventFunction)(wxWebViewReceivedTitleEvent&); 512typedef void (wxEvtHandler::*wxWebViewWindowObjectClearedFunction)(wxWebViewWindowObjectClearedEvent&); 513 514#define wxWebViewLoadEventHandler(func) \ 515 (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxWebViewLoadEventFunction, &func) 516#define wxWebViewBeforeLoadEventHandler(func) \ 517 (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxWebViewBeforeLoadEventFunction, &func) 518#define wxWebViewNewWindowEventHandler(func) \ 519 (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxWebViewNewWindowEventFunction, &func) 520#define wxWebViewRightClickEventHandler(func) \ 521 (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxWebViewRightClickEventFunction, &func) 522#define wxWebViewConsoleMessageEventHandler(func) \ 523 (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxWebViewConsoleMessageEventFunction, &func) 524#define wxWebViewAlertEventHandler(func) \ 525 (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxWebViewAlertEventFunction, &func) 526#define wxWebViewConfirmEventHandler(func) \ 527 (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxWebViewConfirmEventFunction, &func) 528#define wxWebViewPromptEventHandler(func) \ 529 (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxWebViewPromptEventFunction, &func) 530#define wxWebViewReceivedTitleEventHandler(func) \ 531 (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxWebViewReceivedTitleEventFunction, &func) 532#define wxWebViewWindowObjectClearedEventHandler(func) \ 533 (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxWebViewWindowObjectClearedFunction, &func) 534 535#ifndef SWIG 536BEGIN_DECLARE_EVENT_TYPES() 537 DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_WEBKIT, wxEVT_WEBVIEW_BEFORE_LOAD, wxID_ANY) 538 DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_WEBKIT, wxEVT_WEBVIEW_LOAD, wxID_ANY) 539 DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_WEBKIT, wxEVT_WEBVIEW_NEW_WINDOW, wxID_ANY) 540 DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_WEBKIT, wxEVT_WEBVIEW_RIGHT_CLICK, wxID_ANY) 541 DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_WEBKIT, wxEVT_WEBVIEW_CONSOLE_MESSAGE, wxID_ANY) 542 DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_WEBKIT, wxEVT_WEBVIEW_JS_ALERT, wxID_ANY) 543 DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_WEBKIT, wxEVT_WEBVIEW_JS_CONFIRM, wxID_ANY) 544 DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_WEBKIT, wxEVT_WEBVIEW_JS_PROMPT, wxID_ANY) 545 DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_WEBKIT, wxEVT_WEBVIEW_RECEIVED_TITLE, wxID_ANY) 546 DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_WEBKIT, wxEVT_WEBVIEW_WINDOW_OBJECT_CLEARED, wxID_ANY) 547END_DECLARE_EVENT_TYPES() 548#endif 549 550#define EVT_WEBVIEW_LOAD(winid, func) \ 551 DECLARE_EVENT_TABLE_ENTRY( wxEVT_WEBVIEW_LOAD, \ 552 winid, \ 553 wxID_ANY, \ 554 (wxObjectEventFunction) \ 555 (wxWebViewLoadEventFunction) & func, \ 556 static_cast<wxObject*>(NULL)), 557 558#define EVT_WEBVIEW_BEFORE_LOAD(winid, func) \ 559 DECLARE_EVENT_TABLE_ENTRY( wxEVT_WEBVIEW_BEFORE_LOAD, \ 560 winid, \ 561 wxID_ANY, \ 562 (wxObjectEventFunction) \ 563 (wxWebViewBeforeLoadEventFunction) & func, \ 564 static_cast<wxObject*>(NULL)), 565 566#define EVT_WEBVIEW_NEW_WINDOW(winid, func) \ 567 DECLARE_EVENT_TABLE_ENTRY( wxEVT_WEBVIEW_NEW_WINDOW, \ 568 winid, \ 569 wxID_ANY, \ 570 (wxObjectEventFunction) \ 571 (wxWebViewNewWindowEventFunction) & func, \ 572 static_cast<wxObject*>(NULL)), 573 574#define EVT_WEBVIEW_RIGHT_CLICK(winid, func) \ 575 DECLARE_EVENT_TABLE_ENTRY( wxEVT_WEBVIEW_RIGHT_CLICK, \ 576 winid, \ 577 wxID_ANY, \ 578 (wxObjectEventFunction) \ 579 (wxWebViewRightClickEventFunction) & func, \ 580 static_cast<wxObject*>(NULL)), 581 582#define EVT_WEBVIEW_CONSOLE_MESSAGE(winid, func) \ 583 DECLARE_EVENT_TABLE_ENTRY( wxEVT_WEBVIEW_CONSOLE_MESSAGE, \ 584 winid, \ 585 wxID_ANY, \ 586 (wxObjectEventFunction) \ 587 (wxWebViewConsoleMessageEventFunction) & func, \ 588 static_cast<wxObject*>(NULL)), 589 590#define EVT_WEBVIEW_JS_ALERT(winid, func) \ 591 DECLARE_EVENT_TABLE_ENTRY( wxEVT_WEBVIEW_JS_ALERT, \ 592 winid, \ 593 wxID_ANY, \ 594 (wxObjectEventFunction) \ 595 (wxWebViewAlertEventFunction) & func, \ 596 static_cast<wxObject*>(NULL)), 597 598#define EVT_WEBVIEW_JS_CONFIRM(winid, func) \ 599 DECLARE_EVENT_TABLE_ENTRY( wxEVT_WEBVIEW_JS_CONFIRM, \ 600 winid, \ 601 wxID_ANY, \ 602 (wxObjectEventFunction) \ 603 (wxWebViewConfirmEventFunction) & func, \ 604 static_cast<wxObject*>(NULL)), 605 606#define EVT_WEBVIEW_JS_PROMPT(winid, func) \ 607 DECLARE_EVENT_TABLE_ENTRY( wxEVT_WEBVIEW_JS_PROMPT, \ 608 winid, \ 609 wxID_ANY, \ 610 (wxObjectEventFunction) \ 611 (wxWebViewPromptEventFunction) & func, \ 612 static_cast<wxObject*>(NULL)), 613 614#define EVT_WEBVIEW_RECEIVED_TITLE(winid, func) \ 615 DECLARE_EVENT_TABLE_ENTRY( wxEVT_WEBVIEW_RECEIVED_TITLE, \ 616 winid, \ 617 wxID_ANY, \ 618 (wxObjectEventFunction) \ 619 (wxWebViewReceivedTitleEventFunction) & func, \ 620 static_cast<wxObject*>(NULL)), 621 622#define EVT_WEBVIEW_WINDOW_OBJECT_CLEARED(winid, func) \ 623 DECLARE_EVENT_TABLE_ENTRY( wxEVT_WEBVIEW_WINDOW_OBJECT_CLEARED, \ 624 winid, \ 625 wxID_ANY, \ 626 (wxObjectEventFunction) \ 627 (wxWebViewWindowObjectClearedFunction) & func, \ 628 static_cast<wxObject*>(NULL)), 629 630#endif // ifndef WXWEBVIEW_H 631