WebFrame::WebFrame(const wxString& url) : wxFrame(NULL, wxID_ANY, "wxWebView Sample") { // set the frame icon SetIcon(wxICON(sample)); SetTitle("wxWebView Sample"); wxBoxSizer* topsizer = new wxBoxSizer(wxVERTICAL); // Create the toolbar m_toolbar = CreateToolBar(wxTB_TEXT); m_toolbar->SetToolBitmapSize(wxSize(32, 32)); wxBitmap back = wxArtProvider::GetBitmap(wxART_GO_BACK , wxART_TOOLBAR); wxBitmap forward = wxArtProvider::GetBitmap(wxART_GO_FORWARD , wxART_TOOLBAR); #ifdef __WXGTK__ wxBitmap stop = wxArtProvider::GetBitmap("gtk-stop", wxART_TOOLBAR); #else wxBitmap stop = wxBitmap(stop_xpm); #endif #ifdef __WXGTK__ wxBitmap refresh = wxArtProvider::GetBitmap("gtk-refresh", wxART_TOOLBAR); #else wxBitmap refresh = wxBitmap(refresh_xpm); #endif m_toolbar_back = m_toolbar->AddTool(wxID_ANY, _("Back"), back); m_toolbar_forward = m_toolbar->AddTool(wxID_ANY, _("Forward"), forward); m_toolbar_stop = m_toolbar->AddTool(wxID_ANY, _("Stop"), stop); m_toolbar_reload = m_toolbar->AddTool(wxID_ANY, _("Reload"), refresh); m_url = new wxTextCtrl(m_toolbar, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(400, -1), wxTE_PROCESS_ENTER ); m_toolbar->AddControl(m_url, _("URL")); m_toolbar_tools = m_toolbar->AddTool(wxID_ANY, _("Menu"), wxBitmap(wxlogo_xpm)); m_toolbar->Realize(); // Set find values. m_findFlags = wxWEBVIEW_FIND_DEFAULT; m_findText = wxEmptyString; m_findCount = 0; // Create panel for find toolbar. wxPanel* panel = new wxPanel(this); topsizer->Add(panel, wxSizerFlags().Expand()); // Create sizer for panel. wxBoxSizer* panel_sizer = new wxBoxSizer(wxVERTICAL); panel->SetSizer(panel_sizer); // Create the find toolbar. m_find_toolbar = new wxToolBar(panel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTB_HORIZONTAL|wxTB_TEXT|wxTB_HORZ_LAYOUT); m_find_toolbar->Hide(); panel_sizer->Add(m_find_toolbar, wxSizerFlags().Expand()); // Create find control. m_find_ctrl = new wxTextCtrl(m_find_toolbar, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(140,-1), wxTE_PROCESS_ENTER); //Find options menu wxMenu* findmenu = new wxMenu; m_find_toolbar_wrap = findmenu->AppendCheckItem(wxID_ANY,"Wrap"); m_find_toolbar_matchcase = findmenu->AppendCheckItem(wxID_ANY,"Match Case"); m_find_toolbar_wholeword = findmenu->AppendCheckItem(wxID_ANY,"Entire Word"); m_find_toolbar_highlight = findmenu->AppendCheckItem(wxID_ANY,"Highlight"); // Add find toolbar tools. m_find_toolbar->SetToolSeparation(7); m_find_toolbar_done = m_find_toolbar->AddTool(wxID_ANY, "Close", wxArtProvider::GetBitmap(wxART_CROSS_MARK)); m_find_toolbar->AddSeparator(); m_find_toolbar->AddControl(m_find_ctrl, "Find"); m_find_toolbar->AddSeparator(); m_find_toolbar_next = m_find_toolbar->AddTool(wxID_ANY, "Next", wxArtProvider::GetBitmap(wxART_GO_DOWN, wxART_TOOLBAR, wxSize(16,16))); m_find_toolbar_previous = m_find_toolbar->AddTool(wxID_ANY, "Previous", wxArtProvider::GetBitmap(wxART_GO_UP, wxART_TOOLBAR, wxSize(16,16))); m_find_toolbar->AddSeparator(); m_find_toolbar_options = m_find_toolbar->AddTool(wxID_ANY, "Options", wxArtProvider::GetBitmap(wxART_PLUS, wxART_TOOLBAR, wxSize(16,16)), "", wxITEM_DROPDOWN); m_find_toolbar_options->SetDropdownMenu(findmenu); m_find_toolbar->Realize(); // Create the info panel m_info = new wxInfoBar(this); topsizer->Add(m_info, wxSizerFlags().Expand()); // Create the webview wxWebView::RegisterFactory(wxWebViewBackendChromium, wxSharedPtr<wxWebViewFactory> (new wxWebViewFactoryChromium)); m_browser = wxWebView::New(this, wxID_ANY, url, wxDefaultPosition, wxSize(300, 300), wxWebViewBackendChromium); topsizer->Add(m_browser, wxSizerFlags().Expand().Proportion(1)); //We register the wxfs:// protocol for testing purposes m_browser->RegisterHandler(wxSharedPtr<wxWebViewHandler>(new wxWebViewArchiveHandler("wxfs"))); //And the memory: file system m_browser->RegisterHandler(wxSharedPtr<wxWebViewHandler>(new wxWebViewFSHandler("memory"))); SetSizer(topsizer); //Set a more sensible size for web browsing SetSize(wxSize(800, 600)); // Create a log window new wxLogWindow(this, _("Logging"), true, false); // Create the Tools menu m_tools_menu = new wxMenu(); wxMenuItem* print = m_tools_menu->Append(wxID_ANY , _("Print")); wxMenuItem* viewSource = m_tools_menu->Append(wxID_ANY , _("View Source")); wxMenuItem* viewText = m_tools_menu->Append(wxID_ANY, _("View Text")); m_tools_menu->AppendSeparator(); m_tools_layout = m_tools_menu->AppendCheckItem(wxID_ANY, _("Use Layout Zoom")); m_tools_tiny = m_tools_menu->AppendCheckItem(wxID_ANY, _("Tiny")); m_tools_small = m_tools_menu->AppendCheckItem(wxID_ANY, _("Small")); m_tools_medium = m_tools_menu->AppendCheckItem(wxID_ANY, _("Medium")); m_tools_large = m_tools_menu->AppendCheckItem(wxID_ANY, _("Large")); m_tools_largest = m_tools_menu->AppendCheckItem(wxID_ANY, _("Largest")); m_tools_menu->AppendSeparator(); m_tools_handle_navigation = m_tools_menu->AppendCheckItem(wxID_ANY, _("Handle Navigation")); m_tools_handle_new_window = m_tools_menu->AppendCheckItem(wxID_ANY, _("Handle New Windows")); m_tools_menu->AppendSeparator(); //Find m_find = m_tools_menu->Append(wxID_ANY, _("Find")); m_tools_menu->AppendSeparator(); //History menu m_tools_history_menu = new wxMenu(); wxMenuItem* clearhist = m_tools_history_menu->Append(wxID_ANY, _("Clear History")); m_tools_enable_history = m_tools_history_menu->AppendCheckItem(wxID_ANY, _("Enable History")); m_tools_history_menu->AppendSeparator(); m_tools_menu->AppendSubMenu(m_tools_history_menu, "History"); //Create an editing menu wxMenu* editmenu = new wxMenu(); m_edit_cut = editmenu->Append(wxID_ANY, _("Cut")); m_edit_copy = editmenu->Append(wxID_ANY, _("Copy")); m_edit_paste = editmenu->Append(wxID_ANY, _("Paste")); editmenu->AppendSeparator(); m_edit_undo = editmenu->Append(wxID_ANY, _("Undo")); m_edit_redo = editmenu->Append(wxID_ANY, _("Redo")); editmenu->AppendSeparator(); m_edit_mode = editmenu->AppendCheckItem(wxID_ANY, _("Edit Mode")); m_tools_menu->AppendSeparator(); m_tools_menu->AppendSubMenu(editmenu, "Edit"); wxMenu* scroll_menu = new wxMenu; m_scroll_line_up = scroll_menu->Append(wxID_ANY, "Line &up"); m_scroll_line_down = scroll_menu->Append(wxID_ANY, "Line &down"); m_scroll_page_up = scroll_menu->Append(wxID_ANY, "Page u&p"); m_scroll_page_down = scroll_menu->Append(wxID_ANY, "Page d&own"); m_tools_menu->AppendSubMenu(scroll_menu, "Scroll"); wxMenuItem* script = m_tools_menu->Append(wxID_ANY, _("Run Script")); //Selection menu wxMenu* selection = new wxMenu(); m_selection_clear = selection->Append(wxID_ANY, _("Clear Selection")); m_selection_delete = selection->Append(wxID_ANY, _("Delete Selection")); wxMenuItem* selectall = selection->Append(wxID_ANY, _("Select All")); editmenu->AppendSubMenu(selection, "Selection"); wxMenuItem* loadscheme = m_tools_menu->Append(wxID_ANY, _("Custom Scheme Example")); wxMenuItem* usememoryfs = m_tools_menu->Append(wxID_ANY, _("Memory File System Example")); m_context_menu = m_tools_menu->AppendCheckItem(wxID_ANY, _("Enable Context Menu")); //By default we want to handle navigation and new windows m_tools_handle_navigation->Check(); m_tools_handle_new_window->Check(); m_tools_enable_history->Check(); if(!m_browser->CanSetZoomType(wxWEBVIEW_ZOOM_TYPE_LAYOUT)) m_tools_layout->Enable(false); // Connect the toolbar events Connect(m_toolbar_back->GetId(), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WebFrame::OnBack), NULL, this ); Connect(m_toolbar_forward->GetId(), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WebFrame::OnForward), NULL, this ); Connect(m_toolbar_stop->GetId(), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WebFrame::OnStop), NULL, this ); Connect(m_toolbar_reload->GetId(), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WebFrame::OnReload),NULL, this ); Connect(m_toolbar_tools->GetId(), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WebFrame::OnToolsClicked), NULL, this ); Connect(m_url->GetId(), wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(WebFrame::OnUrl), NULL, this ); // Connect find toolbar events. Connect(m_find_toolbar_done->GetId(), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WebFrame::OnFindDone), NULL, this ); Connect(m_find_toolbar_next->GetId(), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WebFrame::OnFindText), NULL, this ); Connect(m_find_toolbar_previous->GetId(), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WebFrame::OnFindText), NULL, this ); // Connect find control events. Connect(m_find_ctrl->GetId(), wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(WebFrame::OnFindText), NULL, this ); Connect(m_find_ctrl->GetId(), wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(WebFrame::OnFindText), NULL, this ); // Connect the webview events Connect(m_browser->GetId(), wxEVT_COMMAND_WEBVIEW_NAVIGATING, wxWebViewEventHandler(WebFrame::OnNavigationRequest), NULL, this); Connect(m_browser->GetId(), wxEVT_COMMAND_WEBVIEW_NAVIGATED, wxWebViewEventHandler(WebFrame::OnNavigationComplete), NULL, this); Connect(m_browser->GetId(), wxEVT_COMMAND_WEBVIEW_LOADED, wxWebViewEventHandler(WebFrame::OnDocumentLoaded), NULL, this); Connect(m_browser->GetId(), wxEVT_COMMAND_WEBVIEW_ERROR, wxWebViewEventHandler(WebFrame::OnError), NULL, this); Connect(m_browser->GetId(), wxEVT_COMMAND_WEBVIEW_NEWWINDOW, wxWebViewEventHandler(WebFrame::OnNewWindow), NULL, this); Connect(m_browser->GetId(), wxEVT_COMMAND_WEBVIEW_TITLE_CHANGED, wxWebViewEventHandler(WebFrame::OnTitleChanged), NULL, this); // Connect the menu events Connect(viewSource->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnViewSourceRequest), NULL, this ); Connect(viewText->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnViewTextRequest), NULL, this ); Connect(print->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnPrint), NULL, this ); Connect(m_tools_layout->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnZoomLayout), NULL, this ); Connect(m_tools_tiny->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnSetZoom), NULL, this ); Connect(m_tools_small->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnSetZoom), NULL, this ); Connect(m_tools_medium->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnSetZoom), NULL, this ); Connect(m_tools_large->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnSetZoom), NULL, this ); Connect(m_tools_largest->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnSetZoom), NULL, this ); Connect(clearhist->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnClearHistory), NULL, this ); Connect(m_tools_enable_history->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnEnableHistory), NULL, this ); Connect(m_edit_cut->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnCut), NULL, this ); Connect(m_edit_copy->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnCopy), NULL, this ); Connect(m_edit_paste->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnPaste), NULL, this ); Connect(m_edit_undo->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnUndo), NULL, this ); Connect(m_edit_redo->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnRedo), NULL, this ); Connect(m_edit_mode->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnMode), NULL, this ); Connect(m_scroll_line_up->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnScrollLineUp), NULL, this ); Connect(m_scroll_line_down->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnScrollLineDown), NULL, this ); Connect(m_scroll_page_up->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnScrollPageUp), NULL, this ); Connect(m_scroll_page_down->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnScrollPageDown), NULL, this ); Connect(script->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnRunScript), NULL, this ); Connect(m_selection_clear->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnClearSelection), NULL, this ); Connect(m_selection_delete->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnDeleteSelection), NULL, this ); Connect(selectall->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnSelectAll), NULL, this ); Connect(loadscheme->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnLoadScheme), NULL, this ); Connect(usememoryfs->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnUseMemoryFS), NULL, this ); Connect(m_find->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnFind), NULL, this ); Connect(m_context_menu->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnEnableContextMenu), NULL, this ); //Connect the idle events Connect(wxID_ANY, wxEVT_IDLE, wxIdleEventHandler(WebFrame::OnIdle), NULL, this); }
WebFrame::WebFrame(const wxString& url) : wxFrame(NULL, wxID_ANY, "wxWebView Sample") { //Required from virtual file system archive support wxFileSystem::AddHandler(new wxArchiveFSHandler); // set the frame icon SetIcon(wxICON(sample)); SetTitle("wxWebView Sample"); wxBoxSizer* topsizer = new wxBoxSizer(wxVERTICAL); // Create the toolbar m_toolbar = CreateToolBar(wxTB_TEXT); m_toolbar->SetToolBitmapSize(wxSize(32, 32)); wxBitmap back = wxArtProvider::GetBitmap(wxART_GO_BACK , wxART_TOOLBAR); wxBitmap forward = wxArtProvider::GetBitmap(wxART_GO_FORWARD , wxART_TOOLBAR); #ifdef __WXGTK__ wxBitmap stop = wxArtProvider::GetBitmap("gtk-stop", wxART_TOOLBAR); #else wxBitmap stop = wxBitmap(stop_xpm); #endif #ifdef __WXGTK__ wxBitmap refresh = wxArtProvider::GetBitmap("gtk-refresh", wxART_TOOLBAR); #else wxBitmap refresh = wxBitmap(refresh_xpm); #endif m_toolbar_back = m_toolbar->AddTool(wxID_ANY, _("Back"), back); m_toolbar_forward = m_toolbar->AddTool(wxID_ANY, _("Forward"), forward); m_toolbar_stop = m_toolbar->AddTool(wxID_ANY, _("Stop"), stop); m_toolbar_reload = m_toolbar->AddTool(wxID_ANY, _("Reload"), refresh); m_url = new wxTextCtrl(m_toolbar, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(400, -1), wxTE_PROCESS_ENTER ); m_toolbar->AddControl(m_url, _("URL")); m_toolbar_tools = m_toolbar->AddTool(wxID_ANY, _("Menu"), wxBitmap(wxlogo_xpm)); m_toolbar->Realize(); // Create the info panel m_info = new wxInfoBar(this); topsizer->Add(m_info, wxSizerFlags().Expand()); // Create the webview m_browser = wxWebView::New(this, wxID_ANY, url); topsizer->Add(m_browser, wxSizerFlags().Expand().Proportion(1)); //We register the wxfs:// protocol for testing purposes m_browser->RegisterHandler(wxSharedPtr<wxWebViewHandler>(new wxWebViewArchiveHandler("wxfs"))); SetSizer(topsizer); //Set a more sensible size for web browsing SetSize(wxSize(800, 600)); // Create a log window new wxLogWindow(this, _("Logging")); // Create the Tools menu m_tools_menu = new wxMenu(); wxMenuItem* print = m_tools_menu->Append(wxID_ANY , _("Print")); wxMenuItem* viewSource = m_tools_menu->Append(wxID_ANY , _("View Source")); m_tools_menu->AppendSeparator(); m_tools_layout = m_tools_menu->AppendCheckItem(wxID_ANY, _("Use Layout Zoom")); m_tools_tiny = m_tools_menu->AppendCheckItem(wxID_ANY, _("Tiny")); m_tools_small = m_tools_menu->AppendCheckItem(wxID_ANY, _("Small")); m_tools_medium = m_tools_menu->AppendCheckItem(wxID_ANY, _("Medium")); m_tools_large = m_tools_menu->AppendCheckItem(wxID_ANY, _("Large")); m_tools_largest = m_tools_menu->AppendCheckItem(wxID_ANY, _("Largest")); m_tools_menu->AppendSeparator(); m_tools_handle_navigation = m_tools_menu->AppendCheckItem(wxID_ANY, _("Handle Navigation")); m_tools_handle_new_window = m_tools_menu->AppendCheckItem(wxID_ANY, _("Handle New Windows")); m_tools_menu->AppendSeparator(); //History menu m_tools_history_menu = new wxMenu(); wxMenuItem* clearhist = m_tools_history_menu->Append(wxID_ANY, _("Clear History")); m_tools_enable_history = m_tools_history_menu->AppendCheckItem(wxID_ANY, _("Enable History")); m_tools_history_menu->AppendSeparator(); m_tools_menu->AppendSubMenu(m_tools_history_menu, "History"); //Create an editing menu wxMenu* editmenu = new wxMenu(); m_edit_cut = editmenu->Append(wxID_ANY, _("Cut")); m_edit_copy = editmenu->Append(wxID_ANY, _("Copy")); m_edit_paste = editmenu->Append(wxID_ANY, _("Paste")); editmenu->AppendSeparator(); m_edit_undo = editmenu->Append(wxID_ANY, _("Undo")); m_edit_redo = editmenu->Append(wxID_ANY, _("Redo")); editmenu->AppendSeparator(); m_edit_mode = editmenu->AppendCheckItem(wxID_ANY, _("Edit Mode")); m_tools_menu->AppendSeparator(); m_tools_menu->AppendSubMenu(editmenu, "Edit"); wxMenu* scroll_menu = new wxMenu; m_scroll_line_up = scroll_menu->Append(wxID_ANY, "Line &up"); m_scroll_line_down = scroll_menu->Append(wxID_ANY, "Line &down"); m_scroll_page_up = scroll_menu->Append(wxID_ANY, "Page u&p"); m_scroll_page_down = scroll_menu->Append(wxID_ANY, "Page d&own"); m_tools_menu->AppendSubMenu(scroll_menu, "Scroll"); wxMenuItem* script = m_tools_menu->Append(wxID_ANY, _("Run Script")); //Selection menu wxMenu* selection = new wxMenu(); m_selection_clear = selection->Append(wxID_ANY, _("Clear Selection")); m_selection_delete = selection->Append(wxID_ANY, _("Delete Selection")); wxMenuItem* selectall = selection->Append(wxID_ANY, _("Select All")); editmenu->AppendSubMenu(selection, "Selection"); wxMenuItem* loadscheme = m_tools_menu->Append(wxID_ANY, _("Custom Scheme Example")); //By default we want to handle navigation and new windows m_tools_handle_navigation->Check(); m_tools_handle_new_window->Check(); m_tools_enable_history->Check(); if(!m_browser->CanSetZoomType(wxWEB_VIEW_ZOOM_TYPE_LAYOUT)) m_tools_layout->Enable(false); // Connect the toolbar events Connect(m_toolbar_back->GetId(), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WebFrame::OnBack), NULL, this ); Connect(m_toolbar_forward->GetId(), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WebFrame::OnForward), NULL, this ); Connect(m_toolbar_stop->GetId(), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WebFrame::OnStop), NULL, this ); Connect(m_toolbar_reload->GetId(), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WebFrame::OnReload),NULL, this ); Connect(m_toolbar_tools->GetId(), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(WebFrame::OnToolsClicked), NULL, this ); Connect(m_url->GetId(), wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(WebFrame::OnUrl), NULL, this ); // Connect the webview events Connect(m_browser->GetId(), wxEVT_COMMAND_WEB_VIEW_NAVIGATING, wxWebViewEventHandler(WebFrame::OnNavigationRequest), NULL, this); Connect(m_browser->GetId(), wxEVT_COMMAND_WEB_VIEW_NAVIGATED, wxWebViewEventHandler(WebFrame::OnNavigationComplete), NULL, this); Connect(m_browser->GetId(), wxEVT_COMMAND_WEB_VIEW_LOADED, wxWebViewEventHandler(WebFrame::OnDocumentLoaded), NULL, this); Connect(m_browser->GetId(), wxEVT_COMMAND_WEB_VIEW_ERROR, wxWebViewEventHandler(WebFrame::OnError), NULL, this); Connect(m_browser->GetId(), wxEVT_COMMAND_WEB_VIEW_NEWWINDOW, wxWebViewEventHandler(WebFrame::OnNewWindow), NULL, this); Connect(m_browser->GetId(), wxEVT_COMMAND_WEB_VIEW_TITLE_CHANGED, wxWebViewEventHandler(WebFrame::OnTitleChanged), NULL, this); // Connect the menu events Connect(viewSource->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnViewSourceRequest), NULL, this ); Connect(print->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnPrint), NULL, this ); Connect(m_tools_layout->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnZoomLayout), NULL, this ); Connect(m_tools_tiny->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnSetZoom), NULL, this ); Connect(m_tools_small->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnSetZoom), NULL, this ); Connect(m_tools_medium->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnSetZoom), NULL, this ); Connect(m_tools_large->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnSetZoom), NULL, this ); Connect(m_tools_largest->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnSetZoom), NULL, this ); Connect(clearhist->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnClearHistory), NULL, this ); Connect(m_tools_enable_history->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnEnableHistory), NULL, this ); Connect(m_edit_cut->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnCut), NULL, this ); Connect(m_edit_copy->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnCopy), NULL, this ); Connect(m_edit_paste->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnPaste), NULL, this ); Connect(m_edit_undo->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnUndo), NULL, this ); Connect(m_edit_redo->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnRedo), NULL, this ); Connect(m_edit_mode->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnMode), NULL, this ); Connect(m_scroll_line_up->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnScrollLineUp), NULL, this ); Connect(m_scroll_line_down->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnScrollLineDown), NULL, this ); Connect(m_scroll_page_up->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnScrollPageUp), NULL, this ); Connect(m_scroll_page_down->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnScrollPageDown), NULL, this ); Connect(script->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnRunScript), NULL, this ); Connect(m_selection_clear->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnClearSelection), NULL, this ); Connect(m_selection_delete->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnDeleteSelection), NULL, this ); Connect(selectall->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnSelectAll), NULL, this ); Connect(loadscheme->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WebFrame::OnLoadScheme), NULL, this ); //Connect the idle events Connect(wxID_ANY, wxEVT_IDLE, wxIdleEventHandler(WebFrame::OnIdle), NULL, this); }