summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominic Letz <dominic@diode.io>2021-01-17 03:21:43 +0100
committerDominic Letz <dominic@diode.io>2021-02-19 12:20:55 +0100
commitb9702ca17cbe8f1443b0eb0952981e190ed4cf16 (patch)
tree40bb88bcd1f263b4c1cde63c43408cdf7e9bab83
parent5722b2b1da3b713bbd190810ff2f96ba7c5b9ace (diff)
downloaderlang-b9702ca17cbe8f1443b0eb0952981e190ed4cf16.tar.gz
Add wxWebView
This patch adds support for the wxWebView component of wxWidgets. This finally enables Erlang developers to write modern desktop applications comparable in look and feel with state of the art applications. The patchset ships with an addition of the demo application and adds a sample component in examples/demo/ This patchset also depends on adding libwxgtk-webveiw3.0-gtk3-dev to the base images for the CI builds to succeed.
-rw-r--r--HOWTO/INSTALL-WIN32.md7
-rw-r--r--lib/wx/api_gen/Makefile2
-rwxr-xr-xlib/wx/api_gen/interface/wx/webview.h10
-rw-r--r--lib/wx/api_gen/wx_extra/wx_misc.erl23
-rw-r--r--lib/wx/api_gen/wx_gen_cpp.erl1452
-rw-r--r--lib/wx/api_gen/wx_gen_erl.erl7
-rw-r--r--lib/wx/api_gen/wx_gen_nif.erl58
-rw-r--r--lib/wx/api_gen/wxapi.conf67
-rw-r--r--lib/wx/c_src/gen/wxe_events.cpp32
-rw-r--r--lib/wx/c_src/gen/wxe_func_table.cpp2181
-rw-r--r--lib/wx/c_src/gen/wxe_init.cpp187
-rw-r--r--lib/wx/c_src/gen/wxe_macros.h4
-rw-r--r--lib/wx/c_src/gen/wxe_wrapper_8.cpp824
-rw-r--r--lib/wx/configure.in120
-rw-r--r--lib/wx/doc/src/wxHtmlWindow.xml2
-rw-r--r--lib/wx/doc/src/wxWebView.xml450
-rw-r--r--lib/wx/doc/src/wxWebViewEvent.xml76
-rw-r--r--lib/wx/examples/demo/Makefile3
-rw-r--r--lib/wx/examples/demo/demo.erl2
-rw-r--r--lib/wx/examples/demo/ex_notificationMessage.erl2
-rw-r--r--lib/wx/examples/demo/ex_webview.erl307
-rw-r--r--lib/wx/include/wx.hrl54
-rw-r--r--lib/wx/src/gen/wxWebView.erl911
-rw-r--r--lib/wx/src/gen/wxWebViewEvent.erl113
-rw-r--r--lib/wx/src/gen/wx_misc.erl25
-rw-r--r--lib/wx/src/gen/wxe_funcs.hrl51
-rw-r--r--lib/wx/wxwin-2.8.m4366
-rw-r--r--lib/wx/wxwin-nothrow.m4 (renamed from lib/wx/wxwin-2.9.m4)30
28 files changed, 5401 insertions, 1965 deletions
diff --git a/HOWTO/INSTALL-WIN32.md b/HOWTO/INSTALL-WIN32.md
index 60521af17d..3de5ee428e 100644
--- a/HOWTO/INSTALL-WIN32.md
+++ b/HOWTO/INSTALL-WIN32.md
@@ -159,6 +159,13 @@ the different tools:
If the `wxUSE_POSTSCRIPT` isn't enabled in `c:/opt/local64/pgm/wxWidgets-3.1.3/include/wx/msw/setup.h`,
enable it.
+ We recommend to enable for wxWebView wxUSE_WEBVIEW_EDGE.
+ Download the WebView2 SDK nuget package (Version 0.9.488 or newer)
+ Extract the package (it's a zip archive) to wxWidgets/3rdparty/webview2 (you should have 3rdparty/webview2/build/native/include/WebView2.h file after unpacking it)
+ Enable wxUSE_WEBVIEW_EDGE in CMake or setup.h
+ After `otp_build release -a` copy WebView2Loader.dll from the subdirectory corresponding to the architecture used (x86 or x64) of wxWidgets/3rdparty/webview2/build/ to your $ERL_TOP/release/win32/erts-*/bin/ directory
+ `cp /mnt/c/opt/local64/pgm/wxWidgets-3.1.4/3rdparty/webview2/runtimes/win-x64/native/WebView2Loader.dll $ERL_TOP/release/win32/erts-11.1.7/bin/`
+
Build with:
C:\...\> cd c:\opt\local64\pgm\wxWidgets-3.1.3\build\msw
diff --git a/lib/wx/api_gen/Makefile b/lib/wx/api_gen/Makefile
index 0905e0de20..3f54dfff46 100644
--- a/lib/wx/api_gen/Makefile
+++ b/lib/wx/api_gen/Makefile
@@ -26,7 +26,7 @@ GL_DIR = /usr/include/GL
ERL_COMPILE_FLAGS=+debug_info +warn_unused_vars
-COMPILER = gen_util wx_gen wx_gen_erl wx_gen_cpp wx_gen_nif wx_gen_doc
+COMPILER = gen_util wx_gen wx_gen_erl wx_gen_nif wx_gen_doc
COMPILER_T = $(COMPILER:%=$(EBIN)/%.beam)
GL_COMP = gl_gen gl_gen_erl gl_gen_nif gl_gen_doc gl_scan_doc
diff --git a/lib/wx/api_gen/interface/wx/webview.h b/lib/wx/api_gen/interface/wx/webview.h
index b2a05d1c26..897bbcb7c7 100755
--- a/lib/wx/api_gen/interface/wx/webview.h
+++ b/lib/wx/api_gen/interface/wx/webview.h
@@ -280,6 +280,7 @@ public:
custom schemes and virtual file systems.
@par wxWEBVIEW_BACKEND_EDGE (MSW)
+ @anchor wxWEBVIEW_BACKEND_EDGE
The Edge (Chromium) backend uses Microsoft's
<a href="https://docs.microsoft.com/en-us/microsoft-edge/hosting/webview2">Edge WebView2</a>.
@@ -305,7 +306,8 @@ public:
- Make sure to add a note about using the WebView2 SDK to your application
documentation, as required by its licence
- @par wxWEBVIEW_WEBKIT (GTK)
+ @par wxWEBVIEW_BACKEND_WEBKIT (GTK)
+ @anchor wxWEBVIEW_BACKEND_WEBKIT
Under GTK the WebKit backend uses
<a href="http://webkitgtk.org/">WebKitGTK+</a>. The current minimum version
@@ -315,14 +317,16 @@ public:
resources such as images and stylesheets are currently loaded using the
data:// scheme.
- @par wxWEBVIEW_WEBKIT2 (GTK3)
+ @par wxWEBVIEW_BACKEND_WEBKIT2 (GTK3)
+ @anchor wxWEBVIEW_BACKEND_WEBKIT2
Under GTK3 the WebKit2 version of <a href="http://webkitgtk.org/">WebKitGTK+</a>
is used. In Ubuntu the required package name is libwebkit2gtk-4.0-dev
and under Fedora it is webkitgtk4-devel. All wxWEBVIEW_WEBKIT features are
supported except for clearing and enabling / disabling the history.
- @par wxWEBVIEW_WEBKIT (OSX)
+ @par wxWEBVIEW_BACKEND_WEBKIT (OSX)
+ @anchor wxWEBVIEW_BACKEND_WEBKIT
The macOS WebKit backend uses Apple's
<a href="http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/WebKit/Classes/WebView_Class/Reference/Reference.html#//apple_ref/doc/uid/20001903">WebView</a>
diff --git a/lib/wx/api_gen/wx_extra/wx_misc.erl b/lib/wx/api_gen/wx_extra/wx_misc.erl
new file mode 100644
index 0000000000..eb105dbd52
--- /dev/null
+++ b/lib/wx/api_gen/wx_extra/wx_misc.erl
@@ -0,0 +1,23 @@
+-export([mSWSetEmulationLevel/1, mSWSetEmulationLevel/2]).
+
+%% @doc See <a href="https://docs.wxwidgets.org/3.1.4/classwx_web_view_i_e.html#a7a45d02cb7dd6dbfcc09566449a1f3bd">external documentation</a>.
+%%<br /> Level = ?wxWEBVIEWIE_EMU_DEFAULT | ?wxWEBVIEWIE_EMU_IE7 | ?wxWEBVIEWIE_EMU_IE8 | ?wxWEBVIEWIE_EMU_IE8_FORCE | ?wxWEBVIEWIE_EMU_IE9 | ?wxWEBVIEWIE_EMU_IE9_FORCE | ?wxWEBVIEWIE_EMU_IE10 | ?wxWEBVIEWIE_EMU_IE10_FORCE | ?wxWEBVIEWIE_EMU_IE11 | ?wxWEBVIEWIE_EMU_IE11_FORCE
+-spec mSWSetEmulationLevel(Level) -> boolean() when
+ Level :: wx:wx_enum().
+mSWSetEmulationLevel(Level) when is_integer(Level) ->
+ mSWSetEmulationLevel(Level, "erl.exe"),
+ mSWSetEmulationLevel(Level, "werl.exe"),
+ true.
+
+%% @doc See <a href="https://docs.wxwidgets.org/3.1.4/classwx_web_view_i_e.html#a7a45d02cb7dd6dbfcc09566449a1f3bd">external documentation</a>.
+%%<br /> Level = ?wxWEBVIEWIE_EMU_DEFAULT | ?wxWEBVIEWIE_EMU_IE7 | ?wxWEBVIEWIE_EMU_IE8 | ?wxWEBVIEWIE_EMU_IE8_FORCE | ?wxWEBVIEWIE_EMU_IE9 | ?wxWEBVIEWIE_EMU_IE9_FORCE | ?wxWEBVIEWIE_EMU_IE10 | ?wxWEBVIEWIE_EMU_IE10_FORCE | ?wxWEBVIEWIE_EMU_IE11 | ?wxWEBVIEWIE_EMU_IE11_FORCE
+-spec mSWSetEmulationLevel(Level, Executable) -> boolean() when
+ Level :: wx:wx_enum(),
+ Executable :: string().
+mSWSetEmulationLevel(Level, Executable) ->
+ {ok, Reg} = win32reg:open([write]),
+ ok = win32reg:change_key(Reg, "\\hkey_current_user\\software\\microsoft\\internet explorer\\main\\featurecontrol\\"),
+ ok = win32reg:change_key_create(Reg, "FEATURE_BROWSER_EMULATION"),
+ ok = win32reg:set_value(Reg, Executable, Level),
+ ok = win32reg:close(Reg),
+ true.
diff --git a/lib/wx/api_gen/wx_gen_cpp.erl b/lib/wx/api_gen/wx_gen_cpp.erl
deleted file mode 100644
index 356ebfe127..0000000000
--- a/lib/wx/api_gen/wx_gen_cpp.erl
+++ /dev/null
@@ -1,1452 +0,0 @@
-%%
-%% %CopyrightBegin%
-%%
-%% Copyright Ericsson AB 2008-2018. All Rights Reserved.
-%%
-%% Licensed under the Apache License, Version 2.0 (the "License");
-%% you may not use this file except in compliance with the License.
-%% You may obtain a copy of the License at
-%%
-%% http://www.apache.org/licenses/LICENSE-2.0
-%%
-%% Unless required by applicable law or agreed to in writing, software
-%% distributed under the License is distributed on an "AS IS" BASIS,
-%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-%% See the License for the specific language governing permissions and
-%% limitations under the License.
-%%
-%% %CopyrightEnd%
-%%
-%%%-------------------------------------------------------------------
-%%% File : wx_gen_cpp.erl
-%%% Author : Dan Gudmundsson <dgud@erix.ericsson.se>
-%%% Description :
-%%%
-%%% Created : 19 Feb 2007 by Dan Gudmundsson <dgud@erix.ericsson.se>
-%%%-------------------------------------------------------------------
--module(wx_gen_cpp).
-
--include("wx_gen.hrl").
-
--compile(export_all).
-
--import(lists, [foldl/3,foldr/3,reverse/1, keysearch/3, map/2, filter/2]).
--import(gen_util, [lowercase/1, lowercase_all/1, uppercase/1, uppercase_all/1,
- open_write/1, close/0, c_copyright/0, w/2, w/1,
- args/3, strip_name/2]).
--import(wx_gen, [next_id/1]).
-
-gen(Defs) ->
- open_write("../c_src/gen/wxe_derived_dest.h"),
- c_copyright(),
- w("~n/***** This file is generated do not edit ****/~n~n", []),
- gen_derived_dest(Defs),
- close(),
-
- open_write("../c_src/gen/wxe_funcs.cpp"),
- c_copyright(),
- Res = gen_funcs(Defs),
- close(),
-
- open_write("../c_src/gen/wxe_macros.h"),
- c_copyright(),
- gen_macros(),
- close(),
-
- open_write("../c_src/gen/wxe_init.cpp"),
- c_copyright(),
- build_enums(),
- close(),
-
- build_events(),
- Res.
-
-gen_derived_dest(Defs) ->
- [gen_derived_dest_2(Class) || Class <- Defs],
- ok.
-
-gen_derived_dest_2(C=#class{name=Class, options=Opts}) ->
- ?WTC("gen_derived_dest_2"),
- Derived = is_derived(C),
- TaylorMade = taylormade_class(C),
-
- if Derived andalso (TaylorMade =:= false) ->
- case lists:keysearch(ifdef,1,Opts) of
- {value, {ifdef, What}} when is_list(What)-> w("#if ~s~n",[What]);
- {value, {ifdef, What}} when is_atom(What) -> w("#if ~p~n",[What]);
- _ -> ok
- end,
- w("class E~s : public ~s {~n",[Class,Class]),
- case Class of
- "wxGLCanvas" -> %% Special for cleaning up gl context
- w(" public: ~~E~s() {deleteActiveGL(this);"
- "((WxeApp *)wxTheApp)->clearPtr(this);};~n", [Class]);
- _ ->
- w(" public: ~~E~s() {((WxeApp *)wxTheApp)->clearPtr(this);};~n", [Class])
- end,
- gen_constructors(C),
- case lists:keysearch(ifdef,1,Opts) of
- {value, {ifdef, Endif}} ->
- w("};~n", []),
- w("#endif // ~p~n~n",[Endif]);
- _ ->
- w("};~n~n", [])
- end;
- TaylorMade /= false ->
- w("~s~n", [TaylorMade]);
- true ->
- ignore
- end.
-
-taylormade_class(#class{name=CName, methods=Ms}) ->
- TaylorMade = lists:any(fun([#method{where=taylormade}|_]) -> true;
- (_) -> false
- end, Ms),
- case TaylorMade of
- false -> false;
- true ->
- {ok, Bin} = file:read_file(filename:join([wx_extra, CName ++".c_src"])),
- Src = binary_to_list(Bin),
- case gen_util:get_taylor_made(Src, CName ++ "_class") of
- nomatch -> false;
- {match, [Str0]} -> Str0
- end
- end.
-
-gen_constructors(#class{name=Class, methods=Ms0}) ->
- Ms = lists:append(Ms0),
- Cs = lists:filter(fun(#method{method_type=MT}) -> MT =:= constructor end, Ms),
- [gen_constructor(Class, Const) || Const <- Cs],
- case need_copy_constr(Class) of
- true ->
- w(" E~s(~s copy) : ~s(copy) {};~n", [Class, Class, Class]);
- false ->
- ignore
- end.
-gen_constructor(_Class, #method{where=merged_c}) -> ok;
-gen_constructor(_Class, #method{where=erl_no_opt}) -> ok;
-gen_constructor(_Class, #method{where=erl_alias}) -> ok;
-gen_constructor(Class, _M=#method{params=Ps, opts=FOpts}) ->
- Gen = fun(#param{name=N, type=T}, Id) -> gen_type(T,Id) ++ N end,
- CallA = fun(#param{name=N}) -> N end,
- MergedType = fun(#param{type={merged,L}}) -> length(L); (_) -> 0 end,
- ?WTC("gen_constructor"),
- Endif = case lists:keysearch(deprecated, 1, FOpts) of
- {value, {deprecated, IfDef}} ->
- w("#if ~s~n", [IfDef]),
- true;
- _ -> false
- end,
- case lists:max([0|[MergedType(P) || P <- Ps]]) of
- 0 ->
- w(" E~s(~s) : ~s(~s) {};~n",
- [Class,args(fun(P) -> Gen(P,1) end,",",Ps),Class,args(CallA,",",Ps)]);
- Max ->
- [w(" E~s(~s) : ~s(~s) {};~n",
- [Class,args(fun(P) -> Gen(P,Id) end,",",Ps),Class,args(CallA,",",Ps)])
- || Id <- lists:seq(1,Max)]
- end,
- Endif andalso w("#endif~n", []),
- ok.
-
-
-%% need_copy_constr("wxFont") -> true;
-%% need_copy_constr("wxIcon") -> true;
-need_copy_constr("wxImage") -> true;
-%%need_copy_constr("wxBitmap") -> true;
-%%need_copy_constr("wxGraphics" ++ _) -> true;
-need_copy_constr(_) -> false.
-
-gen_type(#type{name=Type, ref={pointer,1}, mod=Mod},_) ->
- mods(Mod) ++ to_string(Type) ++ " * ";
-gen_type(#type{name=Type, ref={pointer,2}, mod=Mod},_) ->
- mods(Mod) ++ to_string(Type) ++ " ** ";
-gen_type(#type{name=Type, ref=reference, mod=Mod},_) ->
- mods(Mod) ++ to_string(Type) ++ "& ";
-gen_type(#type{name=Type, ref=undefined, base=binary, mod=Mod},_) ->
- mods(Mod) ++ to_string(Type) ++ " * ";
-gen_type(#type{name=Type, ref=undefined, single=array, mod=Mod},_) ->
- mods(Mod) ++ to_string(Type) ++ " * ";
-gen_type(#type{name=Type, ref=undefined, mod=Mod},_) ->
- mods(Mod) ++ to_string(Type) ++ " ";
-gen_type({merged, MTs}, N) when is_integer(N) ->
- {_, T, _} = lists:nth(N, MTs),
- gen_type(T,error);
-gen_type(voidp, _) ->
- "void ** ".
-
-gen_funcs(Defs) ->
- w("~n/***** This file is generated do not edit ****/~n~n"),
- w("#include <wx/wx.h>~n"),
- w("#include \"../wxe_impl.h\"~n"),
- w("#include \"../wxe_events.h\"~n"),
- w("#include \"../wxe_return.h\"~n"),
- w("#include \"../wxe_gl.h\"~n"),
- w("#include \"wxe_macros.h\"~n"),
- w("#include \"wxe_derived_dest.h\"~n~n"),
-
- w("#if !wxCHECK_VERSION(2,9,0)~n", []),
- [w("#define ~p int~n", [Enum]) ||
- Enum <- [wxPenJoin, wxPenCap, wxImageResizeQuality, %%wxBitmapType,
- wxPolygonFillMode, wxMappingMode, wxRasterOperationMode,
- wxFloodFillStyle
- ]],
- w("#endif~n",[]),
-
- w("void WxeApp::wxe_dispatch(wxeCommand& Ecmd)~n{~n"),
- w(" char * bp = Ecmd.buffer;~n"),
- w(" int op = Ecmd.op;~n"),
- w(" Ecmd.op = -1;~n"),
- w(" wxeMemEnv *memenv = getMemEnv(Ecmd.port);~n"),
-%% w(" wxMBConvUTF32 UTFconverter;~n"),
- w(" wxeReturn rt = wxeReturn(WXE_DRV_PORT, Ecmd.caller, true);~n"),
- w(" try {~n"),
- w(" switch (op)~n{~n"),
-%% w(" case WXE_CREATE_PORT:~n", []),
-%% w(" { newMemEnv(Ecmd.port); } break;~n", []),
-%% w(" case WXE_REMOVE_PORT:~n", []),
-%% w(" { destroyMemEnv(Ecmd.port); } break;~n", []),
- w(" case DESTROY_OBJECT: {~n"),
- w(" void *This = getPtr(bp,memenv);~n"),
- w(" wxeRefData *refd = getRefData(This);~n"),
- w(" if(This && refd) {~n"),
- w(" if(recurse_level > 1 && refd->type != 8) {~n"),
- w(" delayed_delete->Append(Ecmd.Save(op));~n"),
- w(" } else {~n"),
- w(" delete_object(This, refd);~n"),
- w(" ((WxeApp *) wxTheApp)->clearPtr(This);}~n"),
- w(" } } break;~n"),
- w(" case WXE_REGISTER_OBJECT: {~n"
- " registerPid(bp, Ecmd.caller, memenv);~n"
- " rt.addAtom(\"ok\");~n"
- " break;~n"
- " }~n"),
- w(" case WXE_BIN_INCR:~n driver_binary_inc_refc(Ecmd.bin[0].bin);~n break;~n",[]),
- w(" case WXE_BIN_DECR:~n driver_binary_dec_refc(Ecmd.bin[0].bin);~n break;~n",[]),
- w(" case WXE_INIT_OPENGL:~n wxe_initOpenGL(&rt, bp);~n break;~n",[]),
-
- Res = [gen_class(Class) || Class <- Defs],
-
- w(" default: {~n"),
- w(" wxeReturn error = wxeReturn(WXE_DRV_PORT, Ecmd.caller, false);"),
- w(" error.addAtom(\"_wxe_error_\");~n"),
- w(" error.addInt((int) op);~n"),
- w(" error.addAtom(\"not_supported\");~n"),
- w(" error.addTupleCount(3);~n"),
- w(" error.send();~n"),
- w(" return ;~n"),
- w(" }~n"),
- w("} // switch~n"),
- w(" rt.send();~n"),
- w("} catch (wxe_badarg badarg) { // try~n"),
- w(" wxeReturn error = wxeReturn(WXE_DRV_PORT, Ecmd.caller, false);"),
- w(" error.addAtom(\"_wxe_error_\");~n"),
- w(" error.addInt((int) op);~n"),
- w(" error.addAtom(\"badarg\");~n"),
- w(" error.addInt((int) badarg.ref);~n"),
- w(" error.addTupleCount(2);~n"),
- w(" error.addTupleCount(3);~n"),
- w(" error.send();~n"),
- w("}} /* The End */~n~n~n"),
-
- UglySkipList = ["wxCaret", "wxCalendarDateAttr",
- "wxFileDataObject", "wxTextDataObject", "wxBitmapDataObject",
- "wxAuiSimpleTabArt"
- ],
-
- w("bool WxeApp::delete_object(void *ptr, wxeRefData *refd) {~n", []),
- w(" if(wxe_debug) {\n"
- " wxString msg;\n"
- " const wxChar *class_info = wxT(\"unknown\");\n"
- " if(refd->type < 10) {\n"
- " wxClassInfo *cinfo = ((wxObject *)ptr)->GetClassInfo();\n"
- " class_info = cinfo->GetClassName();\n"
- " }\n"
- " msg.Printf(wxT(\"Deleting {wx_ref, %d, %s} at %p \"), refd->ref, class_info, ptr);\n"
- " send_msg(\"debug\", &msg);\n"
- " };\n"),
-
- w(" switch(refd->type) {~n", []),
- w("#if wxUSE_GRAPHICS_CONTEXT~n", []),
- w(" case 4: delete (wxGraphicsObject *) ptr; break;~n", []),
- w("#endif~n", []),
- Case = fun(C=#class{name=Class, id=Id, abstract=IsAbs, parent=P}) when P /= "static" ->
- UglyWorkaround = lists:member(Class, UglySkipList),
- HaveVirtual = virtual_dest(C),
- case hd(reverse(wx_gen_erl:parents(Class))) of
- root when IsAbs == false, UglyWorkaround == true ->
- w(" case ~p: /* delete (~s *) ptr;"
- "These objects must be deleted by owner object */ "
- "break;~n", [Id, Class]);
- root when IsAbs == false, HaveVirtual == true ->
- w(" case ~p: delete (E~s *) ptr; return false;~n", [Id, Class]);
- root when IsAbs == false, UglyWorkaround == false ->
- w(" case ~p: delete (~s *) ptr; break;~n", [Id, Class]);
- _ -> ok
- end;
- (_) -> ok
- end,
- [Case(Class) || Class <- Defs],
- w(" default: delete (wxObject *) ptr; return false;~n", []),
- w(" }~n return true;~n}~n~n", []),
- Res.
-
-gen_class(C=#class{name=Name,methods=Ms,options=Opts}) ->
- put(current_class, Name),
- NewMs =
- case lists:member(taylormade, Opts) of
- true ->
- {ok, Bin} = file:read_file(filename:join([wx_extra,Name++".c_src"])),
- ?WTC("gen_class"),
- w("~s~n", [binary_to_list(Bin)]),
- Ms;
- false ->
- case lists:keysearch(ifdef,1,Opts) of
- {value, {ifdef, What}} ->
- is_atom(What) andalso w("#if ~p~n",[What]),
- is_list(What) andalso w("#if ~s~n",[What]),
- Methods = lists:flatten(Ms),
- MsR = [gen_method(Name,M) ||
- M <- lists:keysort(#method.id, Methods)],
- w("#endif // ~p~n",[What]),
- MsR;
- false ->
- Methods = lists:flatten(Ms),
- [gen_method(Name,M) ||
- M <- lists:keysort(#method.id, Methods)]
- end
- end,
- erase(current_class),
- C#class{methods=NewMs}.
-
-gen_method(_CName, M=#method{where=erl_no_opt}) -> M;
-gen_method(_CName, M=#method{where=erl_alias}) -> M;
-gen_method(CName, M=#method{where=taylormade, name=Name, id=Id}) ->
- {ok, Bin} = file:read_file(filename:join([wx_extra, CName ++".c_src"])),
- Src = binary_to_list(Bin),
- %% io:format("C++ Class ~p ~p~n", [CName, Name]),
- Str = case gen_util:get_taylor_made(Src, Name) of
- nomatch ->
- {match, [Str0]} = gen_util:get_taylor_made(Src, wx_gen_erl:get_unique_name(Id)),
- Str0;
- {match, [Str0]} ->
- Str0
- end,
- ?WTC("gen_method"),
- w(Str, [wx_gen_erl:get_unique_name(Id)]),
- M;
-gen_method(CName, M=#method{name=N,params=[Ps],method_type=destructor,id=MethodId}) ->
- case hd(reverse(wx_gen_erl:parents(CName))) of
- root ->
- ?WTC("gen_method"),
- w("case ~s: { // ~s::~s~n", [wx_gen_erl:get_unique_name(MethodId),CName,N]),
- decode_arguments([Ps]),
- w(" if(This) {", []),
- w(" ((WxeApp *) wxTheApp)->clearPtr((void *) This);~n", []),
- w(" delete This;}~n", []),
- free_args(),
- w(" break;~n}~n", []);
- object -> %% Use default
- ignore
- end,
- M;
-gen_method(CName, M=#method{name=N,params=Ps0,type=T,method_type=MT,id=MethodId, opts=FOpts}) ->
- put(current_func, N),
- put(bin_count,-1),
- ?WTC("gen_method"),
- Endif1 = gen_if(deprecated, FOpts),
- Endif2 = gen_if(test_if, FOpts),
- w("case ~s: { // ~s::~s~n", [wx_gen_erl:get_unique_name(MethodId),CName,N]),
- Ps1 = declare_variables(void, Ps0),
- {Ps2,Align} = decode_arguments(Ps1),
- Opts = [Opt || Opt = #param{def=Def,in=In,where=Where} <- Ps2,
- Def =/= none, In =/= false, Where =/= c],
- decode_options(Opts, Align),
- case gen_util:get_hook(c, M#method.pre_hook) of
- ignore -> skip;
- Pre -> w(" ~s;~n", [Pre])
- end,
- Ps3 = call_wx(N,{MT,CName},T,Ps2),
- case gen_util:get_hook(c, M#method.post_hook) of
- ignore -> skip;
- Post -> w(" ~s;~n", [Post])
- end,
- free_args(),
- build_return_vals(T,Ps3),
- w(" break;~n}~n", []),
- Endif1 andalso w("#endif~n", []),
- Endif2 andalso w("#endif~n", []),
- erase(current_func),
- M.
-
-gen_if(What, Opts) ->
- case lists:keysearch(What, 1, Opts) of
- {value, {What, IfDef}} ->
- w("#if ~s~n", [IfDef]),
- true;
- _ -> false
- end.
-
-declare_variables(void,Ps) ->
- [declare_var(P) || P <- Ps];
-declare_variables(T, Ps) ->
- declare_type("result", out, ignore, T),
- [declare_var(P) || P <- Ps].
-
-declare_var(P = #param{where=erl}) -> P;
-declare_var(P = #param{where=this}) -> P;
-declare_var(P = #param{name=Name,def=Def,type=Type,in=true}) when Def =/= none ->
- declare_type(Name, true, Def, Type),
- P;
-declare_var(P = #param{in=In}) when In =/= false -> P;
-declare_var(P = #param{name=Name,in=In,def=Def,type=Type}) ->
- declare_type(Name, In, Def, Type),
- P.
-
-declare_type(N,false,_,#type{name="wxArrayInt"}) ->
- w(" wxArrayInt ~s;~n", [N]);
-declare_type(N,false,_,#type{name="wxArrayDouble"}) ->
- w(" wxArrayDouble ~s;~n", [N]);
-declare_type(N,false,_,#type{name="wxArrayString"}) ->
- w(" wxArrayString ~s;~n", [N]);
-declare_type(N,false,_,#type{base=Base,single=true,name=Type,by_val=false,mod=Mod})
- when Base =:= int; Base =:= long; Base =:= float; Base =:= double ->
- w(" ~s~s ~s;~n", [mods(Mod),Type,N]);
-declare_type(N,false,_,#type{base={enum,_},single=true,name=Type,by_val=false,mod=Mod}) ->
- w(" ~s~s ~s;~n", [mods(Mod),Type,N]);
-declare_type(N,false,_,#type{name="wxArrayTreeItemIds",ref=reference}) ->
- w(" wxArrayTreeItemIds ~s;~n", [N]);
-declare_type(N,false,_,#type{name="wxDateTime"}) ->
- w(" wxDateTime ~s;~n", [N]);
-declare_type(N,false,_,#type{name="wxColour"}) ->
- w(" wxColour ~s;~n", [N]);
-declare_type(N,false,_,#type{name=Type, base=int, ref=reference}) ->
- w(" ~s ~s;~n", [Type,N]);
-declare_type(N,false,_,#type{name=Type, base=int64, ref=reference}) ->
- w(" ~s ~s;~n", [Type,N]);
-declare_type(N,false,_,#type{base={comp,_,_},single=true,name=Type,ref=reference}) ->
- w(" ~s ~s;~n", [Type,N]);
-declare_type(N,true,Def,#type{base=Base,single=true,name=Type,by_val=true})
- when Base =:= int; Base =:= long; Base =:= float; Base =:= double; Base =:= bool ->
- w(" ~s ~s=~s;~n", [Type,N,Def]);
-declare_type(N,true,Def,#type{base={comp,_,_},single=true,name=Type,mod=Mod,ref={pointer,1}}) ->
- w(" ~s~s *~s=~s; ~s ~s;~n", [mods(Mod),Type,N,Def,Type,N++"Tmp"]);
-declare_type(N,true,Def,#type{base={comp,_,_},single=true,name=Type,ref=reference}) ->
- w(" ~s ~s= ~s;~n", [Type,N,Def]);
-declare_type(N,true,Def,#type{base={enum,Type},single=true}) ->
- Class = case Type of
- {C,_} -> C++"::";
- _ -> ""
- end,
- w(" ~s ~s=~s~s;~n", [enum_type(Type),N,Class,Def]);
-declare_type(N,true,Def,#type{base={class,_},single=true,name=Type,ref={pointer,1},mod=Mod}) ->
- w(" ~s~s * ~s=~s;~n", [mods(Mod),Type,N,Def]);
-declare_type(N,true,Def,#type{base={class,_},single=true,name=Type,ref=reference,mod=Mod}) ->
- w(" ~s~s * ~s= &~s;~n", [mods(Mod),Type,N,Def]);
-declare_type(N,true,Def,#type{base=Base,single=true,name=Type,by_val=false,ref={pointer,1}})
- when Base =:= int; Base =:= long; Base =:= float; Base =:= double; Base =:= bool ->
- w(" ~s *~s=~s;~n", [Type,N,Def]);
-declare_type(N,true,Def,#type{single=true,name="wxArtClient"}) ->
- w(" wxArtClient ~s= ~s;~n", [N,Def]);
-declare_type(N,true,_Def,#type{name="wxeLocaleC", single=true,base=string}) ->
- w(" wxString ~s= wxEmptyString;~n", [N]);
-declare_type(N,true,Def,#type{single=true,base=string}) ->
- w(" wxString ~s= ~s;~n", [N,Def]);
-%% declare_type(N,true,_Def,#type{name="wxString"}) ->
-%% w(" wxString ~s= wxEmptyString;~n", [N]);
-declare_type(N,true,Def,#type{name="wxColour"}) ->
- w(" wxColour ~s = ~s;~n", [N, Def]);
-declare_type(N,true,Def,#type{base=binary, name=char}) ->
- w(" char ~sD[] = {~s}, * ~s = ~sD;~n", [N,Def,N,N]);
-declare_type(_N,true,_Def,void) ->
- skip;
-declare_type(_N,true,_Def,voidp) ->
- skip;
-declare_type(N,true,Def,#type{name=Type, ref={pointer,2}}) ->
- %% xxxx
- w(" ~s ** ~s = ~s;~n", [Type,N,Def]);
-declare_type(N,true,Def,#type{name=Type, single=array, ref={pointer,1}}) ->
- w(" int * ~sLen = 0;~n", [N]),
- w(" ~s * ~s = ~s;~n", [Type,N,Def]);
-declare_type(N,true,"",#type{name="wxArrayString", single=array, ref=reference}) ->
- w(" wxArrayString ~s;~n", [N]);
-declare_type(N,true,Def,#type{name=Type, base={term,_}}) ->
- w(" ~s * ~s= ~s;~n", [Type,N,Def]);
-declare_type(N,In,Def,T) ->
- ?error({unhandled_type, {N,In,Def,T}}).
-
-decode_options([], _Align) -> ok;
-decode_options(Opts, Align) ->
- align(Align, 64),
- w(" while( * (int*) bp) { switch (* (int*) bp) {~n", []),
- foldl(fun decode_opt/2, 1, Opts),
- w(" }};~n", []).
-
-decode_opt(#param{name=Name,type=Type}, N) ->
- w(" case ~p: {bp += 4;~n", [N]),
- Align = decode_arg(Name,Type,opt,1),
- align(Align, 64),
- w(" } break;~n", []),
- N+1.
-
-decode_arguments(Ps0) ->
- lists:mapfoldl(fun decode_arg/2,0,Ps0).
-
-store_free(N) ->
- case get(free_args) of
- undefined -> put(free_args, [N]);
- List -> put(free_args, [N|List])
- end.
-
-free_args() ->
- case get(free_args) of
- undefined -> ignore;
- List ->
- erase(free_args),
- [w(" driver_free(~s);~n", [Arg]) || Arg <- List]
- end.
-
-decode_arg(P = #param{where=erl},A) -> {P,A};
-decode_arg(P = #param{where=c},A) -> {P,A};
-decode_arg(P = #param{in=false},A) -> {P,A};
-decode_arg(P = #param{def=Def},A) when Def =/= none -> {P,A};
-decode_arg(P = #param{name=Name,type=Type},A0) ->
- A = decode_arg(Name, Type, arg, A0),
- {P, A}.
-
-wa(Decl,DA,Get,GetA,arg) ->
- w(Decl,DA),
- w(Get,GetA);
-wa(_Decl,_DA,Get,GetA,opt) ->
- w(Get,GetA).
-
-decode_arg(N,#type{name=Class,base={class,_},single=true},Arg,A0) ->
- A = align(A0,32),
- wa(" ~s *",[Class],"~s = (~s *) getPtr(bp,memenv); bp += 4;~n",[N,Class],Arg),
- A;
-decode_arg(N,{merged,[{_,#type{name=Class,base={class,_},single=true},_}|_]},arg,A0) ->
- A = align(A0,32),
- w(" ~s * ~s = (~s *) getPtr(bp,memenv); bp += 4;~n", [Class,N,Class]),
- A;
-decode_arg(N,#type{base=long,single=true,name=Type},arg,A0) ->
- A = align(A0,64),
- w(" long * ~s = (~s *) bp; bp += 8;~n", [N,Type]),
- A;
-decode_arg(N,#type{base=int,single=true,mod=Mod0,name=Type,ref=Ref},Arg,A0) ->
- Mod = mods(Mod0),
- case Arg of
- arg -> w(" ~s~s * ~s = (~s~s *) bp; bp += 4;~n", [Mod,int,N,Mod,int]);
- opt when Ref =:= {pointer,1} ->
- w(" ~s = (~s *) bp; bp += 4;~n", [N,int]);
- opt ->
- w(" ~s = (~s)*(~s~s *) bp; bp += 4;~n", [N,Type,Mod,int])
- end,
- align(A0,32);
-decode_arg(N,#type{base=float,single=true,name=Type},arg,A0) ->
- w(" ~s * ~s = (~s *) bp; bp += 4;~n", [Type,N,Type]),
- align(A0,32);
-decode_arg(N,#type{base=double,single=true,name=Type},Arg,A0) ->
- A = align(A0,64),
- case Arg of
- arg -> w(" ~s * ~s = (~s *) bp; bp += 8;~n", [Type,N,Type]);
- opt -> w(" ~s = * (~s *) bp; bp += 8;~n", [N,Type])
- end,
- A;
-decode_arg(N,#type{base=bool,single=true,name=Type},Arg,A0) ->
- case Arg of
- arg -> w(" bool * ~s = (~s *) bp; bp += 4;~n", [N,Type]);
- opt -> w(" ~s = *(~s *) bp; bp += 4;~n", [N,Type])
- end,
- align(A0,32);
-decode_arg(N,#type{base={enum,Type},single=true},Arg,A0) ->
- wa(" ~s ", [enum_type(Type)], "~s = *(~s *) bp; bp += 4;;~n",[N, enum_type(Type)], Arg),
- align(A0,32);
-decode_arg(N,#type{base={comp,"wxDateTime",List},single=true,name=Type,ref=Ref},Arg,A0) ->
- Decl = fun({int,Spec}) ->
- w(" int * ~s~s = (int *) bp; bp += 4;~n", [N,Spec])
- end,
- align(A0,32),
- lists:foreach(Decl,List),
- Name = fun({_,"Mo"}) -> "(wxDateTime::Month) *"++N++"Mo";
- ({_,"Y"}) -> "*"++N++"Y";
- ({_,Spec}) -> "(wxDateTime::wxDateTime_t) *"++N++Spec
- end,
- case Arg of
- arg -> w(" ~s ~s = ~s(~s);~n", [Type,N,Type,args(Name, ",", List)]);
- opt when Ref =:= {pointer,1} ->
- w(" ~sTmp = ~s(~s); ~s = & ~sTmp;~n",
- [N,Type,args(Name, ",", List), N,N]);
- opt ->
- w(" ~s = ~s(~s);~n", [N,Type,args(Name, ",", List)])
- end,
- (A0+length(List)) rem 2;
-decode_arg(N,#type{base={comp,_,List},single=true,name=Type,ref=Ref},Arg,A0) ->
- Decl = fun({int,Spec}) ->
- w(" int * ~s~s = (int *) bp; bp += 4;~n", [N,Spec]);
- ({double, Spec}) ->
- w(" wxDouble * ~s~s = (wxDouble *) bp; bp += 8;~n", [N,Spec])
- end,
- case hd(List) of
- {int, _} -> align(A0,32);
- {double, _} -> align(A0,64)
- end,
- lists:foreach(Decl,List),
- Name = fun({_,Spec}) -> "*"++N++Spec end,
- case Arg of
- arg -> w(" ~s ~s = ~s(~s);~n", [Type,N,Type,args(Name, ",", List)]);
- opt when Ref =:= {pointer,1} ->
- w(" ~sTmp = ~s(~s); ~s = & ~sTmp;~n",
- [N,Type,args(Name, ",", List), N,N]);
- opt ->
- w(" ~s = ~s(~s);~n", [N,Type,args(Name, ",", List)])
- end,
- case hd(List) of
- {int, _} -> (A0+length(List)) rem 2;
- {double, _} -> 0
- end;
-
-decode_arg(N,#type{name=Class="wxTreeItemId",single=true},Arg,A0) ->
- A = align(A0,64),
- wa(" ~s ",[Class],"~s = wxTreeItemId((void *) *(wxUint64 *) bp); bp += 8;~n",[N],Arg),
- A;
-decode_arg(N,#type{name=Class="wxTreeItemIdValue",single=true},Arg,A0) ->
- A = align(A0,64),
- wa(" ~s ",[Class],"~s = (~s) * (wxUint64 *) bp; bp += 8;~n",[N,Class],Arg),
- A;
-decode_arg(N,#type{name="wxChar", single=S},Arg,A0)
- when S =/= true ->
- w(" int * ~sLen = (int *) bp; bp += 4;~n", [N]),
- wa(" wxString", []," ~s = wxString(bp, wxConvUTF8);~n", [N],Arg),
- w(" bp += *~sLen+((8-((~p+ *~sLen) & 7)) & 7);~n", [N,4*((A0+1) rem 2),N]),
- 0;
-decode_arg(N,#type{base=string, name="wxFileName"},Arg,A0) ->
- w(" int * ~sLen = (int *) bp; bp += 4;~n", [N]),
- wa(" wxString", []," ~sStr = wxString(bp, wxConvUTF8);~n", [N],Arg),
- w(" bp += *~sLen+((8-((~p+ *~sLen) & 7)) & 7);~n", [N,4*((A0+1) rem 2),N]),
- w(" wxFileName ~s = wxFileName(~sStr);~n",[N,N]),
- 0;
-decode_arg(N,#type{base=string},Arg,A0) ->
- w(" int * ~sLen = (int *) bp; bp += 4;~n", [N]),
- wa(" wxString", []," ~s = wxString(bp, wxConvUTF8);~n", [N],Arg),
- w(" bp += *~sLen+((8-((~p+ *~sLen) & 7)) & 7);~n", [N,4*((A0+1) rem 2),N]),
- 0;
-decode_arg(N,#type{name="wxArrayString"},Place,A0) ->
- w(" int * ~sLen = (int *) bp; bp += 4;~n", [N]),
- case Place of
- arg -> w(" wxArrayString ~s;~n", [N]);
- opt -> ignore %% Already declared
- end,
- w(" int ~sASz = 0, * ~sTemp;~n", [N,N]),
- w(" for(int i=0; i < *~sLen; i++) {~n", [N]),
- w(" ~sTemp = (int *) bp; bp += 4;~n", [N]),
- w(" ~s.Add(wxString(bp, wxConvUTF8));~n", [N]),
- w(" bp += *~sTemp;~n", [N]),
- w(" ~sASz += *~sTemp+4;~n }~n", [N,N]),
- w(" bp += (8-((~p+ ~sASz) & 7 )) & 7;~n", [4*((A0+1) rem 2),N]),
- 0;
-
-decode_arg(N,#type{name="wxArrayInt"},arg,A0) ->
- w(" int * ~sLen = (int *) bp; bp += 4;~n", [N]),
- w(" wxArrayInt ~s;~n", [N]),
- w(" for(int i=0; i < *~sLen; i++) {", [N]),
- w(" ~s.Add(*(int *) bp); bp += 4;}~n", [N]),
- w(" bp += ((*~sLen + ~p) % 2 )*4;~n",[N, (A0+1)]),
- 0;
-decode_arg(N,#type{name="wxArrayDouble"},arg,A0) ->
- w(" int * ~sLen = (int *) bp; bp += 4;~n", [N]),
- align(A0+1,64),
- w(" wxArrayDouble ~s;~n", [N]),
- w(" for(int i=0; i < *~sLen; i++) {", [N]),
- w(" ~s.Add(*(int *) bp); bp += 4;}~n", [N]),
- 0;
-decode_arg(_N,#type{base=eventType},_Arg,A0) ->
-%% w(" int * ~sLen = (int *) bp; bp += 4;~n", [N]),
-%% case Arg of
-%% arg ->
-%% w(" int ~s = wxeEventTypeFromAtom(bp);bp += *~sLen;~n",[N,N]),
-%% w(" char *class_name = bp;~n", []),
-%% w(" wxeCallbackData * Evt_cb = new wxeCallbackData(Ecmd.caller,This,class_name);~n",
-%% [])
-%% end,
- A0;
-decode_arg(N,#type{name=Type,base=binary,mod=Mod0},Arg,A0) ->
- Mod = mods([M || M <- Mod0]),
- case Arg of
- arg ->
- w(" ~s~s * ~s = (~s~s*) Ecmd.bin[~p].base;~n",
- [Mod,Type,N,Mod,Type, next_id(bin_count)]);
- opt ->
- w(" ~s = (~s~s*) Ecmd.bin[~p].base;~n",
- [N,Mod,Type,next_id(bin_count)])
- end,
- A0;
-decode_arg(N,#type{base={term,"wxTreeItemData"},mod=Mod0},Arg,A0) ->
- Mod = mods([M || M <- Mod0]),
- Type = "wxETreeItemData",
- BinCnt = next_id(bin_count),
- case Arg of
- arg ->
- w(" ~s~s * ~s = new ~s(Ecmd.bin[~p].size, Ecmd.bin[~p].base);~n",
- [Mod,Type,N,Type,BinCnt,BinCnt]);
- opt ->
- w(" ~s = new ~s(Ecmd.bin[~p].size, Ecmd.bin[~p].base);~n",
- [N,Type,BinCnt,BinCnt])
- end,
- A0;
-decode_arg(N,#type{name=Type,base={term,_},mod=Mod0},Arg,A0) ->
- Mod = mods([M || M <- Mod0]),
- BinCnt = next_id(bin_count),
- case Arg of
- arg ->
- w(" ~s~s * ~s = new ~s(&Ecmd.bin[~p]);~n",
- [Mod,Type,N,Type,BinCnt]);
- opt ->
- w(" ~s = new ~s(&Ecmd.bin[~p]);~n",
- [N,Type,BinCnt])
- end,
- A0;
-decode_arg(N,#type{single=array,base=int},Arg,A0) ->
- case Arg of
- arg ->
- w(" int * ~sLen = (int *) bp; bp += 4;~n", [N]),
- w(" int * ~s = (int *) bp; bp += *~sLen*4+((~p+ *~sLen)%2 )*4;~n",
- [N,N,(A0+1) rem 2,N]);
- opt ->
- w(" ~sLen = (int *) bp; bp += 4;~n", [N]),
- w(" ~s = (int *) bp; bp += *~sLen*4+((~p+ *~sLen)%2 )*4;~n",
- [N,N,(A0+1) rem 2,N])
- end,
- 0;
-decode_arg(N,#type{single=array,base=int64},Arg,A0) ->
- case Arg of
- arg ->
- w(" int * ~sLen = (int *) bp; bp += 4;~n", [N]),
- w(" int * ~s = (int *) bp; bp += *~sLen*4+((~p+ *~sLen)%2 )*4;~n",
- [N,N,(A0+1) rem 2,N]);
- opt ->
- w(" ~sLen = (int *) bp; bp += 4;~n", [N]),
- w(" ~s = (int *) bp; bp += *~sLen*4+((~p+ *~sLen)%2 )*4;~n",
- [N,N,(A0+1) rem 2,N])
- end,
- 0;
-decode_arg(N,#type{by_val=true,single=array,base={comp,Class="wxPoint",_}},arg,A0) ->
- w(" int * ~sLen = (int *) bp; bp += 4;~n", [N]),
- w(" ~s *~s;~n",[Class,N]),
- w(" ~s = (~s *) driver_alloc(sizeof(~s) * *~sLen);~n",[N,Class,Class,N]),
- store_free(N),
- w(" for(int i=0; i < *~sLen; i++) {~n", [N]),
- w(" int x = * (int *) bp; bp += 4;~n int y = * (int *) bp; bp += 4;~n", []),
- w(" ~s[i] = wxPoint(x,y);}~n", [N]),
- align(A0,32);
-decode_arg(N,#type{by_val=true,single=array,base={class,Class}},arg,A0) ->
- A = align(A0,32),
- w(" int * ~sLen = (int *) bp; bp += 4;~n", [N]),
- w(" ~s *~s;~n",[Class,N]),
- w(" ~s = (~s *) driver_alloc(sizeof(~s) * *~sLen);", [N, Class, Class, N]),
- store_free(N),
- w(" for(int i=0; i < *~sLen; i++) {", [N]),
- w(" ~s[i] = * (~s *) getPtr(bp,memenv); bp += 4;}~n", [N,Class]),
- w(" bp += ((~p+ *~sLen)%2 )*4;~n", [A, N]),
- 0;
-decode_arg(N,#type{name=Type,single=list,base={class,Class}},arg,A0) ->
- w(" int * ~sLen = (int *) bp; bp += 4;~n", [N]),
- A = align(A0,32),
- w(" ~s ~s;~n",[Type,N]),
- w(" for(int i=0; i < *~sLen; i++) {", [N]),
- w(" ~s.Append(*(~s *) getPtr(bp,memenv)); bp += 4;}~n", [N,Class]),
- w(" bp += ((~p+ *~sLen)%2 )*4;~n", [A,N]),
- 0;
-decode_arg(N,#type{single=array,base={comp,Class="wxPoint2DDouble",_}},arg,A0) ->
- w(" int * ~sLen = (int *) bp; bp += 4;~n", [N]),
- w(" ~s *~s;~n",[Class,N]),
- w(" ~s = (~s *) driver_alloc(sizeof(~s) * *~sLen);~n",[N,Class,Class,N]),
- store_free(N),
- align(A0+1,64),
- w(" for(int i=0; i < *~sLen; i++) {~n", [N]),
- w(" double x = * (double *) bp; bp += 8;~n double y = * (double *) bp; bp += 8;~n", []),
- w(" ~s[i] = wxPoint2DDouble(x,y);}~n", [N]),
- 0;
-decode_arg(Name,T, Arg,_A) ->
- ?error({unhandled_type, {Name,T, Arg}}).
-
-align(0, 32) -> 1;
-align(1, 32) -> 0;
-align(0, 64) -> 0;
-align(1, 64) ->
- w(" bp += 4; /* Align */~n"),
- 0;
-align(N,Sz) ->
- align(N rem 2, Sz).
-
-call_wx(_N,{constructor,_},#type{base={class,RClass}},Ps) ->
- #class{id=Id} = ClassDef = get({class,RClass}),
- Class = case is_derived(ClassDef) of
- true -> "E" ++ RClass;
- false -> RClass
- end,
- w(" ~s * Result = new ~s(~s);~n",
- [RClass, Class,args(fun call_arg/1, ",",filter(Ps))]),
- CType = case is_window(RClass) of
- true -> %% Windows have parents that should be deleted first
- case is_dialog(RClass) of
- true -> 2; %% Dialogs must be closed first event before windows
- false -> 0
- end;
- false ->
- case is_dc(RClass) of
- true -> 8;
- false ->
- case hd(reverse(wx_gen_erl:parents(RClass))) of
- root -> Id;
- _ -> 1
- end
- end
- end,
- case virtual_dest(ClassDef) orelse (CType =/= 0) of
- true ->
- w(" newPtr((void *) Result, ~p, memenv);~n", [CType]);
- false -> %% Hmm window without virt dest
- w(" /* Possible memory leak here, class is missing virt dest */ \n")
- end,
- Ps;
-call_wx(N,{member,_},Type,Ps) ->
- {Beg,End} = return_res(Type),
- w(" if(!This) throw wxe_badarg(0);~n",[]),
- w(" ~sThis->~s(~s)~s;~n",[Beg,N,args(fun call_arg/1, ",",filter(Ps)),End]),
- Ps;
-call_wx(N,{static,Class},Type,Ps) ->
- {Beg,End} = return_res(Type),
- #class{parent=Parent} = get({class,Class}),
- case Parent of
- "static" ->
- w(" ~s::~s(~s)~s;~n",[Beg,N,args(fun call_arg/1, ",",filter(Ps)),End]);
- _ ->
- w(" ~s~s::~s(~s)~s;~n",[Beg,Class,N,args(fun call_arg/1, ",",filter(Ps)),End])
- end,
- Ps.
-
-
-return_res(void) -> {"", ""};
-return_res(Type = #type{mod=Mod}) ->
- case lists:member(const, Mod) of
- true ->
- {Beg, End} = return_res1(Type),
- {"const " ++ Beg, End};
- _ ->
- return_res1(Type)
- end.
-
-return_res1(#type{name=Type,ref={pointer,_}, base={term,_}}) ->
- {Type ++ " * Result = (" ++ Type ++ "*)", ""};
-return_res1(#type{name=Type,ref={pointer,_}}) ->
- {Type ++ " * Result = (" ++ Type ++ "*)", ""};
-return_res1(#type{name=Type,single=true,by_val=false,ref=reference}) ->
- case Type of
- "wxString" -> {Type ++ " Result = ", ""};
- _ -> {Type ++ " * Result = &", ""}
- end;
-return_res1(#type{name=Type,single=true,by_val=true})
- when is_atom(Type) ->
- {atom_to_list(Type) ++ " Result = ", ""};
-return_res1(#type{name=Type="wxArrayInt"}) ->
- {Type ++ " Result = ", ""};
-return_res1(#type{name=Type,base={class,_},single=list,ref=reference}) ->
- {Type ++ " Result = ", ""};
-return_res1(#type{name=Type,base={comp,_,_},single=array,by_val=true}) ->
- {Type ++ " Result = ", ""};
-return_res1(#type{name=Type,single=true,by_val=true, base={class, _}}) ->
- case {need_copy_constr(Type), Type} of
- {true, _} ->
- {Type ++ " * Result = new E" ++ Type ++ "(", "); newPtr((void *) Result,"
- ++ "3, memenv);"};
- {false, "wxGraphics" ++ _} ->
- %% {"wxGraphicsObject * Result = new wxGraphicsObject(", "); newPtr((void *) Result,"
- %% ++ "3, memenv);"};
- {Type ++ " * Result = new " ++ Type ++ "(", "); newPtr((void *) Result,"
- ++ "4, memenv);"};
- {false, _} ->
- %% Temporary memory leak !!!!!!
- io:format("~s::~s Building return value of temp ~s~n",
- [get(current_class),get(current_func),Type]),
- {Type ++ " * Result = new " ++ Type ++ "(", "); newPtr((void *) Result,"
- ++ "3, memenv);"}
- end;
-return_res1(#type{base={enum,_Type},single=true,by_val=true}) ->
- {"int Result = " , ""};
-return_res1(#type{name="wxCharBuffer", base={binary,_},single=true,by_val=true}) ->
- {"char * Result = ", ".data()"};
-return_res1(#type{name=Type,single=array,ref=reference}) ->
- {Type ++ " Result = ", ""};
-return_res1(#type{name=Type,single=true,by_val=true}) ->
- {Type ++ " Result = ", ""}.
-
-filter(Ps) ->
- lists:filter(fun filter_arg/1, Ps).
-filter_arg(#param{where=erl}) -> false;
-filter_arg(#param{where=this}) -> false;
-filter_arg(#param{}) -> true.
-%%filter_arg(#param{def=Def, in=In}) -> Def =:= none orelse In =:= false.
-
-
-call_arg(#param{where=c, alt={length,Alt}}) when is_list(Alt) ->
- "*" ++ Alt ++ "Len";
-call_arg(#param{where=c, alt={size,Id}}) when is_integer(Id) ->
- %% It's a binary
- "Ecmd.bin["++ integer_to_list(Id) ++ "].size";
-call_arg(#param{name=N,def=Def,type=#type{by_val=true,single=true,base=Base}})
- when Base =:= int; Base =:= long; Base =:= float; Base =:= double; Base =:= bool ->
- case Def of
- none -> "*" ++ N;
- _ -> N
- end;
-call_arg(#param{name=N,type=#type{base={enum,_Type}, by_val=true,single=true}}) ->
- N;
-call_arg(#param{name=N,type=#type{base={class,_},by_val=true,single=true}}) -> "*" ++ N;
-call_arg(#param{name=N,type=#type{base={class,_},ref=reference,single=true}}) -> "*" ++ N;
-call_arg(#param{name=N,type=#type{base=eventType}}) ->
- N ++ ", (wxObjectEventFunction)(wxEventFunction) &WxeApp::handle_evt, Evt_cb, this";
-call_arg(#param{name=N,type=#type{by_val=true, single=_False}}) -> N;
-call_arg(#param{name=N,def=Def,type=#type{by_val=false, ref={pointer,2}}})
- when Def =/= none -> N;
-call_arg(#param{name=N,type=#type{base={term, Class}, by_val=false, ref={pointer,2}}}) ->
- "(" ++ Class ++ " **) &" ++ N;
-call_arg(#param{name=N,type=#type{base=Base, by_val=false, ref={pointer,2}}}) ->
- io:format("~p: ~p~n",[?LINE, Base]),
- "&" ++ N;
-call_arg(#param{name=N,in=false,type=#type{ref=reference, single=true}}) -> N;
-call_arg(#param{name=N,in=false,type=#type{by_val=false, single=true}}) -> "&" ++ N;
-call_arg(#param{name=N,def=Def,type=#type{base={comp,_,_},ref={pointer,1},single=true}})
- when Def =:= none ->
- "&" ++N;
-call_arg(#param{name=N,type=#type{base=int, ref=reference, single=true}}) -> "*" ++ N;
-call_arg(#param{name=N,type=#type{base=string, by_val=false, single=true, ref={pointer,1}}}) -> "&" ++ N;
-call_arg(#param{name=N,type=#type{by_val=false}}) -> N;
-call_arg(#param{name=N,type={merged,[{_,#type{base={class,_},single=true,
- by_val=ByVal,
- ref=Ref},_}|_]}})
- when ByVal =:= true; Ref =:= reference ->
- "*" ++ N;
-call_arg(#param{def=Def, type=void}) when Def =/= none -> Def;
-call_arg(#param{def=Def, type=voidp}) when Def =/= none -> "(void **) " ++ Def;
-call_arg(#param{name=N,type=#type{base={ref,_},by_val=true,single=true}}) -> N;
-call_arg(#param{name=N,type={merged,_}}) -> N.
-
-%% call_arg(#param{name=N,type=#type{base=Tuple,ref=reference}})
-%% when is_tuple(Tuple) -> "&" ++ N;
-
-to_string(Type) when is_atom(Type) -> atom_to_list(Type);
-to_string(Type) when is_list(Type) -> Type.
-
-virtual_dest(#class{abstract=true, parent=Parent}) ->
- virtual_dest(get_parent_class(Parent));
-virtual_dest(#class{methods=Ms, parent=Parent}) ->
- case lists:keysearch(destructor,#method.method_type, lists:append(Ms)) of
- {value, #method{method_type=destructor, virtual=Virtual}} ->
- case Virtual of
- true -> true;
- _ -> virtual_dest(get_parent_class(Parent))
- end;
- false -> virtual_dest(get_parent_class(Parent))
- end;
-virtual_dest("root") -> false;
-virtual_dest("object") -> true.
-
-get_parent_class(Parent) ->
- case get({class, Parent}) of
- undefined -> Parent;
- Class -> Class
- end.
-
-debug(F,A) ->
- case get(debug) of
- true -> ?warning(F,A);
- _ -> ok
- end.
-
-is_derived(#class{abstract=true}) -> false;
-is_derived(C = #class{}) -> virtual_dest(C).
-
-is_window(Class) ->
- lists:member("wxWindow", wx_gen_erl:parents(Class)).
-
-is_dialog(Class) ->
- lists:member("wxDialog", wx_gen_erl:parents(Class)).
-
-is_dc(Class) ->
- Parents = wx_gen_erl:parents(Class),
- lists:member("wxDC", Parents) orelse lists:member("wxGraphicsContext", Parents).
-
-build_return_vals(Type,Ps0) ->
- Ps = [P || P = #param{in=In} <- Ps0, In =/= true],
- HaveType = case Type of void -> 0; _ -> 1 end,
- NoOut = length(Ps) + HaveType,
- OutTupSz = if NoOut > 1 -> NoOut; true -> 0 end,
-
- CountFloats = fun(#param{type=#type{base=Float, single=true}}, Acc)
- when Float =:= float; Float =:= double ->
- Acc + 1;
- (_, Acc) ->
- Acc
- end,
- NofFloats = lists:foldl(CountFloats, 1, Ps),
- case NofFloats > 1 of
- true -> %%io:format("Floats ~p:~p ~p ~n",[get(current_class),get(current_func), NofFloats]);
- w(" rt.ensureFloatCount(~p);~n",[NofFloats]);
- false -> ignore
- end,
- build_ret_types(Type,Ps),
- if
- OutTupSz > 1 -> w(" rt.addTupleCount(~p);~n",[OutTupSz]);
- true -> ignore
- end,
- Ps.
-
-build_ret_types(void,Ps) ->
- Calc = fun(#param{name=N,in=In,type=T}, Free) ->
- case build_ret(N, {arg, In}, T) of
- ok -> Free;
- Other -> [Other|Free]
- end
- end,
- lists:foldl(Calc, [], Ps);
-build_ret_types(Type,Ps) ->
- Free = case build_ret("Result", {ret, out}, Type) of
- ok -> [];
- FreeStr -> [FreeStr]
- end,
- Calc = fun(#param{name=N,in=In,type=T}, FreeAcc) ->
- case build_ret(N, {arg, In}, T) of
- ok -> FreeAcc;
- FreeMe -> [FreeMe|FreeAcc]
- end
- end,
- lists:foldl(Calc, Free, Ps).
-
-build_ret(Name,_D,#type{base={class,Class},single=true}=_T) ->
- case Class of
- "wxGraphicsContext" ->
- w(" rt.addRef(getRef((void *)~s,memenv,8), \"~s\");~n",[Name,Class]);
- _ ->
- w(" rt.addRef(getRef((void *)~s,memenv), \"~s\");~n",[Name,Class])
- end;
-build_ret(Name,_,#type{name="wxTreeItemId",single=true}) ->
- w(" rt.add((wxUIntPtr *) ~s.m_pItem);~n",[Name]);
-build_ret(Name,_,#type{name="wxTreeItemIdValue",single=true}) ->
- w(" rt.add((wxUIntPtr *) ~s);~n",[Name]);
-build_ret(Name,_,#type{base={term,_},single=true}) ->
- w(" rt.addExt2Term(~s);~n", [Name]);
-build_ret(Name,_,#type{base={binary,Size},single=true}) ->
- w(" if(~s) {~n", [Name]),
- w(" rt.addBinary(~s, ~s);~n", [Name,Size]),
- w(" } else {rt.addAtom(\"null\");};~n");
-build_ret(Name,_,#type{name="wxUIntPtr", ref={pointer,1}, single=true}) ->
- w(" rt.add(~s);~n", [Name]);
-build_ret(Name,_,#type{base={enum,_Type},single=true}) ->
- w(" rt.addInt(~s);~n",[Name]);
-build_ret(Name,_,#type{base={comp,_,{record, _}},single=true}) ->
- w(" rt.add(~s);~n", [Name]);
-build_ret(Name,{ret,_},#type{base={comp,_,_},single=true, by_val=true}) ->
- w(" rt.add(~s);~n",[Name]);
-build_ret(Name,{ret,_},#type{base={comp,_,_},single=true, ref=reference}) ->
- w(" rt.add((*~s));~n",[Name]);
-build_ret(Name,_,#type{base={comp,_,_},single=true}) ->
- w(" rt.add(~s);~n",[Name]);
-build_ret(Name = "ev->m_scanCode",_,#type{base=bool,single=true,by_val=true}) ->
- %% Hardcoded workaround for 2.9 and later
- w("#if !wxCHECK_VERSION(2,9,0)~n", []),
- w(" rt.addBool(~s);~n",[Name]),
- w("#else~n rt.addBool(false);~n",[]),
- w("#endif~n",[]);
-build_ret(Name = "ev->m_metaDown",_,#type{base=bool,single=true,by_val=true}) ->
- %% Hardcoded workaround for MAC on 2.9 and later
- w("#if wxCHECK_VERSION(2,9,0) && defined(_MACOSX)~n", []),
- w(" rt.addBool(ev->m_rawControlDown);~n",[]),
- w("#else~n rt.addBool(~s);~n",[Name]),
- w("#endif~n",[]);
-
-build_ret(Name,_,#type{base=bool,single=true,by_val=true}) ->
- w(" rt.addBool(~s);~n",[Name]);
-build_ret(Name,{arg, both},#type{base=int,single=true,mod=M}) ->
- case lists:member(unsigned, M) of
- true -> w(" rt.addUint(*~s);~n",[Name]);
- false -> w(" rt.addInt(*~s);~n",[Name])
- end;
-build_ret(Name,_,#type{base=int,single=true,mod=M}) ->
- case lists:member(unsigned, M) of
- true -> w(" rt.addUint(~s);~n",[Name]);
- false -> w(" rt.addInt(~s);~n",[Name])
- end;
-build_ret(Name,_,#type{name="wxArrayInt"}) ->
- w(" rt.add(~s);~n", [Name]);
-build_ret(Name,_,#type{name="wxArrayDouble"}) ->
- w(" rt.add(~s);~n", [Name]);
-build_ret(Name,_,#type{base={comp,_,_},single=array}) ->
- w(" for(unsigned int i=0; i < ~s.GetCount(); i++) {~n", [Name]),
- w(" rt.add(~s[i]);~n }~n",[Name]),
- w(" rt.endList(~s.GetCount());~n",[Name]);
-build_ret(Name,_,#type{base={class,Class},single=array}) ->
- w(" for(unsigned int i=0; i < ~s.GetCount(); i++) {~n", [Name]),
- w(" rt.addRef(getRef((void *) &~s.Item(i), memenv), \"~s\");~n }~n",[Name, Class]),
- w(" rt.endList(~s.GetCount());~n",[Name]);
-build_ret(Name,_,#type{name=List,single=list,base={class,Class}}) ->
- w(" int i=0;~n"),
- w(" for(~s::const_iterator it = ~s.begin(); it != ~s.end(); ++it) {~n",
- [List, Name, Name]),
- w(" ~s * ~sTmp = *it;~n", [Class,Name]),
- w(" rt.addRef(getRef((void *)~sTmp,memenv), \"~s\"); i++;}~n",[Name,Class]),
- w(" rt.endList(~s.GetCount());~n",[Name]);
-
-build_ret(Name,_,#type{name="wxArrayTreeItemIds"}) ->
- w(" for(unsigned int i=0; i < ~s.GetCount(); i++) {~n", [Name]),
- w(" rt.add((wxUIntPtr *)~s[i].m_pItem);}~n",[Name]),
- w(" rt.endList(~s.GetCount());~n",[Name]);
-
-build_ret(Name,_,#type{base=float,single=true}) ->
- w(" rt.addFloat(~s);~n",[Name]);
-build_ret(Name,_,#type{base=double,single=true}) ->
- w(" rt.addFloat(~s);~n",[Name]);
-build_ret(Name,_,#type{name="wxeLocaleC"}) ->
- w(" rt.add(wxeLocaleC2String(~s));~n",[Name]);
-build_ret(Name,_,#type{base=string,single=true}) ->
- w(" rt.add(~s);~n",[Name]);
-build_ret(Name,_,#type{name="wxArrayString", single=array}) ->
- w(" rt.add(~s);~n", [Name]);
-build_ret(Name,_,#type{name="wxString", single={list,Variable}}) ->
- Obj = case Name of
- "ev->" ++ _ -> "ev";
- _ -> "This"
- end,
- w(" wxArrayString tmpArrayStr(~s->~s, ~s);~n", [Obj,Variable,Name]),
- w(" rt.add(tmpArrayStr);~n", []);
-build_ret(Name,In,T) ->
- ?error({nyi, Name,In, T}).
-
-mods([const|R]) -> "const " ++ mods(R);
-mods([unsigned|R]) -> "unsigned " ++ mods(R);
-mods([]) -> "".
-
-build_enums() ->
- Tree = get(consts),
- w(" /* This file is also generated */~n"),
- w("#include <wx/wx.h>~n"),
- w("#include \"../wxe_impl.h\"~n"),
- w("#include \"wxe_macros.h\"~n"),
- w("#include \"../wxe_return.h\"~n"),
- w("void WxeApp::init_nonconsts(wxeMemEnv *memenv, ErlDrvTermData caller) {~n"),
- NotConsts = [NC || NC = #const{is_const=false} <- gb_trees:values(Tree)],
- Size = length(NotConsts),
- GVars = get(gvars),
- GSize = length(GVars),
- w(" wxeReturn rt = wxeReturn(WXE_DRV_PORT, caller);~n"),
- w(" rt.addAtom((char*)\"wx_consts\");~n"),
- [build_enum(NConst) || NConst <- lists:keysort(#const.val, NotConsts)],
- _Cnt = foldl(fun(Gvar, I) -> build_gvar(Gvar,I) end, 0, lists:sort(GVars)),
- w(" rt.endList(~p);~n", [Size+GSize]),
- w(" rt.addTupleCount(2);~n"),
- w(" rt.send();~n"),
- w("}~n"),
- ok.
-
-build_enum(#const{name=Name}) ->
- w(" rt.addAtom(\"~s\"); rt.addInt(~s);~n", [Name, Name]),
- w(" rt.addTupleCount(2);~n").
-
-build_gvar({Name, "wxColour", _Id}, Cnt) ->
- w(" rt.addAtom(\"~s\"); rt.add(*(~s));~n",[Name,Name]),
- w(" rt.addTupleCount(2);~n"),
- Cnt;
-build_gvar({Name, {address,Class}, _Id}, Cnt) ->
- w(" rt.addAtom(\"~s\"); rt.addRef(getRef((void *)&~s,memenv), \"~s\");~n",[Name,Name,Class]),
- w(" rt.addTupleCount(2);~n"),
- Cnt+1;
-build_gvar({Name, {test_if,Test}, _Id}, Cnt) ->
- w("#if ~s~n", [Test]),
- w(" rt.addAtom(\"~s\"); rt.addInt(~s);~n", [Name, Name]),
- w(" rt.addTupleCount(2);~n"),
- w("#else~n", []),
- w(" rt.addAtom(\"~s\"); rt.addAtom(\"undefined\");~n", [Name]),
- w(" rt.addTupleCount(2);~n"),
- w("#endif~n", []),
- Cnt+1;
-build_gvar({Name, Class, _Id}, Cnt) ->
- w(" rt.addAtom(\"~s\"); rt.addRef(getRef((void *)~s,memenv),\"~s\");~n",[Name,Name,Class]),
- w(" rt.addTupleCount(2);~n"),
- Cnt+1.
-
-gen_macros() ->
- w("#include <wx/caret.h>~n"), %% Arrg wxw forgot?? some files
- w("#include <wx/tooltip.h>~n"),
- w("#include <wx/gbsizer.h>~n"),
- w("#include <wx/splash.h>~n"),
- w("#include <wx/grid.h>~n"),
- w("#include <wx/image.h>~n"),
- w("#include <wx/tglbtn.h>~n"),
- w("#include <wx/calctrl.h>~n"),
- w("#include <wx/dirctrl.h>~n"),
- w("#include <wx/listctrl.h>~n"),
- w("#include <wx/treectrl.h>~n"),
- w("#include <wx/spinbutt.h>~n"),
- w("#include <wx/spinctrl.h>~n"),
- w("#include <wx/colordlg.h>~n"),
- w("#include <wx/fdrepdlg.h>~n"),
- w("#include <wx/fontdlg.h>~n"),
- w("#include <wx/progdlg.h>~n"),
- w("#include <wx/printdlg.h>~n"),
- w("#include <wx/display.h>~n"),
- w("#include <wx/dcbuffer.h>~n"),
- w("#include <wx/dcmirror.h>~n"),
- w("#include <wx/glcanvas.h>~n"),
- w("#include <wx/dcps.h>~n"),
- w("#include <wx/xrc/xmlres.h>~n"),
- w("#include <wx/html/htmprint.h>~n"),
- w("#include <wx/stc/stc.h>~n"),
- w("#include <wx/minifram.h>~n"),
- w("#include <wx/sashwin.h>~n"),
- w("#include <wx/laywin.h>~n"),
- w("#include <wx/graphics.h>~n"),
- w("#include <wx/dcgraph.h>~n"),
- w("#include <wx/aui/aui.h>~n"),
- w("#include <wx/datectrl.h>~n"),
- w("#include <wx/filepicker.h>~n"),
- w("#include <wx/fontpicker.h>~n"),
- w("#include <wx/clrpicker.h>~n"),
- w("#include <wx/statline.h>~n"),
- w("#include <wx/clipbrd.h>~n"),
- w("#include <wx/splitter.h>~n"),
- w("#include <wx/choicebk.h>~n"),
- w("#include <wx/toolbook.h>~n"),
- w("#include <wx/listbook.h>~n"),
- w("#include <wx/treebook.h>~n"),
- w("#include <wx/taskbar.h>~n"),
- w("#include <wx/popupwin.h>~n"),
- w("#include <wx/html/htmlwin.h>~n"),
- w("#include <wx/html/htmlcell.h>~n"),
- w("#include <wx/filename.h>~n"),
- w("#include <wx/sysopt.h>~n"),
- w("#include <wx/overlay.h>~n"),
- w("#include <wx/notifmsg.h>~n"),
-
- w("~n~n", []),
- w("#ifndef wxICON_DEFAULT_BITMAP_TYPE~n",[]),
- w(" #define wxICON_DEFAULT_BITMAP_TYPE wxBITMAP_TYPE_ICO_RESOURCE~n",[]),
- w("#endif~n", []),
- w("~n~n", []),
-
- [w("#define ~s_~s ~p~n", [Class,Name,Id]) ||
- {Class,Name,_,Id} <- wx_gen_erl:get_unique_names()],
- w("~n~n").
-
-build_events() ->
- open_write("../c_src/gen/wxe_events.cpp"),
- c_copyright(),
- w("~n/***** This file is generated do not edit ****/~n~n"),
- w("#include <wx/wx.h>~n"),
- w("#include \"../wxe_impl.h\"~n~n"),
- w("#include \"wxe_macros.h\"~n"),
- w("#include \"../wxe_events.h\"~n~n"),
- w("#include \"../wxe_return.h\"~n~n"),
-
- w("wxeEtype::wxeEtype(const char *name, int Id) {eName = name;cID = Id;}~n~n"),
- w("WX_DECLARE_HASH_MAP(int, wxeEtype*, wxIntegerHash, wxIntegerEqual, wxeETmap );~n~n"),
-
- w("wxeETmap etmap;~n~n"),
-
- w(
-"int wxeEventTypeFromAtom(char *etype_atom) {
- wxeETmap::iterator it;
- for(it = etmap.begin(); it != etmap.end(); ++it) {
- wxeEtype * value = it->second;
- if(strcmp(value->eName, etype_atom) == 0) {
- if(it->first > wxEVT_USER_FIRST) {
- return it->first - wxEVT_USER_FIRST;
- } else {
- return it->first;
- }
- }
- }
- return -1;
-}
-
-"),
-
- Evs0 = [C || {_,C=#class{event=Evs}} <- get(), Evs =/= false],
- Evs = lists:keysort(#class.id, Evs0),
- initEventTable(Evs),
- encode_events(Evs),
- close().
-
-initEventTable(Evs) ->
- w("void initEventTable()~n{~n"),
- w(" struct { ",[]),
- w("int ev_type; int class_id; const char * ev_name;} event_types[] =~n {~n",[]),
-
- lists:foreach(fun(Ev) -> init_event_classes(Ev) end,
- [#class{id=0,event=[wxEVT_NULL]}|Evs]),
- w(" {-1, 0, ""}~n };~n",[]),
- w(" for(int i=0; event_types[i].ev_type != -1; i++) {~n",[]),
- w(" if(NULL == etmap[event_types[i].ev_type]) {~n",[]),
- w(" etmap[event_types[i].ev_type] =~n"
- " new wxeEtype(event_types[i].ev_name, event_types[i].class_id);~n"),
- w(" } else {~n",[]),
- w(" wxeEtype *prev = etmap[event_types[i].ev_type];~n"
- " wxString msg(wxT(\"Duplicate event defs: \"));~n"
- " msg += wxString::FromAscii(event_types[i].ev_name);~n"
- " msg += wxString::Format(wxT(\" %d \"), event_types[i].class_id);~n"
- " msg += wxString::FromAscii(prev->eName);~n"
- " msg += wxString::Format(wxT(\" %d\"), prev->cID);~n"
- " send_msg(\"internal_error\", &msg);~n"
- " }~n"
- " }~n", []),
- w("}~n~n").
-
-init_event_classes(#class{event=ETs, id=Id}) ->
- F = fun({Eev, Cev, OtherClass}) ->
- w(" {~w + wxEVT_USER_FIRST, ~w, ~p},~n",
- [Cev, find_id(OtherClass), wx_gen_erl:event_type_name(Eev)]);
- ({Ev, {test_if, Test}}) ->
- w("#if ~s~n", [Test]),
- w(" {~w, ~w, ~p},~n",
- [Ev, Id, wx_gen_erl:event_type_name(Ev)]),
- w("#endif~n", []);
- (Ev) ->
- w(" {~w, ~w, ~p},~n",
- [Ev, Id, wx_gen_erl:event_type_name(Ev)])
- end,
- [F(ET) || ET <- ETs].
-
-find_id(OtherClass) ->
- Class = get({class,atom_to_list(OtherClass)}),
- %%{value, Class} = lists:keysearch(atom_to_list(OtherClass), #class.name, All),
- Class#class.id.
-
-encode_events(Evs) ->
- ?WTC("encode_events"),
- w("int getRef(void* ptr, wxeMemEnv* memenv)~n"
- "{~n"
- " WxeApp * app = (WxeApp *) wxTheApp;~n"
- " return app->getRef(ptr,memenv);~n"
- "}~n~n"),
- w("bool sendevent(wxEvent *event, ErlDrvTermData port)~n{~n"
- " int send_res ;~n"
- " char * evClass = NULL;~n"
- " wxMBConvUTF32 UTFconverter;~n"
- " wxeEtype *Etype = etmap[event->GetEventType()];~n"
- " wxeEvtListener *cb = (wxeEvtListener *)event->m_callbackUserData;~n"
- " WxeApp * app = (WxeApp *) wxTheApp;~n"
- " wxeMemEnv *memenv = app->getMemEnv(port);~n"
- " if(!memenv) return 0;~n~n"
- " wxeReturn rt = wxeReturn(port, cb->listener);~n"),
-
- w("~n rt.addAtom((char*)\"wx\");~n"
- " rt.addInt((int) event->GetId());~n"
- " rt.addRef(cb->obj, cb->class_name);~n"
- " rt.addExt2Term(cb->user_data);~n"),
-
- w(" switch(Etype->cID) {~n"),
- lists:foreach(fun(Ev) -> encode_event(Ev) end, Evs),
- w(" }~n~n"),
-
- w(" rt.addTupleCount(5);~n"),
- w(" if(cb->fun_id) {~n"),
- w(" rt.addRef(getRef((void *)event,memenv), evClass);~n"),
- w(" rt.addTupleCount(2);~n"),
- w(" rt.addInt(cb->fun_id);~n"),
- w(" rt.addAtom(\"_wx_invoke_cb_\");~n"),
- w(" rt.addTupleCount(3);~n"),
- w(" pre_callback();~n"),
- w(" send_res = rt.send();~n"),
- w(" if(send_res) handle_event_callback(WXE_DRV_PORT_HANDLE, cb->listener);~n"),
- w(" app->clearPtr((void *) event);~n"),
- w(" } else {~n"),
- w(" send_res = rt.send();~n"),
- w(" if(cb->skip) event->Skip();~n"),
- #class{id=SizeId} = lists:keyfind("wxSizeEvent", #class.name, Evs),
- #class{id=MoveId} = lists:keyfind("wxMoveEvent", #class.name, Evs),
- w(" if(app->recurse_level < 1 && (Etype->cID == ~w || Etype->cID == ~w)) {~n",
- [SizeId, MoveId]),
- w(" app->recurse_level++;~n"),
- w(" app->dispatch_cmds();~n"),
- w(" app->recurse_level--;~n"),
- w(" }~n"),
- w(" };~n"),
- w(" return send_res;~n"),
- w(" }~n").
-
-encode_event(C = #class{name=Class, id=Id, options=Opts}) ->
- ?WTC("encode_event"),
- case proplists:get_value("mixed_event", Opts) of
- undefined ->
- w("case ~p: {// ~s~n", [Id,Class]),
- encode_event2(C),
- ok;
- Mixed ->
- w("case ~p: {// ~s or ~s~n", [Id,Class,Mixed]),
- w(" if(event->IsKindOf(CLASSINFO(~s))) {~n",[Class]),
- encode_event2(C),
- w(" } else {~n",[]),
- w(" Etype = etmap[event->GetEventType() + wxEVT_USER_FIRST];~n",[]),
- encode_event2(get({class,atom_to_list(Mixed)})),
- w(" }~n",[]),
- ok
- end,
- w(" break;~n}~n").
-
-encode_event2(Class = #class{name=Name}) ->
- Attrs = build_event_attrs(Class),
- w(" evClass = (char*)\"~s\";~n",[Name]),
- w(" rt.addAtom((char*)\"~s\");~n", [wx_gen_erl:event_rec_name(Name)]),
- w(" rt.addAtom(Etype->eName);~n"),
- build_ret_types(void, Attrs),
- w(" rt.addTupleCount(~p);~n",[length(Attrs) + 2]).
-
-build_event_attrs(ClassRec = #class{name=Class}) ->
- Attrs0 = wx_gen_erl:filter_attrs(ClassRec),
- Rename =
- fun(Att = #param{name=Name,prot=public,acc=undefined}, {All,Use}) ->
- {[Att#param{name= "ev->" ++ Name}|All],Use};
- (Att = #param{acc=Acc}, {All,_}) ->
- {[Att#param{name= "ev->" ++ Acc}|All], true}
- end,
- case foldr(Rename,{[],false},Attrs0) of
- {[],_} -> [];
-%% {Attrs,false} ->
-%% w(" ~s ev = dynamic_cast<~s&>(event);~n",[Class,Class]),
-%% Attrs;
- {Attrs,_} ->
- w(" ~s * ev = (~s *) event;~n",[Class,Class]),
- FixClass =
- fun(P=#param{name=N,acc=Acc,type=#type{single=Single,by_val=ByVal,
- base={class,C}, mod=Mods,
- ref = Ref}})
- when Acc =/= undefined ->
- Var = var_name(N),
- if Single, ByVal ->
- w(" ~s * ~s = new ~s(~s);~n", [C,Var,C,N]),
- w(" app->newPtr((void *) ~s,3, memenv);~n", [Var]);
- Ref =:= reference ->
- w(" ~s ~s * ~s = &~s;~n", [mods(Mods), C,Var,N]);
- true ->
- w(" ~s ~s * ~s = ~s;~n", [mods(Mods), C,Var,N])
- end,
- P#param{name=Var};
- (P) -> P
- end,
- lists:map(FixClass, Attrs)
- end.
-
-var_name("ev->" ++ Name0) ->
- case reverse(Name0) of
- ")(" ++ Name -> reverse(Name);
- _ -> Name0
- end;
-var_name(Name) -> Name.
-
-enum_name({Class,Type}) ->
- uppercase_all(Class ++ "_" ++ Type);
-enum_name(Type) ->
- uppercase_all(Type).
-
-
-enum_type({Class,Type}) ->
- Class ++ "::" ++ Type;
-enum_type(Type) -> Type.
diff --git a/lib/wx/api_gen/wx_gen_erl.erl b/lib/wx/api_gen/wx_gen_erl.erl
index b0cd67bad0..2ea5827843 100644
--- a/lib/wx/api_gen/wx_gen_erl.erl
+++ b/lib/wx/api_gen/wx_gen_erl.erl
@@ -76,6 +76,8 @@ gen_static(Files) ->
w("-include(\"wxe.hrl\").~n",[]),
%% w("-compile(export_all).~n~n", []), %% XXXX remove ???
[gen_static_exports(C) || C <- Files],
+ {ok, MiscExtra} = file:read_file(filename:join([wx_extra, "wx_misc.erl"])),
+ w("~s", [MiscExtra]),
Classes = [gen_static_methods(C) || C <- Files],
close(),
Classes.
@@ -97,10 +99,7 @@ gen_static_methods(C=#class{name=Name, parent="static",methods=Ms}) ->
gen_class1(C=#class{parent="static"}) ->
C;
gen_class1(C=#class{name=Name,parent=Parent,methods=Ms,options=Opts}) ->
- case Opts of
- ["ignore"] -> throw(skipped);
- _ -> ok
- end,
+ lists:member("ignore", Opts) andalso throw(skipped),
open_write("../src/gen/"++Name++".erl"),
put(current_class, Name),
erl_copyright(),
diff --git a/lib/wx/api_gen/wx_gen_nif.erl b/lib/wx/api_gen/wx_gen_nif.erl
index 4324d036e3..e71b155e6d 100644
--- a/lib/wx/api_gen/wx_gen_nif.erl
+++ b/lib/wx/api_gen/wx_gen_nif.erl
@@ -452,6 +452,8 @@ declare_type(N,false,_,#type{name="wxDateTime"}) ->
w(" wxDateTime ~s;~n", [N]);
declare_type(N,false,_,#type{name="wxColour"}) ->
w(" wxColour ~s;~n", [N]);
+declare_type(N,false,_,#type{name="wxString"}) ->
+ w(" wxString ~s;~n", [N]);
declare_type(N,false,_,#type{name=Type, base=int, ref=reference}) ->
w(" ~s ~s;~n", [Type,N]);
declare_type(N,false,_,#type{name=Type, base=int64, ref=reference}) ->
@@ -1233,19 +1235,29 @@ mods([]) -> "".
gen_func_table(Defs) ->
- Ms = [{Class,Method} ||
- #class{name=Class, methods=Ms} <- Defs,
- Method <- lists:keysort(#method.id, lists:flatten(Ms))],
w("~n"),
w("#include <wx/wx.h>~n"),
w("#include \"../wxe_impl.h\"~n"),
w("~n"),
- {_Id, Entries} = lists:foldl(fun gen_func_defs/2, {0,[]}, Ms),
+ {_Id, Entries} = gen_class_func_defs(Defs, {0,[]}),
w("~n"),
w("wxe_fns_t wxe_fns[] =~n{~n"),
[w("~s", [Str]) || Str <- lists:reverse(Entries)],
w("};~n").
+gen_class_func_defs([Class | Rest], Acc) ->
+ #class{name=Name, methods=Ms, options=Opts} = Class,
+ Methods = lists:keysort(#method.id, lists:flatten(Ms)),
+ AddOpts = case lists:keysearch(ifdef,1,Opts) of
+ {value, {ifdef, What}} when is_atom(What) -> [{ifdef, atom_to_list(What)}];
+ {value, {ifdef, What}} when is_list(What) -> [{ifdef, What}];
+ false -> []
+ end,
+ Acc2 = lists:foldl(fun (Method = #method{opts=FOpts}, InAcc) ->
+ gen_func_defs({Name, Method#method{opts=FOpts ++ AddOpts}}, InAcc)
+ end, Acc, Methods),
+ gen_class_func_defs(Rest, Acc2);
+gen_class_func_defs([], Acc) -> Acc.
gen_func_defs({_, #method{where=erl_no_opt}}, Acc) -> Acc;
gen_func_defs({_, #method{where=erl_alias}}, Acc) -> Acc;
@@ -1258,11 +1270,17 @@ gen_func_defs({Class, #method{id=Id, method_type=MT, opts=FOpts, params=Ps}=Mtd}
"wxEvtHandler_Disconnect_1",
"wxEvtHandler_Disconnect_0"]),
N = wx_gen_erl:erl_args_count(Ps, c),
- Endif1 = gen_if(deprecated, FOpts, true),
- Endif2 = gen_if(test_if, FOpts, true),
- Depr = gen_if(deprecated, FOpts, false),
- Vers = gen_if(test_if, FOpts, false),
Name = wx_gen_erl:erl_func_name(Mtd),
+ Restrictions = [IfDef || {value, {_, IfDef}} <- [lists:keysearch(What, 1, FOpts) || What <- [ifdef, deprecated, test_if]]],
+ {Prefix, Stub, Postfix} = if
+ Restrictions == [] -> {"", "", ""};
+ true -> {
+ io_lib:format("#if ~s~n", [string:join(Restrictions, " && ")]),
+ io_lib:format("#else~n {NULL, \"~s\", \"~s\", 0}, // ~w~n", [Class, Name, Id]),
+ io_lib:format("#endif // ~s~n", [string:join(Restrictions, " && ")])
+ }
+ end,
+ w(Prefix),
Str1 = if IsObjectDest ->
io_lib:format(" {NULL, \"~s\", \"~s\", 1}, // ~w obj destructor ~s~n", [Class, Name, Id, Func]);
IsTaylorMadeErl ->
@@ -1271,12 +1289,8 @@ gen_func_defs({Class, #method{id=Id, method_type=MT, opts=FOpts, params=Ps}=Mtd}
w("extern void ~s(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);~n", [Func]),
io_lib:format(" {~s, \"~s\", \"~s\", ~w}, // ~w~n", [Func, Class, Name, N, Id])
end,
- Str2 = if Endif1 orelse Endif2 ->
- w("#endif~n"),
- io_lib:format("#else~n {NULL, \"~s\", \"~s\", 0}, // ~w~n#endif~n", [Class, Name, Id]);
- true -> ""
- end,
- {Id+1, [[Depr,Vers,Str1,Str2]|Strs]};
+ w(Postfix),
+ {Id+1, [[Prefix,Str1,Stub,Postfix]|Strs]};
gen_func_defs({_, _}=CM, {50=Id, Strs}) ->
w("extern void wxe_destroy(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);~n", []),
Str = io_lib:format(" {wxe_destroy, \"wxe_util\", \"destroy\", 1}, // ~w~n", [Id]),
@@ -1434,6 +1448,11 @@ gen_macros() ->
w("#include <wx/sysopt.h>~n"),
w("#include <wx/overlay.h>~n"),
w("#include <wx/notifmsg.h>~n"),
+ w("#include <wx/webview.h>~n"),
+ w("#if wxUSE_WEBVIEW && wxUSE_WEBVIEW_IE~n"),
+ w("#include <wx/msw/webview_ie.h>~n"),
+ w("#endif~n"),
+
w("~n~n", []),
w("#ifndef wxICON_DEFAULT_BITMAP_TYPE~n",[]),
@@ -1583,6 +1602,11 @@ encode_events(Evs) ->
encode_event(C = #class{name=Class, id=Id, options=Opts}) ->
?WTC("encode_event"),
+ case proplists:get_value(ifdef, Opts) of
+ undefined -> ok;
+ What when is_list(What)-> w("#if ~s~n",[What]);
+ What when is_atom(What) -> w("#if ~p~n",[What])
+ end,
case proplists:get_value("mixed_event", Opts) of
undefined ->
w(" case ~p: {// ~s~n", [Id,Class]),
@@ -1598,7 +1622,11 @@ encode_event(C = #class{name=Class, id=Id, options=Opts}) ->
w(" }~n",[]),
ok
end,
- w(" break;~n }~n").
+ w(" break;~n }~n"),
+ case proplists:get_value(ifdef, Opts) of
+ undefined -> ok;
+ Endif -> w("#endif // ~p~n~n",[Endif])
+ end.
encode_event2(#class{}=Class) ->
Attrs = build_event_attrs(Class),
diff --git a/lib/wx/api_gen/wxapi.conf b/lib/wx/api_gen/wxapi.conf
index ed3da97c44..c17754925d 100644
--- a/lib/wx/api_gen/wxapi.conf
+++ b/lib/wx/api_gen/wxapi.conf
@@ -207,7 +207,15 @@
{wxSTC_V_PORT, {test_if, "wxCHECK_VERSION(3,1,1)"}},
{wxSTC_VHDL_BLOCK_COMMENT, {test_if, "wxCHECK_VERSION(3,1,1)"}},
{wxSTC_WRAP_WHITESPACE, {test_if, "wxCHECK_VERSION(3,1,1)"}},
- {wxSTC_WS_VISIBLEONLYIN, {test_if, "wxCHECK_VERSION(3,1,1)"}}
+ {wxSTC_WS_VISIBLEONLYIN, {test_if, "wxCHECK_VERSION(3,1,1)"}},
+
+ {wxWebViewZoom, {test_if, "WXE_WEBVIEW"}},
+ {wxWebViewZoomType, {test_if, "WXE_WEBVIEW"}},
+ {wxWebViewNavigationError, {test_if, "WXE_WEBVIEW"}},
+ {wxWebViewReloadFlags, {test_if, "WXE_WEBVIEW"}},
+ {wxWebViewFindFlags, {test_if, "WXE_WEBVIEW"}},
+ {wxWebViewNavigationActionFlags, {test_if, "WXE_WEBVIEW && wxCHECK_VERSION(3,1,2)"}},
+ {wxWebViewIE_EmulationLevel, {test_if, "WXE_WEBVIEW_IE && wxCHECK_VERSION(3,1,3)"}}
]}.
{gvars,
@@ -2319,3 +2327,60 @@
{'AddAction', [{test_if, "wxCHECK_VERSION(3,1,0)"}]},'Close',
'SetFlags',{'SetIcon', [{test_if, "wxCHECK_VERSION(3,1,0)"}]},
'SetMessage','SetParent','SetTitle','Show']}.
+
+{class, wxWebView, wxControl, [{ifdef, "WXE_WEBVIEW"}, {skip, [{'New', 1}]}],
+ ['New','~wxWebView',
+ 'GetCurrentTitle','GetCurrentURL','GetPageSource','GetPageText',
+ 'IsBusy','IsEditable','LoadURL','Print',
+
+ %% This probably needs a taylormade call
+ % 'RegisterHandler'
+ 'Reload',
+ {'RunScript', [{"output", out}, {test_if, "wxCHECK_VERSION(3,1,1)"}]},
+ 'SetEditable','SetPage','Stop',
+
+ %% Clipboard
+ 'CanCopy','CanCut','CanPaste','Copy','Cut','Paste',
+
+ %% Context Menu
+ 'EnableContextMenu','IsContextMenuEnabled',
+
+ %% History
+ 'CanGoBack','CanGoForward','ClearHistory','EnableHistory',
+ 'GoBack','GoForward',
+ %% Can not expose these ATM because of wxVector<wxSharedPtr<wxWebViewHistoryItem>
+ % 'GetBackwardHistory','GetForwardHistory','LoadHistoryItem',
+
+ %% Selection
+ 'ClearSelection','DeleteSelection','GetSelectedSource','GetSelectedText',
+ 'HasSelection','SelectAll',
+
+ %% Undo / Redo
+ 'CanRedo','CanUndo','Redo','Undo',
+
+ %% Finding
+ 'Find',
+
+ %% Zoom
+ 'CanSetZoomType','GetZoom','GetZoomType','SetZoom','SetZoomType',
+ {'GetZoomFactor', [{test_if, "wxCHECK_VERSION(3,1,4)"}]},
+ {'SetZoomFactor', [{test_if, "wxCHECK_VERSION(3,1,4)"}]},
+
+ %% Static calls
+ {'IsBackendAvailable', [{test_if, "wxCHECK_VERSION(3,1,4)"}]}]}.
+
+{class, wxWebViewEvent, wxNotifyEvent,
+ [{ifdef, "WXE_WEBVIEW"},
+ {acc,
+ [{m_string, "GetString()"},
+ {m_int, "GetInt()"},
+ {m_target, "GetTarget()"},
+ {m_url, "GetURL()"}]},
+ {event,
+ [{wxEVT_WEBVIEW_NAVIGATING, {test_if, "WXE_WEBVIEW"}},
+ {wxEVT_WEBVIEW_NAVIGATED, {test_if, "WXE_WEBVIEW"}},
+ {wxEVT_WEBVIEW_LOADED, {test_if, "WXE_WEBVIEW"}},
+ {wxEVT_WEBVIEW_ERROR, {test_if, "WXE_WEBVIEW"}},
+ {wxEVT_WEBVIEW_NEWWINDOW, {test_if, "WXE_WEBVIEW"}},
+ {wxEVT_WEBVIEW_TITLE_CHANGED, {test_if, "WXE_WEBVIEW"}}]}],
+ ['GetString', 'GetInt', 'GetTarget','GetURL']}.
diff --git a/lib/wx/c_src/gen/wxe_events.cpp b/lib/wx/c_src/gen/wxe_events.cpp
index cc5647e615..d97b756f54 100644
--- a/lib/wx/c_src/gen/wxe_events.cpp
+++ b/lib/wx/c_src/gen/wxe_events.cpp
@@ -323,6 +323,24 @@ void initEventTable()
{wxEVT_HIBERNATE, 235, "hibernate", "wxActivateEvent", "wxActivate"},
{wxEVT_MOUSE_CAPTURE_LOST, 238, "mouse_capture_lost", "wxMouseCaptureLostEvent", "wxMouseCaptureLost"},
{wxEVT_DROP_FILES, 241, "drop_files", "wxDropFilesEvent", "wxDropFiles"},
+#if WXE_WEBVIEW
+ {wxEVT_WEBVIEW_NAVIGATING, 246, "webview_navigating", "wxWebViewEvent", "wxWebView"},
+#endif
+#if WXE_WEBVIEW
+ {wxEVT_WEBVIEW_NAVIGATED, 246, "webview_navigated", "wxWebViewEvent", "wxWebView"},
+#endif
+#if WXE_WEBVIEW
+ {wxEVT_WEBVIEW_LOADED, 246, "webview_loaded", "wxWebViewEvent", "wxWebView"},
+#endif
+#if WXE_WEBVIEW
+ {wxEVT_WEBVIEW_ERROR, 246, "webview_error", "wxWebViewEvent", "wxWebView"},
+#endif
+#if WXE_WEBVIEW
+ {wxEVT_WEBVIEW_NEWWINDOW, 246, "webview_newwindow", "wxWebViewEvent", "wxWebView"},
+#endif
+#if WXE_WEBVIEW
+ {wxEVT_WEBVIEW_TITLE_CHANGED, 246, "webview_title_changed", "wxWebViewEvent", "wxWebView"},
+#endif
{-1, 0, "", "", ""}
};
@@ -852,6 +870,20 @@ bool sendevent(wxEvent *event, wxeMemEnv *memenv)
);
break;
}
+#if WXE_WEBVIEW
+ case 246: {// wxWebViewEvent
+ wxWebViewEvent * ev = (wxWebViewEvent *) event;
+ ev_term = enif_make_tuple6(rt.env,
+ Etype->evRecord,
+ Etype->evName,
+ rt.make(ev->GetString()),
+ rt.make_int(ev->GetInt()),
+ rt.make(ev->GetTarget()),
+ rt.make(ev->GetURL()));
+ break;
+ }
+#endif // "WXE_WEBVIEW"
+
}
ERL_NIF_TERM wx_ev =
diff --git a/lib/wx/c_src/gen/wxe_func_table.cpp b/lib/wx/c_src/gen/wxe_func_table.cpp
index 32f7f45446..12f6d52f20 100644
--- a/lib/wx/c_src/gen/wxe_func_table.cpp
+++ b/lib/wx/c_src/gen/wxe_func_table.cpp
@@ -67,7 +67,7 @@ extern void wxWindow_GetCursor(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
extern void wxWindow_GetDropTarget(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
#if wxCHECK_VERSION(3,1,4)
extern void wxWindow_GetDPIScaleFactor(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
-#endif
+#endif // wxCHECK_VERSION(3,1,4)
extern void wxWindow_GetExtraStyle(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxWindow_GetFont(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxWindow_GetForegroundColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
@@ -195,35 +195,35 @@ extern void wxWindow_CanSetTransparent(WxeApp *app, wxeMemEnv *memenv, wxeComman
extern void wxWindow_IsDoubleBuffered(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
#if wxCHECK_VERSION(3,1,0) || (!defined(__WXMAC__) && wxCHECK_VERSION(3,0,0))
extern void wxWindow_SetDoubleBuffered(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
-#endif
+#endif // wxCHECK_VERSION(3,1,0) || (!defined(__WXMAC__) && wxCHECK_VERSION(3,0,0))
extern void wxWindow_GetContentScaleFactor(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
#if wxCHECK_VERSION(3,1,3)
extern void wxWindow_GetDPI(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
-#endif
+#endif // wxCHECK_VERSION(3,1,3)
#if wxCHECK_VERSION(3,1,0)
extern void wxWindow_FromDIP_1_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
-#endif
+#endif // wxCHECK_VERSION(3,1,0)
#if wxCHECK_VERSION(3,1,0)
extern void wxWindow_FromDIP_1_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
-#endif
+#endif // wxCHECK_VERSION(3,1,0)
#if wxCHECK_VERSION(3,1,0)
extern void wxWindow_FromDIP_2_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
-#endif
+#endif // wxCHECK_VERSION(3,1,0)
#if wxCHECK_VERSION(3,1,0)
extern void wxWindow_FromDIP_2_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
-#endif
+#endif // wxCHECK_VERSION(3,1,0)
#if wxCHECK_VERSION(3,1,0)
extern void wxWindow_ToDIP_1_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
-#endif
+#endif // wxCHECK_VERSION(3,1,0)
#if wxCHECK_VERSION(3,1,0)
extern void wxWindow_ToDIP_1_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
-#endif
+#endif // wxCHECK_VERSION(3,1,0)
#if wxCHECK_VERSION(3,1,0)
extern void wxWindow_ToDIP_2_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
-#endif
+#endif // wxCHECK_VERSION(3,1,0)
#if wxCHECK_VERSION(3,1,0)
extern void wxWindow_ToDIP_2_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
-#endif
+#endif // wxCHECK_VERSION(3,1,0)
extern void wxTopLevelWindow_GetIcon(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxTopLevelWindow_GetIcons(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxTopLevelWindow_GetTitle(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
@@ -319,7 +319,7 @@ extern void wxGrid_CanDragCell(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
extern void wxGrid_CanDragColMove(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
#if wxCHECK_VERSION(3,1,4)
extern void wxGrid_CanDragGridRowEdges(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
-#endif
+#endif // wxCHECK_VERSION(3,1,4)
extern void wxGrid_CanDragColSize(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxGrid_CanDragRowSize(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxGrid_CanDragGridSize(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
@@ -631,8 +631,14 @@ extern void wxDC_StartDoc(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxDC_StartPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxMirrorDC_new(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxScreenDC_new(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#if wxUSE_POSTSCRIPT
extern void wxPostScriptDC_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_POSTSCRIPT
+#if wxUSE_POSTSCRIPT
extern void wxPostScriptDC_new_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_POSTSCRIPT
+#if wxUSE_POSTSCRIPT
+#endif // wxUSE_POSTSCRIPT
extern void wxWindowDC_new(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxClientDC_new(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxPaintDC_new(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
@@ -647,99 +653,291 @@ extern void wxBufferedDC_Init_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd
extern void wxBufferedDC_Init_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxBufferedPaintDC_new_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxBufferedPaintDC_new_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#if wxUSE_GRAPHICS_CONTEXT
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsObject_GetRenderer(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsObject_IsNull(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_Create_STAT_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_Create_STAT_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_CreatePen(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_CreateBrush(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_CreateRadialGradientBrush_7(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_CreateRadialGradientBrush_6(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_CreateLinearGradientBrush_6(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_CreateLinearGradientBrush_5(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_CreateFont_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_CreateFont_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_CreateMatrix(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_CreatePath(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_Clip_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_Clip_4(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_ResetClip(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_DrawBitmap(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_DrawEllipse(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_DrawIcon(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_DrawLines(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_DrawPath(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_DrawRectangle(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_DrawRoundedRectangle(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_DrawText_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_DrawText_4_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_DrawText_4_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_DrawText_5(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_FillPath(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_StrokePath(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_GetPartialTextExtents(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_GetTextExtent(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_Rotate(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_Scale(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_Translate(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_GetTransform(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_SetTransform(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_ConcatTransform(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_SetBrush(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_SetFont_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_SetFont_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_SetPen(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_StrokeLine(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsContext_StrokeLines(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsMatrix_Concat(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsMatrix_Get(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsMatrix_Invert(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsMatrix_IsEqual(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsMatrix_IsIdentity(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsMatrix_Rotate(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsMatrix_Scale(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsMatrix_Translate(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsMatrix_Set(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsMatrix_TransformPoint(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsMatrix_TransformDistance(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsPath_MoveToPoint_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsPath_MoveToPoint_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsPath_AddArc_6(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsPath_AddArc_5(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsPath_AddArcToPoint(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsPath_AddCircle(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsPath_AddCurveToPoint_6(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsPath_AddCurveToPoint_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsPath_AddEllipse(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsPath_AddLineToPoint_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsPath_AddLineToPoint_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsPath_AddPath(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsPath_AddQuadCurveToPoint(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsPath_AddRectangle(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsPath_AddRoundedRectangle(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsPath_CloseSubpath(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsPath_Contains_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsPath_Contains_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsPath_GetBox(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsPath_GetCurrentPoint(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsPath_Transform(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsRenderer_GetDefaultRenderer(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsRenderer_CreateContext(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsRenderer_CreateBrush(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsRenderer_CreateLinearGradientBrush(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsRenderer_CreateRadialGradientBrush(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsRenderer_CreateFont_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsRenderer_CreateFont_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsRenderer_CreateMatrix(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsRenderer_CreatePath(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsGradientStops_new(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsGradientStops_Item(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsGradientStops_GetCount(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsGradientStops_SetStartColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsGradientStops_GetStartColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsGradientStops_SetEndColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsGradientStops_GetEndColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGraphicsGradientStops_Add(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
+#endif // wxUSE_GRAPHICS_CONTEXT
extern void wxMenuBar_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxMenuBar_new_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxMenuBar_Append(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
@@ -759,13 +957,13 @@ extern void wxMenuBar_Insert(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxMenuBar_IsChecked(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
#if defined(__WXMAC__)
extern void wxMenuBar_SetAutoWindowMenu(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
-#endif
+#endif // defined(__WXMAC__)
#if defined(__WXMAC__)
extern void wxMenuBar_GetAutoWindowMenu(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
-#endif
+#endif // defined(__WXMAC__)
#if defined(__WXMAC__)
extern void wxMenuBar_OSXGetAppleMenu(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
-#endif
+#endif // defined(__WXMAC__)
extern void wxMenuBar_IsEnabled(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxMenuBar_Remove(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxMenuBar_Replace(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
@@ -1317,7 +1515,7 @@ extern void wxButton_Create(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxButton_GetDefaultSize_STAT_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
#if wxCHECK_VERSION(3,1,3)
extern void wxButton_GetDefaultSize_STAT_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
-#endif
+#endif // wxCHECK_VERSION(3,1,3)
extern void wxButton_SetDefault(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxButton_SetLabel(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxButton_GetBitmapDisabled(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
@@ -1342,7 +1540,7 @@ extern void wxCalendarCtrl_SetDate(WxeApp *app, wxeMemEnv *memenv, wxeCommand& E
extern void wxCalendarCtrl_GetDate(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
#if !wxCHECK_VERSION(2,9,0)
extern void wxCalendarCtrl_EnableYearChange(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
-#endif
+#endif // !wxCHECK_VERSION(2,9,0)
extern void wxCalendarCtrl_EnableMonthChange(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxCalendarCtrl_EnableHolidayDisplay(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxCalendarCtrl_SetHeaderColours(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
@@ -2230,157 +2428,467 @@ extern void wxHtmlEasyPrinting_PageSetup(WxeApp *app, wxeMemEnv *memenv, wxeComm
extern void wxHtmlEasyPrinting_SetFonts(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxHtmlEasyPrinting_SetHeader(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxHtmlEasyPrinting_SetFooter(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#if wxUSE_GLCANVAS
extern void wxGLCanvas_new(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GLCANVAS
+#if wxUSE_GLCANVAS
extern void wxGLCanvas_SetCurrent(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GLCANVAS
+#if wxUSE_GLCANVAS
extern void wxGLCanvas_SwapBuffers(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GLCANVAS
+#if wxUSE_GLCANVAS
+#endif // wxUSE_GLCANVAS
+#if wxUSE_GLCANVAS
extern void wxGLContext_new(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GLCANVAS
+#if wxUSE_GLCANVAS
extern void wxGLContext_SetCurrent(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GLCANVAS
+#if wxUSE_GLCANVAS
+#endif // wxUSE_GLCANVAS
+#if wxUSE_AUI
extern void wxAuiManager_new(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiManager_AddPane_2_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiManager_AddPane_2_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiManager_AddPane_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiManager_DetachPane(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiManager_GetAllPanes(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiManager_GetArtProvider(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiManager_GetDockSizeConstraint(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiManager_GetFlags(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiManager_GetManagedWindow(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiManager_GetManager(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiManager_GetPane_1_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiManager_GetPane_1_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiManager_HideHint(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiManager_InsertPane(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiManager_LoadPaneInfo(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiManager_LoadPerspective(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiManager_SavePaneInfo(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiManager_SavePerspective(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiManager_SetArtProvider(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiManager_SetDockSizeConstraint(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiManager_SetFlags(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiManager_SetManagedWindow(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiManager_ShowHint(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiManager_UnInit(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiManager_Update(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_new_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_BestSize_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_BestSize_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_Bottom(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_BottomDockable(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_Caption(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_CaptionVisible(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_Centre(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_CentrePane(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_CloseButton(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_DefaultPane(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_DestroyOnClose(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_Direction(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_Dock(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_Dockable(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_Fixed(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_Float(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_Floatable(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_FloatingPosition_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_FloatingPosition_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_FloatingSize_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_FloatingSize_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_Gripper(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_GripperTop(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_HasBorder(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_HasCaption(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_HasCloseButton(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_HasFlag(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_HasGripper(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_HasGripperTop(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_HasMaximizeButton(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_HasMinimizeButton(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_HasPinButton(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_Hide(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_IsBottomDockable(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_IsDocked(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_IsFixed(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_IsFloatable(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_IsFloating(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_IsLeftDockable(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_IsMovable(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_IsOk(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_IsResizable(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_IsRightDockable(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_IsShown(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_IsToolbar(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_IsTopDockable(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_Layer(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_Left(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_LeftDockable(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_MaxSize_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_MaxSize_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_MaximizeButton(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_MinSize_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_MinSize_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_MinimizeButton(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_Movable(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_Name(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_PaneBorder(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_PinButton(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_Position(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_Resizable(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_Right(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_RightDockable(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_Row(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_SafeSet(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_SetFlag(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_Show(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_ToolbarPane(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_Top(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_TopDockable(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_Window(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_GetWindow(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_GetFrame(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_GetDirection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_GetLayer(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_GetRow(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_GetPosition(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_GetFloatingPosition(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_GetFloatingSize(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiPaneInfo_destroy(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiNotebook_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiNotebook_new_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiNotebook_AddPage_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiNotebook_AddPage_4(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiNotebook_Create_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiNotebook_Create_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiNotebook_DeletePage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiNotebook_GetArtProvider(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiNotebook_GetPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiNotebook_GetPageBitmap(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiNotebook_GetPageCount(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiNotebook_GetPageIndex(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiNotebook_GetPageText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiNotebook_GetSelection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiNotebook_InsertPage_4(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiNotebook_InsertPage_5(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiNotebook_RemovePage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiNotebook_SetArtProvider(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiNotebook_SetFont(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiNotebook_SetPageBitmap(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiNotebook_SetPageText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiNotebook_SetSelection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiNotebook_SetTabCtrlHeight(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiNotebook_SetUniformBitmapSize(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiTabArt_SetFlags(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiTabArt_SetMeasuringFont(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiTabArt_SetNormalFont(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiTabArt_SetSelectedFont(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiTabArt_SetColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiTabArt_SetActiveColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiDockArt_GetColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiDockArt_GetFont(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiDockArt_GetMetric(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiDockArt_SetColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiDockArt_SetFont(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiDockArt_SetMetric(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiSimpleTabArt_new(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
+#if wxUSE_AUI
extern void wxAuiSimpleTabArt_destroy(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_AUI
extern void wxMDIParentFrame_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxMDIParentFrame_new_4(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxMDIParentFrame_ActivateNext(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
@@ -3242,14 +3750,34 @@ extern void wxLocale_GetSystemLanguage(WxeApp *app, wxeMemEnv *memenv, wxeComman
extern void wxLocale_IsLoaded(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxLocale_IsOk(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxActivateEvent_GetActive(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#if wxUSE_POPUPWIN
extern void wxPopupWindow_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_POPUPWIN
+#if wxUSE_POPUPWIN
extern void wxPopupWindow_new_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_POPUPWIN
+#if wxUSE_POPUPWIN
extern void wxPopupWindow_Create(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_POPUPWIN
+#if wxUSE_POPUPWIN
extern void wxPopupWindow_Position(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_POPUPWIN
+#if wxUSE_POPUPWIN
+#endif // wxUSE_POPUPWIN
+#if wxUSE_POPUPWIN
extern void wxPopupTransientWindow_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_POPUPWIN
+#if wxUSE_POPUPWIN
extern void wxPopupTransientWindow_new_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_POPUPWIN
+#if wxUSE_POPUPWIN
extern void wxPopupTransientWindow_Popup(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_POPUPWIN
+#if wxUSE_POPUPWIN
extern void wxPopupTransientWindow_Dismiss(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_POPUPWIN
+#if wxUSE_POPUPWIN
+#endif // wxUSE_POPUPWIN
extern void wxOverlay_new(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxOverlay_destruct(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxOverlay_Reset(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
@@ -3260,41 +3788,226 @@ extern void wxDCOverlay_Clear(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxDropFilesEvent_GetPosition(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxDropFilesEvent_GetNumberOfFiles(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxDropFilesEvent_GetFiles(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#if wxUSE_DISPLAY
extern void wxDisplay_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_DISPLAY
+#if wxUSE_DISPLAY
extern void wxDisplay_new_1_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
-#if wxCHECK_VERSION(3,1,3)
+#endif // wxUSE_DISPLAY
+#if wxUSE_DISPLAY && wxCHECK_VERSION(3,1,3)
extern void wxDisplay_new_1_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
-#endif
+#endif // wxUSE_DISPLAY && wxCHECK_VERSION(3,1,3)
+#if wxUSE_DISPLAY
extern void wxDisplay_destruct(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_DISPLAY
+#if wxUSE_DISPLAY
extern void wxDisplay_IsOk(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_DISPLAY
+#if wxUSE_DISPLAY
extern void wxDisplay_GetClientArea(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_DISPLAY
+#if wxUSE_DISPLAY
extern void wxDisplay_GetGeometry(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_DISPLAY
+#if wxUSE_DISPLAY
extern void wxDisplay_GetName(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_DISPLAY
+#if wxUSE_DISPLAY
extern void wxDisplay_IsPrimary(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_DISPLAY
+#if wxUSE_DISPLAY
extern void wxDisplay_GetCount(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_DISPLAY
+#if wxUSE_DISPLAY
extern void wxDisplay_GetFromPoint(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_DISPLAY
+#if wxUSE_DISPLAY
extern void wxDisplay_GetFromWindow(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
-#if wxCHECK_VERSION(3,1,2)
+#endif // wxUSE_DISPLAY
+#if wxUSE_DISPLAY && wxCHECK_VERSION(3,1,2)
extern void wxDisplay_GetPPI(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
-#endif
+#endif // wxUSE_DISPLAY && wxCHECK_VERSION(3,1,2)
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGCDC_new_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGCDC_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGCDC_GetGraphicsContext(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
extern void wxGCDC_SetGraphicsContext(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // wxUSE_GRAPHICS_CONTEXT
extern void wxNotificationMessage_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxNotificationMessage_new_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
#if wxCHECK_VERSION(3,1,0)
extern void wxNotificationMessage_AddAction(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
-#endif
+#endif // wxCHECK_VERSION(3,1,0)
extern void wxNotificationMessage_Close(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxNotificationMessage_SetFlags(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
#if wxCHECK_VERSION(3,1,0)
extern void wxNotificationMessage_SetIcon(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
-#endif
+#endif // wxCHECK_VERSION(3,1,0)
extern void wxNotificationMessage_SetMessage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxNotificationMessage_SetParent(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxNotificationMessage_SetTitle(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
extern void wxNotificationMessage_Show(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#if WXE_WEBVIEW
+extern void wxWebView_New(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_GetCurrentTitle(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_GetCurrentURL(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_GetPageSource(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_GetPageText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_IsBusy(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_IsEditable(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_LoadURL(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_Print(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_Reload(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW && wxCHECK_VERSION(3,1,1)
+extern void wxWebView_RunScript(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW && wxCHECK_VERSION(3,1,1)
+#if WXE_WEBVIEW
+extern void wxWebView_SetEditable(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_SetPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_Stop(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_CanCopy(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_CanCut(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_CanPaste(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_Copy(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_Cut(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_Paste(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_EnableContextMenu(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_IsContextMenuEnabled(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_CanGoBack(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_CanGoForward(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_ClearHistory(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_EnableHistory(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_GoBack(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_GoForward(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_ClearSelection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_DeleteSelection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_GetSelectedSource(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_GetSelectedText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_HasSelection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_SelectAll(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_CanRedo(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_CanUndo(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_Redo(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_Undo(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_Find(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_CanSetZoomType(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_GetZoom(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_GetZoomType(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_SetZoom(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebView_SetZoomType(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW && wxCHECK_VERSION(3,1,4)
+extern void wxWebView_GetZoomFactor(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW && wxCHECK_VERSION(3,1,4)
+#if WXE_WEBVIEW && wxCHECK_VERSION(3,1,4)
+extern void wxWebView_SetZoomFactor(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW && wxCHECK_VERSION(3,1,4)
+#if WXE_WEBVIEW && wxCHECK_VERSION(3,1,4)
+extern void wxWebView_IsBackendAvailable(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW && wxCHECK_VERSION(3,1,4)
+#if WXE_WEBVIEW
+extern void wxWebViewEvent_GetString(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebViewEvent_GetInt(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebViewEvent_GetTarget(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+extern void wxWebViewEvent_GetURL(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd);
+#endif // WXE_WEBVIEW
wxe_fns_t wxe_fns[] =
{
@@ -3451,7 +4164,7 @@ wxe_fns_t wxe_fns[] =
{wxWindow_GetDPIScaleFactor, "wxWindow", "getDPIScaleFactor", 1}, // 149
#else
{NULL, "wxWindow", "getDPIScaleFactor", 0}, // 149
-#endif
+#endif // wxCHECK_VERSION(3,1,4)
{wxWindow_GetExtraStyle, "wxWindow", "getExtraStyle", 1}, // 150
{wxWindow_GetFont, "wxWindow", "getFont", 1}, // 151
{wxWindow_GetForegroundColour, "wxWindow", "getForegroundColour", 1}, // 152
@@ -3585,57 +4298,57 @@ wxe_fns_t wxe_fns[] =
{wxWindow_SetDoubleBuffered, "wxWindow", "setDoubleBuffered", 2}, // 279
#else
{NULL, "wxWindow", "setDoubleBuffered", 0}, // 279
-#endif
+#endif // wxCHECK_VERSION(3,1,0) || (!defined(__WXMAC__) && wxCHECK_VERSION(3,0,0))
{wxWindow_GetContentScaleFactor, "wxWindow", "getContentScaleFactor", 1}, // 280
#if wxCHECK_VERSION(3,1,3)
{wxWindow_GetDPI, "wxWindow", "getDPI", 1}, // 281
#else
{NULL, "wxWindow", "getDPI", 0}, // 281
-#endif
+#endif // wxCHECK_VERSION(3,1,3)
#if wxCHECK_VERSION(3,1,0)
{wxWindow_FromDIP_1_1, "wxWindow", "fromDIP", 2}, // 282
#else
{NULL, "wxWindow", "fromDIP", 0}, // 282
-#endif
+#endif // wxCHECK_VERSION(3,1,0)
{NULL, "", "", 0}, // 283
#if wxCHECK_VERSION(3,1,0)
{wxWindow_FromDIP_1_0, "wxWindow", "fromDIP", 2}, // 284
#else
{NULL, "wxWindow", "fromDIP", 0}, // 284
-#endif
+#endif // wxCHECK_VERSION(3,1,0)
#if wxCHECK_VERSION(3,1,0)
{wxWindow_FromDIP_2_1, "wxWindow", "fromDIP", 2}, // 285
#else
{NULL, "wxWindow", "fromDIP", 0}, // 285
-#endif
+#endif // wxCHECK_VERSION(3,1,0)
{NULL, "", "", 0}, // 286
#if wxCHECK_VERSION(3,1,0)
{wxWindow_FromDIP_2_0, "wxWindow", "fromDIP", 2}, // 287
#else
{NULL, "wxWindow", "fromDIP", 0}, // 287
-#endif
+#endif // wxCHECK_VERSION(3,1,0)
#if wxCHECK_VERSION(3,1,0)
{wxWindow_ToDIP_1_1, "wxWindow", "toDIP", 2}, // 288
#else
{NULL, "wxWindow", "toDIP", 0}, // 288
-#endif
+#endif // wxCHECK_VERSION(3,1,0)
{NULL, "", "", 0}, // 289
#if wxCHECK_VERSION(3,1,0)
{wxWindow_ToDIP_1_0, "wxWindow", "toDIP", 2}, // 290
#else
{NULL, "wxWindow", "toDIP", 0}, // 290
-#endif
+#endif // wxCHECK_VERSION(3,1,0)
#if wxCHECK_VERSION(3,1,0)
{wxWindow_ToDIP_2_1, "wxWindow", "toDIP", 2}, // 291
#else
{NULL, "wxWindow", "toDIP", 0}, // 291
-#endif
+#endif // wxCHECK_VERSION(3,1,0)
{NULL, "", "", 0}, // 292
#if wxCHECK_VERSION(3,1,0)
{wxWindow_ToDIP_2_0, "wxWindow", "toDIP", 2}, // 293
#else
{NULL, "wxWindow", "toDIP", 0}, // 293
-#endif
+#endif // wxCHECK_VERSION(3,1,0)
{wxTopLevelWindow_GetIcon, "wxTopLevelWindow", "getIcon", 1}, // 294
{wxTopLevelWindow_GetIcons, "wxTopLevelWindow", "getIcons", 1}, // 295
{wxTopLevelWindow_GetTitle, "wxTopLevelWindow", "getTitle", 1}, // 296
@@ -3743,7 +4456,7 @@ wxe_fns_t wxe_fns[] =
{wxGrid_CanDragGridRowEdges, "wxGrid", "canDragGridRowEdges", 1}, // 397
#else
{NULL, "wxGrid", "canDragGridRowEdges", 0}, // 397
-#endif
+#endif // wxCHECK_VERSION(3,1,4)
{wxGrid_CanDragColSize, "wxGrid", "canDragColSize", 2}, // 398
{wxGrid_CanDragRowSize, "wxGrid", "canDragRowSize", 2}, // 399
{wxGrid_CanDragGridSize, "wxGrid", "canDragGridSize", 1}, // 400
@@ -4066,9 +4779,21 @@ wxe_fns_t wxe_fns[] =
{NULL, "wxMirrorDC", "'Destroy'", 1}, // 717 obj destructor wxMirrorDC_destroy
{wxScreenDC_new, "wxScreenDC", "new", 0}, // 718
{NULL, "wxScreenDC", "'Destroy'", 1}, // 719 obj destructor wxScreenDC_destroy
+#if wxUSE_POSTSCRIPT
{wxPostScriptDC_new_0, "wxPostScriptDC", "new", 0}, // 720
+#else
+ {NULL, "wxPostScriptDC", "new", 0}, // 720
+#endif // wxUSE_POSTSCRIPT
+#if wxUSE_POSTSCRIPT
{wxPostScriptDC_new_1, "wxPostScriptDC", "new", 1}, // 721
+#else
+ {NULL, "wxPostScriptDC", "new", 0}, // 721
+#endif // wxUSE_POSTSCRIPT
+#if wxUSE_POSTSCRIPT
{NULL, "wxPostScriptDC", "'Destroy'", 1}, // 722 obj destructor wxPostScriptDC_destroy
+#else
+ {NULL, "wxPostScriptDC", "'Destroy'", 0}, // 722
+#endif // wxUSE_POSTSCRIPT
{wxWindowDC_new, "wxWindowDC", "new", 1}, // 723
{NULL, "wxWindowDC", "'Destroy'", 1}, // 724 obj destructor wxWindowDC_destroy
{wxClientDC_new, "wxClientDC", "new", 1}, // 725
@@ -4090,114 +4815,498 @@ wxe_fns_t wxe_fns[] =
{wxBufferedPaintDC_new_3, "wxBufferedPaintDC", "new", 3}, // 741
{wxBufferedPaintDC_new_2, "wxBufferedPaintDC", "new", 2}, // 742
{NULL, "wxBufferedPaintDC", "destroy", 1}, // 743 obj destructor wxBufferedPaintDC_destruct
+#if wxUSE_GRAPHICS_CONTEXT
{NULL, "wxGraphicsObject", "destroy", 1}, // 744 obj destructor wxGraphicsObject_destruct
+#else
+ {NULL, "wxGraphicsObject", "destroy", 0}, // 744
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsObject_GetRenderer, "wxGraphicsObject", "getRenderer", 1}, // 745
+#else
+ {NULL, "wxGraphicsObject", "getRenderer", 0}, // 745
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsObject_IsNull, "wxGraphicsObject", "isNull", 1}, // 746
+#else
+ {NULL, "wxGraphicsObject", "isNull", 0}, // 746
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{NULL, "wxGraphicsContext", "destroy", 1}, // 747 obj destructor wxGraphicsContext_destruct
+#else
+ {NULL, "wxGraphicsContext", "destroy", 0}, // 747
+#endif // wxUSE_GRAPHICS_CONTEXT
{NULL, "", "", 0}, // 748
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_Create_STAT_1, "wxGraphicsContext", "create", 1}, // 749
+#else
+ {NULL, "wxGraphicsContext", "create", 0}, // 749
+#endif // wxUSE_GRAPHICS_CONTEXT
{NULL, "", "", 0}, // 750
{NULL, "", "", 0}, // 751
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_Create_STAT_0, "wxGraphicsContext", "create", 0}, // 752
+#else
+ {NULL, "wxGraphicsContext", "create", 0}, // 752
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_CreatePen, "wxGraphicsContext", "createPen", 2}, // 753
+#else
+ {NULL, "wxGraphicsContext", "createPen", 0}, // 753
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_CreateBrush, "wxGraphicsContext", "createBrush", 2}, // 754
+#else
+ {NULL, "wxGraphicsContext", "createBrush", 0}, // 754
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_CreateRadialGradientBrush_7, "wxGraphicsContext", "createRadialGradientBrush", 8}, // 755
+#else
+ {NULL, "wxGraphicsContext", "createRadialGradientBrush", 0}, // 755
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_CreateRadialGradientBrush_6, "wxGraphicsContext", "createRadialGradientBrush", 7}, // 756
+#else
+ {NULL, "wxGraphicsContext", "createRadialGradientBrush", 0}, // 756
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_CreateLinearGradientBrush_6, "wxGraphicsContext", "createLinearGradientBrush", 7}, // 757
+#else
+ {NULL, "wxGraphicsContext", "createLinearGradientBrush", 0}, // 757
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_CreateLinearGradientBrush_5, "wxGraphicsContext", "createLinearGradientBrush", 6}, // 758
+#else
+ {NULL, "wxGraphicsContext", "createLinearGradientBrush", 0}, // 758
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_CreateFont_2, "wxGraphicsContext", "createFont", 3}, // 759
+#else
+ {NULL, "wxGraphicsContext", "createFont", 0}, // 759
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_CreateFont_3, "wxGraphicsContext", "createFont", 4}, // 760
+#else
+ {NULL, "wxGraphicsContext", "createFont", 0}, // 760
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_CreateMatrix, "wxGraphicsContext", "createMatrix", 2}, // 761
+#else
+ {NULL, "wxGraphicsContext", "createMatrix", 0}, // 761
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_CreatePath, "wxGraphicsContext", "createPath", 1}, // 762
+#else
+ {NULL, "wxGraphicsContext", "createPath", 0}, // 762
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_Clip_1, "wxGraphicsContext", "clip", 2}, // 763
+#else
+ {NULL, "wxGraphicsContext", "clip", 0}, // 763
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_Clip_4, "wxGraphicsContext", "clip", 5}, // 764
+#else
+ {NULL, "wxGraphicsContext", "clip", 0}, // 764
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_ResetClip, "wxGraphicsContext", "resetClip", 1}, // 765
+#else
+ {NULL, "wxGraphicsContext", "resetClip", 0}, // 765
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_DrawBitmap, "wxGraphicsContext", "drawBitmap", 6}, // 766
+#else
+ {NULL, "wxGraphicsContext", "drawBitmap", 0}, // 766
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_DrawEllipse, "wxGraphicsContext", "drawEllipse", 5}, // 767
+#else
+ {NULL, "wxGraphicsContext", "drawEllipse", 0}, // 767
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_DrawIcon, "wxGraphicsContext", "drawIcon", 6}, // 768
+#else
+ {NULL, "wxGraphicsContext", "drawIcon", 0}, // 768
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_DrawLines, "wxGraphicsContext", "drawLines", 3}, // 769
+#else
+ {NULL, "wxGraphicsContext", "drawLines", 0}, // 769
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_DrawPath, "wxGraphicsContext", "drawPath", 3}, // 770
+#else
+ {NULL, "wxGraphicsContext", "drawPath", 0}, // 770
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_DrawRectangle, "wxGraphicsContext", "drawRectangle", 5}, // 771
+#else
+ {NULL, "wxGraphicsContext", "drawRectangle", 0}, // 771
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_DrawRoundedRectangle, "wxGraphicsContext", "drawRoundedRectangle", 6}, // 772
+#else
+ {NULL, "wxGraphicsContext", "drawRoundedRectangle", 0}, // 772
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_DrawText_3, "wxGraphicsContext", "drawText", 4}, // 773
+#else
+ {NULL, "wxGraphicsContext", "drawText", 0}, // 773
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_DrawText_4_0, "wxGraphicsContext", "drawText", 5}, // 774
+#else
+ {NULL, "wxGraphicsContext", "drawText", 0}, // 774
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_DrawText_4_1, "wxGraphicsContext", "drawText", 5}, // 775
+#else
+ {NULL, "wxGraphicsContext", "drawText", 0}, // 775
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_DrawText_5, "wxGraphicsContext", "drawText", 6}, // 776
+#else
+ {NULL, "wxGraphicsContext", "drawText", 0}, // 776
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_FillPath, "wxGraphicsContext", "fillPath", 3}, // 777
+#else
+ {NULL, "wxGraphicsContext", "fillPath", 0}, // 777
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_StrokePath, "wxGraphicsContext", "strokePath", 2}, // 778
+#else
+ {NULL, "wxGraphicsContext", "strokePath", 0}, // 778
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_GetPartialTextExtents, "wxGraphicsContext", "getPartialTextExtents", 2}, // 779
+#else
+ {NULL, "wxGraphicsContext", "getPartialTextExtents", 0}, // 779
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_GetTextExtent, "wxGraphicsContext", "getTextExtent", 2}, // 780
+#else
+ {NULL, "wxGraphicsContext", "getTextExtent", 0}, // 780
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_Rotate, "wxGraphicsContext", "rotate", 2}, // 781
+#else
+ {NULL, "wxGraphicsContext", "rotate", 0}, // 781
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_Scale, "wxGraphicsContext", "scale", 3}, // 782
+#else
+ {NULL, "wxGraphicsContext", "scale", 0}, // 782
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_Translate, "wxGraphicsContext", "translate", 3}, // 783
+#else
+ {NULL, "wxGraphicsContext", "translate", 0}, // 783
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_GetTransform, "wxGraphicsContext", "getTransform", 1}, // 784
+#else
+ {NULL, "wxGraphicsContext", "getTransform", 0}, // 784
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_SetTransform, "wxGraphicsContext", "setTransform", 2}, // 785
+#else
+ {NULL, "wxGraphicsContext", "setTransform", 0}, // 785
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_ConcatTransform, "wxGraphicsContext", "concatTransform", 2}, // 786
+#else
+ {NULL, "wxGraphicsContext", "concatTransform", 0}, // 786
+#endif // wxUSE_GRAPHICS_CONTEXT
{NULL, "", "", 0}, // 787
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_SetBrush, "wxGraphicsContext", "setBrush", 2}, // 788
+#else
+ {NULL, "wxGraphicsContext", "setBrush", 0}, // 788
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_SetFont_2, "wxGraphicsContext", "setFont", 3}, // 789
+#else
+ {NULL, "wxGraphicsContext", "setFont", 0}, // 789
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_SetFont_1, "wxGraphicsContext", "setFont", 2}, // 790
+#else
+ {NULL, "wxGraphicsContext", "setFont", 0}, // 790
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_SetPen, "wxGraphicsContext", "setPen", 2}, // 791
+#else
+ {NULL, "wxGraphicsContext", "setPen", 0}, // 791
+#endif // wxUSE_GRAPHICS_CONTEXT
{NULL, "", "", 0}, // 792
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_StrokeLine, "wxGraphicsContext", "strokeLine", 5}, // 793
+#else
+ {NULL, "wxGraphicsContext", "strokeLine", 0}, // 793
+#endif // wxUSE_GRAPHICS_CONTEXT
{NULL, "", "", 0}, // 794
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsContext_StrokeLines, "wxGraphicsContext", "strokeLines", 2}, // 795
+#else
+ {NULL, "wxGraphicsContext", "strokeLines", 0}, // 795
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsMatrix_Concat, "wxGraphicsMatrix", "concat", 2}, // 796
+#else
+ {NULL, "wxGraphicsMatrix", "concat", 0}, // 796
+#endif // wxUSE_GRAPHICS_CONTEXT
{NULL, "", "", 0}, // 797
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsMatrix_Get, "wxGraphicsMatrix", "get", 1}, // 798
+#else
+ {NULL, "wxGraphicsMatrix", "get", 0}, // 798
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsMatrix_Invert, "wxGraphicsMatrix", "invert", 1}, // 799
+#else
+ {NULL, "wxGraphicsMatrix", "invert", 0}, // 799
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsMatrix_IsEqual, "wxGraphicsMatrix", "isEqual", 2}, // 800
+#else
+ {NULL, "wxGraphicsMatrix", "isEqual", 0}, // 800
+#endif // wxUSE_GRAPHICS_CONTEXT
{NULL, "", "", 0}, // 801
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsMatrix_IsIdentity, "wxGraphicsMatrix", "isIdentity", 1}, // 802
+#else
+ {NULL, "wxGraphicsMatrix", "isIdentity", 0}, // 802
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsMatrix_Rotate, "wxGraphicsMatrix", "rotate", 2}, // 803
+#else
+ {NULL, "wxGraphicsMatrix", "rotate", 0}, // 803
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsMatrix_Scale, "wxGraphicsMatrix", "scale", 3}, // 804
+#else
+ {NULL, "wxGraphicsMatrix", "scale", 0}, // 804
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsMatrix_Translate, "wxGraphicsMatrix", "translate", 3}, // 805
+#else
+ {NULL, "wxGraphicsMatrix", "translate", 0}, // 805
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsMatrix_Set, "wxGraphicsMatrix", "set", 2}, // 806
+#else
+ {NULL, "wxGraphicsMatrix", "set", 0}, // 806
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsMatrix_TransformPoint, "wxGraphicsMatrix", "transformPoint", 1}, // 807
+#else
+ {NULL, "wxGraphicsMatrix", "transformPoint", 0}, // 807
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsMatrix_TransformDistance, "wxGraphicsMatrix", "transformDistance", 1}, // 808
+#else
+ {NULL, "wxGraphicsMatrix", "transformDistance", 0}, // 808
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsPath_MoveToPoint_2, "wxGraphicsPath", "moveToPoint", 3}, // 809
+#else
+ {NULL, "wxGraphicsPath", "moveToPoint", 0}, // 809
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsPath_MoveToPoint_1, "wxGraphicsPath", "moveToPoint", 2}, // 810
+#else
+ {NULL, "wxGraphicsPath", "moveToPoint", 0}, // 810
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsPath_AddArc_6, "wxGraphicsPath", "addArc", 7}, // 811
+#else
+ {NULL, "wxGraphicsPath", "addArc", 0}, // 811
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsPath_AddArc_5, "wxGraphicsPath", "addArc", 6}, // 812
+#else
+ {NULL, "wxGraphicsPath", "addArc", 0}, // 812
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsPath_AddArcToPoint, "wxGraphicsPath", "addArcToPoint", 6}, // 813
+#else
+ {NULL, "wxGraphicsPath", "addArcToPoint", 0}, // 813
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsPath_AddCircle, "wxGraphicsPath", "addCircle", 4}, // 814
+#else
+ {NULL, "wxGraphicsPath", "addCircle", 0}, // 814
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsPath_AddCurveToPoint_6, "wxGraphicsPath", "addCurveToPoint", 7}, // 815
+#else
+ {NULL, "wxGraphicsPath", "addCurveToPoint", 0}, // 815
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsPath_AddCurveToPoint_3, "wxGraphicsPath", "addCurveToPoint", 4}, // 816
+#else
+ {NULL, "wxGraphicsPath", "addCurveToPoint", 0}, // 816
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsPath_AddEllipse, "wxGraphicsPath", "addEllipse", 5}, // 817
+#else
+ {NULL, "wxGraphicsPath", "addEllipse", 0}, // 817
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsPath_AddLineToPoint_2, "wxGraphicsPath", "addLineToPoint", 3}, // 818
+#else
+ {NULL, "wxGraphicsPath", "addLineToPoint", 0}, // 818
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsPath_AddLineToPoint_1, "wxGraphicsPath", "addLineToPoint", 2}, // 819
+#else
+ {NULL, "wxGraphicsPath", "addLineToPoint", 0}, // 819
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsPath_AddPath, "wxGraphicsPath", "addPath", 2}, // 820
+#else
+ {NULL, "wxGraphicsPath", "addPath", 0}, // 820
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsPath_AddQuadCurveToPoint, "wxGraphicsPath", "addQuadCurveToPoint", 5}, // 821
+#else
+ {NULL, "wxGraphicsPath", "addQuadCurveToPoint", 0}, // 821
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsPath_AddRectangle, "wxGraphicsPath", "addRectangle", 5}, // 822
+#else
+ {NULL, "wxGraphicsPath", "addRectangle", 0}, // 822
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsPath_AddRoundedRectangle, "wxGraphicsPath", "addRoundedRectangle", 6}, // 823
+#else
+ {NULL, "wxGraphicsPath", "addRoundedRectangle", 0}, // 823
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsPath_CloseSubpath, "wxGraphicsPath", "closeSubpath", 1}, // 824
+#else
+ {NULL, "wxGraphicsPath", "closeSubpath", 0}, // 824
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsPath_Contains_2, "wxGraphicsPath", "contains", 3}, // 825
+#else
+ {NULL, "wxGraphicsPath", "contains", 0}, // 825
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsPath_Contains_3, "wxGraphicsPath", "contains", 4}, // 826
+#else
+ {NULL, "wxGraphicsPath", "contains", 0}, // 826
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsPath_GetBox, "wxGraphicsPath", "getBox", 1}, // 827
+#else
+ {NULL, "wxGraphicsPath", "getBox", 0}, // 827
+#endif // wxUSE_GRAPHICS_CONTEXT
{NULL, "", "", 0}, // 828
{NULL, "", "", 0}, // 829
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsPath_GetCurrentPoint, "wxGraphicsPath", "getCurrentPoint", 1}, // 830
+#else
+ {NULL, "wxGraphicsPath", "getCurrentPoint", 0}, // 830
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsPath_Transform, "wxGraphicsPath", "transform", 2}, // 831
+#else
+ {NULL, "wxGraphicsPath", "transform", 0}, // 831
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsRenderer_GetDefaultRenderer, "wxGraphicsRenderer", "getDefaultRenderer", 0}, // 832
+#else
+ {NULL, "wxGraphicsRenderer", "getDefaultRenderer", 0}, // 832
+#endif // wxUSE_GRAPHICS_CONTEXT
{NULL, "", "", 0}, // 833
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsRenderer_CreateContext, "wxGraphicsRenderer", "createContext", 2}, // 834
+#else
+ {NULL, "wxGraphicsRenderer", "createContext", 0}, // 834
+#endif // wxUSE_GRAPHICS_CONTEXT
{NULL, "", "", 0}, // 835
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsRenderer_CreateBrush, "wxGraphicsRenderer", "createBrush", 2}, // 836
+#else
+ {NULL, "wxGraphicsRenderer", "createBrush", 0}, // 836
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsRenderer_CreateLinearGradientBrush, "wxGraphicsRenderer", "createLinearGradientBrush", 6}, // 837
+#else
+ {NULL, "wxGraphicsRenderer", "createLinearGradientBrush", 0}, // 837
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsRenderer_CreateRadialGradientBrush, "wxGraphicsRenderer", "createRadialGradientBrush", 7}, // 838
+#else
+ {NULL, "wxGraphicsRenderer", "createRadialGradientBrush", 0}, // 838
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsRenderer_CreateFont_2, "wxGraphicsRenderer", "createFont", 3}, // 839
+#else
+ {NULL, "wxGraphicsRenderer", "createFont", 0}, // 839
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsRenderer_CreateFont_3, "wxGraphicsRenderer", "createFont", 4}, // 840
+#else
+ {NULL, "wxGraphicsRenderer", "createFont", 0}, // 840
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsRenderer_CreateMatrix, "wxGraphicsRenderer", "createMatrix", 2}, // 841
+#else
+ {NULL, "wxGraphicsRenderer", "createMatrix", 0}, // 841
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsRenderer_CreatePath, "wxGraphicsRenderer", "createPath", 1}, // 842
+#else
+ {NULL, "wxGraphicsRenderer", "createPath", 0}, // 842
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsGradientStops_new, "wxGraphicsGradientStops", "new", 1}, // 843
+#else
+ {NULL, "wxGraphicsGradientStops", "new", 0}, // 843
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsGradientStops_Item, "wxGraphicsGradientStops", "item", 2}, // 844
+#else
+ {NULL, "wxGraphicsGradientStops", "item", 0}, // 844
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsGradientStops_GetCount, "wxGraphicsGradientStops", "getCount", 1}, // 845
+#else
+ {NULL, "wxGraphicsGradientStops", "getCount", 0}, // 845
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsGradientStops_SetStartColour, "wxGraphicsGradientStops", "setStartColour", 2}, // 846
+#else
+ {NULL, "wxGraphicsGradientStops", "setStartColour", 0}, // 846
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsGradientStops_GetStartColour, "wxGraphicsGradientStops", "getStartColour", 1}, // 847
+#else
+ {NULL, "wxGraphicsGradientStops", "getStartColour", 0}, // 847
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsGradientStops_SetEndColour, "wxGraphicsGradientStops", "setEndColour", 2}, // 848
+#else
+ {NULL, "wxGraphicsGradientStops", "setEndColour", 0}, // 848
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsGradientStops_GetEndColour, "wxGraphicsGradientStops", "getEndColour", 1}, // 849
+#else
+ {NULL, "wxGraphicsGradientStops", "getEndColour", 0}, // 849
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGraphicsGradientStops_Add, "wxGraphicsGradientStops", "add", 3}, // 850
+#else
+ {NULL, "wxGraphicsGradientStops", "add", 0}, // 850
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{NULL, "wxGraphicsGradientStops", "'Destroy'", 1}, // 851 obj destructor wxGraphicsGradientStops_destroy
+#else
+ {NULL, "wxGraphicsGradientStops", "'Destroy'", 0}, // 851
+#endif // wxUSE_GRAPHICS_CONTEXT
{wxMenuBar_new_0, "wxMenuBar", "new", 0}, // 852
{wxMenuBar_new_1, "wxMenuBar", "new", 1}, // 853
{NULL, "", "", 0}, // 854
@@ -4221,17 +5330,17 @@ wxe_fns_t wxe_fns[] =
{wxMenuBar_SetAutoWindowMenu, "wxMenuBar", "setAutoWindowMenu", 1}, // 871
#else
{NULL, "wxMenuBar", "setAutoWindowMenu", 0}, // 871
-#endif
+#endif // defined(__WXMAC__)
#if defined(__WXMAC__)
{wxMenuBar_GetAutoWindowMenu, "wxMenuBar", "getAutoWindowMenu", 0}, // 872
#else
{NULL, "wxMenuBar", "getAutoWindowMenu", 0}, // 872
-#endif
+#endif // defined(__WXMAC__)
#if defined(__WXMAC__)
{wxMenuBar_OSXGetAppleMenu, "wxMenuBar", "oSXGetAppleMenu", 1}, // 873
#else
{NULL, "wxMenuBar", "oSXGetAppleMenu", 0}, // 873
-#endif
+#endif // defined(__WXMAC__)
{wxMenuBar_IsEnabled, "wxMenuBar", "isEnabled", 2}, // 874
{wxMenuBar_Remove, "wxMenuBar", "remove", 2}, // 875
{wxMenuBar_Replace, "wxMenuBar", "replace", 4}, // 876
@@ -4841,7 +5950,7 @@ wxe_fns_t wxe_fns[] =
{wxButton_GetDefaultSize_STAT_1, "wxButton", "getDefaultSize", 1}, // 1479
#else
{NULL, "wxButton", "getDefaultSize", 0}, // 1479
-#endif
+#endif // wxCHECK_VERSION(3,1,3)
{wxButton_SetDefault, "wxButton", "setDefault", 1}, // 1480
{wxButton_SetLabel, "wxButton", "setLabel", 2}, // 1481
{wxButton_GetBitmapDisabled, "wxButton", "getBitmapDisabled", 1}, // 1482
@@ -4872,7 +5981,7 @@ wxe_fns_t wxe_fns[] =
{wxCalendarCtrl_EnableYearChange, "wxCalendarCtrl", "enableYearChange", 2}, // 1506
#else
{NULL, "wxCalendarCtrl", "enableYearChange", 0}, // 1506
-#endif
+#endif // !wxCHECK_VERSION(2,9,0)
{wxCalendarCtrl_EnableMonthChange, "wxCalendarCtrl", "enableMonthChange", 2}, // 1507
{wxCalendarCtrl_EnableHolidayDisplay, "wxCalendarCtrl", "enableHolidayDisplay", 2}, // 1508
{wxCalendarCtrl_SetHeaderColours, "wxCalendarCtrl", "setHeaderColours", 3}, // 1509
@@ -5842,161 +6951,781 @@ wxe_fns_t wxe_fns[] =
{wxHtmlEasyPrinting_SetHeader, "wxHtmlEasyPrinting", "setHeader", 3}, // 2473
{wxHtmlEasyPrinting_SetFooter, "wxHtmlEasyPrinting", "setFooter", 3}, // 2474
{NULL, "wxHtmlEasyPrinting", "'Destroy'", 1}, // 2475 obj destructor wxHtmlEasyPrinting_destroy
+#if wxUSE_GLCANVAS
{wxGLCanvas_new, "wxGLCanvas", "new", 2}, // 2476
+#else
+ {NULL, "wxGLCanvas", "new", 0}, // 2476
+#endif // wxUSE_GLCANVAS
+#if wxUSE_GLCANVAS
{wxGLCanvas_SetCurrent, "wxGLCanvas", "setCurrent", 2}, // 2477
+#else
+ {NULL, "wxGLCanvas", "setCurrent", 0}, // 2477
+#endif // wxUSE_GLCANVAS
+#if wxUSE_GLCANVAS
{wxGLCanvas_SwapBuffers, "wxGLCanvas", "swapBuffers", 1}, // 2478
+#else
+ {NULL, "wxGLCanvas", "swapBuffers", 0}, // 2478
+#endif // wxUSE_GLCANVAS
+#if wxUSE_GLCANVAS
{NULL, "wxGLCanvas", "'Destroy'", 1}, // 2479 obj destructor wxGLCanvas_destroy
+#else
+ {NULL, "wxGLCanvas", "'Destroy'", 0}, // 2479
+#endif // wxUSE_GLCANVAS
+#if wxUSE_GLCANVAS
{wxGLContext_new, "wxGLContext", "new", 2}, // 2480
+#else
+ {NULL, "wxGLContext", "new", 0}, // 2480
+#endif // wxUSE_GLCANVAS
+#if wxUSE_GLCANVAS
{wxGLContext_SetCurrent, "wxGLContext", "setCurrent", 2}, // 2481
+#else
+ {NULL, "wxGLContext", "setCurrent", 0}, // 2481
+#endif // wxUSE_GLCANVAS
+#if wxUSE_GLCANVAS
{NULL, "wxGLContext", "'Destroy'", 1}, // 2482 obj destructor wxGLContext_destroy
+#else
+ {NULL, "wxGLContext", "'Destroy'", 0}, // 2482
+#endif // wxUSE_GLCANVAS
+#if wxUSE_AUI
{wxAuiManager_new, "wxAuiManager", "new", 1}, // 2483
+#else
+ {NULL, "wxAuiManager", "new", 0}, // 2483
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{NULL, "wxAuiManager", "destroy", 1}, // 2484 obj destructor wxAuiManager_destruct
+#else
+ {NULL, "wxAuiManager", "destroy", 0}, // 2484
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiManager_AddPane_2_1, "wxAuiManager", "addPane", 3}, // 2485
+#else
+ {NULL, "wxAuiManager", "addPane", 0}, // 2485
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiManager_AddPane_2_0, "wxAuiManager", "addPane", 3}, // 2486
+#else
+ {NULL, "wxAuiManager", "addPane", 0}, // 2486
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiManager_AddPane_3, "wxAuiManager", "addPane", 4}, // 2487
+#else
+ {NULL, "wxAuiManager", "addPane", 0}, // 2487
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiManager_DetachPane, "wxAuiManager", "detachPane", 2}, // 2488
+#else
+ {NULL, "wxAuiManager", "detachPane", 0}, // 2488
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiManager_GetAllPanes, "wxAuiManager", "getAllPanes", 1}, // 2489
+#else
+ {NULL, "wxAuiManager", "getAllPanes", 0}, // 2489
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiManager_GetArtProvider, "wxAuiManager", "getArtProvider", 1}, // 2490
+#else
+ {NULL, "wxAuiManager", "getArtProvider", 0}, // 2490
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiManager_GetDockSizeConstraint, "wxAuiManager", "getDockSizeConstraint", 1}, // 2491
+#else
+ {NULL, "wxAuiManager", "getDockSizeConstraint", 0}, // 2491
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiManager_GetFlags, "wxAuiManager", "getFlags", 1}, // 2492
+#else
+ {NULL, "wxAuiManager", "getFlags", 0}, // 2492
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiManager_GetManagedWindow, "wxAuiManager", "getManagedWindow", 1}, // 2493
+#else
+ {NULL, "wxAuiManager", "getManagedWindow", 0}, // 2493
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiManager_GetManager, "wxAuiManager", "getManager", 1}, // 2494
+#else
+ {NULL, "wxAuiManager", "getManager", 0}, // 2494
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiManager_GetPane_1_1, "wxAuiManager", "getPane", 2}, // 2495
+#else
+ {NULL, "wxAuiManager", "getPane", 0}, // 2495
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiManager_GetPane_1_0, "wxAuiManager", "getPane", 2}, // 2496
+#else
+ {NULL, "wxAuiManager", "getPane", 0}, // 2496
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiManager_HideHint, "wxAuiManager", "hideHint", 1}, // 2497
+#else
+ {NULL, "wxAuiManager", "hideHint", 0}, // 2497
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiManager_InsertPane, "wxAuiManager", "insertPane", 4}, // 2498
+#else
+ {NULL, "wxAuiManager", "insertPane", 0}, // 2498
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiManager_LoadPaneInfo, "wxAuiManager", "loadPaneInfo", 3}, // 2499
+#else
+ {NULL, "wxAuiManager", "loadPaneInfo", 0}, // 2499
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiManager_LoadPerspective, "wxAuiManager", "loadPerspective", 3}, // 2500
+#else
+ {NULL, "wxAuiManager", "loadPerspective", 0}, // 2500
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiManager_SavePaneInfo, "wxAuiManager", "savePaneInfo", 2}, // 2501
+#else
+ {NULL, "wxAuiManager", "savePaneInfo", 0}, // 2501
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiManager_SavePerspective, "wxAuiManager", "savePerspective", 1}, // 2502
+#else
+ {NULL, "wxAuiManager", "savePerspective", 0}, // 2502
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiManager_SetArtProvider, "wxAuiManager", "setArtProvider", 2}, // 2503
+#else
+ {NULL, "wxAuiManager", "setArtProvider", 0}, // 2503
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiManager_SetDockSizeConstraint, "wxAuiManager", "setDockSizeConstraint", 3}, // 2504
+#else
+ {NULL, "wxAuiManager", "setDockSizeConstraint", 0}, // 2504
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiManager_SetFlags, "wxAuiManager", "setFlags", 2}, // 2505
+#else
+ {NULL, "wxAuiManager", "setFlags", 0}, // 2505
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiManager_SetManagedWindow, "wxAuiManager", "setManagedWindow", 2}, // 2506
+#else
+ {NULL, "wxAuiManager", "setManagedWindow", 0}, // 2506
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiManager_ShowHint, "wxAuiManager", "showHint", 2}, // 2507
+#else
+ {NULL, "wxAuiManager", "showHint", 0}, // 2507
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiManager_UnInit, "wxAuiManager", "unInit", 1}, // 2508
+#else
+ {NULL, "wxAuiManager", "unInit", 0}, // 2508
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiManager_Update, "wxAuiManager", "update", 1}, // 2509
+#else
+ {NULL, "wxAuiManager", "update", 0}, // 2509
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_new_0, "wxAuiPaneInfo", "new", 0}, // 2510
+#else
+ {NULL, "wxAuiPaneInfo", "new", 0}, // 2510
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_new_1, "wxAuiPaneInfo", "new", 1}, // 2511
+#else
+ {NULL, "wxAuiPaneInfo", "new", 0}, // 2511
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_BestSize_1, "wxAuiPaneInfo", "bestSize", 2}, // 2512
+#else
+ {NULL, "wxAuiPaneInfo", "bestSize", 0}, // 2512
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_BestSize_2, "wxAuiPaneInfo", "bestSize", 3}, // 2513
+#else
+ {NULL, "wxAuiPaneInfo", "bestSize", 0}, // 2513
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_Bottom, "wxAuiPaneInfo", "bottom", 1}, // 2514
+#else
+ {NULL, "wxAuiPaneInfo", "bottom", 0}, // 2514
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_BottomDockable, "wxAuiPaneInfo", "bottomDockable", 2}, // 2515
+#else
+ {NULL, "wxAuiPaneInfo", "bottomDockable", 0}, // 2515
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_Caption, "wxAuiPaneInfo", "caption", 2}, // 2516
+#else
+ {NULL, "wxAuiPaneInfo", "caption", 0}, // 2516
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_CaptionVisible, "wxAuiPaneInfo", "captionVisible", 2}, // 2517
+#else
+ {NULL, "wxAuiPaneInfo", "captionVisible", 0}, // 2517
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_Centre, "wxAuiPaneInfo", "centre", 1}, // 2518
+#else
+ {NULL, "wxAuiPaneInfo", "centre", 0}, // 2518
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_CentrePane, "wxAuiPaneInfo", "centrePane", 1}, // 2519
+#else
+ {NULL, "wxAuiPaneInfo", "centrePane", 0}, // 2519
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_CloseButton, "wxAuiPaneInfo", "closeButton", 2}, // 2520
+#else
+ {NULL, "wxAuiPaneInfo", "closeButton", 0}, // 2520
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_DefaultPane, "wxAuiPaneInfo", "defaultPane", 1}, // 2521
+#else
+ {NULL, "wxAuiPaneInfo", "defaultPane", 0}, // 2521
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_DestroyOnClose, "wxAuiPaneInfo", "destroyOnClose", 2}, // 2522
+#else
+ {NULL, "wxAuiPaneInfo", "destroyOnClose", 0}, // 2522
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_Direction, "wxAuiPaneInfo", "direction", 2}, // 2523
+#else
+ {NULL, "wxAuiPaneInfo", "direction", 0}, // 2523
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_Dock, "wxAuiPaneInfo", "dock", 1}, // 2524
+#else
+ {NULL, "wxAuiPaneInfo", "dock", 0}, // 2524
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_Dockable, "wxAuiPaneInfo", "dockable", 2}, // 2525
+#else
+ {NULL, "wxAuiPaneInfo", "dockable", 0}, // 2525
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_Fixed, "wxAuiPaneInfo", "fixed", 1}, // 2526
+#else
+ {NULL, "wxAuiPaneInfo", "fixed", 0}, // 2526
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_Float, "wxAuiPaneInfo", "float", 1}, // 2527
+#else
+ {NULL, "wxAuiPaneInfo", "float", 0}, // 2527
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_Floatable, "wxAuiPaneInfo", "floatable", 2}, // 2528
+#else
+ {NULL, "wxAuiPaneInfo", "floatable", 0}, // 2528
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_FloatingPosition_1, "wxAuiPaneInfo", "floatingPosition", 2}, // 2529
+#else
+ {NULL, "wxAuiPaneInfo", "floatingPosition", 0}, // 2529
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_FloatingPosition_2, "wxAuiPaneInfo", "floatingPosition", 3}, // 2530
+#else
+ {NULL, "wxAuiPaneInfo", "floatingPosition", 0}, // 2530
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_FloatingSize_1, "wxAuiPaneInfo", "floatingSize", 2}, // 2531
+#else
+ {NULL, "wxAuiPaneInfo", "floatingSize", 0}, // 2531
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_FloatingSize_2, "wxAuiPaneInfo", "floatingSize", 3}, // 2532
+#else
+ {NULL, "wxAuiPaneInfo", "floatingSize", 0}, // 2532
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_Gripper, "wxAuiPaneInfo", "gripper", 2}, // 2533
+#else
+ {NULL, "wxAuiPaneInfo", "gripper", 0}, // 2533
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_GripperTop, "wxAuiPaneInfo", "gripperTop", 2}, // 2534
+#else
+ {NULL, "wxAuiPaneInfo", "gripperTop", 0}, // 2534
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_HasBorder, "wxAuiPaneInfo", "hasBorder", 1}, // 2535
+#else
+ {NULL, "wxAuiPaneInfo", "hasBorder", 0}, // 2535
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_HasCaption, "wxAuiPaneInfo", "hasCaption", 1}, // 2536
+#else
+ {NULL, "wxAuiPaneInfo", "hasCaption", 0}, // 2536
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_HasCloseButton, "wxAuiPaneInfo", "hasCloseButton", 1}, // 2537
+#else
+ {NULL, "wxAuiPaneInfo", "hasCloseButton", 0}, // 2537
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_HasFlag, "wxAuiPaneInfo", "hasFlag", 2}, // 2538
+#else
+ {NULL, "wxAuiPaneInfo", "hasFlag", 0}, // 2538
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_HasGripper, "wxAuiPaneInfo", "hasGripper", 1}, // 2539
+#else
+ {NULL, "wxAuiPaneInfo", "hasGripper", 0}, // 2539
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_HasGripperTop, "wxAuiPaneInfo", "hasGripperTop", 1}, // 2540
+#else
+ {NULL, "wxAuiPaneInfo", "hasGripperTop", 0}, // 2540
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_HasMaximizeButton, "wxAuiPaneInfo", "hasMaximizeButton", 1}, // 2541
+#else
+ {NULL, "wxAuiPaneInfo", "hasMaximizeButton", 0}, // 2541
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_HasMinimizeButton, "wxAuiPaneInfo", "hasMinimizeButton", 1}, // 2542
+#else
+ {NULL, "wxAuiPaneInfo", "hasMinimizeButton", 0}, // 2542
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_HasPinButton, "wxAuiPaneInfo", "hasPinButton", 1}, // 2543
+#else
+ {NULL, "wxAuiPaneInfo", "hasPinButton", 0}, // 2543
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_Hide, "wxAuiPaneInfo", "hide", 1}, // 2544
+#else
+ {NULL, "wxAuiPaneInfo", "hide", 0}, // 2544
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_IsBottomDockable, "wxAuiPaneInfo", "isBottomDockable", 1}, // 2545
+#else
+ {NULL, "wxAuiPaneInfo", "isBottomDockable", 0}, // 2545
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_IsDocked, "wxAuiPaneInfo", "isDocked", 1}, // 2546
+#else
+ {NULL, "wxAuiPaneInfo", "isDocked", 0}, // 2546
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_IsFixed, "wxAuiPaneInfo", "isFixed", 1}, // 2547
+#else
+ {NULL, "wxAuiPaneInfo", "isFixed", 0}, // 2547
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_IsFloatable, "wxAuiPaneInfo", "isFloatable", 1}, // 2548
+#else
+ {NULL, "wxAuiPaneInfo", "isFloatable", 0}, // 2548
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_IsFloating, "wxAuiPaneInfo", "isFloating", 1}, // 2549
+#else
+ {NULL, "wxAuiPaneInfo", "isFloating", 0}, // 2549
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_IsLeftDockable, "wxAuiPaneInfo", "isLeftDockable", 1}, // 2550
+#else
+ {NULL, "wxAuiPaneInfo", "isLeftDockable", 0}, // 2550
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_IsMovable, "wxAuiPaneInfo", "isMovable", 1}, // 2551
+#else
+ {NULL, "wxAuiPaneInfo", "isMovable", 0}, // 2551
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_IsOk, "wxAuiPaneInfo", "isOk", 1}, // 2552
+#else
+ {NULL, "wxAuiPaneInfo", "isOk", 0}, // 2552
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_IsResizable, "wxAuiPaneInfo", "isResizable", 1}, // 2553
+#else
+ {NULL, "wxAuiPaneInfo", "isResizable", 0}, // 2553
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_IsRightDockable, "wxAuiPaneInfo", "isRightDockable", 1}, // 2554
+#else
+ {NULL, "wxAuiPaneInfo", "isRightDockable", 0}, // 2554
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_IsShown, "wxAuiPaneInfo", "isShown", 1}, // 2555
+#else
+ {NULL, "wxAuiPaneInfo", "isShown", 0}, // 2555
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_IsToolbar, "wxAuiPaneInfo", "isToolbar", 1}, // 2556
+#else
+ {NULL, "wxAuiPaneInfo", "isToolbar", 0}, // 2556
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_IsTopDockable, "wxAuiPaneInfo", "isTopDockable", 1}, // 2557
+#else
+ {NULL, "wxAuiPaneInfo", "isTopDockable", 0}, // 2557
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_Layer, "wxAuiPaneInfo", "layer", 2}, // 2558
+#else
+ {NULL, "wxAuiPaneInfo", "layer", 0}, // 2558
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_Left, "wxAuiPaneInfo", "left", 1}, // 2559
+#else
+ {NULL, "wxAuiPaneInfo", "left", 0}, // 2559
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_LeftDockable, "wxAuiPaneInfo", "leftDockable", 2}, // 2560
+#else
+ {NULL, "wxAuiPaneInfo", "leftDockable", 0}, // 2560
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_MaxSize_1, "wxAuiPaneInfo", "maxSize", 2}, // 2561
+#else
+ {NULL, "wxAuiPaneInfo", "maxSize", 0}, // 2561
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_MaxSize_2, "wxAuiPaneInfo", "maxSize", 3}, // 2562
+#else
+ {NULL, "wxAuiPaneInfo", "maxSize", 0}, // 2562
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_MaximizeButton, "wxAuiPaneInfo", "maximizeButton", 2}, // 2563
+#else
+ {NULL, "wxAuiPaneInfo", "maximizeButton", 0}, // 2563
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_MinSize_1, "wxAuiPaneInfo", "minSize", 2}, // 2564
+#else
+ {NULL, "wxAuiPaneInfo", "minSize", 0}, // 2564
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_MinSize_2, "wxAuiPaneInfo", "minSize", 3}, // 2565
+#else
+ {NULL, "wxAuiPaneInfo", "minSize", 0}, // 2565
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_MinimizeButton, "wxAuiPaneInfo", "minimizeButton", 2}, // 2566
+#else
+ {NULL, "wxAuiPaneInfo", "minimizeButton", 0}, // 2566
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_Movable, "wxAuiPaneInfo", "movable", 2}, // 2567
+#else
+ {NULL, "wxAuiPaneInfo", "movable", 0}, // 2567
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_Name, "wxAuiPaneInfo", "name", 2}, // 2568
+#else
+ {NULL, "wxAuiPaneInfo", "name", 0}, // 2568
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_PaneBorder, "wxAuiPaneInfo", "paneBorder", 2}, // 2569
+#else
+ {NULL, "wxAuiPaneInfo", "paneBorder", 0}, // 2569
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_PinButton, "wxAuiPaneInfo", "pinButton", 2}, // 2570
+#else
+ {NULL, "wxAuiPaneInfo", "pinButton", 0}, // 2570
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_Position, "wxAuiPaneInfo", "position", 2}, // 2571
+#else
+ {NULL, "wxAuiPaneInfo", "position", 0}, // 2571
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_Resizable, "wxAuiPaneInfo", "resizable", 2}, // 2572
+#else
+ {NULL, "wxAuiPaneInfo", "resizable", 0}, // 2572
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_Right, "wxAuiPaneInfo", "right", 1}, // 2573
+#else
+ {NULL, "wxAuiPaneInfo", "right", 0}, // 2573
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_RightDockable, "wxAuiPaneInfo", "rightDockable", 2}, // 2574
+#else
+ {NULL, "wxAuiPaneInfo", "rightDockable", 0}, // 2574
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_Row, "wxAuiPaneInfo", "row", 2}, // 2575
+#else
+ {NULL, "wxAuiPaneInfo", "row", 0}, // 2575
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_SafeSet, "wxAuiPaneInfo", "safeSet", 2}, // 2576
+#else
+ {NULL, "wxAuiPaneInfo", "safeSet", 0}, // 2576
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_SetFlag, "wxAuiPaneInfo", "setFlag", 3}, // 2577
+#else
+ {NULL, "wxAuiPaneInfo", "setFlag", 0}, // 2577
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_Show, "wxAuiPaneInfo", "show", 2}, // 2578
+#else
+ {NULL, "wxAuiPaneInfo", "show", 0}, // 2578
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_ToolbarPane, "wxAuiPaneInfo", "toolbarPane", 1}, // 2579
+#else
+ {NULL, "wxAuiPaneInfo", "toolbarPane", 0}, // 2579
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_Top, "wxAuiPaneInfo", "top", 1}, // 2580
+#else
+ {NULL, "wxAuiPaneInfo", "top", 0}, // 2580
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_TopDockable, "wxAuiPaneInfo", "topDockable", 2}, // 2581
+#else
+ {NULL, "wxAuiPaneInfo", "topDockable", 0}, // 2581
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_Window, "wxAuiPaneInfo", "window", 2}, // 2582
+#else
+ {NULL, "wxAuiPaneInfo", "window", 0}, // 2582
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_GetWindow, "wxAuiPaneInfo", "getWindow", 1}, // 2583
+#else
+ {NULL, "wxAuiPaneInfo", "getWindow", 0}, // 2583
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_GetFrame, "wxAuiPaneInfo", "getFrame", 1}, // 2584
+#else
+ {NULL, "wxAuiPaneInfo", "getFrame", 0}, // 2584
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_GetDirection, "wxAuiPaneInfo", "getDirection", 1}, // 2585
+#else
+ {NULL, "wxAuiPaneInfo", "getDirection", 0}, // 2585
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_GetLayer, "wxAuiPaneInfo", "getLayer", 1}, // 2586
+#else
+ {NULL, "wxAuiPaneInfo", "getLayer", 0}, // 2586
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_GetRow, "wxAuiPaneInfo", "getRow", 1}, // 2587
+#else
+ {NULL, "wxAuiPaneInfo", "getRow", 0}, // 2587
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_GetPosition, "wxAuiPaneInfo", "getPosition", 1}, // 2588
+#else
+ {NULL, "wxAuiPaneInfo", "getPosition", 0}, // 2588
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_GetFloatingPosition, "wxAuiPaneInfo", "getFloatingPosition", 1}, // 2589
+#else
+ {NULL, "wxAuiPaneInfo", "getFloatingPosition", 0}, // 2589
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_GetFloatingSize, "wxAuiPaneInfo", "getFloatingSize", 1}, // 2590
+#else
+ {NULL, "wxAuiPaneInfo", "getFloatingSize", 0}, // 2590
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiPaneInfo_destroy, "wxAuiPaneInfo", "'Destroy'", 1}, // 2591
+#else
+ {NULL, "wxAuiPaneInfo", "'Destroy'", 0}, // 2591
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiNotebook_new_0, "wxAuiNotebook", "new", 0}, // 2592
+#else
+ {NULL, "wxAuiNotebook", "new", 0}, // 2592
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiNotebook_new_2, "wxAuiNotebook", "new", 2}, // 2593
+#else
+ {NULL, "wxAuiNotebook", "new", 0}, // 2593
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiNotebook_AddPage_3, "wxAuiNotebook", "addPage", 4}, // 2594
+#else
+ {NULL, "wxAuiNotebook", "addPage", 0}, // 2594
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiNotebook_AddPage_4, "wxAuiNotebook", "addPage", 5}, // 2595
+#else
+ {NULL, "wxAuiNotebook", "addPage", 0}, // 2595
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiNotebook_Create_2, "wxAuiNotebook", "create", 3}, // 2596
+#else
+ {NULL, "wxAuiNotebook", "create", 0}, // 2596
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiNotebook_Create_3, "wxAuiNotebook", "create", 4}, // 2597
+#else
+ {NULL, "wxAuiNotebook", "create", 0}, // 2597
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiNotebook_DeletePage, "wxAuiNotebook", "deletePage", 2}, // 2598
+#else
+ {NULL, "wxAuiNotebook", "deletePage", 0}, // 2598
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiNotebook_GetArtProvider, "wxAuiNotebook", "getArtProvider", 1}, // 2599
+#else
+ {NULL, "wxAuiNotebook", "getArtProvider", 0}, // 2599
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiNotebook_GetPage, "wxAuiNotebook", "getPage", 2}, // 2600
+#else
+ {NULL, "wxAuiNotebook", "getPage", 0}, // 2600
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiNotebook_GetPageBitmap, "wxAuiNotebook", "getPageBitmap", 2}, // 2601
+#else
+ {NULL, "wxAuiNotebook", "getPageBitmap", 0}, // 2601
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiNotebook_GetPageCount, "wxAuiNotebook", "getPageCount", 1}, // 2602
+#else
+ {NULL, "wxAuiNotebook", "getPageCount", 0}, // 2602
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiNotebook_GetPageIndex, "wxAuiNotebook", "getPageIndex", 2}, // 2603
+#else
+ {NULL, "wxAuiNotebook", "getPageIndex", 0}, // 2603
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiNotebook_GetPageText, "wxAuiNotebook", "getPageText", 2}, // 2604
+#else
+ {NULL, "wxAuiNotebook", "getPageText", 0}, // 2604
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiNotebook_GetSelection, "wxAuiNotebook", "getSelection", 1}, // 2605
+#else
+ {NULL, "wxAuiNotebook", "getSelection", 0}, // 2605
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiNotebook_InsertPage_4, "wxAuiNotebook", "insertPage", 5}, // 2606
+#else
+ {NULL, "wxAuiNotebook", "insertPage", 0}, // 2606
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiNotebook_InsertPage_5, "wxAuiNotebook", "insertPage", 6}, // 2607
+#else
+ {NULL, "wxAuiNotebook", "insertPage", 0}, // 2607
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiNotebook_RemovePage, "wxAuiNotebook", "removePage", 2}, // 2608
+#else
+ {NULL, "wxAuiNotebook", "removePage", 0}, // 2608
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiNotebook_SetArtProvider, "wxAuiNotebook", "setArtProvider", 2}, // 2609
+#else
+ {NULL, "wxAuiNotebook", "setArtProvider", 0}, // 2609
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiNotebook_SetFont, "wxAuiNotebook", "setFont", 2}, // 2610
+#else
+ {NULL, "wxAuiNotebook", "setFont", 0}, // 2610
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiNotebook_SetPageBitmap, "wxAuiNotebook", "setPageBitmap", 3}, // 2611
+#else
+ {NULL, "wxAuiNotebook", "setPageBitmap", 0}, // 2611
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiNotebook_SetPageText, "wxAuiNotebook", "setPageText", 3}, // 2612
+#else
+ {NULL, "wxAuiNotebook", "setPageText", 0}, // 2612
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiNotebook_SetSelection, "wxAuiNotebook", "setSelection", 2}, // 2613
+#else
+ {NULL, "wxAuiNotebook", "setSelection", 0}, // 2613
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiNotebook_SetTabCtrlHeight, "wxAuiNotebook", "setTabCtrlHeight", 2}, // 2614
+#else
+ {NULL, "wxAuiNotebook", "setTabCtrlHeight", 0}, // 2614
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiNotebook_SetUniformBitmapSize, "wxAuiNotebook", "setUniformBitmapSize", 2}, // 2615
+#else
+ {NULL, "wxAuiNotebook", "setUniformBitmapSize", 0}, // 2615
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{NULL, "wxAuiNotebook", "'Destroy'", 1}, // 2616 obj destructor wxAuiNotebook_destroy
+#else
+ {NULL, "wxAuiNotebook", "'Destroy'", 0}, // 2616
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiTabArt_SetFlags, "wxAuiTabArt", "setFlags", 2}, // 2617
+#else
+ {NULL, "wxAuiTabArt", "setFlags", 0}, // 2617
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiTabArt_SetMeasuringFont, "wxAuiTabArt", "setMeasuringFont", 2}, // 2618
+#else
+ {NULL, "wxAuiTabArt", "setMeasuringFont", 0}, // 2618
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiTabArt_SetNormalFont, "wxAuiTabArt", "setNormalFont", 2}, // 2619
+#else
+ {NULL, "wxAuiTabArt", "setNormalFont", 0}, // 2619
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiTabArt_SetSelectedFont, "wxAuiTabArt", "setSelectedFont", 2}, // 2620
+#else
+ {NULL, "wxAuiTabArt", "setSelectedFont", 0}, // 2620
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiTabArt_SetColour, "wxAuiTabArt", "setColour", 2}, // 2621
+#else
+ {NULL, "wxAuiTabArt", "setColour", 0}, // 2621
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiTabArt_SetActiveColour, "wxAuiTabArt", "setActiveColour", 2}, // 2622
+#else
+ {NULL, "wxAuiTabArt", "setActiveColour", 0}, // 2622
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiDockArt_GetColour, "wxAuiDockArt", "getColour", 2}, // 2623
+#else
+ {NULL, "wxAuiDockArt", "getColour", 0}, // 2623
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiDockArt_GetFont, "wxAuiDockArt", "getFont", 2}, // 2624
+#else
+ {NULL, "wxAuiDockArt", "getFont", 0}, // 2624
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiDockArt_GetMetric, "wxAuiDockArt", "getMetric", 2}, // 2625
+#else
+ {NULL, "wxAuiDockArt", "getMetric", 0}, // 2625
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiDockArt_SetColour, "wxAuiDockArt", "setColour", 3}, // 2626
+#else
+ {NULL, "wxAuiDockArt", "setColour", 0}, // 2626
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiDockArt_SetFont, "wxAuiDockArt", "setFont", 3}, // 2627
+#else
+ {NULL, "wxAuiDockArt", "setFont", 0}, // 2627
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiDockArt_SetMetric, "wxAuiDockArt", "setMetric", 3}, // 2628
+#else
+ {NULL, "wxAuiDockArt", "setMetric", 0}, // 2628
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiSimpleTabArt_new, "wxAuiSimpleTabArt", "new", 0}, // 2629
+#else
+ {NULL, "wxAuiSimpleTabArt", "new", 0}, // 2629
+#endif // wxUSE_AUI
+#if wxUSE_AUI
{wxAuiSimpleTabArt_destroy, "wxAuiSimpleTabArt", "'Destroy'", 1}, // 2630
+#else
+ {NULL, "wxAuiSimpleTabArt", "'Destroy'", 0}, // 2630
+#endif // wxUSE_AUI
{wxMDIParentFrame_new_0, "wxMDIParentFrame", "new", 0}, // 2631
{wxMDIParentFrame_new_4, "wxMDIParentFrame", "new", 4}, // 2632
{NULL, "wxMDIParentFrame", "destroy", 1}, // 2633 obj destructor wxMDIParentFrame_destruct
@@ -6870,16 +8599,56 @@ wxe_fns_t wxe_fns[] =
{wxLocale_IsLoaded, "wxLocale", "isLoaded", 2}, // 3501
{wxLocale_IsOk, "wxLocale", "isOk", 1}, // 3502
{wxActivateEvent_GetActive, "wxActivateEvent", "getActive", 1}, // 3503
+#if wxUSE_POPUPWIN
{wxPopupWindow_new_0, "wxPopupWindow", "new", 0}, // 3504
+#else
+ {NULL, "wxPopupWindow", "new", 0}, // 3504
+#endif // wxUSE_POPUPWIN
+#if wxUSE_POPUPWIN
{wxPopupWindow_new_2, "wxPopupWindow", "new", 2}, // 3505
+#else
+ {NULL, "wxPopupWindow", "new", 0}, // 3505
+#endif // wxUSE_POPUPWIN
+#if wxUSE_POPUPWIN
{wxPopupWindow_Create, "wxPopupWindow", "create", 3}, // 3506
+#else
+ {NULL, "wxPopupWindow", "create", 0}, // 3506
+#endif // wxUSE_POPUPWIN
+#if wxUSE_POPUPWIN
{wxPopupWindow_Position, "wxPopupWindow", "position", 3}, // 3507
+#else
+ {NULL, "wxPopupWindow", "position", 0}, // 3507
+#endif // wxUSE_POPUPWIN
+#if wxUSE_POPUPWIN
{NULL, "wxPopupWindow", "'Destroy'", 1}, // 3508 obj destructor wxPopupWindow_destroy
+#else
+ {NULL, "wxPopupWindow", "'Destroy'", 0}, // 3508
+#endif // wxUSE_POPUPWIN
+#if wxUSE_POPUPWIN
{wxPopupTransientWindow_new_0, "wxPopupTransientWindow", "new", 0}, // 3509
+#else
+ {NULL, "wxPopupTransientWindow", "new", 0}, // 3509
+#endif // wxUSE_POPUPWIN
+#if wxUSE_POPUPWIN
{wxPopupTransientWindow_new_2, "wxPopupTransientWindow", "new", 2}, // 3510
+#else
+ {NULL, "wxPopupTransientWindow", "new", 0}, // 3510
+#endif // wxUSE_POPUPWIN
+#if wxUSE_POPUPWIN
{wxPopupTransientWindow_Popup, "wxPopupTransientWindow", "popup", 2}, // 3511
+#else
+ {NULL, "wxPopupTransientWindow", "popup", 0}, // 3511
+#endif // wxUSE_POPUPWIN
+#if wxUSE_POPUPWIN
{wxPopupTransientWindow_Dismiss, "wxPopupTransientWindow", "dismiss", 1}, // 3512
+#else
+ {NULL, "wxPopupTransientWindow", "dismiss", 0}, // 3512
+#endif // wxUSE_POPUPWIN
+#if wxUSE_POPUPWIN
{NULL, "wxPopupTransientWindow", "'Destroy'", 1}, // 3513 obj destructor wxPopupTransientWindow_destroy
+#else
+ {NULL, "wxPopupTransientWindow", "'Destroy'", 0}, // 3513
+#endif // wxUSE_POPUPWIN
{wxOverlay_new, "wxOverlay", "new", 0}, // 3514
{wxOverlay_destruct, "wxOverlay", "destroy", 1}, // 3515
{wxOverlay_Reset, "wxOverlay", "reset", 1}, // 3516
@@ -6890,34 +8659,98 @@ wxe_fns_t wxe_fns[] =
{wxDropFilesEvent_GetPosition, "wxDropFilesEvent", "getPosition", 1}, // 3521
{wxDropFilesEvent_GetNumberOfFiles, "wxDropFilesEvent", "getNumberOfFiles", 1}, // 3522
{wxDropFilesEvent_GetFiles, "wxDropFilesEvent", "getFiles", 1}, // 3523
+#if wxUSE_DISPLAY
{wxDisplay_new_0, "wxDisplay", "new", 0}, // 3524
+#else
+ {NULL, "wxDisplay", "new", 0}, // 3524
+#endif // wxUSE_DISPLAY
+#if wxUSE_DISPLAY
{wxDisplay_new_1_0, "wxDisplay", "new", 1}, // 3525
-#if wxCHECK_VERSION(3,1,3)
+#else
+ {NULL, "wxDisplay", "new", 0}, // 3525
+#endif // wxUSE_DISPLAY
+#if wxUSE_DISPLAY && wxCHECK_VERSION(3,1,3)
{wxDisplay_new_1_1, "wxDisplay", "new", 1}, // 3526
#else
{NULL, "wxDisplay", "new", 0}, // 3526
-#endif
+#endif // wxUSE_DISPLAY && wxCHECK_VERSION(3,1,3)
+#if wxUSE_DISPLAY
{wxDisplay_destruct, "wxDisplay", "destroy", 1}, // 3527
+#else
+ {NULL, "wxDisplay", "destroy", 0}, // 3527
+#endif // wxUSE_DISPLAY
+#if wxUSE_DISPLAY
{wxDisplay_IsOk, "wxDisplay", "isOk", 1}, // 3528
+#else
+ {NULL, "wxDisplay", "isOk", 0}, // 3528
+#endif // wxUSE_DISPLAY
+#if wxUSE_DISPLAY
{wxDisplay_GetClientArea, "wxDisplay", "getClientArea", 1}, // 3529
+#else
+ {NULL, "wxDisplay", "getClientArea", 0}, // 3529
+#endif // wxUSE_DISPLAY
+#if wxUSE_DISPLAY
{wxDisplay_GetGeometry, "wxDisplay", "getGeometry", 1}, // 3530
+#else
+ {NULL, "wxDisplay", "getGeometry", 0}, // 3530
+#endif // wxUSE_DISPLAY
+#if wxUSE_DISPLAY
{wxDisplay_GetName, "wxDisplay", "getName", 1}, // 3531
+#else
+ {NULL, "wxDisplay", "getName", 0}, // 3531
+#endif // wxUSE_DISPLAY
+#if wxUSE_DISPLAY
{wxDisplay_IsPrimary, "wxDisplay", "isPrimary", 1}, // 3532
+#else
+ {NULL, "wxDisplay", "isPrimary", 0}, // 3532
+#endif // wxUSE_DISPLAY
+#if wxUSE_DISPLAY
{wxDisplay_GetCount, "wxDisplay", "getCount", 0}, // 3533
+#else
+ {NULL, "wxDisplay", "getCount", 0}, // 3533
+#endif // wxUSE_DISPLAY
+#if wxUSE_DISPLAY
{wxDisplay_GetFromPoint, "wxDisplay", "getFromPoint", 1}, // 3534
+#else
+ {NULL, "wxDisplay", "getFromPoint", 0}, // 3534
+#endif // wxUSE_DISPLAY
+#if wxUSE_DISPLAY
{wxDisplay_GetFromWindow, "wxDisplay", "getFromWindow", 1}, // 3535
-#if wxCHECK_VERSION(3,1,2)
+#else
+ {NULL, "wxDisplay", "getFromWindow", 0}, // 3535
+#endif // wxUSE_DISPLAY
+#if wxUSE_DISPLAY && wxCHECK_VERSION(3,1,2)
{wxDisplay_GetPPI, "wxDisplay", "getPPI", 1}, // 3536
#else
{NULL, "wxDisplay", "getPPI", 0}, // 3536
-#endif
+#endif // wxUSE_DISPLAY && wxCHECK_VERSION(3,1,2)
+#if wxUSE_GRAPHICS_CONTEXT
{wxGCDC_new_1, "wxGCDC", "new", 1}, // 3537
+#else
+ {NULL, "wxGCDC", "new", 0}, // 3537
+#endif // wxUSE_GRAPHICS_CONTEXT
{NULL, "", "", 0}, // 3538
{NULL, "", "", 0}, // 3539
+#if wxUSE_GRAPHICS_CONTEXT
{wxGCDC_new_0, "wxGCDC", "new", 0}, // 3540
+#else
+ {NULL, "wxGCDC", "new", 0}, // 3540
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{NULL, "wxGCDC", "destroy", 1}, // 3541 obj destructor wxGCDC_destruct
+#else
+ {NULL, "wxGCDC", "destroy", 0}, // 3541
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGCDC_GetGraphicsContext, "wxGCDC", "getGraphicsContext", 1}, // 3542
+#else
+ {NULL, "wxGCDC", "getGraphicsContext", 0}, // 3542
+#endif // wxUSE_GRAPHICS_CONTEXT
+#if wxUSE_GRAPHICS_CONTEXT
{wxGCDC_SetGraphicsContext, "wxGCDC", "setGraphicsContext", 2}, // 3543
+#else
+ {NULL, "wxGCDC", "setGraphicsContext", 0}, // 3543
+#endif // wxUSE_GRAPHICS_CONTEXT
{wxNotificationMessage_new_0, "wxNotificationMessage", "new", 0}, // 3544
{wxNotificationMessage_new_2, "wxNotificationMessage", "new", 2}, // 3545
{NULL, "wxNotificationMessage", "destroy", 1}, // 3546 obj destructor wxNotificationMessage_destruct
@@ -6925,16 +8758,272 @@ wxe_fns_t wxe_fns[] =
{wxNotificationMessage_AddAction, "wxNotificationMessage", "addAction", 3}, // 3547
#else
{NULL, "wxNotificationMessage", "addAction", 0}, // 3547
-#endif
+#endif // wxCHECK_VERSION(3,1,0)
{wxNotificationMessage_Close, "wxNotificationMessage", "close", 1}, // 3548
{wxNotificationMessage_SetFlags, "wxNotificationMessage", "setFlags", 2}, // 3549
#if wxCHECK_VERSION(3,1,0)
{wxNotificationMessage_SetIcon, "wxNotificationMessage", "setIcon", 2}, // 3550
#else
{NULL, "wxNotificationMessage", "setIcon", 0}, // 3550
-#endif
+#endif // wxCHECK_VERSION(3,1,0)
{wxNotificationMessage_SetMessage, "wxNotificationMessage", "setMessage", 2}, // 3551
{wxNotificationMessage_SetParent, "wxNotificationMessage", "setParent", 2}, // 3552
{wxNotificationMessage_SetTitle, "wxNotificationMessage", "setTitle", 2}, // 3553
{wxNotificationMessage_Show, "wxNotificationMessage", "show", 2}, // 3554
+ {NULL, "", "", 0}, // 3555
+#if WXE_WEBVIEW
+ {wxWebView_New, "wxWebView", "new", 3}, // 3556
+#else
+ {NULL, "wxWebView", "new", 0}, // 3556
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_GetCurrentTitle, "wxWebView", "getCurrentTitle", 1}, // 3557
+#else
+ {NULL, "wxWebView", "getCurrentTitle", 0}, // 3557
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_GetCurrentURL, "wxWebView", "getCurrentURL", 1}, // 3558
+#else
+ {NULL, "wxWebView", "getCurrentURL", 0}, // 3558
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_GetPageSource, "wxWebView", "getPageSource", 1}, // 3559
+#else
+ {NULL, "wxWebView", "getPageSource", 0}, // 3559
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_GetPageText, "wxWebView", "getPageText", 1}, // 3560
+#else
+ {NULL, "wxWebView", "getPageText", 0}, // 3560
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_IsBusy, "wxWebView", "isBusy", 1}, // 3561
+#else
+ {NULL, "wxWebView", "isBusy", 0}, // 3561
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_IsEditable, "wxWebView", "isEditable", 1}, // 3562
+#else
+ {NULL, "wxWebView", "isEditable", 0}, // 3562
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_LoadURL, "wxWebView", "loadURL", 2}, // 3563
+#else
+ {NULL, "wxWebView", "loadURL", 0}, // 3563
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_Print, "wxWebView", "print", 1}, // 3564
+#else
+ {NULL, "wxWebView", "print", 0}, // 3564
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_Reload, "wxWebView", "reload", 2}, // 3565
+#else
+ {NULL, "wxWebView", "reload", 0}, // 3565
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW && wxCHECK_VERSION(3,1,1)
+ {wxWebView_RunScript, "wxWebView", "runScript", 2}, // 3566
+#else
+ {NULL, "wxWebView", "runScript", 0}, // 3566
+#endif // WXE_WEBVIEW && wxCHECK_VERSION(3,1,1)
+#if WXE_WEBVIEW
+ {wxWebView_SetEditable, "wxWebView", "setEditable", 2}, // 3567
+#else
+ {NULL, "wxWebView", "setEditable", 0}, // 3567
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_SetPage, "wxWebView", "setPage", 3}, // 3568
+#else
+ {NULL, "wxWebView", "setPage", 0}, // 3568
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_Stop, "wxWebView", "stop", 1}, // 3569
+#else
+ {NULL, "wxWebView", "stop", 0}, // 3569
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_CanCopy, "wxWebView", "canCopy", 1}, // 3570
+#else
+ {NULL, "wxWebView", "canCopy", 0}, // 3570
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_CanCut, "wxWebView", "canCut", 1}, // 3571
+#else
+ {NULL, "wxWebView", "canCut", 0}, // 3571
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_CanPaste, "wxWebView", "canPaste", 1}, // 3572
+#else
+ {NULL, "wxWebView", "canPaste", 0}, // 3572
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_Copy, "wxWebView", "copy", 1}, // 3573
+#else
+ {NULL, "wxWebView", "copy", 0}, // 3573
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_Cut, "wxWebView", "cut", 1}, // 3574
+#else
+ {NULL, "wxWebView", "cut", 0}, // 3574
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_Paste, "wxWebView", "paste", 1}, // 3575
+#else
+ {NULL, "wxWebView", "paste", 0}, // 3575
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_EnableContextMenu, "wxWebView", "enableContextMenu", 2}, // 3576
+#else
+ {NULL, "wxWebView", "enableContextMenu", 0}, // 3576
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_IsContextMenuEnabled, "wxWebView", "isContextMenuEnabled", 1}, // 3577
+#else
+ {NULL, "wxWebView", "isContextMenuEnabled", 0}, // 3577
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_CanGoBack, "wxWebView", "canGoBack", 1}, // 3578
+#else
+ {NULL, "wxWebView", "canGoBack", 0}, // 3578
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_CanGoForward, "wxWebView", "canGoForward", 1}, // 3579
+#else
+ {NULL, "wxWebView", "canGoForward", 0}, // 3579
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_ClearHistory, "wxWebView", "clearHistory", 1}, // 3580
+#else
+ {NULL, "wxWebView", "clearHistory", 0}, // 3580
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_EnableHistory, "wxWebView", "enableHistory", 2}, // 3581
+#else
+ {NULL, "wxWebView", "enableHistory", 0}, // 3581
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_GoBack, "wxWebView", "goBack", 1}, // 3582
+#else
+ {NULL, "wxWebView", "goBack", 0}, // 3582
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_GoForward, "wxWebView", "goForward", 1}, // 3583
+#else
+ {NULL, "wxWebView", "goForward", 0}, // 3583
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_ClearSelection, "wxWebView", "clearSelection", 1}, // 3584
+#else
+ {NULL, "wxWebView", "clearSelection", 0}, // 3584
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_DeleteSelection, "wxWebView", "deleteSelection", 1}, // 3585
+#else
+ {NULL, "wxWebView", "deleteSelection", 0}, // 3585
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_GetSelectedSource, "wxWebView", "getSelectedSource", 1}, // 3586
+#else
+ {NULL, "wxWebView", "getSelectedSource", 0}, // 3586
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_GetSelectedText, "wxWebView", "getSelectedText", 1}, // 3587
+#else
+ {NULL, "wxWebView", "getSelectedText", 0}, // 3587
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_HasSelection, "wxWebView", "hasSelection", 1}, // 3588
+#else
+ {NULL, "wxWebView", "hasSelection", 0}, // 3588
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_SelectAll, "wxWebView", "selectAll", 1}, // 3589
+#else
+ {NULL, "wxWebView", "selectAll", 0}, // 3589
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_CanRedo, "wxWebView", "canRedo", 1}, // 3590
+#else
+ {NULL, "wxWebView", "canRedo", 0}, // 3590
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_CanUndo, "wxWebView", "canUndo", 1}, // 3591
+#else
+ {NULL, "wxWebView", "canUndo", 0}, // 3591
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_Redo, "wxWebView", "redo", 1}, // 3592
+#else
+ {NULL, "wxWebView", "redo", 0}, // 3592
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_Undo, "wxWebView", "undo", 1}, // 3593
+#else
+ {NULL, "wxWebView", "undo", 0}, // 3593
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_Find, "wxWebView", "find", 3}, // 3594
+#else
+ {NULL, "wxWebView", "find", 0}, // 3594
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_CanSetZoomType, "wxWebView", "canSetZoomType", 2}, // 3595
+#else
+ {NULL, "wxWebView", "canSetZoomType", 0}, // 3595
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_GetZoom, "wxWebView", "getZoom", 1}, // 3596
+#else
+ {NULL, "wxWebView", "getZoom", 0}, // 3596
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_GetZoomType, "wxWebView", "getZoomType", 1}, // 3597
+#else
+ {NULL, "wxWebView", "getZoomType", 0}, // 3597
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_SetZoom, "wxWebView", "setZoom", 2}, // 3598
+#else
+ {NULL, "wxWebView", "setZoom", 0}, // 3598
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebView_SetZoomType, "wxWebView", "setZoomType", 2}, // 3599
+#else
+ {NULL, "wxWebView", "setZoomType", 0}, // 3599
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW && wxCHECK_VERSION(3,1,4)
+ {wxWebView_GetZoomFactor, "wxWebView", "getZoomFactor", 1}, // 3600
+#else
+ {NULL, "wxWebView", "getZoomFactor", 0}, // 3600
+#endif // WXE_WEBVIEW && wxCHECK_VERSION(3,1,4)
+#if WXE_WEBVIEW && wxCHECK_VERSION(3,1,4)
+ {wxWebView_SetZoomFactor, "wxWebView", "setZoomFactor", 2}, // 3601
+#else
+ {NULL, "wxWebView", "setZoomFactor", 0}, // 3601
+#endif // WXE_WEBVIEW && wxCHECK_VERSION(3,1,4)
+#if WXE_WEBVIEW && wxCHECK_VERSION(3,1,4)
+ {wxWebView_IsBackendAvailable, "wxWebView", "isBackendAvailable", 1}, // 3602
+#else
+ {NULL, "wxWebView", "isBackendAvailable", 0}, // 3602
+#endif // WXE_WEBVIEW && wxCHECK_VERSION(3,1,4)
+#if WXE_WEBVIEW
+ {wxWebViewEvent_GetString, "wxWebViewEvent", "getString", 1}, // 3603
+#else
+ {NULL, "wxWebViewEvent", "getString", 0}, // 3603
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebViewEvent_GetInt, "wxWebViewEvent", "getInt", 1}, // 3604
+#else
+ {NULL, "wxWebViewEvent", "getInt", 0}, // 3604
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebViewEvent_GetTarget, "wxWebViewEvent", "getTarget", 1}, // 3605
+#else
+ {NULL, "wxWebViewEvent", "getTarget", 0}, // 3605
+#endif // WXE_WEBVIEW
+#if WXE_WEBVIEW
+ {wxWebViewEvent_GetURL, "wxWebViewEvent", "getURL", 1}, // 3606
+#else
+ {NULL, "wxWebViewEvent", "getURL", 0}, // 3606
+#endif // WXE_WEBVIEW
};
diff --git a/lib/wx/c_src/gen/wxe_init.cpp b/lib/wx/c_src/gen/wxe_init.cpp
index 892111bbd9..12b0b418b0 100644
--- a/lib/wx/c_src/gen/wxe_init.cpp
+++ b/lib/wx/c_src/gen/wxe_init.cpp
@@ -6963,6 +6963,193 @@ void WxeApp::init_consts(wxeMetaCommand& event) {
// From "event.h": wxUpdateUIMode
{ enif_make_atom(rt.env,"wxUpdateUIMode"), "wxUPDATE_UI_PROCESS_ALL", rt.make_int(wxUPDATE_UI_PROCESS_ALL) },
{ enif_make_atom(rt.env,"wxUpdateUIMode"), "wxUPDATE_UI_PROCESS_SPECIFIED", rt.make_int(wxUPDATE_UI_PROCESS_SPECIFIED) },
+// From "webview.h": wxWebViewFindFlags
+#if WXE_WEBVIEW
+ { enif_make_atom(rt.env,"wxWebViewFindFlags"), "wxWEBVIEW_FIND_WRAP", rt.make_int(wxWEBVIEW_FIND_WRAP) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewFindFlags"), "wxWEBVIEW_FIND_WRAP", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW
+ { enif_make_atom(rt.env,"wxWebViewFindFlags"), "wxWEBVIEW_FIND_ENTIRE_WORD", rt.make_int(wxWEBVIEW_FIND_ENTIRE_WORD) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewFindFlags"), "wxWEBVIEW_FIND_ENTIRE_WORD", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW
+ { enif_make_atom(rt.env,"wxWebViewFindFlags"), "wxWEBVIEW_FIND_MATCH_CASE", rt.make_int(wxWEBVIEW_FIND_MATCH_CASE) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewFindFlags"), "wxWEBVIEW_FIND_MATCH_CASE", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW
+ { enif_make_atom(rt.env,"wxWebViewFindFlags"), "wxWEBVIEW_FIND_HIGHLIGHT_RESULT", rt.make_int(wxWEBVIEW_FIND_HIGHLIGHT_RESULT) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewFindFlags"), "wxWEBVIEW_FIND_HIGHLIGHT_RESULT", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW
+ { enif_make_atom(rt.env,"wxWebViewFindFlags"), "wxWEBVIEW_FIND_BACKWARDS", rt.make_int(wxWEBVIEW_FIND_BACKWARDS) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewFindFlags"), "wxWEBVIEW_FIND_BACKWARDS", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW
+ { enif_make_atom(rt.env,"wxWebViewFindFlags"), "wxWEBVIEW_FIND_DEFAULT", rt.make_int(wxWEBVIEW_FIND_DEFAULT) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewFindFlags"), "wxWEBVIEW_FIND_DEFAULT", WXE_ATOM_undefined },
+#endif
+// From "webview.h": wxWebViewIE_EmulationLevel
+#if WXE_WEBVIEW_IE && wxCHECK_VERSION(3,1,3)
+ { enif_make_atom(rt.env,"wxWebViewIE_EmulationLevel"), "wxWEBVIEWIE_EMU_DEFAULT", rt.make_int(wxWEBVIEWIE_EMU_DEFAULT) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewIE_EmulationLevel"), "wxWEBVIEWIE_EMU_DEFAULT", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW_IE && wxCHECK_VERSION(3,1,3)
+ { enif_make_atom(rt.env,"wxWebViewIE_EmulationLevel"), "wxWEBVIEWIE_EMU_IE7", rt.make_int(wxWEBVIEWIE_EMU_IE7) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewIE_EmulationLevel"), "wxWEBVIEWIE_EMU_IE7", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW_IE && wxCHECK_VERSION(3,1,3)
+ { enif_make_atom(rt.env,"wxWebViewIE_EmulationLevel"), "wxWEBVIEWIE_EMU_IE8", rt.make_int(wxWEBVIEWIE_EMU_IE8) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewIE_EmulationLevel"), "wxWEBVIEWIE_EMU_IE8", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW_IE && wxCHECK_VERSION(3,1,3)
+ { enif_make_atom(rt.env,"wxWebViewIE_EmulationLevel"), "wxWEBVIEWIE_EMU_IE8_FORCE", rt.make_int(wxWEBVIEWIE_EMU_IE8_FORCE) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewIE_EmulationLevel"), "wxWEBVIEWIE_EMU_IE8_FORCE", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW_IE && wxCHECK_VERSION(3,1,3)
+ { enif_make_atom(rt.env,"wxWebViewIE_EmulationLevel"), "wxWEBVIEWIE_EMU_IE9", rt.make_int(wxWEBVIEWIE_EMU_IE9) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewIE_EmulationLevel"), "wxWEBVIEWIE_EMU_IE9", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW_IE && wxCHECK_VERSION(3,1,3)
+ { enif_make_atom(rt.env,"wxWebViewIE_EmulationLevel"), "wxWEBVIEWIE_EMU_IE9_FORCE", rt.make_int(wxWEBVIEWIE_EMU_IE9_FORCE) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewIE_EmulationLevel"), "wxWEBVIEWIE_EMU_IE9_FORCE", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW_IE && wxCHECK_VERSION(3,1,3)
+ { enif_make_atom(rt.env,"wxWebViewIE_EmulationLevel"), "wxWEBVIEWIE_EMU_IE10", rt.make_int(wxWEBVIEWIE_EMU_IE10) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewIE_EmulationLevel"), "wxWEBVIEWIE_EMU_IE10", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW_IE && wxCHECK_VERSION(3,1,3)
+ { enif_make_atom(rt.env,"wxWebViewIE_EmulationLevel"), "wxWEBVIEWIE_EMU_IE10_FORCE", rt.make_int(wxWEBVIEWIE_EMU_IE10_FORCE) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewIE_EmulationLevel"), "wxWEBVIEWIE_EMU_IE10_FORCE", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW_IE && wxCHECK_VERSION(3,1,3)
+ { enif_make_atom(rt.env,"wxWebViewIE_EmulationLevel"), "wxWEBVIEWIE_EMU_IE11", rt.make_int(wxWEBVIEWIE_EMU_IE11) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewIE_EmulationLevel"), "wxWEBVIEWIE_EMU_IE11", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW_IE && wxCHECK_VERSION(3,1,3)
+ { enif_make_atom(rt.env,"wxWebViewIE_EmulationLevel"), "wxWEBVIEWIE_EMU_IE11_FORCE", rt.make_int(wxWEBVIEWIE_EMU_IE11_FORCE) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewIE_EmulationLevel"), "wxWEBVIEWIE_EMU_IE11_FORCE", WXE_ATOM_undefined },
+#endif
+// From "webview.h": wxWebViewNavigationActionFlags
+#if WXE_WEBVIEW && wxCHECK_VERSION(3,1,2)
+ { enif_make_atom(rt.env,"wxWebViewNavigationActionFlags"), "wxWEBVIEW_NAV_ACTION_NONE", rt.make_int(wxWEBVIEW_NAV_ACTION_NONE) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewNavigationActionFlags"), "wxWEBVIEW_NAV_ACTION_NONE", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW && wxCHECK_VERSION(3,1,2)
+ { enif_make_atom(rt.env,"wxWebViewNavigationActionFlags"), "wxWEBVIEW_NAV_ACTION_USER", rt.make_int(wxWEBVIEW_NAV_ACTION_USER) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewNavigationActionFlags"), "wxWEBVIEW_NAV_ACTION_USER", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW && wxCHECK_VERSION(3,1,2)
+ { enif_make_atom(rt.env,"wxWebViewNavigationActionFlags"), "wxWEBVIEW_NAV_ACTION_OTHER", rt.make_int(wxWEBVIEW_NAV_ACTION_OTHER) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewNavigationActionFlags"), "wxWEBVIEW_NAV_ACTION_OTHER", WXE_ATOM_undefined },
+#endif
+// From "webview.h": wxWebViewNavigationError
+#if WXE_WEBVIEW
+ { enif_make_atom(rt.env,"wxWebViewNavigationError"), "wxWEBVIEW_NAV_ERR_CONNECTION", rt.make_int(wxWEBVIEW_NAV_ERR_CONNECTION) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewNavigationError"), "wxWEBVIEW_NAV_ERR_CONNECTION", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW
+ { enif_make_atom(rt.env,"wxWebViewNavigationError"), "wxWEBVIEW_NAV_ERR_CERTIFICATE", rt.make_int(wxWEBVIEW_NAV_ERR_CERTIFICATE) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewNavigationError"), "wxWEBVIEW_NAV_ERR_CERTIFICATE", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW
+ { enif_make_atom(rt.env,"wxWebViewNavigationError"), "wxWEBVIEW_NAV_ERR_AUTH", rt.make_int(wxWEBVIEW_NAV_ERR_AUTH) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewNavigationError"), "wxWEBVIEW_NAV_ERR_AUTH", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW
+ { enif_make_atom(rt.env,"wxWebViewNavigationError"), "wxWEBVIEW_NAV_ERR_SECURITY", rt.make_int(wxWEBVIEW_NAV_ERR_SECURITY) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewNavigationError"), "wxWEBVIEW_NAV_ERR_SECURITY", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW
+ { enif_make_atom(rt.env,"wxWebViewNavigationError"), "wxWEBVIEW_NAV_ERR_NOT_FOUND", rt.make_int(wxWEBVIEW_NAV_ERR_NOT_FOUND) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewNavigationError"), "wxWEBVIEW_NAV_ERR_NOT_FOUND", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW
+ { enif_make_atom(rt.env,"wxWebViewNavigationError"), "wxWEBVIEW_NAV_ERR_REQUEST", rt.make_int(wxWEBVIEW_NAV_ERR_REQUEST) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewNavigationError"), "wxWEBVIEW_NAV_ERR_REQUEST", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW
+ { enif_make_atom(rt.env,"wxWebViewNavigationError"), "wxWEBVIEW_NAV_ERR_USER_CANCELLED", rt.make_int(wxWEBVIEW_NAV_ERR_USER_CANCELLED) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewNavigationError"), "wxWEBVIEW_NAV_ERR_USER_CANCELLED", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW
+ { enif_make_atom(rt.env,"wxWebViewNavigationError"), "wxWEBVIEW_NAV_ERR_OTHER", rt.make_int(wxWEBVIEW_NAV_ERR_OTHER) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewNavigationError"), "wxWEBVIEW_NAV_ERR_OTHER", WXE_ATOM_undefined },
+#endif
+// From "webview.h": wxWebViewReloadFlags
+#if WXE_WEBVIEW
+ { enif_make_atom(rt.env,"wxWebViewReloadFlags"), "wxWEBVIEW_RELOAD_DEFAULT", rt.make_int(wxWEBVIEW_RELOAD_DEFAULT) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewReloadFlags"), "wxWEBVIEW_RELOAD_DEFAULT", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW
+ { enif_make_atom(rt.env,"wxWebViewReloadFlags"), "wxWEBVIEW_RELOAD_NO_CACHE", rt.make_int(wxWEBVIEW_RELOAD_NO_CACHE) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewReloadFlags"), "wxWEBVIEW_RELOAD_NO_CACHE", WXE_ATOM_undefined },
+#endif
+// From "webview.h": wxWebViewZoom
+#if WXE_WEBVIEW
+ { enif_make_atom(rt.env,"wxWebViewZoom"), "wxWEBVIEW_ZOOM_TINY", rt.make_int(wxWEBVIEW_ZOOM_TINY) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewZoom"), "wxWEBVIEW_ZOOM_TINY", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW
+ { enif_make_atom(rt.env,"wxWebViewZoom"), "wxWEBVIEW_ZOOM_SMALL", rt.make_int(wxWEBVIEW_ZOOM_SMALL) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewZoom"), "wxWEBVIEW_ZOOM_SMALL", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW
+ { enif_make_atom(rt.env,"wxWebViewZoom"), "wxWEBVIEW_ZOOM_MEDIUM", rt.make_int(wxWEBVIEW_ZOOM_MEDIUM) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewZoom"), "wxWEBVIEW_ZOOM_MEDIUM", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW
+ { enif_make_atom(rt.env,"wxWebViewZoom"), "wxWEBVIEW_ZOOM_LARGE", rt.make_int(wxWEBVIEW_ZOOM_LARGE) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewZoom"), "wxWEBVIEW_ZOOM_LARGE", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW
+ { enif_make_atom(rt.env,"wxWebViewZoom"), "wxWEBVIEW_ZOOM_LARGEST", rt.make_int(wxWEBVIEW_ZOOM_LARGEST) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewZoom"), "wxWEBVIEW_ZOOM_LARGEST", WXE_ATOM_undefined },
+#endif
+// From "webview.h": wxWebViewZoomType
+#if WXE_WEBVIEW
+ { enif_make_atom(rt.env,"wxWebViewZoomType"), "wxWEBVIEW_ZOOM_TYPE_LAYOUT", rt.make_int(wxWEBVIEW_ZOOM_TYPE_LAYOUT) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewZoomType"), "wxWEBVIEW_ZOOM_TYPE_LAYOUT", WXE_ATOM_undefined },
+#endif
+#if WXE_WEBVIEW
+ { enif_make_atom(rt.env,"wxWebViewZoomType"), "wxWEBVIEW_ZOOM_TYPE_TEXT", rt.make_int(wxWEBVIEW_ZOOM_TYPE_TEXT) },
+#else
+ { enif_make_atom(rt.env,"wxWebViewZoomType"), "wxWEBVIEW_ZOOM_TYPE_TEXT", WXE_ATOM_undefined },
+#endif
// From "window.h": wxWindowVariant
{ enif_make_atom(rt.env,"wxWindowVariant"), "wxWINDOW_VARIANT_NORMAL", rt.make_int(wxWINDOW_VARIANT_NORMAL) },
{ enif_make_atom(rt.env,"wxWindowVariant"), "wxWINDOW_VARIANT_SMALL", rt.make_int(wxWINDOW_VARIANT_SMALL) },
diff --git a/lib/wx/c_src/gen/wxe_macros.h b/lib/wx/c_src/gen/wxe_macros.h
index d1d36ec571..063590150c 100644
--- a/lib/wx/c_src/gen/wxe_macros.h
+++ b/lib/wx/c_src/gen/wxe_macros.h
@@ -68,6 +68,10 @@
#include <wx/sysopt.h>
#include <wx/overlay.h>
#include <wx/notifmsg.h>
+#include <wx/webview.h>
+#if wxUSE_WEBVIEW && wxUSE_WEBVIEW_IE
+#include <wx/msw/webview_ie.h>
+#endif
#ifndef wxICON_DEFAULT_BITMAP_TYPE
diff --git a/lib/wx/c_src/gen/wxe_wrapper_8.cpp b/lib/wx/c_src/gen/wxe_wrapper_8.cpp
index f6cf176c79..8691d35636 100644
--- a/lib/wx/c_src/gen/wxe_wrapper_8.cpp
+++ b/lib/wx/c_src/gen/wxe_wrapper_8.cpp
@@ -28,6 +28,830 @@
#include "wxe_macros.h"
#include "wxe_derived_dest.h"
+#if WXE_WEBVIEW
+// wxWebView::New
+void wxWebView_New(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ wxString url= wxWebViewDefaultURLStr;
+ wxPoint pos= wxDefaultPosition;
+ wxSize size= wxDefaultSize;
+ wxString backend= wxWebViewBackendDefault;
+ long style=0;
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWindow *parent;
+ parent = (wxWindow *) memenv->getPtr(env, argv[0], "parent");
+ int id;
+ if(!enif_get_int(env, argv[1], &id)) Badarg("id"); // wxWindowID
+ ERL_NIF_TERM lstHead, lstTail;
+ lstTail = argv[2];
+ if(!enif_is_list(env, lstTail)) Badarg("Options");
+ const ERL_NIF_TERM *tpl;
+ int tpl_sz;
+ while(!enif_is_empty_list(env, lstTail)) {
+ if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
+ if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
+ if(enif_is_identical(tpl[0], enif_make_atom(env, "url"))) {
+ ErlNifBinary url_bin;
+ if(!enif_inspect_binary(env, tpl[1], &url_bin)) Badarg("url");
+ url = wxString(url_bin.data, wxConvUTF8, url_bin.size);
+ } else if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
+ const ERL_NIF_TERM *pos_t;
+ int pos_sz;
+ if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
+ int posX;
+ if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
+ int posY;
+ if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
+ pos = wxPoint(posX,posY);
+ } else if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
+ const ERL_NIF_TERM *size_t;
+ int size_sz;
+ if(!enif_get_tuple(env, tpl[1], &size_sz, &size_t)) Badarg("size");
+ int sizeW;
+ if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
+ int sizeH;
+ if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
+ size = wxSize(sizeW,sizeH);
+ } else if(enif_is_identical(tpl[0], enif_make_atom(env, "backend"))) {
+ ErlNifBinary backend_bin;
+ if(!enif_inspect_binary(env, tpl[1], &backend_bin)) Badarg("backend");
+ backend = wxString(backend_bin.data, wxConvUTF8, backend_bin.size);
+ } else if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
+ if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
+ } else Badarg("Options");
+ };
+ wxWebView * Result = (wxWebView*)wxWebView::New(parent,id,url,pos,size,backend,style);
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxWebView"));
+
+}
+
+// wxWebView::GetCurrentTitle
+void wxWebView_GetCurrentTitle(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ wxString Result = This->GetCurrentTitle();
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make(Result));
+
+}
+
+// wxWebView::GetCurrentURL
+void wxWebView_GetCurrentURL(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ wxString Result = This->GetCurrentURL();
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make(Result));
+
+}
+
+// wxWebView::GetPageSource
+void wxWebView_GetPageSource(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ wxString Result = This->GetPageSource();
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make(Result));
+
+}
+
+// wxWebView::GetPageText
+void wxWebView_GetPageText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ wxString Result = This->GetPageText();
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make(Result));
+
+}
+
+// wxWebView::IsBusy
+void wxWebView_IsBusy(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ bool Result = This->IsBusy();
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make_bool(Result));
+
+}
+
+// wxWebView::IsEditable
+void wxWebView_IsEditable(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ bool Result = This->IsEditable();
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make_bool(Result));
+
+}
+
+// wxWebView::LoadURL
+void wxWebView_LoadURL(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ ErlNifBinary url_bin;
+ wxString url;
+ if(!enif_inspect_binary(env, argv[1], &url_bin)) Badarg("url");
+ url = wxString(url_bin.data, wxConvUTF8, url_bin.size);
+ if(!This) throw wxe_badarg("This");
+ This->LoadURL(url);
+
+}
+
+// wxWebView::Print
+void wxWebView_Print(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ This->Print();
+
+}
+
+// wxWebView::Reload
+void wxWebView_Reload(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ wxWebViewReloadFlags flags=wxWEBVIEW_RELOAD_DEFAULT;
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ ERL_NIF_TERM lstHead, lstTail;
+ lstTail = argv[1];
+ if(!enif_is_list(env, lstTail)) Badarg("Options");
+ const ERL_NIF_TERM *tpl;
+ int tpl_sz;
+ while(!enif_is_empty_list(env, lstTail)) {
+ if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
+ if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
+ if(enif_is_identical(tpl[0], enif_make_atom(env, "flags"))) {
+ if(!enif_get_int(env, tpl[1], (int *) &flags)) Badarg("flags"); // enum
+ } else Badarg("Options");
+ };
+ if(!This) throw wxe_badarg("This");
+ This->Reload(flags);
+
+}
+
+#if wxCHECK_VERSION(3,1,1)
+// wxWebView::RunScript
+void wxWebView_RunScript(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ wxString output;
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ ErlNifBinary javascript_bin;
+ wxString javascript;
+ if(!enif_inspect_binary(env, argv[1], &javascript_bin)) Badarg("javascript");
+ javascript = wxString(javascript_bin.data, wxConvUTF8, javascript_bin.size);
+ if(!This) throw wxe_badarg("This");
+ bool Result = This->RunScript(javascript,&output);
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ ERL_NIF_TERM msg = enif_make_tuple2(rt.env,
+ rt.make_bool(Result),
+ rt.make(output));
+ rt.send(msg);
+
+}
+
+#endif
+// wxWebView::SetEditable
+void wxWebView_SetEditable(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ bool enable=true;
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ ERL_NIF_TERM lstHead, lstTail;
+ lstTail = argv[1];
+ if(!enif_is_list(env, lstTail)) Badarg("Options");
+ const ERL_NIF_TERM *tpl;
+ int tpl_sz;
+ while(!enif_is_empty_list(env, lstTail)) {
+ if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
+ if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
+ if(enif_is_identical(tpl[0], enif_make_atom(env, "enable"))) {
+ enable = enif_is_identical(tpl[1], WXE_ATOM_true);
+ } else Badarg("Options");
+ };
+ if(!This) throw wxe_badarg("This");
+ This->SetEditable(enable);
+
+}
+
+// wxWebView::SetPage
+void wxWebView_SetPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ ErlNifBinary html_bin;
+ wxString html;
+ if(!enif_inspect_binary(env, argv[1], &html_bin)) Badarg("html");
+ html = wxString(html_bin.data, wxConvUTF8, html_bin.size);
+ ErlNifBinary baseUrl_bin;
+ wxString baseUrl;
+ if(!enif_inspect_binary(env, argv[2], &baseUrl_bin)) Badarg("baseUrl");
+ baseUrl = wxString(baseUrl_bin.data, wxConvUTF8, baseUrl_bin.size);
+ if(!This) throw wxe_badarg("This");
+ This->SetPage(html,baseUrl);
+
+}
+
+// wxWebView::Stop
+void wxWebView_Stop(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ This->Stop();
+
+}
+
+// wxWebView::CanCopy
+void wxWebView_CanCopy(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ bool Result = This->CanCopy();
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make_bool(Result));
+
+}
+
+// wxWebView::CanCut
+void wxWebView_CanCut(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ bool Result = This->CanCut();
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make_bool(Result));
+
+}
+
+// wxWebView::CanPaste
+void wxWebView_CanPaste(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ bool Result = This->CanPaste();
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make_bool(Result));
+
+}
+
+// wxWebView::Copy
+void wxWebView_Copy(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ This->Copy();
+
+}
+
+// wxWebView::Cut
+void wxWebView_Cut(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ This->Cut();
+
+}
+
+// wxWebView::Paste
+void wxWebView_Paste(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ This->Paste();
+
+}
+
+// wxWebView::EnableContextMenu
+void wxWebView_EnableContextMenu(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ bool enable=true;
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ ERL_NIF_TERM lstHead, lstTail;
+ lstTail = argv[1];
+ if(!enif_is_list(env, lstTail)) Badarg("Options");
+ const ERL_NIF_TERM *tpl;
+ int tpl_sz;
+ while(!enif_is_empty_list(env, lstTail)) {
+ if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
+ if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
+ if(enif_is_identical(tpl[0], enif_make_atom(env, "enable"))) {
+ enable = enif_is_identical(tpl[1], WXE_ATOM_true);
+ } else Badarg("Options");
+ };
+ if(!This) throw wxe_badarg("This");
+ This->EnableContextMenu(enable);
+
+}
+
+// wxWebView::IsContextMenuEnabled
+void wxWebView_IsContextMenuEnabled(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ bool Result = This->IsContextMenuEnabled();
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make_bool(Result));
+
+}
+
+// wxWebView::CanGoBack
+void wxWebView_CanGoBack(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ bool Result = This->CanGoBack();
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make_bool(Result));
+
+}
+
+// wxWebView::CanGoForward
+void wxWebView_CanGoForward(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ bool Result = This->CanGoForward();
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make_bool(Result));
+
+}
+
+// wxWebView::ClearHistory
+void wxWebView_ClearHistory(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ This->ClearHistory();
+
+}
+
+// wxWebView::EnableHistory
+void wxWebView_EnableHistory(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ bool enable=true;
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ ERL_NIF_TERM lstHead, lstTail;
+ lstTail = argv[1];
+ if(!enif_is_list(env, lstTail)) Badarg("Options");
+ const ERL_NIF_TERM *tpl;
+ int tpl_sz;
+ while(!enif_is_empty_list(env, lstTail)) {
+ if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
+ if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
+ if(enif_is_identical(tpl[0], enif_make_atom(env, "enable"))) {
+ enable = enif_is_identical(tpl[1], WXE_ATOM_true);
+ } else Badarg("Options");
+ };
+ if(!This) throw wxe_badarg("This");
+ This->EnableHistory(enable);
+
+}
+
+// wxWebView::GoBack
+void wxWebView_GoBack(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ This->GoBack();
+
+}
+
+// wxWebView::GoForward
+void wxWebView_GoForward(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ This->GoForward();
+
+}
+
+// wxWebView::ClearSelection
+void wxWebView_ClearSelection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ This->ClearSelection();
+
+}
+
+// wxWebView::DeleteSelection
+void wxWebView_DeleteSelection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ This->DeleteSelection();
+
+}
+
+// wxWebView::GetSelectedSource
+void wxWebView_GetSelectedSource(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ wxString Result = This->GetSelectedSource();
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make(Result));
+
+}
+
+// wxWebView::GetSelectedText
+void wxWebView_GetSelectedText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ wxString Result = This->GetSelectedText();
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make(Result));
+
+}
+
+// wxWebView::HasSelection
+void wxWebView_HasSelection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ bool Result = This->HasSelection();
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make_bool(Result));
+
+}
+
+// wxWebView::SelectAll
+void wxWebView_SelectAll(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ This->SelectAll();
+
+}
+
+// wxWebView::CanRedo
+void wxWebView_CanRedo(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ bool Result = This->CanRedo();
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make_bool(Result));
+
+}
+
+// wxWebView::CanUndo
+void wxWebView_CanUndo(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ bool Result = This->CanUndo();
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make_bool(Result));
+
+}
+
+// wxWebView::Redo
+void wxWebView_Redo(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ This->Redo();
+
+}
+
+// wxWebView::Undo
+void wxWebView_Undo(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ This->Undo();
+
+}
+
+// wxWebView::Find
+void wxWebView_Find(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ wxWebViewFindFlags flags=wxWEBVIEW_FIND_DEFAULT;
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ ErlNifBinary text_bin;
+ wxString text;
+ if(!enif_inspect_binary(env, argv[1], &text_bin)) Badarg("text");
+ text = wxString(text_bin.data, wxConvUTF8, text_bin.size);
+ ERL_NIF_TERM lstHead, lstTail;
+ lstTail = argv[2];
+ if(!enif_is_list(env, lstTail)) Badarg("Options");
+ const ERL_NIF_TERM *tpl;
+ int tpl_sz;
+ while(!enif_is_empty_list(env, lstTail)) {
+ if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
+ if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
+ if(enif_is_identical(tpl[0], enif_make_atom(env, "flags"))) {
+ if(!enif_get_int(env, tpl[1], (int *) &flags)) Badarg("flags"); // enum
+ } else Badarg("Options");
+ };
+ if(!This) throw wxe_badarg("This");
+ long Result = This->Find(text,flags);
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make_int(Result));
+
+}
+
+// wxWebView::CanSetZoomType
+void wxWebView_CanSetZoomType(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ wxWebViewZoomType type;
+ if(!enif_get_int(env, argv[1], (int *) &type)) Badarg("type"); // enum
+ if(!This) throw wxe_badarg("This");
+ bool Result = This->CanSetZoomType(type);
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make_bool(Result));
+
+}
+
+// wxWebView::GetZoom
+void wxWebView_GetZoom(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ int Result = This->GetZoom();
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make_int(Result));
+
+}
+
+// wxWebView::GetZoomType
+void wxWebView_GetZoomType(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ int Result = This->GetZoomType();
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make_int(Result));
+
+}
+
+// wxWebView::SetZoom
+void wxWebView_SetZoom(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ wxWebViewZoom zoom;
+ if(!enif_get_int(env, argv[1], (int *) &zoom)) Badarg("zoom"); // enum
+ if(!This) throw wxe_badarg("This");
+ This->SetZoom(zoom);
+
+}
+
+// wxWebView::SetZoomType
+void wxWebView_SetZoomType(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ wxWebViewZoomType zoomType;
+ if(!enif_get_int(env, argv[1], (int *) &zoomType)) Badarg("zoomType"); // enum
+ if(!This) throw wxe_badarg("This");
+ This->SetZoomType(zoomType);
+
+}
+
+#if wxCHECK_VERSION(3,1,4)
+// wxWebView::GetZoomFactor
+void wxWebView_GetZoomFactor(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ float Result = This->GetZoomFactor();
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make_double(Result));
+
+}
+
+#endif
+#if wxCHECK_VERSION(3,1,4)
+// wxWebView::SetZoomFactor
+void wxWebView_SetZoomFactor(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebView *This;
+ This = (wxWebView *) memenv->getPtr(env, argv[0], "This");
+ float zoom;
+ if(!wxe_get_float(env, argv[1], &zoom)) Badarg("zoom");
+ if(!This) throw wxe_badarg("This");
+ This->SetZoomFactor(zoom);
+
+}
+
+#endif
+#if wxCHECK_VERSION(3,1,4)
+// wxWebView::IsBackendAvailable
+void wxWebView_IsBackendAvailable(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ ErlNifBinary backend_bin;
+ wxString backend;
+ if(!enif_inspect_binary(env, argv[0], &backend_bin)) Badarg("backend");
+ backend = wxString(backend_bin.data, wxConvUTF8, backend_bin.size);
+ bool Result = wxWebView::IsBackendAvailable(backend);
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make_bool(Result));
+
+}
+
+#endif
+#endif // "WXE_WEBVIEW"
+#if WXE_WEBVIEW
+// wxWebViewEvent::GetString
+void wxWebViewEvent_GetString(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebViewEvent *This;
+ This = (wxWebViewEvent *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ wxString Result = This->GetString();
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make(Result));
+
+}
+
+// wxWebViewEvent::GetInt
+void wxWebViewEvent_GetInt(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebViewEvent *This;
+ This = (wxWebViewEvent *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ int Result = This->GetInt();
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make_int(Result));
+
+}
+
+// wxWebViewEvent::GetTarget
+void wxWebViewEvent_GetTarget(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebViewEvent *This;
+ This = (wxWebViewEvent *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ const wxString Result = This->GetTarget();
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make(Result));
+
+}
+
+// wxWebViewEvent::GetURL
+void wxWebViewEvent_GetURL(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
+{
+ ErlNifEnv *env = Ecmd.env;
+ ERL_NIF_TERM * argv = Ecmd.args;
+ wxWebViewEvent *This;
+ This = (wxWebViewEvent *) memenv->getPtr(env, argv[0], "This");
+ if(!This) throw wxe_badarg("This");
+ const wxString Result = This->GetURL();
+ wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
+ rt.send( rt.make(Result));
+
+}
+
+#endif // "WXE_WEBVIEW"
// wxWindow::wxWindow
void wxWindow_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
{
diff --git a/lib/wx/configure.in b/lib/wx/configure.in
index 4b6e95b9e9..8194ec37d0 100644
--- a/lib/wx/configure.in
+++ b/lib/wx/configure.in
@@ -29,6 +29,17 @@ if test -f ./CONF_INFO; then
rm ./CONF_INFO
fi
+AC_DEFUN([WX_MSG_ERROR],
+[ echo "$1" >> ./CONF_INFO
+ WXERL_CAN_BUILD_DRIVER=false
+ if test X"$with_wx" = X"yes" ; then
+ AC_MSG_ERROR([$1])
+ else
+ AC_MSG_WARN([$1])
+ fi
+])
+
+
if test -z "$ERL_TOP" || test ! -d $ERL_TOP ; then
AC_MSG_ERROR([ERL_TOP is not set])
else
@@ -37,6 +48,11 @@ else
WX_BUILDING_INSIDE_ERLSRC=true
fi
+AC_ARG_WITH(wx,
+[ --with-wxdir=PATH specify location of wxWidgets include and lib
+ --with-wx use wxWidgets (default)
+ --without-wx don't use wxWidgets])
+
if test "X$host" != "Xfree_source" -a "X$host" != "Xwin32"; then
AC_CANONICAL_HOST
else
@@ -69,9 +85,7 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
[CXX=;])
AC_LANG_POP([C++])
if test "X$CXX" = X ; then
- echo "Can not find C++ compiler" >> ./CONF_INFO
- WXERL_CAN_BUILD_DRIVER=false
- AC_MSG_WARN([Can not find C++ compiler])
+ WX_MSG_ERROR([Can not find C++ compiler])
fi
WXERL_CAN_BUILD_DRIVER=false
@@ -147,10 +161,7 @@ case $host_os in
if test X$APPLE_CC = X -o X$APPLE_CXX = X; then
AC_MSG_RESULT([no])
dnl Complete failure, we cannot build Cocoa code
- echo "Can not find compiler to compile Cocoa applications" >> ./CONF_INFO
- WXERL_CAN_BUILD_DRIVER=false
- AC_MSG_WARN([Can not find compiler to compile Cocoa applications])
- WXERL_CAN_BUILD_DRIVER=false
+ WX_MSG_ERROR([Can not find compiler to compile Cocoa applications])
else
dnl We think we found an Apple compiler and will add
dnl Apple specific options
@@ -265,9 +276,7 @@ if test X"$host_os" != X"win32" ; then
$as_unset ac_cv_header_GL_gl_h
AC_CHECK_HEADERS([GL/gl.h])
if test X"$ac_cv_header_GL_gl_h" != Xyes ; then
- AC_MSG_WARN([No OpenGL headers found, wx will NOT be usable])
- echo "No OpenGL headers found, wx will NOT be usable" >> ./CONF_INFO
- WXERL_CAN_BUILD_DRIVER=false
+ WX_MSG_ERROR([No OpenGL headers found, wx will NOT be usable])
CPPFLAGS="$saved_CPPFLAGS"
else
GL_LIBS="-L/usr/local/lib $GL_LIBS"
@@ -286,9 +295,7 @@ if test X"$host_os" != X"win32" ; then
if test X"$ac_cv_header_GL_glu_h" != Xyes &&
test X"$ac_cv_header_OpenGL_glu_h" != Xyes
then
- AC_MSG_WARN([No GLU headers found, wx will NOT be usable])
- echo "No GLU headers (glu.h) found, wx will NOT be usable" >> ./CONF_INFO
- WXERL_CAN_BUILD_DRIVER=false
+ WX_MSG_ERROR([No GLU headers found, wx will NOT be usable])
fi
else
AC_CHECK_HEADERS([gl/glu.h],[],[],[#include <windows.h>])
@@ -318,25 +325,44 @@ dnl
dnl Check for wxwidgets
dnl
if test "$cross_compiling" = "yes"; then
- echo "Cross compilation of the wx driver is not supported yet, wx will NOT be usable" >> ./CONF_INFO
- WXERL_CAN_BUILD_DRIVER=false
+ WX_MSG_ERROR([Cross compilation of the wx driver is not supported yet, wx will NOT be usable])
elif test X"$MIXED_VC" = X"no"; then
- WX_VERSION=`wx-config --version`
- case $WX_VERSION in
- 2.8.*)
- m4_include(wxwin-2.8.m4)
- ;;
- *)
- m4_include(wxwin-2.9.m4)
- ;;
- esac
+ m4_include(wxwin-nothrow.m4)
AM_OPTIONS_WXCONFIG
reqwx=3.0.2
- # Try to find debug libs first
- # wxelibs=core,base,gl,aui,adv
+ AM_PATH_WXCONFIG($reqwx, [], [], [core,base,html,webview], [--unicode])
+ AC_MSG_CHECKING(for wxwidgets webview)
+ AC_LANG_PUSH(C++)
+ saved_CXXFLAGS=$CXXFLAGS
+ CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS"
+ saved_LIBS=$LIBS
+ LIBS=$WX_LIBS
+
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([[
+ #include "wx/wx.h"
+ #include "wx/webview.h"
+ ]], [[
+ wxWebView::New();
+ ]])],
+ HAVE_WEBVIEW_SUPPORT=yes, HAVE_WEBVIEW_SUPPORT=no)
+
+ CXXFLAGS=$saved_CXXFLAGS
+ LIBS=$saved_LIBS
+ AC_LANG_POP(C++)
+ AC_MSG_RESULT($HAVE_WEBVIEW_SUPPORT)
+
+ if test X"$HAVE_WEBVIEW_SUPPORT" != X"yes" ; then
+ WXELIBS=stc,xrc,html,adv,xml,core,base,gl,aui
+ echo "wxWidgets was not compiled with --enable-webview or wxWebView developer package is not installed, wxWebView will NOT be available" >> ./CONF_INFO
+ else
+ WXELIBS=stc,xrc,html,adv,xml,core,base,gl,aui,webview
+ AC_DEFINE([WXE_WEBVIEW])
+ fi
- AM_PATH_WXCONFIG($reqwx, wxWinWithGLDBG=1, wxWinWithGLDBG=0, [stc,xrc,html,adv,xml,core,base,gl,aui], [--unicode --debug=yes])
+ # Try to find debug libs first
+ AM_PATH_WXCONFIG($reqwx, wxWinWithGLDBG=1, wxWinWithGLDBG=0, [$WXELIBS], [--unicode --debug=yes])
AC_MSG_CHECKING(for debug build of wxWidgets)
if test "$wxWinWithGLDBG" = 1; then
@@ -354,7 +380,7 @@ elif test X"$MIXED_VC" = X"no"; then
AC_SUBST(DEBUG_WX_LIBS)
AC_SUBST(DEBUG_WX_LIBS_STATIC)
- AM_PATH_WXCONFIG($reqwx, wxWinWithGL=1, wxWinWithGL=0, [stc,xrc,html,adv,xml,core,base,gl,aui], [--unicode --debug=no])
+ AM_PATH_WXCONFIG($reqwx, wxWinWithGL=1, wxWinWithGL=0, [$WXELIBS], [--unicode --debug=no])
AC_MSG_CHECKING(for standard build of wxWidgets)
if test "$wxWinWithGL" = 1; then
@@ -389,19 +415,16 @@ elif test X"$MIXED_VC" = X"no"; then
fi
AC_SUBST(FORCED_DEBUG_BUILD)
RC_FILE_TYPE=o
-define(wx_warn_text,[
- wxWidgets must be installed on your system.
-
- Please check that wx-config is in path, the directory
- where wxWidgets libraries are installed (returned by
- 'wx-config --libs' or 'wx-config --static --libs' command)
- is in LD_LIBRARY_PATH or equivalent variable and
- wxWidgets version is $reqwx or above.])
if test "$wxWin" != 1; then
- echo "wxWidgets not found, wx will NOT be usable" >> ./CONF_INFO
- WXERL_CAN_BUILD_DRIVER=false
- AC_MSG_WARN([wx_warn_text])
+ WX_MSG_ERROR([
+ wxWidgets must be installed on your system.
+
+ Please check that wx-config is in path, the directory
+ where wxWidgets libraries are installed (returned by
+ 'wx-config --libs' or 'wx-config --static --libs' command)
+ is in LD_LIBRARY_PATH or equivalent variable and
+ wxWidgets version is $reqwx or above.])
fi
else
AC_MSG_CHECKING(for wxWidgets in standard locations)
@@ -493,15 +516,14 @@ else
if test -z "$WX_LIBS_STATIC"; then
AC_MSG_RESULT([failed])
- echo "No usable wxWidgets not found, wx will not be useable" >> ./CONF_INFO
- WXERL_CAN_BUILD_DRIVER=false
- AC_MSG_WARN([Cannot find core lib version for wxWidgets])
+ WX_MSG_ERROR([Cannot find core lib version for wxWidgets])
fi
WX_HAVE_STATIC_LIBS=true
AC_SUBST(WX_CFLAGS)
AC_SUBST(WX_CXXFLAGS)
AC_SUBST(WX_LIBS_STATIC)
AC_SUBST(WX_RESCOMP)
+ AC_DEFINE([WXE_WEBVIEW])
fi
if test "$WXERL_CAN_BUILD_DRIVER" != "false"; then
@@ -534,8 +556,7 @@ AC_LANG_POP(C++)
AC_MSG_RESULT($HAVE_COMPAT30_SUPPORT)
if test X"$HAVE_COMPAT30_SUPPORT" != X"yes" ; then
- echo "wxWidgets was not compiled with --enable-compat30, wx will NOT be useable" >> ./CONF_INFO
- WXERL_CAN_BUILD_DRIVER=false
+ WX_MSG_ERROR([wxWidgets was not compiled with --enable-compat30, wx will NOT be useable])
fi
AC_MSG_CHECKING(for wxwidgets opengl support)
@@ -566,8 +587,7 @@ AC_MSG_RESULT($HAVE_GL_SUPPORT)
AC_SUBST(HAVE_GL_SUPPORT)
if test X"$HAVE_GL_SUPPORT" != X"yes" ; then
- echo "wxWidgets don't have gl support, wx will NOT be useable" >> ./CONF_INFO
- WXERL_CAN_BUILD_DRIVER=false
+ WX_MSG_ERROR([wxWidgets don't have gl support, wx will NOT be useable])
fi
dnl Check for GLintptr
@@ -623,9 +643,7 @@ dnl
AC_CHECK_HEADERS([wx/stc/stc.h],
[],
- [WXERL_CAN_BUILD_DRIVER=false
- echo "wxWidgets don't have wxStyledTextControl (stc.h), wx will NOT be useable" >> ./CONF_INFO
- AC_MSG_WARN([Can not find wx/stc/stc.h $CXXFLAGS])
+ [WX_MSG_ERROR([Can not find wx/stc/stc.h $CXXFLAGS])
],
[#ifdef WIN32
# include <windows.h>
@@ -676,9 +694,7 @@ AC_LANG_POP(C++)
AC_MSG_RESULT($CAN_LINK_WX)
if test X"$CAN_LINK_WX" != X"yes" ; then
- echo "Can not link the wx driver, wx will NOT be useable" >> ./CONF_INFO
- WXERL_CAN_BUILD_DRIVER=false
- AC_MSG_WARN([Can not link wx program are all developer packages installed?])
+ WX_MSG_ERROR([Can not link wx program are all developer packages installed?])
fi
fi dnl - if test "$WXERL_CAN_BUILD_DRIVER" != "false"
diff --git a/lib/wx/doc/src/wxHtmlWindow.xml b/lib/wx/doc/src/wxHtmlWindow.xml
index ee95748eda..ce8fb9b098 100644
--- a/lib/wx/doc/src/wxHtmlWindow.xml
+++ b/lib/wx/doc/src/wxHtmlWindow.xml
@@ -29,7 +29,7 @@
<modulesummary>Functions for wxHtmlWindow class</modulesummary>
<description><p><seeerl marker="wxHtmlWindow"><c>wxHtmlWindow</c></seeerl> is probably the only class you will directly use unless you want to do something special (like adding new tag handlers or MIME filters).
</p><p>The purpose of this class is to display rich content pages (either local file or downloaded via HTTP protocol) in a window based on a subset of the HTML standard. The width of the window is constant, given in the constructor and virtual height is changed dynamically depending on page size. Once the window is created you can set its content by calling <seemfa marker="#setPage/2"><c>setPage/2</c></seemfa> with raw HTML, <seemfa marker="#loadPage/2"><c>loadPage/2</c></seemfa> with a <c>wxFileSystem</c> (not implemented in wx) location or <seemfa marker="#loadFile/2"><c>loadFile/2</c></seemfa> with a filename.
- </p><p>Note: If you want complete HTML/CSS support as well as a Javascript engine, consider using <c>wxWebView</c> (not implemented in wx) instead.
+ </p><p>Note: If you want complete HTML/CSS support as well as a Javascript engine, consider using <seeerl marker="wxWebView"><c>wxWebView</c></seeerl> instead.
</p><p><seeerl marker="wxHtmlWindow"><c>wxHtmlWindow</c></seeerl> uses the <seeerl marker="wxImage"><c>wxImage</c></seeerl> class for displaying images, so you need to initialize the handlers for any image formats you use before loading a page. See ?wxInitAllImageHandlers and <c>wxImage::AddHandler</c> (not implemented in wx).
</p><p>Styles</p><p>This class supports the following styles:
</p><p>See: <seeerl marker="wxHtmlLinkEvent"><c>wxHtmlLinkEvent</c></seeerl>, <c>wxHtmlCellEvent</c> (not implemented in wx)
diff --git a/lib/wx/doc/src/wxWebView.xml b/lib/wx/doc/src/wxWebView.xml
new file mode 100644
index 0000000000..5e10a70345
--- /dev/null
+++ b/lib/wx/doc/src/wxWebView.xml
@@ -0,0 +1,450 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE erlref SYSTEM "erlref.dtd">
+
+<!-- THIS FILE IS GENERATED DO NOT EDIT -->
+
+
+<erlref>
+<header>
+ <copyright>
+ <year>2020</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder></copyright>
+ <legalnotice>
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ </legalnotice>
+ <title>wxWebView</title>
+</header>
+<module>wxWebView</module>
+<modulesummary>Functions for wxWebView class</modulesummary>
+<description><p>This control may be used to render web (HTML / CSS / javascript) documents. It is designed to allow the creation of multiple backends for each port, although currently just one is available. It differs from <seeerl marker="wxHtmlWindow"><c>wxHtmlWindow</c></seeerl> in that each backend is actually a full rendering engine, Trident on MSW and Webkit on macOS and GTK. This allows the correct viewing of complex pages with javascript and css.
+ </p><p>Backend Descriptions</p> <p>Par: The IE backend uses Microsoft's Trident rendering engine, specifically the version used by the locally installed copy of Internet Explorer. As such it is only available for the MSW port. By default recent versions of the <url href="http://msdn.microsoft.com/en-us/library/aa752085%28v=VS.85%29.aspx">WebBrowser</url> control, which this backend uses, emulate Internet Explorer 7. This can be changed with a registry setting by wxWebView::MSWSetEmulationLevel() see <url href="http://msdn.microsoft.com/en-us/library/ee330730%28v=vs.85%29.aspx#browser_emulation">this</url> article for more information. This backend has full support for custom schemes and virtual file systems.
+ </p><p>Par: The Edge (Chromium) backend uses Microsoft's <url href="https://docs.microsoft.com/en-us/microsoft-edge/hosting/webview2">Edge WebView2</url>. It is available for Windows 7 and newer. The following features are currently unsupported with this backend: virtual filesystems, custom urls, find.
+ </p><p> This backend is not enabled by default, to build it follow these steps:
+ </p><p>Par: Under GTK the WebKit backend uses <url href="http://webkitgtk.org/">WebKitGTK+</url>. The current minimum version required is 1.3.1 which ships by default with Ubuntu Natty and Debian Wheezy and has the package name libwebkitgtk-dev. Custom schemes and virtual files systems are supported under this backend, however embedded resources such as images and stylesheets are currently loaded using the data:// scheme.
+ </p><p>Par: Under GTK3 the WebKit2 version of <url href="http://webkitgtk.org/">WebKitGTK+</url> is used. In Ubuntu the required package name is libwebkit2gtk-4.0-dev and under Fedora it is webkitgtk4-devel. All wxWEBVIEW_WEBKIT features are supported except for clearing and enabling / disabling the history.
+ </p><p>Par: The macOS WebKit backend uses Apple's <url href="http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/WebKit/Classes/WebView_Class/Reference/Reference.html#//apple_ref/doc/uid/20001903">WebView</url> class. This backend has full support for custom schemes and virtual file systems.
+ </p><p>Asynchronous Notifications</p> <p>Many of the methods in <seeerl marker="wxWebView"><c>wxWebView</c></seeerl> are asynchronous, i.e. they return immediately and perform their work in the background. This includes functions such as <seemfa marker="#loadURL/2"><c>loadURL/2</c></seemfa> and <seemfa marker="#reload/2"><c>reload/2</c></seemfa>. To receive notification of the progress and completion of these functions you need to handle the events that are provided. Specifically <c>wxEVT_WEBVIEW_LOADED</c> notifies when the page or a sub-frame has finished loading and <c>wxEVT_WEBVIEW_ERROR</c> notifies that an error has occurred.
+ </p><p>Virtual File Systems and Custom Schemes</p> <p><seeerl marker="wxWebView"><c>wxWebView</c></seeerl> supports the registering of custom scheme handlers, for example <c>file</c> or <c>http</c>. To do this create a new class which inherits from <c>wxWebViewHandler</c> (not implemented in wx), where wxWebHandler::GetFile() returns a pointer to a <c>wxFSFile</c> (not implemented in wx) which represents the given url. You can then register your handler with <c>RegisterHandler()</c> (not implemented in wx) it will be called for all pages and resources.
+ </p> <p><c>wxWebViewFSHandler</c> (not implemented in wx) is provided to access the virtual file system encapsulated by <c>wxFileSystem</c> (not implemented in wx). The <c>wxMemoryFSHandler</c> (not implemented in wx) documentation gives an example of how this may be used.
+ </p> <p><c>wxWebViewArchiveHandler</c> (not implemented in wx) is provided to allow the navigation of pages inside a zip archive. It supports paths of the form: <c>scheme:///C</c>:/example/docs.zip;protocol=zip/main.htm
+ </p> <p>Since: 2.9.3
+ </p><p>See: <c>wxWebViewHandler</c> (not implemented in wx), <seeerl marker="wxWebViewEvent"><c>wxWebViewEvent</c></seeerl>
+ </p>
+ <p>This class is derived (and can use functions) from:
+ <seeerl marker="wxControl"><c>wxControl</c></seeerl> <seeerl marker="wxWindow"><c>wxWindow</c></seeerl> <seeerl marker="wxEvtHandler"><c>wxEvtHandler</c></seeerl></p>
+
+ <p>wxWidgets docs: <url href="https://docs.wxwidgets.org/3.1/classwx_web_view.html">wxWebView</url></p>
+ </description><section><title>Events</title><p>Event types emitted from this class: <seeerl marker="wxWebViewEvent"><c>webview_navigating</c></seeerl>, <seeerl marker="wxWebViewEvent"><c>webview_navigated</c></seeerl>, <seeerl marker="wxWebViewEvent"><c>webview_loaded</c></seeerl>, <seeerl marker="wxWebViewEvent"><c>webview_error</c></seeerl>, <seeerl marker="wxWebViewEvent"><c>webview_newwindow</c></seeerl>, <seeerl marker="wxWebViewEvent"><c>webview_title_changed</c></seeerl></p></section>
+<datatypes><datatype><name name="wxWebView"/></datatype></datatypes>
+
+<funcs>
+ <func>
+ <name name="new" arity="2" clause_i="1" since=""/>
+ <fsummary>See: <c>new/3</c></fsummary>
+ </func>
+
+ <func>
+ <name name="new" arity="3" clause_i="1" since=""/>
+ <fsummary>Factory function to create a new <c>wxWebView</c> using a <c>wxWebViewFactory</c> (not implemented in wx). </fsummary>
+ <desc><p>Factory function to create a new <seeerl marker="wxWebView"><c>wxWebView</c></seeerl> using a <c>wxWebViewFactory</c> (not implemented in wx).
+ </p><p>Return: The created <seeerl marker="wxWebView"><c>wxWebView</c></seeerl>, or <c>NULL</c> if the requested backend is not available
+ </p><p>Since: 2.9.5
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="getCurrentTitle" arity="1" clause_i="1" since=""/>
+ <fsummary>Get the title of the current web page, or its URL/path if title is not available. </fsummary>
+ <desc><p>Get the title of the current web page, or its URL/path if title is not available.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="getCurrentURL" arity="1" clause_i="1" since=""/>
+ <fsummary>Get the URL of the currently displayed document. </fsummary>
+ <desc><p>Get the URL of the currently displayed document.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="getPageSource" arity="1" clause_i="1" since=""/>
+ <fsummary>Get the HTML source code of the currently displayed document. </fsummary>
+ <desc><p>Get the HTML source code of the currently displayed document.
+ </p><p>Return: The HTML source code, or an empty string if no page is currently shown.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="getPageText" arity="1" clause_i="1" since=""/>
+ <fsummary>Get the text of the current page. </fsummary>
+ <desc><p>Get the text of the current page.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="isBusy" arity="1" clause_i="1" since=""/>
+ <fsummary>Returns whether the web control is currently busy (e.g. loading a page). </fsummary>
+ <desc><p>Returns whether the web control is currently busy (e.g. loading a page).
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="isEditable" arity="1" clause_i="1" since=""/>
+ <fsummary>Returns whether the web control is currently editable. </fsummary>
+ <desc><p>Returns whether the web control is currently editable.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="loadURL" arity="2" clause_i="1" since=""/>
+ <fsummary>Load a web page from a URL. </fsummary>
+ <desc><p>Load a web page from a URL.
+ </p><p>Note: Web engines generally report errors asynchronously, so if you wish to know whether loading the URL was successful, register to receive navigation error events.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="print" arity="1" clause_i="1" since=""/>
+ <fsummary>Opens a print dialog so that the user may print the currently displayed page. </fsummary>
+ <desc><p>Opens a print dialog so that the user may print the currently displayed page.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="reload" arity="1" clause_i="1" since=""/>
+ <fsummary>See: <c>reload/2</c></fsummary>
+ </func>
+
+ <func>
+ <name name="reload" arity="2" clause_i="1" since=""/>
+ <fsummary>Reload the currently displayed URL. </fsummary>
+ <desc><p>Reload the currently displayed URL.
+ </p><p>Note: The flags are ignored by the edge backend.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="runScript" arity="2" clause_i="1" since=""/>
+ <fsummary>Runs the given JavaScript code. </fsummary>
+ <desc><p>Runs the given JavaScript code.
+ </p><p>JavaScript code is executed inside the browser control and has full access to DOM and other browser-provided functionality. For example, this code will replace the current page contents with the provided string.
+ </p><p>If <c>output</c> is non-null, it is filled with the result of executing this code on success, e.g. a JavaScript value such as a string, a number (integer or floating point), a boolean or JSON representation for non-primitive types such as arrays and objects. For example:
+ </p><p>This function has a few platform-specific limitations:
+ </p><p>Also notice that under MSW converting JavaScript objects to JSON is not supported in the default emulation mode. <seeerl marker="wxWebView"><c>wxWebView</c></seeerl> implements its own object-to-JSON conversion as a fallback for this case, however it is not as full-featured, well-tested or performing as the implementation of this functionality in the browser control itself, so it is recommended to use MSWSetEmulationLevel() to change emulation level to a more modern one in which JSON conversion is done by the control itself.
+ </p><p>Return: true if there is a result, false if there is an error.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="setEditable" arity="1" clause_i="1" since=""/>
+ <fsummary>See: <c>setEditable/2</c></fsummary>
+ </func>
+
+ <func>
+ <name name="setEditable" arity="2" clause_i="1" since=""/>
+ <fsummary>Set the editable property of the web control. </fsummary>
+ <desc><p>Set the editable property of the web control.
+ </p><p>Enabling allows the user to edit the page even if the <c>contenteditable</c> attribute is not set. The exact capabilities vary with the backend being used.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="setPage" arity="3" clause_i="1" since=""/>
+ <fsummary>Set the displayed page source to the contents of the given string. </fsummary>
+ <desc><p>Set the displayed page source to the contents of the given string.
+ </p><p>Note: When using <c>wxWEBVIEW_BACKEND_IE</c> you must wait for the current page to finish loading before calling <seemfa marker="#setPage/3"><c>setPage/3</c></seemfa>. The baseURL parameter is not used in this backend and the edge backend.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="stop" arity="1" clause_i="1" since=""/>
+ <fsummary>Stop the current page loading process, if any. </fsummary>
+ <desc><p>Stop the current page loading process, if any.
+ </p><p>May trigger an error event of type <c>wxWEBVIEW_NAV_ERR_USER_CANCELLED</c>. TODO: make <c>wxWEBVIEW_NAV_ERR_USER_CANCELLED</c> errors uniform across ports.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="canCopy" arity="1" clause_i="1" since=""/>
+ <fsummary>Returns true if the current selection can be copied. </fsummary>
+ <desc><p>Returns true if the current selection can be copied.
+ </p><p>Note: This always returns <c>true</c> on the macOS WebKit backend.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="canCut" arity="1" clause_i="1" since=""/>
+ <fsummary>Returns true if the current selection can be cut. </fsummary>
+ <desc><p>Returns true if the current selection can be cut.
+ </p><p>Note: This always returns <c>true</c> on the macOS WebKit backend.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="canPaste" arity="1" clause_i="1" since=""/>
+ <fsummary>Returns true if data can be pasted. </fsummary>
+ <desc><p>Returns true if data can be pasted.
+ </p><p>Note: This always returns <c>true</c> on the macOS WebKit backend.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="copy" arity="1" clause_i="1" since=""/>
+ <fsummary>Copies the current selection. </fsummary>
+ <desc><p>Copies the current selection.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="cut" arity="1" clause_i="1" since=""/>
+ <fsummary>Cuts the current selection. </fsummary>
+ <desc><p>Cuts the current selection.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="paste" arity="1" clause_i="1" since=""/>
+ <fsummary>Pastes the current data. </fsummary>
+ <desc><p>Pastes the current data.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="enableContextMenu" arity="1" clause_i="1" since=""/>
+ <fsummary>See: <c>enableContextMenu/2</c></fsummary>
+ </func>
+
+ <func>
+ <name name="enableContextMenu" arity="2" clause_i="1" since=""/>
+ <fsummary>Enable or disable the right click context menu. </fsummary>
+ <desc><p>Enable or disable the right click context menu.
+ </p><p>By default the standard context menu is enabled, this method can be used to disable it or re-enable it later.
+ </p><p>Since: 2.9.5
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="isContextMenuEnabled" arity="1" clause_i="1" since=""/>
+ <fsummary>Returns true if a context menu will be shown on right click. </fsummary>
+ <desc><p>Returns true if a context menu will be shown on right click.
+ </p><p>Since: 2.9.5
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="canGoBack" arity="1" clause_i="1" since=""/>
+ <fsummary>Returns true if it is possible to navigate backward in the history of visited pages. </fsummary>
+ <desc><p>Returns true if it is possible to navigate backward in the history of visited pages.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="canGoForward" arity="1" clause_i="1" since=""/>
+ <fsummary>Returns true if it is possible to navigate forward in the history of visited pages. </fsummary>
+ <desc><p>Returns true if it is possible to navigate forward in the history of visited pages.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="clearHistory" arity="1" clause_i="1" since=""/>
+ <fsummary>Clear the history, this will also remove the visible page. </fsummary>
+ <desc><p>Clear the history, this will also remove the visible page.
+ </p><p>Note: This is not implemented on the WebKit2GTK+ backend.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="enableHistory" arity="1" clause_i="1" since=""/>
+ <fsummary>See: <c>enableHistory/2</c></fsummary>
+ </func>
+
+ <func>
+ <name name="enableHistory" arity="2" clause_i="1" since=""/>
+ <fsummary>Enable or disable the history. </fsummary>
+ <desc><p>Enable or disable the history.
+ </p><p>This will also clear the history.
+ </p><p>Note: This is not implemented on the WebKit2GTK+ backend.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="goBack" arity="1" clause_i="1" since=""/>
+ <fsummary>Navigate back in the history of visited pages. </fsummary>
+ <desc><p>Navigate back in the history of visited pages.
+ </p><p>Only valid if <seemfa marker="#canGoBack/1"><c>canGoBack/1</c></seemfa> returns true.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="goForward" arity="1" clause_i="1" since=""/>
+ <fsummary>Navigate forward in the history of visited pages. </fsummary>
+ <desc><p>Navigate forward in the history of visited pages.
+ </p><p>Only valid if <seemfa marker="#canGoForward/1"><c>canGoForward/1</c></seemfa> returns true.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="clearSelection" arity="1" clause_i="1" since=""/>
+ <fsummary>Clears the current selection. </fsummary>
+ <desc><p>Clears the current selection.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="deleteSelection" arity="1" clause_i="1" since=""/>
+ <fsummary>Deletes the current selection. </fsummary>
+ <desc><p>Deletes the current selection.
+ </p><p>Note that for <c>wxWEBVIEW_BACKEND_WEBKIT</c> the selection must be editable, either through SetEditable or the correct HTML attribute.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="getSelectedSource" arity="1" clause_i="1" since=""/>
+ <fsummary>Returns the currently selected source, if any. </fsummary>
+ <desc><p>Returns the currently selected source, if any.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="getSelectedText" arity="1" clause_i="1" since=""/>
+ <fsummary>Returns the currently selected text, if any. </fsummary>
+ <desc><p>Returns the currently selected text, if any.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="hasSelection" arity="1" clause_i="1" since=""/>
+ <fsummary>Returns true if there is a current selection. </fsummary>
+ <desc><p>Returns true if there is a current selection.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="selectAll" arity="1" clause_i="1" since=""/>
+ <fsummary>Selects the entire page. </fsummary>
+ <desc><p>Selects the entire page.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="canRedo" arity="1" clause_i="1" since=""/>
+ <fsummary>Returns true if there is an action to redo. </fsummary>
+ <desc><p>Returns true if there is an action to redo.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="canUndo" arity="1" clause_i="1" since=""/>
+ <fsummary>Returns true if there is an action to undo. </fsummary>
+ <desc><p>Returns true if there is an action to undo.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="redo" arity="1" clause_i="1" since=""/>
+ <fsummary>Redos the last action. </fsummary>
+ <desc><p>Redos the last action.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="undo" arity="1" clause_i="1" since=""/>
+ <fsummary>Undos the last action. </fsummary>
+ <desc><p>Undos the last action.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="find" arity="2" clause_i="1" since=""/>
+ <fsummary>See: <c>find/3</c></fsummary>
+ </func>
+
+ <func>
+ <name name="find" arity="3" clause_i="1" since=""/>
+ <fsummary>Finds a phrase on the current page and if found, the control will scroll the phrase into view and select it. </fsummary>
+ <desc><p>Finds a phrase on the current page and if found, the control will scroll the phrase into view and select it.
+ </p><p>Return: If search phrase was not found in combination with the flags then <c>wxNOT_FOUND</c> is returned. If called for the first time with search phrase then the total number of results will be returned. Then for every time its called with the same search phrase it will return the number of the current match.
+ </p><p>Note: This function will restart the search if the flags <c>wxWEBVIEW_FIND_ENTIRE_WORD</c> or <c>wxWEBVIEW_FIND_MATCH_CASE</c> are changed, since this will require a new search. To reset the search, for example resetting the highlights call the function with an empty search phrase. This always returns <c>wxNOT_FOUND</c> on the macOS WebKit backend.
+ </p><p>Since: 2.9.5
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="canSetZoomType" arity="2" clause_i="1" since=""/>
+ <fsummary>Retrieve whether the current HTML engine supports a zoom type. </fsummary>
+ <desc><p>Retrieve whether the current HTML engine supports a zoom type.
+ </p><p>Return: Whether this type of zoom is supported by this HTML engine (and thus can be set through <seemfa marker="#setZoomType/2"><c>setZoomType/2</c></seemfa>).
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="getZoom" arity="1" clause_i="1" since=""/>
+ <fsummary>Get the zoom level of the page. </fsummary>
+ <desc><p>Get the zoom level of the page.
+ </p><p>See <seemfa marker="#getZoomFactor/1"><c>getZoomFactor/1</c></seemfa> to get more precise zoom scale value other than as provided by <c>wxWebViewZoom</c>.
+ </p><p>Return: The current level of zoom.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="getZoomType" arity="1" clause_i="1" since=""/>
+ <fsummary>Get how the zoom factor is currently interpreted. </fsummary>
+ <desc><p>Get how the zoom factor is currently interpreted.
+ </p><p>Return: How the zoom factor is currently interpreted by the HTML engine.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="setZoom" arity="2" clause_i="1" since=""/>
+ <fsummary>Set the zoom level of the page. </fsummary>
+ <desc><p>Set the zoom level of the page.
+ </p><p>See <seemfa marker="#setZoomFactor/2"><c>setZoomFactor/2</c></seemfa> for more precise scaling other than the measured steps provided by <c>wxWebViewZoom</c>.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="setZoomType" arity="2" clause_i="1" since=""/>
+ <fsummary>Set how to interpret the zoom factor. </fsummary>
+ <desc><p>Set how to interpret the zoom factor.
+ </p><p>Note: invoke <seemfa marker="#canSetZoomType/2"><c>canSetZoomType/2</c></seemfa> first, some HTML renderers may not support all zoom types.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="getZoomFactor" arity="1" clause_i="1" since=""/>
+ <fsummary>Get the zoom factor of the page. </fsummary>
+ <desc><p>Get the zoom factor of the page.
+ </p><p>Return: The current factor of zoom.
+ </p><p>Since: 3.1.4
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="setZoomFactor" arity="2" clause_i="1" since=""/>
+ <fsummary>Set the zoom factor of the page. </fsummary>
+ <desc><p>Set the zoom factor of the page.
+ </p><p>Note: zoom scale in IE will be converted into <c>wxWebViewZoom</c> levels for <c>wxWebViewZoomType</c> of <c>wxWEBVIEW_ZOOM_TYPE_TEXT</c>.
+ </p><p>Since: 3.1.4
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="isBackendAvailable" arity="1" clause_i="1" since=""/>
+ <fsummary>Allows to check if a specific backend is currently available. </fsummary>
+ <desc><p>Allows to check if a specific backend is currently available.
+ </p><p>Since: 3.1.4
+ </p></desc>
+ </func>
+ </funcs>
+</erlref>
diff --git a/lib/wx/doc/src/wxWebViewEvent.xml b/lib/wx/doc/src/wxWebViewEvent.xml
new file mode 100644
index 0000000000..beb3f58bde
--- /dev/null
+++ b/lib/wx/doc/src/wxWebViewEvent.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE erlref SYSTEM "erlref.dtd">
+
+<!-- THIS FILE IS GENERATED DO NOT EDIT -->
+
+
+<erlref>
+<header>
+ <copyright>
+ <year>2020</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder></copyright>
+ <legalnotice>
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ </legalnotice>
+ <title>wxWebViewEvent</title>
+</header>
+<module>wxWebViewEvent</module>
+<modulesummary>Functions for wxWebViewEvent class</modulesummary>
+<description><p>A navigation event holds information about events associated with <seeerl marker="wxWebView"><c>wxWebView</c></seeerl> objects.
+ </p><p>Since: 2.9.3
+ </p><p>See: <seeerl marker="wxWebView"><c>wxWebView</c></seeerl>
+ </p>
+ <p>This class is derived (and can use functions) from:
+ <seeerl marker="wxNotifyEvent"><c>wxNotifyEvent</c></seeerl> <seeerl marker="wxCommandEvent"><c>wxCommandEvent</c></seeerl> <seeerl marker="wxEvent"><c>wxEvent</c></seeerl></p>
+
+ <p>wxWidgets docs: <url href="https://docs.wxwidgets.org/3.1/classwx_web_view_event.html">wxWebViewEvent</url></p>
+ </description><section><title>Events</title><p>Use <seemfa marker="wxEvtHandler#connect/3"><c>wxEvtHandler:connect/3</c></seemfa> with <seetype marker="#wxWebViewEventType"><c>wxWebViewEventType</c></seetype> to subscribe to events of this type.</p></section>
+<datatypes>
+ <datatype><name name="wxWebViewEvent"/></datatype>
+ <datatype><name name="wxWebView"/></datatype>
+ <datatype><name name="wxWebViewEventType"/></datatype></datatypes>
+
+<funcs>
+ <func>
+ <name name="getString" arity="1" clause_i="1" since=""/>
+ <fsummary>Returns item string for a listbox or choice selection event. </fsummary>
+ <desc><p>Returns item string for a listbox or choice selection event.
+ </p><p>If one or several items have been deselected, returns the index of the first deselected item. If some items have been selected and others deselected at the same time, it will return the index of the first selected item.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="getInt" arity="1" clause_i="1" since=""/>
+ <fsummary>Returns the integer identifier corresponding to a listbox, choice or radiobox selection (only if the event was a selection, not a deselection), or a boolean value representing the value of a checkbox. </fsummary>
+ <desc><p>Returns the integer identifier corresponding to a listbox, choice or radiobox selection (only if the event was a selection, not a deselection), or a boolean value representing the value of a checkbox.
+ </p><p>For a menu item, this method returns -1 if the item is not checkable or a boolean value (true or false) for checkable items indicating the new state of the item.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="getTarget" arity="1" clause_i="1" since=""/>
+ <fsummary>Get the name of the target frame which the url of this event has been or will be loaded into. </fsummary>
+ <desc><p>Get the name of the target frame which the url of this event has been or will be loaded into.
+ </p><p>This may return an empty string if the frame is not available.
+ </p></desc>
+ </func>
+
+ <func>
+ <name name="getURL" arity="1" clause_i="1" since=""/>
+ <fsummary>Get the URL being visited. </fsummary>
+ <desc><p>Get the URL being visited.
+ </p></desc>
+ </func>
+ </funcs>
+</erlref>
diff --git a/lib/wx/examples/demo/Makefile b/lib/wx/examples/demo/Makefile
index fdb443eb4a..dbfa3d2f03 100644
--- a/lib/wx/examples/demo/Makefile
+++ b/lib/wx/examples/demo/Makefile
@@ -54,7 +54,8 @@ TESTMODS = \
ex_static \
ex_textCtrl \
ex_treeCtrl \
- ex_graphicsContext
+ ex_graphicsContext \
+ ex_webview
TESTTARGETS = $(TESTMODS:%=%.beam)
diff --git a/lib/wx/examples/demo/demo.erl b/lib/wx/examples/demo/demo.erl
index 4935941398..eae28f355c 100644
--- a/lib/wx/examples/demo/demo.erl
+++ b/lib/wx/examples/demo/demo.erl
@@ -63,7 +63,7 @@ init(Options) ->
wx:new(Options),
process_flag(trap_exit, true),
- Frame = wxFrame:new(wx:null(), ?wxID_ANY, "wxErlang widgets", [{size,{1000,500}}]),
+ Frame = wxFrame:new(wx:null(), ?wxID_ANY, "wxErlang widgets", [{size,{1400,800}}]),
MB = wxMenuBar:new(),
File = wxMenu:new([]),
wxMenu:append(File, ?wxID_PRINT, "&Print code"),
diff --git a/lib/wx/examples/demo/ex_notificationMessage.erl b/lib/wx/examples/demo/ex_notificationMessage.erl
index f63f633af0..f2ade0b09b 100644
--- a/lib/wx/examples/demo/ex_notificationMessage.erl
+++ b/lib/wx/examples/demo/ex_notificationMessage.erl
@@ -133,7 +133,7 @@ handle_call(Msg, _From, State) ->
{reply,ok,State}.
handle_cast(Msg, State) ->
- io:format("Got cast ~p~n",[Msg]),
+ demo:format(State#state.config,"Got cast ~p~n",[Msg]),
{noreply,State}.
code_change(_, _, State) ->
diff --git a/lib/wx/examples/demo/ex_webview.erl b/lib/wx/examples/demo/ex_webview.erl
new file mode 100644
index 0000000000..a351cd78be
--- /dev/null
+++ b/lib/wx/examples/demo/ex_webview.erl
@@ -0,0 +1,307 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2009-2021. All Rights Reserved.
+%%
+%% Licensed under the Apache License, Version 2.0 (the "License");
+%% you may not use this file except in compliance with the License.
+%% You may obtain a copy of the License at
+%%
+%% http://www.apache.org/licenses/LICENSE-2.0
+%%
+%% Unless required by applicable law or agreed to in writing, software
+%% distributed under the License is distributed on an "AS IS" BASIS,
+%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+%% See the License for the specific language governing permissions and
+%% limitations under the License.
+%%
+%% %CopyrightEnd%
+
+%% This is example of the widgets and usage of wxErlang
+%% Hopefully it will contain all implemented widgets, it's event handling
+%% and some tutorials of how to use sizers and other stuff.
+
+-module(ex_webview).
+
+-include_lib("wx/include/wx.hrl").
+
+-behaviour(wx_object).
+-export([start/1, init/1,
+ terminate/2, code_change/3,
+ handle_info/2, handle_call/3, handle_cast/2, handle_event/2]).
+
+-record(state, {buttons, config, parent, webview, texts, timer}).
+
+start(Config) ->
+ wx_object:start_link(?MODULE, Config, []).
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+init(Config) ->
+ wx:batch(fun() -> do_init(Config) end).
+
+do_init(Config) ->
+ Parent = wxScrolledWindow:new(proplists:get_value(parent, Config)),
+ wxScrolledWindow:setScrollRate(Parent, 5, 5),
+ Sizer = wxBoxSizer:new(?wxHORIZONTAL),
+
+ os:type() == {win32,nt} andalso wx_misc:mSWSetEmulationLevel(?wxWEBVIEWIE_EMU_IE11),
+ try wxWebView:new(Parent, ?wxID_ANY, [{url, "https://www.erlang.org/"}]) of
+ WebView ->
+ {ok, Timer} = timer:send_interval(100, update_passive_boxes),
+ Events = [webview_navigating, webview_navigated, webview_loaded, webview_error,
+ webview_newwindow, webview_title_changed],
+ [wxWebView:connect(WebView, Event) || Event <- Events],
+
+ {Buttons, Texts} = create_buttons(Parent, WebView),
+ wxSizer:add(Sizer, Buttons, [{flag, ?wxEXPAND}]),
+ wxSizer:add(Sizer, WebView, [{proportion, 1}, {flag, ?wxEXPAND}]),
+ wxFrame:setSizer(Parent, Sizer),
+ {Parent, #state{
+ buttons=Buttons,
+ config=Config,
+ parent=Parent,
+ webview=WebView,
+ texts=Texts,
+ timer=Timer
+ }}
+ catch
+ error:{undefined_function,_} ->
+ Sorry = wxStaticText:new(Parent, ?wxID_ANY, "wxWebView Support is missing in this installation.", []),
+ wxSizer:add(Sizer, Sorry, [{proportion, 1}, {flag, ?wxEXPAND}]),
+ {Parent, #state{
+ config=Config,
+ parent=Parent,
+ webview=Sorry
+ }}
+ end.
+
+create_buttons(Parent, WebView) ->
+ Buttons = wxScrolledWindow:new(Parent, [{size, {350, 400}}]),
+ wxScrolledWindow:enableScrolling(Buttons, false, true),
+ Sizer = wxBoxSizer:new(?wxVERTICAL),
+ wxScrolledWindow:setSizer(Buttons, Sizer),
+
+ create_label(Buttons, "Navigation"),
+ Text = wxTextCtrl:new(Buttons, ?wxID_ANY, [{value, wxWebView:getCurrentURL(WebView)}]),
+ wxSizer:add(Sizer, Text, [{flag, ?wxEXPAND}]),
+ create_pair(Buttons,
+ fun (P) -> create_button(P, "getCurrentURL()") end,
+ fun (P) -> create_button(P, "loadURL()") end),
+ wxSizer:addSpacer(Sizer, 5),
+
+ create_label(Buttons, "Search"),
+ Search = create_flex_panel(Buttons, 2, 0),
+ Find = wxTextCtrl:new(Search, ?wxID_ANY, [{value, "search term"}]),
+ wxSizer:add(wxFrame:getSizer(Search), Find, [{flag, ?wxEXPAND}]),
+ create_button(Search, "find()"),
+
+ create_label(Buttons, "Other Actions"),
+ Panel = create_flex_panel(Buttons, 3),
+ [create_button(Panel, Label) || Label <- [
+ "goBack()", "goForward()", "clearHistory()",
+ "undo()", "redo()", "selectAll()",
+ "reload()", "stop()", "print()",
+ "copy()", "paste()", "cut()"
+ ]],
+ Panel2 = create_flex_panel(Buttons, 2),
+ [create_button(Panel2, Label) || Label <- [
+ "reload(NO_CACHE)",
+ "setEditable()","setPage()",
+ "setZoom()","setZoomType(TEXT)",
+ "deleteSelection()", "setZoomType(LAYOUT)",
+ "clearSelection()", "enableContextMenu()",
+ "enableHistory()","setZoomFactor(1)"
+ ]],
+ wxSizer:addSpacer(Sizer, 5),
+
+ create_label(Buttons, "Console output only"),
+ PrintPanel = create_flex_panel(Buttons, 2),
+ Names = [
+ "getCurrentTitle()","getPageSource()",
+ "getPageText()","getSelectedSource()",
+ "getZoom()","getZoomType()","getZoomFactor()",
+ "getSelectedText()","runScript()"
+ ],
+ [create_button(PrintPanel, Label) || Label <- Names],
+ wxSizer:addSpacer(Sizer, 5),
+
+ CtrlPanel = create_flex_panel(Buttons, 2),
+ Controls = lists:foldl(fun (Label, Map) ->
+ maps:put(Label, create_passive_checkbox(CtrlPanel, Label), Map)
+ end, #{url => Text, find => Find}, passive_boxes()),
+
+ wxSizer:layout(Sizer),
+ wxScrolledWindow:fitInside(Buttons),
+ wxScrolledWindow:setScrollRate(Buttons, 5, 15),
+ {Buttons, Controls}.
+
+create_label(Parent, Label) ->
+ Text = wxStaticText:new(Parent, ?wxID_ANY, Label),
+ wxSizer:add(wxFrame:getSizer(Parent), Text),
+ Text.
+
+create_flex_panel(Parent, Cols) ->
+ create_flex_panel(Parent, Cols, Cols-1).
+create_flex_panel(Parent, Cols, GrowCol) ->
+ Panel = wxPanel:new(Parent),
+ Flex = wxFlexGridSizer:new(Cols),
+ wxPanel:setSizer(Panel, Flex),
+ wxFlexGridSizer:addGrowableCol(Flex, GrowCol),
+ wxSizer:add(wxFrame:getSizer(Parent), Panel, [{flag, ?wxEXPAND}]),
+ Panel.
+
+create_button(Parent, Label) ->
+ Sizer = wxFrame:getSizer(Parent),
+ Button = wxButton:new(Parent, ?wxID_ANY, [{label, Label}]),
+ wxButton:connect(Button, command_button_clicked),
+ wxSizer:add(Sizer, Button, [{flag, ?wxEXPAND}]).
+
+create_pair(Parent, P1, P2) ->
+ Panel = wxPanel:new(Parent),
+ wxPanel:setSizer(Panel, wxBoxSizer:new(?wxHORIZONTAL)),
+ wxSizerItem:setProportion(P1(Panel), 1),
+ wxSizerItem:setProportion(P2(Panel), 1),
+ wxSizer:add(wxFrame:getSizer(Parent), Panel, [{flag, ?wxEXPAND}]).
+
+create_passive_checkbox(Parent, Label) ->
+ Sizer = wxFrame:getSizer(Parent),
+ Checkbox = wxCheckBox:new(Parent, ?wxID_ANY, Label),
+ wxCheckBox:disable(Checkbox),
+ wxSizer:add(Sizer, Checkbox, [{flag, ?wxEXPAND}]),
+ Checkbox.
+
+button("getCurrentURL()", #state{webview=WebView, texts=#{url := Text}}) ->
+ wxTextCtrl:setValue(Text, wxWebView:getCurrentURL(WebView));
+button("loadURL()", #state{webview=WebView, texts=#{url := Text}}) ->
+ wxWebView:loadURL(WebView, wxTextCtrl:getValue(Text));
+button("find()", #state{webview=WebView, texts=#{find := Text}}) ->
+ wxWebView:find(WebView, wxTextCtrl:getValue(Text));
+button("enableContextMenu()", #state{webview=WebView}) ->
+ Context = not wxWebView:isContextMenuEnabled(WebView),
+ wxWebView:enableContextMenu(WebView, [{enable, Context}]);
+button("setEditable()", #state{webview=WebView}) ->
+ Context = not wxWebView:isEditable(WebView),
+ wxWebView:setEditable(WebView, [{enable, Context}]);
+button("enableHistory()", #state{webview=WebView}) ->
+ History = case get(history) of
+ undefined -> true;
+ true -> true;
+ false -> false
+ end,
+ put(history, not History),
+ wxWebView:enableHistory(WebView, [{enable, History}]);
+button("reload(NO_CACHE)", #state{webview=WebView}) ->
+ wxWebView:reload(WebView, [{flags, ?wxWEBVIEW_RELOAD_NO_CACHE}]);
+button("setPage()", #state{webview=WebView}) ->
+ wxWebView:setPage(WebView, "<html><body>Hello World</body></html>", "");
+button("setZoom()", #state{webview=WebView}) ->
+ Zoom = case get(zoom) of
+ undefined -> ?wxWEBVIEW_ZOOM_TINY;
+ ?wxWEBVIEW_ZOOM_TINY -> ?wxWEBVIEW_ZOOM_SMALL;
+ ?wxWEBVIEW_ZOOM_SMALL -> ?wxWEBVIEW_ZOOM_MEDIUM;
+ ?wxWEBVIEW_ZOOM_MEDIUM -> ?wxWEBVIEW_ZOOM_LARGE;
+ ?wxWEBVIEW_ZOOM_LARGE -> ?wxWEBVIEW_ZOOM_LARGEST;
+ ?wxWEBVIEW_ZOOM_LARGEST -> ?wxWEBVIEW_ZOOM_TINY
+ end,
+ put(zoom, Zoom),
+ wxWebView:setZoom(WebView, Zoom);
+button("setZoomType(TEXT)", #state{webview=WebView}) ->
+ wxWebView:setZoomType(WebView, ?wxWEBVIEW_ZOOM_TYPE_TEXT);
+button("setZoomType(LAYOUT)", #state{webview=WebView}) ->
+ wxWebView:setZoomType(WebView, ?wxWEBVIEW_ZOOM_TYPE_LAYOUT);
+button("setZoomFactor(1)", #state{webview=WebView}) ->
+ wxWebView:setZoomFactor(WebView, 1);
+button("runScript()", #state{webview=WebView}) ->
+ wxWebView:runScript(WebView, "alert('This is from Javascript!');");
+button(Other, #state{webview=WebView}) ->
+ Singles = ["goBack()", "goForward()", "print()","redo()","undo()",
+ "stop()","reload()","paste()","copy()","cut()","deleteSelection()",
+ "clearSelection()","clearHistory()", "selectAll()",
+ "getCurrentTitle()", "getPageSource()", "getPageText()",
+ "getSelectedSource()", "getSelectedText()", "getZoom()", "getZoomType()",
+ "getZoomFactor()"],
+ case lists:member(Other, Singles) of
+ true ->
+ Call = string:left(Other, string:len(Other) - 2),
+ Atom = list_to_atom(Call),
+ apply(wxWebView, Atom, [WebView]);
+
+ false -> io:format("Unhandled button press: ~s ~n",[Other])
+ end.
+
+passive_boxes() ->
+ ["canGoForward()", "canCut()", "canGoBack()", "canCopy()",
+ "canRedo()", "canPaste()", "canUndo()", "isBusy()",
+ "isContextMenuEnabled()", "isEditable()", "canSetZoomType(TEXT)",
+ "hasSelection()", "canSetZoomType(LAYOUT)"].
+
+update_passive_boxes([], _) ->
+ ok;
+update_passive_boxes(["canSetZoomType(TEXT)" = Label | Rest], State) ->
+ #state{webview=WebView, texts=#{Label := Checkbox}} = State,
+ Value = wxWebView:canSetZoomType(WebView, ?wxWEBVIEW_ZOOM_TYPE_TEXT),
+ wxCheckBox:setValue(Checkbox, Value),
+ update_passive_boxes(Rest, State);
+update_passive_boxes(["canSetZoomType(LAYOUT)" = Label | Rest], State) ->
+ #state{webview=WebView, texts=#{Label := Checkbox}} = State,
+ Value = wxWebView:canSetZoomType(WebView, ?wxWEBVIEW_ZOOM_TYPE_LAYOUT),
+ wxCheckBox:setValue(Checkbox, Value),
+ update_passive_boxes(Rest, State);
+update_passive_boxes([Label | Rest], State) ->
+ #state{webview=WebView, texts=#{Label := Checkbox}} = State,
+ Call = string:left(Label, string:len(Label) - 2),
+ Atom = list_to_atom(Call),
+ wxCheckBox:setValue(Checkbox, apply(wxWebView, Atom, [WebView])),
+ update_passive_boxes(Rest, State).
+
+%%%%%%%%%%%%
+%% Async Events are handled in handle_event as in handle_info
+handle_event(#wx{obj=Button, event=#wxCommand{type=command_button_clicked}}, State) ->
+ Label = wxButton:getLabel(Button),
+ Ret = try button(Label, State)
+ catch
+ error:{undefined_function,_} -> "Function only supported starting wxWidgets 3.1"
+ end,
+ demo:format(State#state.config,"Got button press: ~s => ~p~n",[Label, Ret]),
+ {noreply, State};
+
+handle_event(#wx{event=Ev=#wxWebView{}}, State) ->
+ demo:format(State#state.config,"WebView Event ~180p~n",[Ev]),
+ {noreply, State};
+
+handle_event(Ev = #wx{}, State = #state{}) ->
+ demo:format(State#state.config,"Got Event ~p~n",[Ev]),
+ {noreply,State}.
+
+%% Callbacks handled as normal gen_server callbacks
+handle_info(update_passive_boxes, State) ->
+ update_passive_boxes(passive_boxes(), State),
+ {noreply,State};
+
+handle_info({'_wxe_error_' , _Code, What, undefined_function}, State) ->
+ demo:format(State#state.config, "Function is only supported starting wxWidgets 3.1 (~p)~n",[What]),
+ {noreply,State};
+
+handle_info(Msg, State) ->
+ demo:format(State#state.config, "Got Info ~p~n",[Msg]),
+ {noreply,State}.
+
+handle_call(shutdown, _From, State=#state{parent=Panel, timer=Timer}) ->
+ timer:cancel(Timer),
+ wxPanel:destroy(Panel),
+ {stop, normal, ok, State};
+
+handle_call(Msg, _From, State) ->
+ demo:format(State#state.config,"Got Call ~p~n",[Msg]),
+ {reply,ok,State}.
+
+handle_cast(Msg, State) ->
+ demo:format(State#state.config,"Got cast ~p~n",[Msg]),
+ {noreply,State}.
+
+code_change(_, _, State) ->
+ {stop, ignore, State}.
+
+terminate(_Reason, _) ->
+ ok.
+
diff --git a/lib/wx/include/wx.hrl b/lib/wx/include/wx.hrl
index fc5dbcff9d..c2e918bb2d 100644
--- a/lib/wx/include/wx.hrl
+++ b/lib/wx/include/wx.hrl
@@ -294,15 +294,22 @@
-record(wxUpdateUI, {type :: wxUpdateUIEvent:wxUpdateUIEventType()}). %% Callback event: wxUpdateUIEvent
-type wxUpdateUI() :: #wxUpdateUI{}. %% Callback event: {@link wxUpdateUIEvent}
+-record(wxWebView,{type :: wxWebViewEvent:wxWebViewEventType(), %% Callback event: wxWebViewEvent
+ string :: unicode:chardata(),
+ int :: integer(),
+ target :: unicode:chardata(),
+ url :: unicode:chardata()}).
+-type wxWebView() :: #wxWebView{}. %% Callback event: {@link wxWebViewEvent}
+
-record(wxWindowCreate, {type :: wxWindowCreateEvent:wxWindowCreateEventType()}). %% Callback event: wxWindowCreateEvent
-type wxWindowCreate() :: #wxWindowCreate{}. %% Callback event: {@link wxWindowCreateEvent}
-record(wxWindowDestroy, {type :: wxWindowDestroyEvent:wxWindowDestroyEventType()}). %% Callback event: wxWindowDestroyEvent
-type wxWindowDestroy() :: #wxWindowDestroy{}. %% Callback event: {@link wxWindowDestroyEvent}
--type event() :: wxActivateEvent:wxActivate() | wxAuiManagerEvent:wxAuiManager() | wxAuiNotebookEvent:wxAuiNotebook() | wxBookCtrlEvent:wxBookCtrl() | wxCalendarEvent:wxCalendar() | wxChildFocusEvent:wxChildFocus() | wxClipboardTextEvent:wxClipboardText() | wxCloseEvent:wxClose() | wxColourPickerEvent:wxColourPicker() | wxCommandEvent:wxCommand() | wxContextMenuEvent:wxContextMenu() | wxDateEvent:wxDate() | wxDisplayChangedEvent:wxDisplayChanged() | wxDropFilesEvent:wxDropFiles() | wxEraseEvent:wxErase() | wxFileDirPickerEvent:wxFileDirPicker() | wxFocusEvent:wxFocus() | wxFontPickerEvent:wxFontPicker() | wxGridEvent:wxGrid() | wxHelpEvent:wxHelp() | wxHtmlLinkEvent:wxHtmlLink() | wxIconizeEvent:wxIconize() | wxIdleEvent:wxIdle() | wxInitDialogEvent:wxInitDialog() | wxJoystickEvent:wxJoystick() | wxKeyEvent:wxKey() | wxListEvent:wxList() | wxMaximizeEvent:wxMaximize() | wxMenuEvent:wxMenu() | wxMouseCaptureChangedEvent:wxMouseCaptureChanged() | wxMouseCaptureLostEvent:wxMouseCaptureLost() | wxMouseEvent:wxMouse() | wxMoveEvent:wxMove() | wxNavigationKeyEvent:wxNavigationKey() | wxPaintEvent:wxPaint() | wxPaletteChangedEvent:wxPaletteChanged() | wxQueryNewPaletteEvent:wxQueryNewPalette() | wxSashEvent:wxSash() | wxScrollEvent:wxScroll() | wxScrollWinEvent:wxScrollWin() | wxSetCursorEvent:wxSetCursor() | wxShowEvent:wxShow() | wxSizeEvent:wxSize() | wxSpinEvent:wxSpin() | wxSplitterEvent:wxSplitter() | wxStyledTextEvent:wxStyledText() | wxSysColourChangedEvent:wxSysColourChanged() | wxTaskBarIconEvent:wxTaskBarIcon() | wxTreeEvent:wxTree() | wxUpdateUIEvent:wxUpdateUI() | wxWindowCreateEvent:wxWindowCreate() | wxWindowDestroyEvent:wxWindowDestroy().
+-type event() :: wxActivateEvent:wxActivate() | wxAuiManagerEvent:wxAuiManager() | wxAuiNotebookEvent:wxAuiNotebook() | wxBookCtrlEvent:wxBookCtrl() | wxCalendarEvent:wxCalendar() | wxChildFocusEvent:wxChildFocus() | wxClipboardTextEvent:wxClipboardText() | wxCloseEvent:wxClose() | wxColourPickerEvent:wxColourPicker() | wxCommandEvent:wxCommand() | wxContextMenuEvent:wxContextMenu() | wxDateEvent:wxDate() | wxDisplayChangedEvent:wxDisplayChanged() | wxDropFilesEvent:wxDropFiles() | wxEraseEvent:wxErase() | wxFileDirPickerEvent:wxFileDirPicker() | wxFocusEvent:wxFocus() | wxFontPickerEvent:wxFontPicker() | wxGridEvent:wxGrid() | wxHelpEvent:wxHelp() | wxHtmlLinkEvent:wxHtmlLink() | wxIconizeEvent:wxIconize() | wxIdleEvent:wxIdle() | wxInitDialogEvent:wxInitDialog() | wxJoystickEvent:wxJoystick() | wxKeyEvent:wxKey() | wxListEvent:wxList() | wxMaximizeEvent:wxMaximize() | wxMenuEvent:wxMenu() | wxMouseCaptureChangedEvent:wxMouseCaptureChanged() | wxMouseCaptureLostEvent:wxMouseCaptureLost() | wxMouseEvent:wxMouse() | wxMoveEvent:wxMove() | wxNavigationKeyEvent:wxNavigationKey() | wxPaintEvent:wxPaint() | wxPaletteChangedEvent:wxPaletteChanged() | wxQueryNewPaletteEvent:wxQueryNewPalette() | wxSashEvent:wxSash() | wxScrollEvent:wxScroll() | wxScrollWinEvent:wxScrollWin() | wxSetCursorEvent:wxSetCursor() | wxShowEvent:wxShow() | wxSizeEvent:wxSize() | wxSpinEvent:wxSpin() | wxSplitterEvent:wxSplitter() | wxStyledTextEvent:wxStyledText() | wxSysColourChangedEvent:wxSysColourChanged() | wxTaskBarIconEvent:wxTaskBarIcon() | wxTreeEvent:wxTree() | wxUpdateUIEvent:wxUpdateUI() | wxWebViewEvent:wxWebView() | wxWindowCreateEvent:wxWindowCreate() | wxWindowDestroyEvent:wxWindowDestroy().
--type wxEventType() :: wxActivateEvent:wxActivateEventType() | wxAuiManagerEvent:wxAuiManagerEventType() | wxAuiNotebookEvent:wxAuiNotebookEventType() | wxBookCtrlEvent:wxBookCtrlEventType() | wxCalendarEvent:wxCalendarEventType() | wxChildFocusEvent:wxChildFocusEventType() | wxClipboardTextEvent:wxClipboardTextEventType() | wxCloseEvent:wxCloseEventType() | wxColourPickerEvent:wxColourPickerEventType() | wxCommandEvent:wxCommandEventType() | wxContextMenuEvent:wxContextMenuEventType() | wxDateEvent:wxDateEventType() | wxDisplayChangedEvent:wxDisplayChangedEventType() | wxDropFilesEvent:wxDropFilesEventType() | wxEraseEvent:wxEraseEventType() | wxFileDirPickerEvent:wxFileDirPickerEventType() | wxFocusEvent:wxFocusEventType() | wxFontPickerEvent:wxFontPickerEventType() | wxGridEvent:wxGridEventType() | wxHelpEvent:wxHelpEventType() | wxHtmlLinkEvent:wxHtmlLinkEventType() | wxIconizeEvent:wxIconizeEventType() | wxIdleEvent:wxIdleEventType() | wxInitDialogEvent:wxInitDialogEventType() | wxJoystickEvent:wxJoystickEventType() | wxKeyEvent:wxKeyEventType() | wxListEvent:wxListEventType() | wxMaximizeEvent:wxMaximizeEventType() | wxMenuEvent:wxMenuEventType() | wxMouseCaptureChangedEvent:wxMouseCaptureChangedEventType() | wxMouseCaptureLostEvent:wxMouseCaptureLostEventType() | wxMouseEvent:wxMouseEventType() | wxMoveEvent:wxMoveEventType() | wxNavigationKeyEvent:wxNavigationKeyEventType() | wxPaintEvent:wxPaintEventType() | wxPaletteChangedEvent:wxPaletteChangedEventType() | wxQueryNewPaletteEvent:wxQueryNewPaletteEventType() | wxSashEvent:wxSashEventType() | wxScrollEvent:wxScrollEventType() | wxScrollWinEvent:wxScrollWinEventType() | wxSetCursorEvent:wxSetCursorEventType() | wxShowEvent:wxShowEventType() | wxSizeEvent:wxSizeEventType() | wxSpinEvent:wxSpinEventType() | wxSplitterEvent:wxSplitterEventType() | wxStyledTextEvent:wxStyledTextEventType() | wxSysColourChangedEvent:wxSysColourChangedEventType() | wxTaskBarIconEvent:wxTaskBarIconEventType() | wxTreeEvent:wxTreeEventType() | wxUpdateUIEvent:wxUpdateUIEventType() | wxWindowCreateEvent:wxWindowCreateEventType() | wxWindowDestroyEvent:wxWindowDestroyEventType().
+-type wxEventType() :: wxActivateEvent:wxActivateEventType() | wxAuiManagerEvent:wxAuiManagerEventType() | wxAuiNotebookEvent:wxAuiNotebookEventType() | wxBookCtrlEvent:wxBookCtrlEventType() | wxCalendarEvent:wxCalendarEventType() | wxChildFocusEvent:wxChildFocusEventType() | wxClipboardTextEvent:wxClipboardTextEventType() | wxCloseEvent:wxCloseEventType() | wxColourPickerEvent:wxColourPickerEventType() | wxCommandEvent:wxCommandEventType() | wxContextMenuEvent:wxContextMenuEventType() | wxDateEvent:wxDateEventType() | wxDisplayChangedEvent:wxDisplayChangedEventType() | wxDropFilesEvent:wxDropFilesEventType() | wxEraseEvent:wxEraseEventType() | wxFileDirPickerEvent:wxFileDirPickerEventType() | wxFocusEvent:wxFocusEventType() | wxFontPickerEvent:wxFontPickerEventType() | wxGridEvent:wxGridEventType() | wxHelpEvent:wxHelpEventType() | wxHtmlLinkEvent:wxHtmlLinkEventType() | wxIconizeEvent:wxIconizeEventType() | wxIdleEvent:wxIdleEventType() | wxInitDialogEvent:wxInitDialogEventType() | wxJoystickEvent:wxJoystickEventType() | wxKeyEvent:wxKeyEventType() | wxListEvent:wxListEventType() | wxMaximizeEvent:wxMaximizeEventType() | wxMenuEvent:wxMenuEventType() | wxMouseCaptureChangedEvent:wxMouseCaptureChangedEventType() | wxMouseCaptureLostEvent:wxMouseCaptureLostEventType() | wxMouseEvent:wxMouseEventType() | wxMoveEvent:wxMoveEventType() | wxNavigationKeyEvent:wxNavigationKeyEventType() | wxPaintEvent:wxPaintEventType() | wxPaletteChangedEvent:wxPaletteChangedEventType() | wxQueryNewPaletteEvent:wxQueryNewPaletteEventType() | wxSashEvent:wxSashEventType() | wxScrollEvent:wxScrollEventType() | wxScrollWinEvent:wxScrollWinEventType() | wxSetCursorEvent:wxSetCursorEventType() | wxShowEvent:wxShowEventType() | wxSizeEvent:wxSizeEventType() | wxSpinEvent:wxSpinEventType() | wxSplitterEvent:wxSplitterEventType() | wxStyledTextEvent:wxStyledTextEventType() | wxSysColourChangedEvent:wxSysColourChangedEventType() | wxTaskBarIconEvent:wxTaskBarIconEventType() | wxTreeEvent:wxTreeEventType() | wxUpdateUIEvent:wxUpdateUIEventType() | wxWebViewEvent:wxWebViewEventType() | wxWindowCreateEvent:wxWindowCreateEventType() | wxWindowDestroyEvent:wxWindowDestroyEventType().
%% Hardcoded Records
-record(wxMouseState, {x :: integer(), y :: integer(),
@@ -5075,6 +5082,49 @@
-define(wxSIGPIPE, 13).
-define(wxSIGALRM, 14).
-define(wxSIGTERM, 15).
+%%% From "webview.h": wxWebViewFindFlags
+-define(wxWEBVIEW_FIND_WRAP, 1).
+-define(wxWEBVIEW_FIND_ENTIRE_WORD, 2).
+-define(wxWEBVIEW_FIND_MATCH_CASE, 4).
+-define(wxWEBVIEW_FIND_HIGHLIGHT_RESULT, 8).
+-define(wxWEBVIEW_FIND_BACKWARDS, 16).
+-define(wxWEBVIEW_FIND_DEFAULT, 0).
+%%% From "webview.h": wxWebViewIE_EmulationLevel
+-define(wxWEBVIEWIE_EMU_DEFAULT, 0).
+-define(wxWEBVIEWIE_EMU_IE7, 7000).
+-define(wxWEBVIEWIE_EMU_IE8, 8000).
+-define(wxWEBVIEWIE_EMU_IE8_FORCE, 8888).
+-define(wxWEBVIEWIE_EMU_IE9, 9000).
+-define(wxWEBVIEWIE_EMU_IE9_FORCE, 9999).
+-define(wxWEBVIEWIE_EMU_IE10, 10000).
+-define(wxWEBVIEWIE_EMU_IE10_FORCE, 10001).
+-define(wxWEBVIEWIE_EMU_IE11, 11000).
+-define(wxWEBVIEWIE_EMU_IE11_FORCE, 11001).
+%%% From "webview.h": wxWebViewNavigationActionFlags
+-define(wxWEBVIEW_NAV_ACTION_NONE, 0).
+-define(wxWEBVIEW_NAV_ACTION_USER, 1).
+-define(wxWEBVIEW_NAV_ACTION_OTHER, 2).
+%%% From "webview.h": wxWebViewNavigationError
+-define(wxWEBVIEW_NAV_ERR_CONNECTION, 0).
+-define(wxWEBVIEW_NAV_ERR_CERTIFICATE, 1).
+-define(wxWEBVIEW_NAV_ERR_AUTH, 2).
+-define(wxWEBVIEW_NAV_ERR_SECURITY, 3).
+-define(wxWEBVIEW_NAV_ERR_NOT_FOUND, 4).
+-define(wxWEBVIEW_NAV_ERR_REQUEST, 5).
+-define(wxWEBVIEW_NAV_ERR_USER_CANCELLED, 6).
+-define(wxWEBVIEW_NAV_ERR_OTHER, 7).
+%%% From "webview.h": wxWebViewReloadFlags
+-define(wxWEBVIEW_RELOAD_DEFAULT, 0).
+-define(wxWEBVIEW_RELOAD_NO_CACHE, 1).
+%%% From "webview.h": wxWebViewZoom
+-define(wxWEBVIEW_ZOOM_TINY, 0).
+-define(wxWEBVIEW_ZOOM_SMALL, 1).
+-define(wxWEBVIEW_ZOOM_MEDIUM, 2).
+-define(wxWEBVIEW_ZOOM_LARGE, 3).
+-define(wxWEBVIEW_ZOOM_LARGEST, 4).
+%%% From "webview.h": wxWebViewZoomType
+-define(wxWEBVIEW_ZOOM_TYPE_LAYOUT, 0).
+-define(wxWEBVIEW_ZOOM_TYPE_TEXT, 1).
%%% From "window.h"
-define(wxTOUCH_NONE, 0).
-define(wxTOUCH_VERTICAL_PAN_GESTURE, 1).
diff --git a/lib/wx/src/gen/wxWebView.erl b/lib/wx/src/gen/wxWebView.erl
new file mode 100644
index 0000000000..43f51ebe6d
--- /dev/null
+++ b/lib/wx/src/gen/wxWebView.erl
@@ -0,0 +1,911 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2008-2021. All Rights Reserved.
+%%
+%% Licensed under the Apache License, Version 2.0 (the "License");
+%% you may not use this file except in compliance with the License.
+%% You may obtain a copy of the License at
+%%
+%% http://www.apache.org/licenses/LICENSE-2.0
+%%
+%% Unless required by applicable law or agreed to in writing, software
+%% distributed under the License is distributed on an "AS IS" BASIS,
+%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+%% See the License for the specific language governing permissions and
+%% limitations under the License.
+%%
+%% %CopyrightEnd%
+%% This file is generated DO NOT EDIT
+
+-module(wxWebView).
+-include("wxe.hrl").
+-export([canCopy/1,canCut/1,canGoBack/1,canGoForward/1,canPaste/1,canRedo/1,
+ canSetZoomType/2,canUndo/1,clearHistory/1,clearSelection/1,copy/1,
+ cut/1,deleteSelection/1,enableContextMenu/1,enableContextMenu/2,enableHistory/1,
+ enableHistory/2,find/2,find/3,getCurrentTitle/1,getCurrentURL/1,getPageSource/1,
+ getPageText/1,getSelectedSource/1,getSelectedText/1,getZoom/1,getZoomFactor/1,
+ getZoomType/1,goBack/1,goForward/1,hasSelection/1,isBackendAvailable/1,
+ isBusy/1,isContextMenuEnabled/1,isEditable/1,loadURL/2,new/2,new/3,
+ paste/1,print/1,redo/1,reload/1,reload/2,runScript/2,selectAll/1,setEditable/1,
+ setEditable/2,setPage/3,setZoom/2,setZoomFactor/2,setZoomType/2,stop/1,
+ undo/1]).
+
+%% inherited exports
+-export([cacheBestSize/2,canSetTransparent/1,captureMouse/1,center/1,center/2,
+ centerOnParent/1,centerOnParent/2,centre/1,centre/2,centreOnParent/1,
+ centreOnParent/2,clearBackground/1,clientToScreen/2,clientToScreen/3,
+ close/1,close/2,connect/2,connect/3,convertDialogToPixels/2,convertPixelsToDialog/2,
+ destroyChildren/1,disable/1,disconnect/1,disconnect/2,disconnect/3,
+ dragAcceptFiles/2,enable/1,enable/2,findWindow/2,fit/1,fitInside/1,
+ freeze/1,getAcceleratorTable/1,getBackgroundColour/1,getBackgroundStyle/1,
+ getBestSize/1,getCaret/1,getCharHeight/1,getCharWidth/1,getChildren/1,
+ getClientSize/1,getContainingSizer/1,getContentScaleFactor/1,getCursor/1,
+ getDPI/1,getDPIScaleFactor/1,getDropTarget/1,getExtraStyle/1,getFont/1,
+ getForegroundColour/1,getGrandParent/1,getHandle/1,getHelpText/1,
+ getId/1,getLabel/1,getMaxSize/1,getMinSize/1,getName/1,getParent/1,
+ getPosition/1,getRect/1,getScreenPosition/1,getScreenRect/1,getScrollPos/2,
+ getScrollRange/2,getScrollThumb/2,getSize/1,getSizer/1,getTextExtent/2,
+ getTextExtent/3,getThemeEnabled/1,getToolTip/1,getUpdateRegion/1,
+ getVirtualSize/1,getWindowStyleFlag/1,getWindowVariant/1,hasCapture/1,
+ hasScrollbar/2,hasTransparentBackground/1,hide/1,inheritAttributes/1,
+ initDialog/1,invalidateBestSize/1,isDoubleBuffered/1,isEnabled/1,
+ isExposed/2,isExposed/3,isExposed/5,isFrozen/1,isRetained/1,isShown/1,
+ isShownOnScreen/1,isTopLevel/1,layout/1,lineDown/1,lineUp/1,lower/1,
+ move/2,move/3,move/4,moveAfterInTabOrder/2,moveBeforeInTabOrder/2,
+ navigate/1,navigate/2,pageDown/1,pageUp/1,parent_class/1,popupMenu/2,
+ popupMenu/3,popupMenu/4,raise/1,refresh/1,refresh/2,refreshRect/2,refreshRect/3,
+ releaseMouse/1,removeChild/2,reparent/2,screenToClient/1,screenToClient/2,
+ scrollLines/2,scrollPages/2,scrollWindow/3,scrollWindow/4,setAcceleratorTable/2,
+ setAutoLayout/2,setBackgroundColour/2,setBackgroundStyle/2,setCaret/2,
+ setClientSize/2,setClientSize/3,setContainingSizer/2,setCursor/2,
+ setDoubleBuffered/2,setDropTarget/2,setExtraStyle/2,setFocus/1,setFocusFromKbd/1,
+ setFont/2,setForegroundColour/2,setHelpText/2,setId/2,setLabel/2,setMaxSize/2,
+ setMinSize/2,setName/2,setOwnBackgroundColour/2,setOwnFont/2,setOwnForegroundColour/2,
+ setPalette/2,setScrollPos/3,setScrollPos/4,setScrollbar/5,setScrollbar/6,
+ setSize/2,setSize/3,setSize/5,setSize/6,setSizeHints/2,setSizeHints/3,
+ setSizeHints/4,setSizer/2,setSizer/3,setSizerAndFit/2,setSizerAndFit/3,
+ setThemeEnabled/2,setToolTip/2,setTransparent/2,setVirtualSize/2,
+ setVirtualSize/3,setWindowStyle/2,setWindowStyleFlag/2,setWindowVariant/2,
+ shouldInheritColours/1,show/1,show/2,thaw/1,transferDataFromWindow/1,
+ transferDataToWindow/1,update/1,updateWindowUI/1,updateWindowUI/2,
+ validate/1,warpPointer/3]).
+
+-type wxWebView() :: wx:wx_object().
+-export_type([wxWebView/0]).
+%% @hidden
+parent_class(wxControl) -> true;
+parent_class(wxWindow) -> true;
+parent_class(wxEvtHandler) -> true;
+parent_class(_Class) -> erlang:error({badtype, ?MODULE}).
+
+%% @equiv new(Parent,Id, [])
+-spec new(Parent, Id) -> wxWebView() when
+ Parent::wxWindow:wxWindow(), Id::integer().
+
+new(Parent,Id)
+ when is_record(Parent, wx_ref),is_integer(Id) ->
+ new(Parent,Id, []).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewnew">external documentation</a>.
+-spec new(Parent, Id, [Option]) -> wxWebView() when
+ Parent::wxWindow:wxWindow(), Id::integer(),
+ Option :: {'url', unicode:chardata()}
+ | {'pos', {X::integer(), Y::integer()}}
+ | {'size', {W::integer(), H::integer()}}
+ | {'backend', unicode:chardata()}
+ | {'style', integer()}.
+new(#wx_ref{type=ParentT}=Parent,Id, Options)
+ when is_integer(Id),is_list(Options) ->
+ ?CLASS(ParentT,wxWindow),
+ MOpts = fun({url, Url}) -> Url_UC = unicode:characters_to_binary(Url),{url,Url_UC};
+ ({pos, {_posX,_posY}} = Arg) -> Arg;
+ ({size, {_sizeW,_sizeH}} = Arg) -> Arg;
+ ({backend, Backend}) -> Backend_UC = unicode:characters_to_binary(Backend),{backend,Backend_UC};
+ ({style, _style} = Arg) -> Arg;
+ (BadOpt) -> erlang:error({badoption, BadOpt}) end,
+ Opts = lists:map(MOpts, Options),
+ wxe_util:queue_cmd(Parent,Id, Opts,?get_env(),?wxWebView_New),
+ wxe_util:rec(?wxWebView_New).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewgetcurrenttitle">external documentation</a>.
+-spec getCurrentTitle(This) -> unicode:charlist() when
+ This::wxWebView().
+getCurrentTitle(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_GetCurrentTitle),
+ wxe_util:rec(?wxWebView_GetCurrentTitle).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewgetcurrenturl">external documentation</a>.
+-spec getCurrentURL(This) -> unicode:charlist() when
+ This::wxWebView().
+getCurrentURL(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_GetCurrentURL),
+ wxe_util:rec(?wxWebView_GetCurrentURL).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewgetpagesource">external documentation</a>.
+-spec getPageSource(This) -> unicode:charlist() when
+ This::wxWebView().
+getPageSource(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_GetPageSource),
+ wxe_util:rec(?wxWebView_GetPageSource).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewgetpagetext">external documentation</a>.
+-spec getPageText(This) -> unicode:charlist() when
+ This::wxWebView().
+getPageText(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_GetPageText),
+ wxe_util:rec(?wxWebView_GetPageText).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewisbusy">external documentation</a>.
+-spec isBusy(This) -> boolean() when
+ This::wxWebView().
+isBusy(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_IsBusy),
+ wxe_util:rec(?wxWebView_IsBusy).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewiseditable">external documentation</a>.
+-spec isEditable(This) -> boolean() when
+ This::wxWebView().
+isEditable(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_IsEditable),
+ wxe_util:rec(?wxWebView_IsEditable).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewloadurl">external documentation</a>.
+-spec loadURL(This, Url) -> 'ok' when
+ This::wxWebView(), Url::unicode:chardata().
+loadURL(#wx_ref{type=ThisT}=This,Url)
+ when ?is_chardata(Url) ->
+ ?CLASS(ThisT,wxWebView),
+ Url_UC = unicode:characters_to_binary(Url),
+ wxe_util:queue_cmd(This,Url_UC,?get_env(),?wxWebView_LoadURL).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewprint">external documentation</a>.
+-spec print(This) -> 'ok' when
+ This::wxWebView().
+print(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_Print).
+
+%% @equiv reload(This, [])
+-spec reload(This) -> 'ok' when
+ This::wxWebView().
+
+reload(This)
+ when is_record(This, wx_ref) ->
+ reload(This, []).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewreload">external documentation</a>.
+%%<br /> Flags = ?wxWEBVIEW_RELOAD_DEFAULT | ?wxWEBVIEW_RELOAD_NO_CACHE
+-spec reload(This, [Option]) -> 'ok' when
+ This::wxWebView(),
+ Option :: {'flags', wx:wx_enum()}.
+reload(#wx_ref{type=ThisT}=This, Options)
+ when is_list(Options) ->
+ ?CLASS(ThisT,wxWebView),
+ MOpts = fun({flags, _flags} = Arg) -> Arg;
+ (BadOpt) -> erlang:error({badoption, BadOpt}) end,
+ Opts = lists:map(MOpts, Options),
+ wxe_util:queue_cmd(This, Opts,?get_env(),?wxWebView_Reload).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewrunscript">external documentation</a>.
+-spec runScript(This, Javascript) -> Result when
+ Result ::{Res ::boolean(), Output::unicode:charlist()},
+ This::wxWebView(), Javascript::unicode:chardata().
+runScript(#wx_ref{type=ThisT}=This,Javascript)
+ when ?is_chardata(Javascript) ->
+ ?CLASS(ThisT,wxWebView),
+ Javascript_UC = unicode:characters_to_binary(Javascript),
+ wxe_util:queue_cmd(This,Javascript_UC,?get_env(),?wxWebView_RunScript),
+ wxe_util:rec(?wxWebView_RunScript).
+
+%% @equiv setEditable(This, [])
+-spec setEditable(This) -> 'ok' when
+ This::wxWebView().
+
+setEditable(This)
+ when is_record(This, wx_ref) ->
+ setEditable(This, []).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewseteditable">external documentation</a>.
+-spec setEditable(This, [Option]) -> 'ok' when
+ This::wxWebView(),
+ Option :: {'enable', boolean()}.
+setEditable(#wx_ref{type=ThisT}=This, Options)
+ when is_list(Options) ->
+ ?CLASS(ThisT,wxWebView),
+ MOpts = fun({enable, _enable} = Arg) -> Arg;
+ (BadOpt) -> erlang:error({badoption, BadOpt}) end,
+ Opts = lists:map(MOpts, Options),
+ wxe_util:queue_cmd(This, Opts,?get_env(),?wxWebView_SetEditable).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewsetpage">external documentation</a>.
+-spec setPage(This, Html, BaseUrl) -> 'ok' when
+ This::wxWebView(), Html::unicode:chardata(), BaseUrl::unicode:chardata().
+setPage(#wx_ref{type=ThisT}=This,Html,BaseUrl)
+ when ?is_chardata(Html),?is_chardata(BaseUrl) ->
+ ?CLASS(ThisT,wxWebView),
+ Html_UC = unicode:characters_to_binary(Html),
+ BaseUrl_UC = unicode:characters_to_binary(BaseUrl),
+ wxe_util:queue_cmd(This,Html_UC,BaseUrl_UC,?get_env(),?wxWebView_SetPage).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewstop">external documentation</a>.
+-spec stop(This) -> 'ok' when
+ This::wxWebView().
+stop(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_Stop).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewcancopy">external documentation</a>.
+-spec canCopy(This) -> boolean() when
+ This::wxWebView().
+canCopy(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_CanCopy),
+ wxe_util:rec(?wxWebView_CanCopy).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewcancut">external documentation</a>.
+-spec canCut(This) -> boolean() when
+ This::wxWebView().
+canCut(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_CanCut),
+ wxe_util:rec(?wxWebView_CanCut).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewcanpaste">external documentation</a>.
+-spec canPaste(This) -> boolean() when
+ This::wxWebView().
+canPaste(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_CanPaste),
+ wxe_util:rec(?wxWebView_CanPaste).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewcopy">external documentation</a>.
+-spec copy(This) -> 'ok' when
+ This::wxWebView().
+copy(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_Copy).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewcut">external documentation</a>.
+-spec cut(This) -> 'ok' when
+ This::wxWebView().
+cut(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_Cut).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewpaste">external documentation</a>.
+-spec paste(This) -> 'ok' when
+ This::wxWebView().
+paste(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_Paste).
+
+%% @equiv enableContextMenu(This, [])
+-spec enableContextMenu(This) -> 'ok' when
+ This::wxWebView().
+
+enableContextMenu(This)
+ when is_record(This, wx_ref) ->
+ enableContextMenu(This, []).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewenablecontextmenu">external documentation</a>.
+-spec enableContextMenu(This, [Option]) -> 'ok' when
+ This::wxWebView(),
+ Option :: {'enable', boolean()}.
+enableContextMenu(#wx_ref{type=ThisT}=This, Options)
+ when is_list(Options) ->
+ ?CLASS(ThisT,wxWebView),
+ MOpts = fun({enable, _enable} = Arg) -> Arg;
+ (BadOpt) -> erlang:error({badoption, BadOpt}) end,
+ Opts = lists:map(MOpts, Options),
+ wxe_util:queue_cmd(This, Opts,?get_env(),?wxWebView_EnableContextMenu).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewiscontextmenuenabled">external documentation</a>.
+-spec isContextMenuEnabled(This) -> boolean() when
+ This::wxWebView().
+isContextMenuEnabled(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_IsContextMenuEnabled),
+ wxe_util:rec(?wxWebView_IsContextMenuEnabled).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewcangoback">external documentation</a>.
+-spec canGoBack(This) -> boolean() when
+ This::wxWebView().
+canGoBack(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_CanGoBack),
+ wxe_util:rec(?wxWebView_CanGoBack).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewcangoforward">external documentation</a>.
+-spec canGoForward(This) -> boolean() when
+ This::wxWebView().
+canGoForward(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_CanGoForward),
+ wxe_util:rec(?wxWebView_CanGoForward).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewclearhistory">external documentation</a>.
+-spec clearHistory(This) -> 'ok' when
+ This::wxWebView().
+clearHistory(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_ClearHistory).
+
+%% @equiv enableHistory(This, [])
+-spec enableHistory(This) -> 'ok' when
+ This::wxWebView().
+
+enableHistory(This)
+ when is_record(This, wx_ref) ->
+ enableHistory(This, []).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewenablehistory">external documentation</a>.
+-spec enableHistory(This, [Option]) -> 'ok' when
+ This::wxWebView(),
+ Option :: {'enable', boolean()}.
+enableHistory(#wx_ref{type=ThisT}=This, Options)
+ when is_list(Options) ->
+ ?CLASS(ThisT,wxWebView),
+ MOpts = fun({enable, _enable} = Arg) -> Arg;
+ (BadOpt) -> erlang:error({badoption, BadOpt}) end,
+ Opts = lists:map(MOpts, Options),
+ wxe_util:queue_cmd(This, Opts,?get_env(),?wxWebView_EnableHistory).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewgoback">external documentation</a>.
+-spec goBack(This) -> 'ok' when
+ This::wxWebView().
+goBack(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_GoBack).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewgoforward">external documentation</a>.
+-spec goForward(This) -> 'ok' when
+ This::wxWebView().
+goForward(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_GoForward).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewclearselection">external documentation</a>.
+-spec clearSelection(This) -> 'ok' when
+ This::wxWebView().
+clearSelection(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_ClearSelection).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewdeleteselection">external documentation</a>.
+-spec deleteSelection(This) -> 'ok' when
+ This::wxWebView().
+deleteSelection(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_DeleteSelection).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewgetselectedsource">external documentation</a>.
+-spec getSelectedSource(This) -> unicode:charlist() when
+ This::wxWebView().
+getSelectedSource(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_GetSelectedSource),
+ wxe_util:rec(?wxWebView_GetSelectedSource).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewgetselectedtext">external documentation</a>.
+-spec getSelectedText(This) -> unicode:charlist() when
+ This::wxWebView().
+getSelectedText(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_GetSelectedText),
+ wxe_util:rec(?wxWebView_GetSelectedText).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewhasselection">external documentation</a>.
+-spec hasSelection(This) -> boolean() when
+ This::wxWebView().
+hasSelection(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_HasSelection),
+ wxe_util:rec(?wxWebView_HasSelection).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewselectall">external documentation</a>.
+-spec selectAll(This) -> 'ok' when
+ This::wxWebView().
+selectAll(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_SelectAll).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewcanredo">external documentation</a>.
+-spec canRedo(This) -> boolean() when
+ This::wxWebView().
+canRedo(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_CanRedo),
+ wxe_util:rec(?wxWebView_CanRedo).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewcanundo">external documentation</a>.
+-spec canUndo(This) -> boolean() when
+ This::wxWebView().
+canUndo(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_CanUndo),
+ wxe_util:rec(?wxWebView_CanUndo).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewredo">external documentation</a>.
+-spec redo(This) -> 'ok' when
+ This::wxWebView().
+redo(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_Redo).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewundo">external documentation</a>.
+-spec undo(This) -> 'ok' when
+ This::wxWebView().
+undo(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_Undo).
+
+%% @equiv find(This,Text, [])
+-spec find(This, Text) -> integer() when
+ This::wxWebView(), Text::unicode:chardata().
+
+find(This,Text)
+ when is_record(This, wx_ref),?is_chardata(Text) ->
+ find(This,Text, []).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewfind">external documentation</a>.
+%%<br /> Flags = ?wxWEBVIEW_FIND_WRAP | ?wxWEBVIEW_FIND_ENTIRE_WORD | ?wxWEBVIEW_FIND_MATCH_CASE | ?wxWEBVIEW_FIND_HIGHLIGHT_RESULT | ?wxWEBVIEW_FIND_BACKWARDS | ?wxWEBVIEW_FIND_DEFAULT
+-spec find(This, Text, [Option]) -> integer() when
+ This::wxWebView(), Text::unicode:chardata(),
+ Option :: {'flags', wx:wx_enum()}.
+find(#wx_ref{type=ThisT}=This,Text, Options)
+ when ?is_chardata(Text),is_list(Options) ->
+ ?CLASS(ThisT,wxWebView),
+ Text_UC = unicode:characters_to_binary(Text),
+ MOpts = fun({flags, _flags} = Arg) -> Arg;
+ (BadOpt) -> erlang:error({badoption, BadOpt}) end,
+ Opts = lists:map(MOpts, Options),
+ wxe_util:queue_cmd(This,Text_UC, Opts,?get_env(),?wxWebView_Find),
+ wxe_util:rec(?wxWebView_Find).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewcansetzoomtype">external documentation</a>.
+%%<br /> Type = ?wxWEBVIEW_ZOOM_TYPE_LAYOUT | ?wxWEBVIEW_ZOOM_TYPE_TEXT
+-spec canSetZoomType(This, Type) -> boolean() when
+ This::wxWebView(), Type::wx:wx_enum().
+canSetZoomType(#wx_ref{type=ThisT}=This,Type)
+ when is_integer(Type) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,Type,?get_env(),?wxWebView_CanSetZoomType),
+ wxe_util:rec(?wxWebView_CanSetZoomType).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewgetzoom">external documentation</a>.
+%%<br /> Res = ?wxWEBVIEW_ZOOM_TINY | ?wxWEBVIEW_ZOOM_SMALL | ?wxWEBVIEW_ZOOM_MEDIUM | ?wxWEBVIEW_ZOOM_LARGE | ?wxWEBVIEW_ZOOM_LARGEST
+-spec getZoom(This) -> wx:wx_enum() when
+ This::wxWebView().
+getZoom(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_GetZoom),
+ wxe_util:rec(?wxWebView_GetZoom).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewgetzoomtype">external documentation</a>.
+%%<br /> Res = ?wxWEBVIEW_ZOOM_TYPE_LAYOUT | ?wxWEBVIEW_ZOOM_TYPE_TEXT
+-spec getZoomType(This) -> wx:wx_enum() when
+ This::wxWebView().
+getZoomType(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_GetZoomType),
+ wxe_util:rec(?wxWebView_GetZoomType).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewsetzoom">external documentation</a>.
+%%<br /> Zoom = ?wxWEBVIEW_ZOOM_TINY | ?wxWEBVIEW_ZOOM_SMALL | ?wxWEBVIEW_ZOOM_MEDIUM | ?wxWEBVIEW_ZOOM_LARGE | ?wxWEBVIEW_ZOOM_LARGEST
+-spec setZoom(This, Zoom) -> 'ok' when
+ This::wxWebView(), Zoom::wx:wx_enum().
+setZoom(#wx_ref{type=ThisT}=This,Zoom)
+ when is_integer(Zoom) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,Zoom,?get_env(),?wxWebView_SetZoom).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewsetzoomtype">external documentation</a>.
+%%<br /> ZoomType = ?wxWEBVIEW_ZOOM_TYPE_LAYOUT | ?wxWEBVIEW_ZOOM_TYPE_TEXT
+-spec setZoomType(This, ZoomType) -> 'ok' when
+ This::wxWebView(), ZoomType::wx:wx_enum().
+setZoomType(#wx_ref{type=ThisT}=This,ZoomType)
+ when is_integer(ZoomType) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,ZoomType,?get_env(),?wxWebView_SetZoomType).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewgetzoomfactor">external documentation</a>.
+-spec getZoomFactor(This) -> number() when
+ This::wxWebView().
+getZoomFactor(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebView_GetZoomFactor),
+ wxe_util:rec(?wxWebView_GetZoomFactor).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewsetzoomfactor">external documentation</a>.
+-spec setZoomFactor(This, Zoom) -> 'ok' when
+ This::wxWebView(), Zoom::number().
+setZoomFactor(#wx_ref{type=ThisT}=This,Zoom)
+ when is_number(Zoom) ->
+ ?CLASS(ThisT,wxWebView),
+ wxe_util:queue_cmd(This,Zoom,?get_env(),?wxWebView_SetZoomFactor).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebview.html#wxwebviewisbackendavailable">external documentation</a>.
+-spec isBackendAvailable(Backend) -> boolean() when
+ Backend::unicode:chardata().
+isBackendAvailable(Backend)
+ when ?is_chardata(Backend) ->
+ Backend_UC = unicode:characters_to_binary(Backend),
+ wxe_util:queue_cmd(Backend_UC,?get_env(),?wxWebView_IsBackendAvailable),
+ wxe_util:rec(?wxWebView_IsBackendAvailable).
+
+ %% From wxControl
+%% @hidden
+setLabel(This,Label) -> wxControl:setLabel(This,Label).
+%% @hidden
+getLabel(This) -> wxControl:getLabel(This).
+ %% From wxWindow
+%% @hidden
+getDPI(This) -> wxWindow:getDPI(This).
+%% @hidden
+getContentScaleFactor(This) -> wxWindow:getContentScaleFactor(This).
+%% @hidden
+setDoubleBuffered(This,On) -> wxWindow:setDoubleBuffered(This,On).
+%% @hidden
+isDoubleBuffered(This) -> wxWindow:isDoubleBuffered(This).
+%% @hidden
+canSetTransparent(This) -> wxWindow:canSetTransparent(This).
+%% @hidden
+setTransparent(This,Alpha) -> wxWindow:setTransparent(This,Alpha).
+%% @hidden
+warpPointer(This,X,Y) -> wxWindow:warpPointer(This,X,Y).
+%% @hidden
+validate(This) -> wxWindow:validate(This).
+%% @hidden
+updateWindowUI(This, Options) -> wxWindow:updateWindowUI(This, Options).
+%% @hidden
+updateWindowUI(This) -> wxWindow:updateWindowUI(This).
+%% @hidden
+update(This) -> wxWindow:update(This).
+%% @hidden
+transferDataToWindow(This) -> wxWindow:transferDataToWindow(This).
+%% @hidden
+transferDataFromWindow(This) -> wxWindow:transferDataFromWindow(This).
+%% @hidden
+thaw(This) -> wxWindow:thaw(This).
+%% @hidden
+show(This, Options) -> wxWindow:show(This, Options).
+%% @hidden
+show(This) -> wxWindow:show(This).
+%% @hidden
+shouldInheritColours(This) -> wxWindow:shouldInheritColours(This).
+%% @hidden
+setWindowVariant(This,Variant) -> wxWindow:setWindowVariant(This,Variant).
+%% @hidden
+setWindowStyleFlag(This,Style) -> wxWindow:setWindowStyleFlag(This,Style).
+%% @hidden
+setWindowStyle(This,Style) -> wxWindow:setWindowStyle(This,Style).
+%% @hidden
+setVirtualSize(This,Width,Height) -> wxWindow:setVirtualSize(This,Width,Height).
+%% @hidden
+setVirtualSize(This,Size) -> wxWindow:setVirtualSize(This,Size).
+%% @hidden
+setToolTip(This,TipString) -> wxWindow:setToolTip(This,TipString).
+%% @hidden
+setThemeEnabled(This,Enable) -> wxWindow:setThemeEnabled(This,Enable).
+%% @hidden
+setSizerAndFit(This,Sizer, Options) -> wxWindow:setSizerAndFit(This,Sizer, Options).
+%% @hidden
+setSizerAndFit(This,Sizer) -> wxWindow:setSizerAndFit(This,Sizer).
+%% @hidden
+setSizer(This,Sizer, Options) -> wxWindow:setSizer(This,Sizer, Options).
+%% @hidden
+setSizer(This,Sizer) -> wxWindow:setSizer(This,Sizer).
+%% @hidden
+setSizeHints(This,MinW,MinH, Options) -> wxWindow:setSizeHints(This,MinW,MinH, Options).
+%% @hidden
+setSizeHints(This,MinW,MinH) -> wxWindow:setSizeHints(This,MinW,MinH).
+%% @hidden
+setSizeHints(This,MinSize) -> wxWindow:setSizeHints(This,MinSize).
+%% @hidden
+setSize(This,X,Y,Width,Height, Options) -> wxWindow:setSize(This,X,Y,Width,Height, Options).
+%% @hidden
+setSize(This,X,Y,Width,Height) -> wxWindow:setSize(This,X,Y,Width,Height).
+%% @hidden
+setSize(This,Width,Height) -> wxWindow:setSize(This,Width,Height).
+%% @hidden
+setSize(This,Rect) -> wxWindow:setSize(This,Rect).
+%% @hidden
+setScrollPos(This,Orientation,Pos, Options) -> wxWindow:setScrollPos(This,Orientation,Pos, Options).
+%% @hidden
+setScrollPos(This,Orientation,Pos) -> wxWindow:setScrollPos(This,Orientation,Pos).
+%% @hidden
+setScrollbar(This,Orientation,Position,ThumbSize,Range, Options) -> wxWindow:setScrollbar(This,Orientation,Position,ThumbSize,Range, Options).
+%% @hidden
+setScrollbar(This,Orientation,Position,ThumbSize,Range) -> wxWindow:setScrollbar(This,Orientation,Position,ThumbSize,Range).
+%% @hidden
+setPalette(This,Pal) -> wxWindow:setPalette(This,Pal).
+%% @hidden
+setName(This,Name) -> wxWindow:setName(This,Name).
+%% @hidden
+setId(This,Winid) -> wxWindow:setId(This,Winid).
+%% @hidden
+setHelpText(This,HelpText) -> wxWindow:setHelpText(This,HelpText).
+%% @hidden
+setForegroundColour(This,Colour) -> wxWindow:setForegroundColour(This,Colour).
+%% @hidden
+setFont(This,Font) -> wxWindow:setFont(This,Font).
+%% @hidden
+setFocusFromKbd(This) -> wxWindow:setFocusFromKbd(This).
+%% @hidden
+setFocus(This) -> wxWindow:setFocus(This).
+%% @hidden
+setExtraStyle(This,ExStyle) -> wxWindow:setExtraStyle(This,ExStyle).
+%% @hidden
+setDropTarget(This,Target) -> wxWindow:setDropTarget(This,Target).
+%% @hidden
+setOwnForegroundColour(This,Colour) -> wxWindow:setOwnForegroundColour(This,Colour).
+%% @hidden
+setOwnFont(This,Font) -> wxWindow:setOwnFont(This,Font).
+%% @hidden
+setOwnBackgroundColour(This,Colour) -> wxWindow:setOwnBackgroundColour(This,Colour).
+%% @hidden
+setMinSize(This,Size) -> wxWindow:setMinSize(This,Size).
+%% @hidden
+setMaxSize(This,Size) -> wxWindow:setMaxSize(This,Size).
+%% @hidden
+setCursor(This,Cursor) -> wxWindow:setCursor(This,Cursor).
+%% @hidden
+setContainingSizer(This,Sizer) -> wxWindow:setContainingSizer(This,Sizer).
+%% @hidden
+setClientSize(This,Width,Height) -> wxWindow:setClientSize(This,Width,Height).
+%% @hidden
+setClientSize(This,Size) -> wxWindow:setClientSize(This,Size).
+%% @hidden
+setCaret(This,Caret) -> wxWindow:setCaret(This,Caret).
+%% @hidden
+setBackgroundStyle(This,Style) -> wxWindow:setBackgroundStyle(This,Style).
+%% @hidden
+setBackgroundColour(This,Colour) -> wxWindow:setBackgroundColour(This,Colour).
+%% @hidden
+setAutoLayout(This,AutoLayout) -> wxWindow:setAutoLayout(This,AutoLayout).
+%% @hidden
+setAcceleratorTable(This,Accel) -> wxWindow:setAcceleratorTable(This,Accel).
+%% @hidden
+scrollWindow(This,Dx,Dy, Options) -> wxWindow:scrollWindow(This,Dx,Dy, Options).
+%% @hidden
+scrollWindow(This,Dx,Dy) -> wxWindow:scrollWindow(This,Dx,Dy).
+%% @hidden
+scrollPages(This,Pages) -> wxWindow:scrollPages(This,Pages).
+%% @hidden
+scrollLines(This,Lines) -> wxWindow:scrollLines(This,Lines).
+%% @hidden
+screenToClient(This,Pt) -> wxWindow:screenToClient(This,Pt).
+%% @hidden
+screenToClient(This) -> wxWindow:screenToClient(This).
+%% @hidden
+reparent(This,NewParent) -> wxWindow:reparent(This,NewParent).
+%% @hidden
+removeChild(This,Child) -> wxWindow:removeChild(This,Child).
+%% @hidden
+releaseMouse(This) -> wxWindow:releaseMouse(This).
+%% @hidden
+refreshRect(This,Rect, Options) -> wxWindow:refreshRect(This,Rect, Options).
+%% @hidden
+refreshRect(This,Rect) -> wxWindow:refreshRect(This,Rect).
+%% @hidden
+refresh(This, Options) -> wxWindow:refresh(This, Options).
+%% @hidden
+refresh(This) -> wxWindow:refresh(This).
+%% @hidden
+raise(This) -> wxWindow:raise(This).
+%% @hidden
+popupMenu(This,Menu,X,Y) -> wxWindow:popupMenu(This,Menu,X,Y).
+%% @hidden
+popupMenu(This,Menu, Options) -> wxWindow:popupMenu(This,Menu, Options).
+%% @hidden
+popupMenu(This,Menu) -> wxWindow:popupMenu(This,Menu).
+%% @hidden
+pageUp(This) -> wxWindow:pageUp(This).
+%% @hidden
+pageDown(This) -> wxWindow:pageDown(This).
+%% @hidden
+navigate(This, Options) -> wxWindow:navigate(This, Options).
+%% @hidden
+navigate(This) -> wxWindow:navigate(This).
+%% @hidden
+moveBeforeInTabOrder(This,Win) -> wxWindow:moveBeforeInTabOrder(This,Win).
+%% @hidden
+moveAfterInTabOrder(This,Win) -> wxWindow:moveAfterInTabOrder(This,Win).
+%% @hidden
+move(This,X,Y, Options) -> wxWindow:move(This,X,Y, Options).
+%% @hidden
+move(This,X,Y) -> wxWindow:move(This,X,Y).
+%% @hidden
+move(This,Pt) -> wxWindow:move(This,Pt).
+%% @hidden
+lower(This) -> wxWindow:lower(This).
+%% @hidden
+lineUp(This) -> wxWindow:lineUp(This).
+%% @hidden
+lineDown(This) -> wxWindow:lineDown(This).
+%% @hidden
+layout(This) -> wxWindow:layout(This).
+%% @hidden
+isShownOnScreen(This) -> wxWindow:isShownOnScreen(This).
+%% @hidden
+isTopLevel(This) -> wxWindow:isTopLevel(This).
+%% @hidden
+isShown(This) -> wxWindow:isShown(This).
+%% @hidden
+isRetained(This) -> wxWindow:isRetained(This).
+%% @hidden
+isExposed(This,X,Y,W,H) -> wxWindow:isExposed(This,X,Y,W,H).
+%% @hidden
+isExposed(This,X,Y) -> wxWindow:isExposed(This,X,Y).
+%% @hidden
+isExposed(This,Pt) -> wxWindow:isExposed(This,Pt).
+%% @hidden
+isEnabled(This) -> wxWindow:isEnabled(This).
+%% @hidden
+isFrozen(This) -> wxWindow:isFrozen(This).
+%% @hidden
+invalidateBestSize(This) -> wxWindow:invalidateBestSize(This).
+%% @hidden
+initDialog(This) -> wxWindow:initDialog(This).
+%% @hidden
+inheritAttributes(This) -> wxWindow:inheritAttributes(This).
+%% @hidden
+hide(This) -> wxWindow:hide(This).
+%% @hidden
+hasTransparentBackground(This) -> wxWindow:hasTransparentBackground(This).
+%% @hidden
+hasScrollbar(This,Orient) -> wxWindow:hasScrollbar(This,Orient).
+%% @hidden
+hasCapture(This) -> wxWindow:hasCapture(This).
+%% @hidden
+getWindowVariant(This) -> wxWindow:getWindowVariant(This).
+%% @hidden
+getWindowStyleFlag(This) -> wxWindow:getWindowStyleFlag(This).
+%% @hidden
+getVirtualSize(This) -> wxWindow:getVirtualSize(This).
+%% @hidden
+getUpdateRegion(This) -> wxWindow:getUpdateRegion(This).
+%% @hidden
+getToolTip(This) -> wxWindow:getToolTip(This).
+%% @hidden
+getThemeEnabled(This) -> wxWindow:getThemeEnabled(This).
+%% @hidden
+getTextExtent(This,String, Options) -> wxWindow:getTextExtent(This,String, Options).
+%% @hidden
+getTextExtent(This,String) -> wxWindow:getTextExtent(This,String).
+%% @hidden
+getSizer(This) -> wxWindow:getSizer(This).
+%% @hidden
+getSize(This) -> wxWindow:getSize(This).
+%% @hidden
+getScrollThumb(This,Orientation) -> wxWindow:getScrollThumb(This,Orientation).
+%% @hidden
+getScrollRange(This,Orientation) -> wxWindow:getScrollRange(This,Orientation).
+%% @hidden
+getScrollPos(This,Orientation) -> wxWindow:getScrollPos(This,Orientation).
+%% @hidden
+getScreenRect(This) -> wxWindow:getScreenRect(This).
+%% @hidden
+getScreenPosition(This) -> wxWindow:getScreenPosition(This).
+%% @hidden
+getRect(This) -> wxWindow:getRect(This).
+%% @hidden
+getPosition(This) -> wxWindow:getPosition(This).
+%% @hidden
+getParent(This) -> wxWindow:getParent(This).
+%% @hidden
+getName(This) -> wxWindow:getName(This).
+%% @hidden
+getMinSize(This) -> wxWindow:getMinSize(This).
+%% @hidden
+getMaxSize(This) -> wxWindow:getMaxSize(This).
+%% @hidden
+getId(This) -> wxWindow:getId(This).
+%% @hidden
+getHelpText(This) -> wxWindow:getHelpText(This).
+%% @hidden
+getHandle(This) -> wxWindow:getHandle(This).
+%% @hidden
+getGrandParent(This) -> wxWindow:getGrandParent(This).
+%% @hidden
+getForegroundColour(This) -> wxWindow:getForegroundColour(This).
+%% @hidden
+getFont(This) -> wxWindow:getFont(This).
+%% @hidden
+getExtraStyle(This) -> wxWindow:getExtraStyle(This).
+%% @hidden
+getDPIScaleFactor(This) -> wxWindow:getDPIScaleFactor(This).
+%% @hidden
+getDropTarget(This) -> wxWindow:getDropTarget(This).
+%% @hidden
+getCursor(This) -> wxWindow:getCursor(This).
+%% @hidden
+getContainingSizer(This) -> wxWindow:getContainingSizer(This).
+%% @hidden
+getClientSize(This) -> wxWindow:getClientSize(This).
+%% @hidden
+getChildren(This) -> wxWindow:getChildren(This).
+%% @hidden
+getCharWidth(This) -> wxWindow:getCharWidth(This).
+%% @hidden
+getCharHeight(This) -> wxWindow:getCharHeight(This).
+%% @hidden
+getCaret(This) -> wxWindow:getCaret(This).
+%% @hidden
+getBestSize(This) -> wxWindow:getBestSize(This).
+%% @hidden
+getBackgroundStyle(This) -> wxWindow:getBackgroundStyle(This).
+%% @hidden
+getBackgroundColour(This) -> wxWindow:getBackgroundColour(This).
+%% @hidden
+getAcceleratorTable(This) -> wxWindow:getAcceleratorTable(This).
+%% @hidden
+freeze(This) -> wxWindow:freeze(This).
+%% @hidden
+fitInside(This) -> wxWindow:fitInside(This).
+%% @hidden
+fit(This) -> wxWindow:fit(This).
+%% @hidden
+findWindow(This,Id) -> wxWindow:findWindow(This,Id).
+%% @hidden
+enable(This, Options) -> wxWindow:enable(This, Options).
+%% @hidden
+enable(This) -> wxWindow:enable(This).
+%% @hidden
+dragAcceptFiles(This,Accept) -> wxWindow:dragAcceptFiles(This,Accept).
+%% @hidden
+disable(This) -> wxWindow:disable(This).
+%% @hidden
+destroyChildren(This) -> wxWindow:destroyChildren(This).
+%% @hidden
+convertPixelsToDialog(This,Sz) -> wxWindow:convertPixelsToDialog(This,Sz).
+%% @hidden
+convertDialogToPixels(This,Sz) -> wxWindow:convertDialogToPixels(This,Sz).
+%% @hidden
+close(This, Options) -> wxWindow:close(This, Options).
+%% @hidden
+close(This) -> wxWindow:close(This).
+%% @hidden
+clientToScreen(This,X,Y) -> wxWindow:clientToScreen(This,X,Y).
+%% @hidden
+clientToScreen(This,Pt) -> wxWindow:clientToScreen(This,Pt).
+%% @hidden
+clearBackground(This) -> wxWindow:clearBackground(This).
+%% @hidden
+centreOnParent(This, Options) -> wxWindow:centreOnParent(This, Options).
+%% @hidden
+centerOnParent(This, Options) -> wxWindow:centerOnParent(This, Options).
+%% @hidden
+centreOnParent(This) -> wxWindow:centreOnParent(This).
+%% @hidden
+centerOnParent(This) -> wxWindow:centerOnParent(This).
+%% @hidden
+centre(This, Options) -> wxWindow:centre(This, Options).
+%% @hidden
+center(This, Options) -> wxWindow:center(This, Options).
+%% @hidden
+centre(This) -> wxWindow:centre(This).
+%% @hidden
+center(This) -> wxWindow:center(This).
+%% @hidden
+captureMouse(This) -> wxWindow:captureMouse(This).
+%% @hidden
+cacheBestSize(This,Size) -> wxWindow:cacheBestSize(This,Size).
+ %% From wxEvtHandler
+%% @hidden
+disconnect(This,EventType, Options) -> wxEvtHandler:disconnect(This,EventType, Options).
+%% @hidden
+disconnect(This,EventType) -> wxEvtHandler:disconnect(This,EventType).
+%% @hidden
+disconnect(This) -> wxEvtHandler:disconnect(This).
+%% @hidden
+connect(This,EventType, Options) -> wxEvtHandler:connect(This,EventType, Options).
+%% @hidden
+connect(This,EventType) -> wxEvtHandler:connect(This,EventType).
diff --git a/lib/wx/src/gen/wxWebViewEvent.erl b/lib/wx/src/gen/wxWebViewEvent.erl
new file mode 100644
index 0000000000..471b306a45
--- /dev/null
+++ b/lib/wx/src/gen/wxWebViewEvent.erl
@@ -0,0 +1,113 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2008-2021. All Rights Reserved.
+%%
+%% Licensed under the Apache License, Version 2.0 (the "License");
+%% you may not use this file except in compliance with the License.
+%% You may obtain a copy of the License at
+%%
+%% http://www.apache.org/licenses/LICENSE-2.0
+%%
+%% Unless required by applicable law or agreed to in writing, software
+%% distributed under the License is distributed on an "AS IS" BASIS,
+%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+%% See the License for the specific language governing permissions and
+%% limitations under the License.
+%%
+%% %CopyrightEnd%
+%% This file is generated DO NOT EDIT
+
+-module(wxWebViewEvent).
+-include("wxe.hrl").
+-export([getInt/1,getString/1,getTarget/1,getURL/1]).
+
+%% inherited exports
+-export([allow/1,getClientData/1,getExtraLong/1,getId/1,getSelection/1,getSkipped/1,
+ getTimestamp/1,isAllowed/1,isChecked/1,isCommandEvent/1,isSelection/1,
+ parent_class/1,resumePropagation/2,setInt/2,setString/2,shouldPropagate/1,
+ skip/1,skip/2,stopPropagation/1,veto/1]).
+
+-type wxWebViewEvent() :: wx:wx_object().
+-include("wx.hrl").
+-type wxWebViewEventType() :: 'webview_navigating' | 'webview_navigated' | 'webview_loaded' | 'webview_error' | 'webview_newwindow' | 'webview_title_changed'.
+-export_type([wxWebViewEvent/0, wxWebView/0, wxWebViewEventType/0]).
+%% @hidden
+parent_class(wxNotifyEvent) -> true;
+parent_class(wxCommandEvent) -> true;
+parent_class(wxEvent) -> true;
+parent_class(_Class) -> erlang:error({badtype, ?MODULE}).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebviewevent.html#wxwebvieweventgetstring">external documentation</a>.
+-spec getString(This) -> unicode:charlist() when
+ This::wxWebViewEvent().
+getString(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebViewEvent),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebViewEvent_GetString),
+ wxe_util:rec(?wxWebViewEvent_GetString).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebviewevent.html#wxwebvieweventgetint">external documentation</a>.
+-spec getInt(This) -> integer() when
+ This::wxWebViewEvent().
+getInt(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebViewEvent),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebViewEvent_GetInt),
+ wxe_util:rec(?wxWebViewEvent_GetInt).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebviewevent.html#wxwebvieweventgettarget">external documentation</a>.
+-spec getTarget(This) -> unicode:charlist() when
+ This::wxWebViewEvent().
+getTarget(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebViewEvent),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebViewEvent_GetTarget),
+ wxe_util:rec(?wxWebViewEvent_GetTarget).
+
+%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxwebviewevent.html#wxwebvieweventgeturl">external documentation</a>.
+-spec getURL(This) -> unicode:charlist() when
+ This::wxWebViewEvent().
+getURL(#wx_ref{type=ThisT}=This) ->
+ ?CLASS(ThisT,wxWebViewEvent),
+ wxe_util:queue_cmd(This,?get_env(),?wxWebViewEvent_GetURL),
+ wxe_util:rec(?wxWebViewEvent_GetURL).
+
+ %% From wxNotifyEvent
+%% @hidden
+veto(This) -> wxNotifyEvent:veto(This).
+%% @hidden
+isAllowed(This) -> wxNotifyEvent:isAllowed(This).
+%% @hidden
+allow(This) -> wxNotifyEvent:allow(This).
+ %% From wxCommandEvent
+%% @hidden
+setString(This,String) -> wxCommandEvent:setString(This,String).
+%% @hidden
+setInt(This,IntCommand) -> wxCommandEvent:setInt(This,IntCommand).
+%% @hidden
+isSelection(This) -> wxCommandEvent:isSelection(This).
+%% @hidden
+isChecked(This) -> wxCommandEvent:isChecked(This).
+%% @hidden
+getSelection(This) -> wxCommandEvent:getSelection(This).
+%% @hidden
+getExtraLong(This) -> wxCommandEvent:getExtraLong(This).
+%% @hidden
+getClientData(This) -> wxCommandEvent:getClientData(This).
+ %% From wxEvent
+%% @hidden
+stopPropagation(This) -> wxEvent:stopPropagation(This).
+%% @hidden
+skip(This, Options) -> wxEvent:skip(This, Options).
+%% @hidden
+skip(This) -> wxEvent:skip(This).
+%% @hidden
+shouldPropagate(This) -> wxEvent:shouldPropagate(This).
+%% @hidden
+resumePropagation(This,PropagationLevel) -> wxEvent:resumePropagation(This,PropagationLevel).
+%% @hidden
+isCommandEvent(This) -> wxEvent:isCommandEvent(This).
+%% @hidden
+getTimestamp(This) -> wxEvent:getTimestamp(This).
+%% @hidden
+getSkipped(This) -> wxEvent:getSkipped(This).
+%% @hidden
+getId(This) -> wxEvent:getId(This).
diff --git a/lib/wx/src/gen/wx_misc.erl b/lib/wx/src/gen/wx_misc.erl
index 3332baeadb..1e3e9dcf0d 100644
--- a/lib/wx/src/gen/wx_misc.erl
+++ b/lib/wx/src/gen/wx_misc.erl
@@ -1,7 +1,7 @@
%%
%% %CopyrightBegin%
%%
-%% Copyright Ericsson AB 2008-2020. All Rights Reserved.
+%% Copyright Ericsson AB 2008-2021. All Rights Reserved.
%%
%% Licensed under the Apache License, Version 2.0 (the "License");
%% you may not use this file except in compliance with the License.
@@ -33,6 +33,29 @@
-export([displaySize/0,setCursor/1]).
+-export([mSWSetEmulationLevel/1, mSWSetEmulationLevel/2]).
+
+%% @doc See <a href="https://docs.wxwidgets.org/3.1.4/classwx_web_view_i_e.html#a7a45d02cb7dd6dbfcc09566449a1f3bd">external documentation</a>.
+%%<br /> Level = ?wxWEBVIEWIE_EMU_DEFAULT | ?wxWEBVIEWIE_EMU_IE7 | ?wxWEBVIEWIE_EMU_IE8 | ?wxWEBVIEWIE_EMU_IE8_FORCE | ?wxWEBVIEWIE_EMU_IE9 | ?wxWEBVIEWIE_EMU_IE9_FORCE | ?wxWEBVIEWIE_EMU_IE10 | ?wxWEBVIEWIE_EMU_IE10_FORCE | ?wxWEBVIEWIE_EMU_IE11 | ?wxWEBVIEWIE_EMU_IE11_FORCE
+-spec mSWSetEmulationLevel(Level) -> boolean() when
+ Level :: wx:wx_enum().
+mSWSetEmulationLevel(Level) when is_integer(Level) ->
+ mSWSetEmulationLevel(Level, "erl.exe"),
+ mSWSetEmulationLevel(Level, "werl.exe"),
+ true.
+
+%% @doc See <a href="https://docs.wxwidgets.org/3.1.4/classwx_web_view_i_e.html#a7a45d02cb7dd6dbfcc09566449a1f3bd">external documentation</a>.
+%%<br /> Level = ?wxWEBVIEWIE_EMU_DEFAULT | ?wxWEBVIEWIE_EMU_IE7 | ?wxWEBVIEWIE_EMU_IE8 | ?wxWEBVIEWIE_EMU_IE8_FORCE | ?wxWEBVIEWIE_EMU_IE9 | ?wxWEBVIEWIE_EMU_IE9_FORCE | ?wxWEBVIEWIE_EMU_IE10 | ?wxWEBVIEWIE_EMU_IE10_FORCE | ?wxWEBVIEWIE_EMU_IE11 | ?wxWEBVIEWIE_EMU_IE11_FORCE
+-spec mSWSetEmulationLevel(Level, Executable) -> boolean() when
+ Level :: wx:wx_enum(),
+ Executable :: string().
+mSWSetEmulationLevel(Level, Executable) ->
+ {ok, Reg} = win32reg:open([write]),
+ ok = win32reg:change_key(Reg, "\\hkey_current_user\\software\\microsoft\\internet explorer\\main\\featurecontrol\\"),
+ ok = win32reg:change_key_create(Reg, "FEATURE_BROWSER_EMULATION"),
+ ok = win32reg:set_value(Reg, Executable, Level),
+ ok = win32reg:close(Reg),
+ true.
%% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_miscellany.html#wxgetkeystate">external documentation</a>.
%%<br /> Key = ?WXK_NONE | ?WXK_CONTROL_A | ?WXK_CONTROL_B | ?WXK_CONTROL_C | ?WXK_CONTROL_D | ?WXK_CONTROL_E | ?WXK_CONTROL_F | ?WXK_CONTROL_G | ?WXK_CONTROL_H | ?WXK_CONTROL_I | ?WXK_CONTROL_J | ?WXK_CONTROL_K | ?WXK_CONTROL_L | ?WXK_CONTROL_M | ?WXK_CONTROL_N | ?WXK_CONTROL_O | ?WXK_CONTROL_P | ?WXK_CONTROL_Q | ?WXK_CONTROL_R | ?WXK_CONTROL_S | ?WXK_CONTROL_T | ?WXK_CONTROL_U | ?WXK_CONTROL_V | ?WXK_CONTROL_W | ?WXK_CONTROL_X | ?WXK_CONTROL_Y | ?WXK_CONTROL_Z | ?WXK_BACK | ?WXK_TAB | ?WXK_RETURN | ?WXK_ESCAPE | ?WXK_SPACE | ?WXK_DELETE | ?WXK_START | ?WXK_LBUTTON | ?WXK_RBUTTON | ?WXK_CANCEL | ?WXK_MBUTTON | ?WXK_CLEAR | ?WXK_SHIFT | ?WXK_ALT | ?WXK_CONTROL | ?WXK_MENU | ?WXK_PAUSE | ?WXK_CAPITAL | ?WXK_END | ?WXK_HOME | ?WXK_LEFT | ?WXK_UP | ?WXK_RIGHT | ?WXK_DOWN | ?WXK_SELECT | ?WXK_PRINT | ?WXK_EXECUTE | ?WXK_SNAPSHOT | ?WXK_INSERT | ?WXK_HELP | ?WXK_NUMPAD0 | ?WXK_NUMPAD1 | ?WXK_NUMPAD2 | ?WXK_NUMPAD3 | ?WXK_NUMPAD4 | ?WXK_NUMPAD5 | ?WXK_NUMPAD6 | ?WXK_NUMPAD7 | ?WXK_NUMPAD8 | ?WXK_NUMPAD9 | ?WXK_MULTIPLY | ?WXK_ADD | ?WXK_SEPARATOR | ?WXK_SUBTRACT | ?WXK_DECIMAL | ?WXK_DIVIDE | ?WXK_F1 | ?WXK_F2 | ?WXK_F3 | ?WXK_F4 | ?WXK_F5 | ?WXK_F6 | ?WXK_F7 | ?WXK_F8 | ?WXK_F9 | ?WXK_F10 | ?WXK_F11 | ?WXK_F12 | ?WXK_F13 | ?WXK_F14 | ?WXK_F15 | ?WXK_F16 | ?WXK_F17 | ?WXK_F18 | ?WXK_F19 | ?WXK_F20 | ?WXK_F21 | ?WXK_F22 | ?WXK_F23 | ?WXK_F24 | ?WXK_NUMLOCK | ?WXK_SCROLL | ?WXK_PAGEUP | ?WXK_PAGEDOWN | ?WXK_NUMPAD_SPACE | ?WXK_NUMPAD_TAB | ?WXK_NUMPAD_ENTER | ?WXK_NUMPAD_F1 | ?WXK_NUMPAD_F2 | ?WXK_NUMPAD_F3 | ?WXK_NUMPAD_F4 | ?WXK_NUMPAD_HOME | ?WXK_NUMPAD_LEFT | ?WXK_NUMPAD_UP | ?WXK_NUMPAD_RIGHT | ?WXK_NUMPAD_DOWN | ?WXK_NUMPAD_PAGEUP | ?WXK_NUMPAD_PAGEDOWN | ?WXK_NUMPAD_END | ?WXK_NUMPAD_BEGIN | ?WXK_NUMPAD_INSERT | ?WXK_NUMPAD_DELETE | ?WXK_NUMPAD_EQUAL | ?WXK_NUMPAD_MULTIPLY | ?WXK_NUMPAD_ADD | ?WXK_NUMPAD_SEPARATOR | ?WXK_NUMPAD_SUBTRACT | ?WXK_NUMPAD_DECIMAL | ?WXK_NUMPAD_DIVIDE | ?WXK_WINDOWS_LEFT | ?WXK_WINDOWS_RIGHT | ?WXK_WINDOWS_MENU | ?WXK_RAW_CONTROL | ?WXK_COMMAND | ?WXK_SPECIAL1 | ?WXK_SPECIAL2 | ?WXK_SPECIAL3 | ?WXK_SPECIAL4 | ?WXK_SPECIAL5 | ?WXK_SPECIAL6 | ?WXK_SPECIAL7 | ?WXK_SPECIAL8 | ?WXK_SPECIAL9 | ?WXK_SPECIAL10 | ?WXK_SPECIAL11 | ?WXK_SPECIAL12 | ?WXK_SPECIAL13 | ?WXK_SPECIAL14 | ?WXK_SPECIAL15 | ?WXK_SPECIAL16 | ?WXK_SPECIAL17 | ?WXK_SPECIAL18 | ?WXK_SPECIAL19 | ?WXK_SPECIAL20 | ?WXK_BROWSER_BACK | ?WXK_BROWSER_FORWARD | ?WXK_BROWSER_REFRESH | ?WXK_BROWSER_STOP | ?WXK_BROWSER_SEARCH | ?WXK_BROWSER_FAVORITES | ?WXK_BROWSER_HOME | ?WXK_VOLUME_MUTE | ?WXK_VOLUME_DOWN | ?WXK_VOLUME_UP | ?WXK_MEDIA_NEXT_TRACK | ?WXK_MEDIA_PREV_TRACK | ?WXK_MEDIA_STOP | ?WXK_MEDIA_PLAY_PAUSE | ?WXK_LAUNCH_MAIL | ?WXK_LAUNCH_APP1 | ?WXK_LAUNCH_APP2
-spec getKeyState(Key) -> boolean() when
diff --git a/lib/wx/src/gen/wxe_funcs.hrl b/lib/wx/src/gen/wxe_funcs.hrl
index 93dd6b1a6f..c7d913162d 100644
--- a/lib/wx/src/gen/wxe_funcs.hrl
+++ b/lib/wx/src/gen/wxe_funcs.hrl
@@ -3378,3 +3378,54 @@
-define(wxNotificationMessage_SetParent, 3552).
-define(wxNotificationMessage_SetTitle, 3553).
-define(wxNotificationMessage_Show, 3554).
+-define(wxWebView_New, 3556).
+-define(wxWebView_GetCurrentTitle, 3557).
+-define(wxWebView_GetCurrentURL, 3558).
+-define(wxWebView_GetPageSource, 3559).
+-define(wxWebView_GetPageText, 3560).
+-define(wxWebView_IsBusy, 3561).
+-define(wxWebView_IsEditable, 3562).
+-define(wxWebView_LoadURL, 3563).
+-define(wxWebView_Print, 3564).
+-define(wxWebView_Reload, 3565).
+-define(wxWebView_RunScript, 3566).
+-define(wxWebView_SetEditable, 3567).
+-define(wxWebView_SetPage, 3568).
+-define(wxWebView_Stop, 3569).
+-define(wxWebView_CanCopy, 3570).
+-define(wxWebView_CanCut, 3571).
+-define(wxWebView_CanPaste, 3572).
+-define(wxWebView_Copy, 3573).
+-define(wxWebView_Cut, 3574).
+-define(wxWebView_Paste, 3575).
+-define(wxWebView_EnableContextMenu, 3576).
+-define(wxWebView_IsContextMenuEnabled, 3577).
+-define(wxWebView_CanGoBack, 3578).
+-define(wxWebView_CanGoForward, 3579).
+-define(wxWebView_ClearHistory, 3580).
+-define(wxWebView_EnableHistory, 3581).
+-define(wxWebView_GoBack, 3582).
+-define(wxWebView_GoForward, 3583).
+-define(wxWebView_ClearSelection, 3584).
+-define(wxWebView_DeleteSelection, 3585).
+-define(wxWebView_GetSelectedSource, 3586).
+-define(wxWebView_GetSelectedText, 3587).
+-define(wxWebView_HasSelection, 3588).
+-define(wxWebView_SelectAll, 3589).
+-define(wxWebView_CanRedo, 3590).
+-define(wxWebView_CanUndo, 3591).
+-define(wxWebView_Redo, 3592).
+-define(wxWebView_Undo, 3593).
+-define(wxWebView_Find, 3594).
+-define(wxWebView_CanSetZoomType, 3595).
+-define(wxWebView_GetZoom, 3596).
+-define(wxWebView_GetZoomType, 3597).
+-define(wxWebView_SetZoom, 3598).
+-define(wxWebView_SetZoomType, 3599).
+-define(wxWebView_GetZoomFactor, 3600).
+-define(wxWebView_SetZoomFactor, 3601).
+-define(wxWebView_IsBackendAvailable, 3602).
+-define(wxWebViewEvent_GetString, 3603).
+-define(wxWebViewEvent_GetInt, 3604).
+-define(wxWebViewEvent_GetTarget, 3605).
+-define(wxWebViewEvent_GetURL, 3606).
diff --git a/lib/wx/wxwin-2.8.m4 b/lib/wx/wxwin-2.8.m4
deleted file mode 100644
index 52c55e2e6e..0000000000
--- a/lib/wx/wxwin-2.8.m4
+++ /dev/null
@@ -1,366 +0,0 @@
-dnl ---------------------------------------------------------------------------
-dnl Macros for wxWidgets detection. Typically used in configure.in as:
-dnl
-dnl AC_ARG_ENABLE(...)
-dnl AC_ARG_WITH(...)
-dnl ...
-dnl AM_OPTIONS_WXCONFIG
-dnl ...
-dnl ...
-dnl AM_PATH_WXCONFIG(2.6.0, wxWin=1)
-dnl if test "$wxWin" != 1; then
-dnl AC_MSG_ERROR([
-dnl wxWidgets must be installed on your system
-dnl but wx-config script couldn't be found.
-dnl
-dnl Please check that wx-config is in path, the directory
-dnl where wxWidgets libraries are installed (returned by
-dnl 'wx-config --libs' command) is in LD_LIBRARY_PATH or
-dnl equivalent variable and wxWidgets version is 2.3.4 or above.
-dnl ])
-dnl fi
-dnl CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS"
-dnl CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY"
-dnl CFLAGS="$CFLAGS $WX_CFLAGS_ONLY"
-dnl
-dnl LIBS="$LIBS $WX_LIBS"
-dnl ---------------------------------------------------------------------------
-
-dnl ---------------------------------------------------------------------------
-dnl AM_OPTIONS_WXCONFIG
-dnl
-dnl adds support for --wx-prefix, --wx-exec-prefix, --with-wxdir and
-dnl --wx-config command line options
-dnl ---------------------------------------------------------------------------
-
-AC_DEFUN([AM_OPTIONS_WXCONFIG],
-[
- AC_ARG_WITH(wxdir,
- [ --with-wxdir=PATH Use uninstalled version of wxWidgets in PATH],
- [ wx_config_name="$withval/wx-config"
- wx_config_args="--inplace"])
- AC_ARG_WITH(wx-config,
- [ --with-wx-config=CONFIG wx-config script to use (optional)],
- wx_config_name="$withval" )
- AC_ARG_WITH(wx-prefix,
- [ --with-wx-prefix=PREFIX Prefix where wxWidgets is installed (optional)],
- wx_config_prefix="$withval", wx_config_prefix="")
- AC_ARG_WITH(wx-exec-prefix,
- [ --with-wx-exec-prefix=PREFIX
- Exec prefix where wxWidgets is installed (optional)],
- wx_config_exec_prefix="$withval", wx_config_exec_prefix="")
-])
-
-dnl Helper macro for checking if wx version is at least $1.$2.$3, set's
-dnl wx_ver_ok=yes if it is:
-AC_DEFUN([_WX_PRIVATE_CHECK_VERSION],
-[
- wx_ver_ok=""
- if test "x$WX_VERSION" != x ; then
- if test $wx_config_major_version -gt $1; then
- wx_ver_ok=yes
- else
- if test $wx_config_major_version -eq $1; then
- if test $wx_config_minor_version -gt $2; then
- wx_ver_ok=yes
- else
- if test $wx_config_minor_version -eq $2; then
- if test $wx_config_micro_version -ge $3; then
- wx_ver_ok=yes
- fi
- fi
- fi
- fi
- fi
- fi
-])
-
-dnl ---------------------------------------------------------------------------
-dnl AM_PATH_WXCONFIG(VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND
-dnl [, WX-LIBS [, ADDITIONAL-WX-CONFIG-FLAGS]]]])
-dnl
-dnl Test for wxWidgets, and define WX_C*FLAGS, WX_LIBS and WX_LIBS_STATIC
-dnl (the latter is for static linking against wxWidgets). Set WX_CONFIG_NAME
-dnl environment variable to override the default name of the wx-config script
-dnl to use. Set WX_CONFIG_PATH to specify the full path to wx-config - in this
-dnl case the macro won't even waste time on tests for its existence.
-dnl
-dnl Optional WX-LIBS argument contains comma- or space-separated list of
-dnl wxWidgets libraries to link against (it may include contrib libraries). If
-dnl it is not specified then WX_LIBS and WX_LIBS_STATIC will contain flags to
-dnl link with all of the core wxWidgets libraries.
-dnl
-dnl Optional ADDITIONAL-WX-CONFIG-FLAGS argument is appended to wx-config
-dnl invocation command in present. It can be used to fine-tune lookup of
-dnl best wxWidgets build available.
-dnl
-dnl Example use:
-dnl AM_PATH_WXCONFIG([2.6.0], [wxWin=1], [wxWin=0], [html,core,net]
-dnl [--unicode --debug])
-dnl ---------------------------------------------------------------------------
-
-dnl
-dnl Get the cflags and libraries from the wx-config script
-dnl
-AC_DEFUN([AM_PATH_WXCONFIG],
-[
- dnl do we have wx-config name: it can be wx-config or wxd-config or ...
- if test x${WX_CONFIG_NAME+set} != xset ; then
- WX_CONFIG_NAME=wx-config
- fi
-
- if test "x$wx_config_name" != x ; then
- WX_CONFIG_NAME="$wx_config_name"
- fi
-
- dnl deal with optional prefixes
- if test x$wx_config_exec_prefix != x ; then
- wx_config_args="$wx_config_args --exec-prefix=$wx_config_exec_prefix"
- WX_LOOKUP_PATH="$wx_config_exec_prefix/bin"
- fi
- if test x$wx_config_prefix != x ; then
- wx_config_args="$wx_config_args --prefix=$wx_config_prefix"
- WX_LOOKUP_PATH="$WX_LOOKUP_PATH:$wx_config_prefix/bin"
- fi
- if test "$cross_compiling" = "yes"; then
- wx_config_args="$wx_config_args --host=$host_alias"
- fi
-
- dnl don't search the PATH if WX_CONFIG_NAME is absolute filename
- if test -x "$WX_CONFIG_NAME" ; then
- AC_MSG_CHECKING(for wx-config)
- WX_CONFIG_PATH="$WX_CONFIG_NAME"
- AC_MSG_RESULT($WX_CONFIG_PATH)
- else
- AC_PATH_PROG(WX_CONFIG_PATH, $WX_CONFIG_NAME, no, "$WX_LOOKUP_PATH:$PATH")
- fi
-
- if test "$WX_CONFIG_PATH" != "no" ; then
- WX_VERSION=""
-
- min_wx_version=ifelse([$1], ,2.2.1,$1)
- if test -z "$5" ; then
- AC_MSG_CHECKING([for wxWidgets version >= $min_wx_version])
- else
- AC_MSG_CHECKING([for wxWidgets version >= $min_wx_version ($5)])
- fi
-
- WX_CONFIG_WITH_ARGS="$WX_CONFIG_PATH $wx_config_args $5 $4"
-
- WX_VERSION=`$WX_CONFIG_WITH_ARGS --version 2>/dev/null`
- wx_config_major_version=`echo $WX_VERSION | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
- wx_config_minor_version=`echo $WX_VERSION | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
- wx_config_micro_version=`echo $WX_VERSION | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
-
- wx_requested_major_version=`echo $min_wx_version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
- wx_requested_minor_version=`echo $min_wx_version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
- wx_requested_micro_version=`echo $min_wx_version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
-
- _WX_PRIVATE_CHECK_VERSION([$wx_requested_major_version],
- [$wx_requested_minor_version],
- [$wx_requested_micro_version])
-
- if test -n "$wx_ver_ok"; then
-
- AC_MSG_RESULT(yes (version $WX_VERSION))
- WX_LIBS=`$WX_CONFIG_WITH_ARGS --libs`
-
- dnl is this even still appropriate? --static is a real option now
- dnl and WX_CONFIG_WITH_ARGS is likely to contain it if that is
- dnl what the user actually wants, making this redundant at best.
- dnl For now keep it in case anyone actually used it in the past.
- AC_MSG_CHECKING([for wxWidgets static library])
- WX_LIBS_STATIC=`$WX_CONFIG_WITH_ARGS --static --libs 2>/dev/null`
- if test "x$WX_LIBS_STATIC" = "x"; then
- AC_MSG_RESULT(no)
- else
- AC_MSG_RESULT(yes)
- fi
-
- dnl starting with version 2.2.6 wx-config has --cppflags argument
- wx_has_cppflags=""
- if test $wx_config_major_version -gt 2; then
- wx_has_cppflags=yes
- else
- if test $wx_config_major_version -eq 2; then
- if test $wx_config_minor_version -gt 2; then
- wx_has_cppflags=yes
- else
- if test $wx_config_minor_version -eq 2; then
- if test $wx_config_micro_version -ge 6; then
- wx_has_cppflags=yes
- fi
- fi
- fi
- fi
- fi
-
- dnl starting with version 2.7.0 wx-config has --rescomp option
- wx_has_rescomp=""
- if test $wx_config_major_version -gt 2; then
- wx_has_rescomp=yes
- else
- if test $wx_config_major_version -eq 2; then
- if test $wx_config_minor_version -ge 7; then
- wx_has_rescomp=yes
- fi
- fi
- fi
- if test "x$wx_has_rescomp" = x ; then
- dnl cannot give any useful info for resource compiler
- WX_RESCOMP=
- else
- WX_RESCOMP=`$WX_CONFIG_WITH_ARGS --rescomp`
- fi
-
- if test "x$wx_has_cppflags" = x ; then
- dnl no choice but to define all flags like CFLAGS
- WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags`
- WX_CPPFLAGS=$WX_CFLAGS
- WX_CXXFLAGS=$WX_CFLAGS
-
- WX_CFLAGS_ONLY=$WX_CFLAGS
- WX_CXXFLAGS_ONLY=$WX_CFLAGS
- else
- dnl we have CPPFLAGS included in CFLAGS included in CXXFLAGS
- WX_CPPFLAGS=`$WX_CONFIG_WITH_ARGS --cppflags`
- WX_CXXFLAGS=`$WX_CONFIG_WITH_ARGS --cxxflags`
- WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags`
-
- WX_CFLAGS_ONLY=`echo $WX_CFLAGS | sed "s@^$WX_CPPFLAGS *@@"`
- WX_CXXFLAGS_ONLY=`echo $WX_CXXFLAGS | sed "s@^$WX_CFLAGS *@@"`
- fi
-
- ifelse([$2], , :, [$2])
-
- else
-
- if test "x$WX_VERSION" = x; then
- dnl no wx-config at all
- AC_MSG_RESULT(no)
- else
- AC_MSG_RESULT(no (version $WX_VERSION is not new enough))
- fi
-
- WX_CFLAGS=""
- WX_CPPFLAGS=""
- WX_CXXFLAGS=""
- WX_LIBS=""
- WX_LIBS_STATIC=""
- WX_RESCOMP=""
- ifelse([$3], , :, [$3])
-
- fi
- else
-
- WX_CFLAGS=""
- WX_CPPFLAGS=""
- WX_CXXFLAGS=""
- WX_LIBS=""
- WX_LIBS_STATIC=""
- WX_RESCOMP=""
-
- ifelse([$3], , :, [$3])
-
- fi
-
- AC_SUBST(WX_CPPFLAGS)
- AC_SUBST(WX_CFLAGS)
- AC_SUBST(WX_CXXFLAGS)
- AC_SUBST(WX_CFLAGS_ONLY)
- AC_SUBST(WX_CXXFLAGS_ONLY)
- AC_SUBST(WX_LIBS)
- AC_SUBST(WX_LIBS_STATIC)
- AC_SUBST(WX_VERSION)
- AC_SUBST(WX_RESCOMP)
-])
-
-dnl ---------------------------------------------------------------------------
-dnl Get information on the wxrc program for making C++, Python and xrs
-dnl resource files.
-dnl
-dnl AC_ARG_ENABLE(...)
-dnl AC_ARG_WITH(...)
-dnl ...
-dnl AM_OPTIONS_WXCONFIG
-dnl ...
-dnl AM_PATH_WXCONFIG(2.6.0, wxWin=1)
-dnl if test "$wxWin" != 1; then
-dnl AC_MSG_ERROR([
-dnl wxWidgets must be installed on your system
-dnl but wx-config script couldn't be found.
-dnl
-dnl Please check that wx-config is in path, the directory
-dnl where wxWidgets libraries are installed (returned by
-dnl 'wx-config --libs' command) is in LD_LIBRARY_PATH or
-dnl equivalent variable and wxWidgets version is 2.6.0 or above.
-dnl ])
-dnl fi
-dnl
-dnl AM_PATH_WXRC([HAVE_WXRC=1], [HAVE_WXRC=0])
-dnl if test "x$HAVE_WXRC" != x1; then
-dnl AC_MSG_ERROR([
-dnl The wxrc program was not installed or not found.
-dnl
-dnl Please check the wxWidgets installation.
-dnl ])
-dnl fi
-dnl
-dnl CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS"
-dnl CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY"
-dnl CFLAGS="$CFLAGS $WX_CFLAGS_ONLY"
-dnl
-dnl LDFLAGS="$LDFLAGS $WX_LIBS"
-dnl ---------------------------------------------------------------------------
-
-
-
-dnl ---------------------------------------------------------------------------
-dnl AM_PATH_WXRC([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
-dnl
-dnl Test for wxWidgets' wxrc program for creating either C++, Python or XRS
-dnl resources. The variable WXRC will be set and substituted in the configure
-dnl script and Makefiles.
-dnl
-dnl Example use:
-dnl AM_PATH_WXRC([wxrc=1], [wxrc=0])
-dnl ---------------------------------------------------------------------------
-
-dnl
-dnl wxrc program from the wx-config script
-dnl
-AC_DEFUN([AM_PATH_WXRC],
-[
- AC_ARG_VAR([WXRC], [Path to wxWidget's wxrc resource compiler])
-
- if test "x$WX_CONFIG_NAME" = x; then
- AC_MSG_ERROR([The wxrc tests must run after wxWidgets test.])
- else
-
- AC_MSG_CHECKING([for wxrc])
-
- if test "x$WXRC" = x ; then
- dnl wx-config --utility is a new addition to wxWidgets:
- _WX_PRIVATE_CHECK_VERSION(2,5,3)
- if test -n "$wx_ver_ok"; then
- WXRC=`$WX_CONFIG_WITH_ARGS --utility=wxrc`
- fi
- fi
-
- if test "x$WXRC" = x ; then
- AC_MSG_RESULT([not found])
- ifelse([$2], , :, [$2])
- else
- AC_MSG_RESULT([$WXRC])
- ifelse([$1], , :, [$1])
- fi
-
- AC_SUBST(WXRC)
- fi
-])
diff --git a/lib/wx/wxwin-2.9.m4 b/lib/wx/wxwin-nothrow.m4
index 1c50dcc272..83a6005d01 100644
--- a/lib/wx/wxwin-2.9.m4
+++ b/lib/wx/wxwin-nothrow.m4
@@ -45,7 +45,7 @@ dnl ...
dnl ...
dnl WX_CONFIG_CHECK([2.6.0], [wxWin=1])
dnl if test "$wxWin" != 1; then
-dnl AC_MSG_ERROR([
+dnl WX_MSG_ERROR([
dnl wxWidgets must be installed on your system
dnl but wx-config script couldn't be found.
dnl
@@ -323,30 +323,24 @@ AC_DEFUN([WX_CONFIG_CHECK],
WX_RESCOMP=""
if test ! -z "$5"; then
-
wx_error_message="
The configuration you asked for $PACKAGE_NAME requires a wxWidgets
build with the following settings:
$5
but such build is not available.
-
To see the wxWidgets builds available on this system, please use
'wx-config --list' command. To use the default build, returned by
'wx-config --selected-config', use the options with their 'auto'
default values."
-
fi
-
wx_error_message="
The requested wxWidgets build couldn't be found.
$wx_error_message
-
If you still get this error, then check that 'wx-config' is
in path, the directory where wxWidgets libraries are installed
(returned by 'wx-config --libs' command) is in LD_LIBRARY_PATH
or equivalent variable and wxWidgets version is $1 or above."
-
- ifelse([$3], , AC_MSG_ERROR([$wx_error_message]), [$3])
+ ifelse([$3], , WX_MSG_ERROR([$wx_error_message]), [$3])
fi
else
@@ -393,7 +387,7 @@ dnl WX_CONFIG_OPTIONS
dnl ...
dnl WX_CONFIG_CHECK(2.6.0, wxWin=1)
dnl if test "$wxWin" != 1; then
-dnl AC_MSG_ERROR([
+dnl WX_MSG_ERROR([
dnl wxWidgets must be installed on your system
dnl but wx-config script couldn't be found.
dnl
@@ -406,7 +400,7 @@ dnl fi
dnl
dnl WXRC_CHECK([HAVE_WXRC=1], [HAVE_WXRC=0])
dnl if test "x$HAVE_WXRC" != x1; then
-dnl AC_MSG_ERROR([
+dnl WX_MSG_ERROR([
dnl The wxrc program was not installed or not found.
dnl
dnl Please check the wxWidgets installation.
@@ -439,7 +433,7 @@ AC_DEFUN([WXRC_CHECK],
AC_ARG_VAR([WXRC], [Path to wxWidget's wxrc resource compiler])
if test "x$WX_CONFIG_NAME" = x; then
- AC_MSG_ERROR([The wxrc tests must run after wxWidgets test.])
+ WX_MSG_ERROR([The wxrc tests must run after wxWidgets test.])
else
AC_MSG_CHECKING([for wxrc])
@@ -522,7 +516,7 @@ AC_DEFUN([WX_ARG_ENABLE_YESNOAUTO],
AC_MSG_RESULT([will be automatically detected])
$2="auto"
else
- AC_MSG_ERROR([
+ WX_MSG_ERROR([
Unrecognized option value (allowed values: yes, no, auto)
])
fi
@@ -548,7 +542,7 @@ AC_DEFUN([WX_ARG_WITH_YESNOAUTO],
AC_MSG_RESULT([will be automatically detected])
$2="auto"
else
- AC_MSG_ERROR([
+ WX_MSG_ERROR([
Unrecognized option value (allowed values: yes, auto)
])
fi
@@ -607,7 +601,7 @@ AC_DEFUN([WX_STANDARD_OPTIONS],
"$TOOLKIT" != "msw" -a "$TOOLKIT" != "motif" -a \
"$TOOLKIT" != "osx_carbon" -a "$TOOLKIT" != "osx_cocoa" -a \
"$TOOLKIT" != "dfb" -a "$TOOLKIT" != "x11"; then
- AC_MSG_ERROR([
+ WX_MSG_ERROR([
Unrecognized option value (allowed values: auto, gtk1, gtk2, msw, motif, osx_carbon, osx_cocoa, dfb, x11)
])
fi
@@ -683,7 +677,7 @@ AC_DEFUN([WX_STANDARD_OPTIONS],
dnl both vars above must be exactly 1 digit
if test "${#wx_requested_major_version}" != "1" -o \
"${#wx_requested_minor_version}" != "1" ; then
- AC_MSG_ERROR([
+ WX_MSG_ERROR([
Unrecognized option value (allowed values: auto, 2.6, 2.7, 2.8, 2.9, 3.0)
])
fi
@@ -808,7 +802,7 @@ AC_DEFUN([WX_DETECT_STANDARD_OPTION_VALUES],
WX_RELEASE="$WX_VERSION_MAJOR""$WX_VERSION_MINOR"
if test $WX_RELEASE -lt 26 ; then
- AC_MSG_ERROR([
+ WX_MSG_ERROR([
Cannot detect the wxWidgets configuration for the selected wxWidgets build
since its version is $WX_VERSION < 2.6.0; please install a newer
version of wxWidgets.
@@ -892,7 +886,7 @@ AC_DEFUN([WX_DETECT_STANDARD_OPTION_VALUES],
dnl check at least one of the WX_*PORT has been set !
if test "$WX_PORT" = "unknown" ; then
- AC_MSG_ERROR([
+ WX_MSG_ERROR([
Cannot detect the currently installed wxWidgets port !
Please check your 'wx-config --cxxflags'...
])
@@ -928,7 +922,7 @@ AC_DEFUN([WX_DETECT_STANDARD_OPTION_VALUES],
dnl ./configure --enable-shared
dnl but there is only a static build of wxWidgets available.
if test "$WX_SHARED" = "0" -a "$SHARED" = "1"; then
- AC_MSG_ERROR([
+ WX_MSG_ERROR([
Cannot build shared library against a static build of wxWidgets !
This error happens because the wxWidgets build which was selected
has been detected as static while you asked to build $PACKAGE_NAME