#ifndef __BrowserFrame__ #define __BrowserFrame__ /** @file Subclass of BrowserFrame, which is generated by wxFormBuilder. */ #include #include #include #include #include #include "base/wxBrowserBase.h" #include "handlers/WebViewHandler.h" //// end generated include /** Implementing BrowserFrame */ class BrowserFrame : public wxBrowserBase { protected: // Handlers for BrowserFrame events. void OnPageClose(wxAuiNotebookEvent &event) override; void OnPageClosed(wxAuiNotebookEvent &event) override; void OnPageChanging(wxAuiNotebookEvent &event) override; void OnPageChanged(wxAuiNotebookEvent &event) override; void OnUrlEnter(wxCommandEvent &event) override; void OnNewTab(wxCommandEvent &event) override; void OnReload(wxCommandEvent &event) override; void OnBack(wxCommandEvent &event) override; void OnForward(wxCommandEvent &event) override; void OnHome(wxCommandEvent &event) override; void m_urlbarOnSetFocus(wxFocusEvent &event) override; void m_urlbarOnLeftUp(wxMouseEvent &event) override; public: /** Constructor */ BrowserFrame(wxWindow *parent); ~BrowserFrame(); private: // webview, tab position std::map> webViews; std::map webViewtabMap; int currentWebViewIndex = 0; wxWebView *currentWebView = nullptr; size_t GetTabIndex(wxWebView *webView); void ChangeTabIndex(wxWebView *webView, int index); void WebViewHandlerCallback(WebViewHandler::CallbackType type, const wxString data, WebViewHandler *handler); }; #endif // __BrowserFrame__