diff --git a/interface/wx/webview.h b/interface/wx/webview.h index 97a8432088..685760d60b 100644 --- a/interface/wx/webview.h +++ b/interface/wx/webview.h @@ -267,6 +267,7 @@ public: @section descriptions Backend Descriptions @par wxWEBVIEW_BACKEND_IE (MSW) + @anchor wxWEBVIEW_BACKEND_IE The IE backend uses Microsoft's Trident rendering engine, specifically the version used by the locally installed copy of Internet Explorer. As such it @@ -514,56 +515,6 @@ public: */ virtual void Reload(wxWebViewReloadFlags flags = wxWEBVIEW_RELOAD_DEFAULT) = 0; - /** - Sets emulation level. - - This function is useful to change the emulation level of - the system browser control used for wxWebView implementation under - MSW, rather than using the currently default, IE7-compatible, level. - - Please notice that this function works by modifying the per-user part - of MSW registry, which has several implications: first, it is - sufficient to call it only once (per user) as the changes done by it - are persistent and, second, if you do not want them to be persistent, - you need to call it with @c wxWEBVIEWIE_EMU_DEFAULT argument explicitly. - - In particular, this function should be called to allow RunScript() to - work for JavaScript code returning arbitrary objects, which is not - supported at the default emulation level. - - If set to a level higher than installed version, the highest available - level will be used instead. @c wxWEBVIEWIE_EMU_IE11 is recommended for - best performance and experience. - - This function is MSW-specific and doesn't exist under other platforms. - - See https://msdn.microsoft.com/en-us/library/ee330730#browser_emulation - for more information about browser control emulation levels. - - @param level the target emulation level - @return @true on success, @false on failure (a warning message is also - logged in the latter case). - - @since 3.1.3 - */ - static bool MSWSetEmulationLevel(wxWebViewIE_EmulationLevel level = wxWEBVIEWIE_EMU_IE11); - - /** - @deprecated - This function is kept mostly for backwards compatibility. - - Please explicitly specify emulation level with MSWSetEmulationLevel(). - - @param modernLevel @true to set level to IE8, synonym for @c wxWEBVIEWIE_EMU_IE8. - @false to reset the emulation level to its default, - synonym for @c wxWEBVIEWIE_EMU_DEFAULT. - @return @true on success, @false on failure (a warning message is also - logged in the latter case). - - @since 3.1.1 - */ - static bool MSWSetModernEmulationLevel(bool modernLevel = true); - /** Runs the given JavaScript code. @@ -904,6 +855,72 @@ public: +/** + @class wxWebViewIE + + wxWebView using IE backend, see @ref wxWEBVIEW_BACKEND_IE. + + @onlyfor{wxmsw} + @since 2.9.3 + @library{wxwebview} + @category{ctrl,webview} + @see wxWebView + */ +class wxWebViewIE : public wxWebView +{ +public: + /** + Sets emulation level. + + This function is useful to change the emulation level of + the system browser control used for wxWebView implementation under + MSW, rather than using the currently default, IE7-compatible, level. + + Please notice that this function works by modifying the per-user part + of MSW registry, which has several implications: first, it is + sufficient to call it only once (per user) as the changes done by it + are persistent and, second, if you do not want them to be persistent, + you need to call it with @c wxWEBVIEWIE_EMU_DEFAULT argument explicitly. + + In particular, this function should be called to allow RunScript() to + work for JavaScript code returning arbitrary objects, which is not + supported at the default emulation level. + + If set to a level higher than installed version, the highest available + level will be used instead. @c wxWEBVIEWIE_EMU_IE11 is recommended for + best performance and experience. + + This function is MSW-specific and doesn't exist under other platforms. + + See https://msdn.microsoft.com/en-us/library/ee330730#browser_emulation + for more information about browser control emulation levels. + + @param level the target emulation level + @return @true on success, @false on failure (a warning message is also + logged in the latter case). + + @since 3.1.3 + */ + static bool MSWSetEmulationLevel(wxWebViewIE_EmulationLevel level = wxWEBVIEWIE_EMU_IE11); + + /** + @deprecated + This function is kept mostly for backwards compatibility. + + Please explicitly specify emulation level with MSWSetEmulationLevel(). + + @param modernLevel @true to set level to IE8, synonym for @c wxWEBVIEWIE_EMU_IE8. + @false to reset the emulation level to its default, + synonym for @c wxWEBVIEWIE_EMU_DEFAULT. + @return @true on success, @false on failure (a warning message is also + logged in the latter case). + + @since 3.1.1 + */ + static bool MSWSetModernEmulationLevel(bool modernLevel = true); +}; + + /** @class wxWebViewEvent