aboutsummaryrefslogtreecommitdiffstats
path: root/lib/wx/c_src
diff options
context:
space:
mode:
Diffstat (limited to 'lib/wx/c_src')
-rw-r--r--lib/wx/c_src/Makefile.in42
-rw-r--r--lib/wx/c_src/gen/gl_funcs.cpp48
-rw-r--r--lib/wx/c_src/gen/wxe_derived_dest.h6
-rw-r--r--lib/wx/c_src/gen/wxe_events.cpp114
-rw-r--r--lib/wx/c_src/gen/wxe_funcs.cpp83
-rw-r--r--lib/wx/c_src/gen/wxe_macros.h2513
-rw-r--r--lib/wx/c_src/wxe_callback_impl.cpp (renamed from lib/wx/c_src/wxePrintout.cpp)82
-rw-r--r--lib/wx/c_src/wxe_callback_impl.h93
-rw-r--r--lib/wx/c_src/wxe_driver.c4
-rw-r--r--lib/wx/c_src/wxe_driver.h4
-rw-r--r--lib/wx/c_src/wxe_events.h46
-rw-r--r--lib/wx/c_src/wxe_gl.cpp17
-rw-r--r--lib/wx/c_src/wxe_gl.h25
-rw-r--r--lib/wx/c_src/wxe_helpers.cpp95
-rw-r--r--lib/wx/c_src/wxe_helpers.h122
-rw-r--r--lib/wx/c_src/wxe_impl.cpp507
-rw-r--r--lib/wx/c_src/wxe_impl.h218
-rw-r--r--lib/wx/c_src/wxe_main.cpp163
-rw-r--r--lib/wx/c_src/wxe_memory.h61
-rw-r--r--lib/wx/c_src/wxe_ps_init.c68
-rw-r--r--lib/wx/c_src/wxe_return.cpp4
21 files changed, 2258 insertions, 2057 deletions
diff --git a/lib/wx/c_src/Makefile.in b/lib/wx/c_src/Makefile.in
index 1d17076d23..4a7342f714 100644
--- a/lib/wx/c_src/Makefile.in
+++ b/lib/wx/c_src/Makefile.in
@@ -1,7 +1,7 @@
#
# %CopyrightBegin%
#
-# Copyright Ericsson AB 2008-2012. All Rights Reserved.
+# Copyright Ericsson AB 2008-2014. All Rights Reserved.
#
# The contents of this file are subject to the Erlang Public License,
# Version 1.1, (the "License"); you may not use this file except in
@@ -34,8 +34,9 @@ SO_EXT = @SO_EXT@
OBJC_CC=@OBJC_CC@
OBJC_CFLAGS=@OBJC_CFLAGS@
-GENERAL = wxe_driver wxe_ps_init wxe_impl wxePrintout wxe_return wxe_gl
-GENERAL_H = wxe_driver.h wxe_impl.h wxe_return.h
+GENERAL = wxe_driver wxe_ps_init wxe_main wxe_impl wxe_helpers wxe_callback_impl wxe_return wxe_gl
+GENERAL_H = wxe_callback_impl.h wxe_driver.h wxe_events.h wxe_gl.h \
+ wxe_helpers.h wxe_impl.h wxe_memory.h wxe_return.h
GENERATED_F = wxe_funcs wxe_events wxe_init
GENERATED_H = gen/wxe_macros.h
@@ -46,6 +47,7 @@ HAVE_OPENGL = true
OPENGL_F = gl_funcs egl_impl
include $(ERL_TOP)/make/target.mk
+include $(ERL_TOP)/make/output.mk
include $(ERL_TOP)/make/$(TARGET)/otp_ded.mk
ERL_INCS= $(DED_INCLUDES)
@@ -78,8 +80,8 @@ TARGET_DIR = ../priv/$(SYS_TYPE)
COMMON_CFLAGS = @DEFS@ $(ERL_INCS)
CC = @CC@
-CPP = @CXX@
-LD = $(CPP)
+CXX = @CXX@
+LD = $(CXX)
LDFLAGS = @LDFLAGS@
RESCOMP = @WX_RESCOMP@
@@ -107,9 +109,9 @@ endif
GL_LIBS = @GL_LIBS@
-CC_O = $(CC) -c $(CFLAGS) $(WX_CFLAGS) $(COMMON_CFLAGS)
+CC_O = $(V_CC) -c $(CFLAGS) $(WX_CFLAGS) $(COMMON_CFLAGS)
OBJC_CC_O = $(OBJC_CC) -c $(CFLAGS) $(OBJC_CFLAGS) $(WX_CFLAGS) $(COMMON_CFLAGS)
-CPP_O = $(CPP) -c $(CXX_FLAGS) $(WX_CXX_FLAGS) $(COMMON_CFLAGS)
+CXX_O = $(V_CXX) -c $(CXX_FLAGS) $(WX_CXX_FLAGS) $(COMMON_CFLAGS)
# Targets
@@ -138,36 +140,36 @@ $(GL_OBJECTS): $(GL_H)
$(WX_OBJECTS): $(GENERATED_H) $(GENERAL_H)
$(SYS_TYPE)/%.o: %.cpp
- mkdir -p $(SYS_TYPE)
- $(CPP_O) $< -o $@
+ $(V_at)mkdir -p $(SYS_TYPE)
+ $(CXX_O) $< -o $@
$(SYS_TYPE)/%.o: %.c
- mkdir -p $(SYS_TYPE)
+ $(V_at)mkdir -p $(SYS_TYPE)
$(CC_O) $< -o $@
$(SYS_TYPE)/wxe_ps_init.o: wxe_ps_init.c
- mkdir -p $(SYS_TYPE)
- $(OBJC_CC_O) $< -o $@
+ $(V_at)mkdir -p $(SYS_TYPE)
+ $(cc_verbose)$(OBJC_CC_O) $< -o $@
$(SYS_TYPE)/%.o: gen/%.cpp
- mkdir -p $(SYS_TYPE)
- $(CPP_O) $< -o $@
+ $(V_at)mkdir -p $(SYS_TYPE)
+ $(CXX_O) $< -o $@
$(SYS_TYPE)/%.o: gen/%.c
- mkdir -p $(SYS_TYPE)
+ $(V_at)mkdir -p $(SYS_TYPE)
$(CC_O) $< -o $@
$(SYS_TYPE)/wxe_win32.$(RC_FILE_EXT): wxe_win32.rc
- mkdir -p $(SYS_TYPE)
+ $(V_at)mkdir -p $(SYS_TYPE)
$(RESCOMP) -o $@ $<
$(TARGET_DIR)/wxe_driver$(SO_EXT): $(WX_OBJECTS)
- mkdir -p $(TARGET_DIR)
- $(LD) $(LDFLAGS) $(WX_OBJECTS) $(WX_LIBS) -o $@
+ $(V_at)mkdir -p $(TARGET_DIR)
+ $(V_LD) $(LDFLAGS) $(WX_OBJECTS) $(WX_LIBS) -o $@
$(TARGET_DIR)/erl_gl$(SO_EXT): $(GL_OBJECTS)
- mkdir -p $(TARGET_DIR)
- $(CC) $(LDFLAGS) $(GL_OBJECTS) $(GL_LIBS) -o $@
+ $(V_at)mkdir -p $(TARGET_DIR)
+ $(V_CC) $(LDFLAGS) $(GL_OBJECTS) $(GL_LIBS) -o $@
# ----------------------------------------------------
diff --git a/lib/wx/c_src/gen/gl_funcs.cpp b/lib/wx/c_src/gen/gl_funcs.cpp
index e1bd920e71..40a2fbac3c 100644
--- a/lib/wx/c_src/gen/gl_funcs.cpp
+++ b/lib/wx/c_src/gen/gl_funcs.cpp
@@ -1,7 +1,7 @@
/*
* %CopyrightBegin%
*
- * Copyright Ericsson AB 2008-2012. All Rights Reserved.
+ * Copyright Ericsson AB 2008-2013. All Rights Reserved.
*
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
@@ -133,9 +133,9 @@ case 5015: { // gluBuild3DMipmaps
}; break;
case 5016: { // gluCheckExtension
GLubyte *extName = (GLubyte *) bp;
- int extNameLen[1] = {strlen((char *)extName)}; bp += extNameLen[0]+1+((8-((1+extNameLen[0]+0)%8))%8);
+ int extNameLen[1] = {(int)strlen((char *)extName)}; bp += extNameLen[0]+1+((8-((1+extNameLen[0]+0)%8))%8);
GLubyte *extString = (GLubyte *) bp;
- int extStringLen[1] = {strlen((char *)extString)}; bp += extStringLen[0]+1+((8-((1+extStringLen[0]+0)%8))%8);
+ int extStringLen[1] = {(int)strlen((char *)extString)}; bp += extStringLen[0]+1+((8-((1+extStringLen[0]+0)%8))%8);
GLboolean result = wegluCheckExtension(extName,extString);
int AP = 0; ErlDrvTermData rt[6];
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "_egl_result_");
@@ -3246,7 +3246,7 @@ case 5446: { // glBindAttribLocation
GLuint *program = (GLuint *) bp; bp += 4;
GLuint *index = (GLuint *) bp; bp += 4;
GLchar *name = (GLchar *) bp;
- int nameLen[1] = {strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+0)%8))%8);
+ int nameLen[1] = {(int)strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+0)%8))%8);
weglBindAttribLocation(*program,*index,name);
}; break;
case 5447: { // glCompileShader
@@ -3352,7 +3352,7 @@ case 5457: { // glGetAttachedShaders
case 5458: { // glGetAttribLocation
GLuint *program = (GLuint *) bp; bp += 4;
GLchar *name = (GLchar *) bp;
- int nameLen[1] = {strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+4)%8))%8);
+ int nameLen[1] = {(int)strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+4)%8))%8);
GLint result = weglGetAttribLocation(*program,name);
int AP = 0; ErlDrvTermData rt[6];
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "_egl_result_");
@@ -3427,7 +3427,7 @@ case 5463: { // glGetShaderSource
case 5464: { // glGetUniformLocation
GLuint *program = (GLuint *) bp; bp += 4;
GLchar *name = (GLchar *) bp;
- int nameLen[1] = {strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+4)%8))%8);
+ int nameLen[1] = {(int)strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+4)%8))%8);
GLint result = weglGetUniformLocation(*program,name);
int AP = 0; ErlDrvTermData rt[6];
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "_egl_result_");
@@ -4186,13 +4186,13 @@ case 5558: { // glBindFragDataLocation
GLuint *program = (GLuint *) bp; bp += 4;
GLuint *color = (GLuint *) bp; bp += 4;
GLchar *name = (GLchar *) bp;
- int nameLen[1] = {strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+0)%8))%8);
+ int nameLen[1] = {(int)strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+0)%8))%8);
weglBindFragDataLocation(*program,*color,name);
}; break;
case 5559: { // glGetFragDataLocation
GLuint *program = (GLuint *) bp; bp += 4;
GLchar *name = (GLchar *) bp;
- int nameLen[1] = {strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+4)%8))%8);
+ int nameLen[1] = {(int)strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+4)%8))%8);
GLint result = weglGetFragDataLocation(*program,name);
int AP = 0; ErlDrvTermData rt[6];
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "_egl_result_");
@@ -4547,7 +4547,7 @@ case 5608: { // glProgramStringARB
GLenum *target = (GLenum *) bp; bp += 4;
GLenum *format = (GLenum *) bp; bp += 4;
GLvoid *string = (GLvoid *) bp;
- int stringLen[1] = {strlen((char *)string)}; bp += stringLen[0]+1+((8-((1+stringLen[0]+0)%8))%8);
+ int stringLen[1] = {(int)strlen((char *)string)}; bp += stringLen[0]+1+((8-((1+stringLen[0]+0)%8))%8);
weglProgramStringARB(*target,*format,*stringLen,string);
}; break;
case 5609: { // glBindProgramARB
@@ -4867,7 +4867,7 @@ case 5640: { // glGetAttachedObjectsARB
case 5641: { // glGetUniformLocationARB
GLhandleARB programObj = (GLhandleARB) * (GLuint64EXT *) bp; bp += 8;
GLchar *name = (GLchar *) bp;
- int nameLen[1] = {strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+0)%8))%8);
+ int nameLen[1] = {(int)strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+0)%8))%8);
GLint result = weglGetUniformLocationARB(programObj,name);
int AP = 0; ErlDrvTermData rt[6];
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "_egl_result_");
@@ -4970,7 +4970,7 @@ case 5646: { // glBindAttribLocationARB
GLhandleARB programObj = (GLhandleARB) * (GLuint64EXT *) bp; bp += 8;
GLuint *index = (GLuint *) bp; bp += 4;
GLchar *name = (GLchar *) bp;
- int nameLen[1] = {strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+4)%8))%8);
+ int nameLen[1] = {(int)strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+4)%8))%8);
weglBindAttribLocationARB(programObj,*index,name);
}; break;
case 5647: { // glGetActiveAttribARB
@@ -4996,7 +4996,7 @@ case 5647: { // glGetActiveAttribARB
case 5648: { // glGetAttribLocationARB
GLhandleARB programObj = (GLhandleARB) * (GLuint64EXT *) bp; bp += 8;
GLchar *name = (GLchar *) bp;
- int nameLen[1] = {strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+0)%8))%8);
+ int nameLen[1] = {(int)strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+0)%8))%8);
GLint result = weglGetAttribLocationARB(programObj,name);
int AP = 0; ErlDrvTermData rt[6];
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "_egl_result_");
@@ -5288,7 +5288,7 @@ case 5677: { // glGetActiveUniformName
case 5678: { // glGetUniformBlockIndex
GLuint *program = (GLuint *) bp; bp += 4;
GLchar *uniformBlockName = (GLchar *) bp;
- int uniformBlockNameLen[1] = {strlen((char *)uniformBlockName)}; bp += uniformBlockNameLen[0]+1+((8-((1+uniformBlockNameLen[0]+4)%8))%8);
+ int uniformBlockNameLen[1] = {(int)strlen((char *)uniformBlockName)}; bp += uniformBlockNameLen[0]+1+((8-((1+uniformBlockNameLen[0]+4)%8))%8);
GLuint result = weglGetUniformBlockIndex(*program,uniformBlockName);
int AP = 0; ErlDrvTermData rt[6];
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "_egl_result_");
@@ -5525,14 +5525,14 @@ case 5700: { // glSampleMaski
case 5701: { // glNamedStringARB
GLenum *type = (GLenum *) bp; bp += 4;
GLchar *name = (GLchar *) bp;
- int nameLen[1] = {strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+4)%8))%8);
+ int nameLen[1] = {(int)strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+4)%8))%8);
GLchar *string = (GLchar *) bp;
- int stringLen[1] = {strlen((char *)string)}; bp += stringLen[0]+1+((8-((1+stringLen[0]+0)%8))%8);
+ int stringLen[1] = {(int)strlen((char *)string)}; bp += stringLen[0]+1+((8-((1+stringLen[0]+0)%8))%8);
weglNamedStringARB(*type,*nameLen,name,*stringLen,string);
}; break;
case 5702: { // glDeleteNamedStringARB
GLchar *name = (GLchar *) bp;
- int nameLen[1] = {strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+0)%8))%8);
+ int nameLen[1] = {(int)strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+0)%8))%8);
weglDeleteNamedStringARB(*nameLen,name);
}; break;
case 5703: { // glCompileShaderIncludeARB
@@ -5549,7 +5549,7 @@ case 5703: { // glCompileShaderIncludeARB
}; break;
case 5704: { // glIsNamedStringARB
GLchar *name = (GLchar *) bp;
- int nameLen[1] = {strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+0)%8))%8);
+ int nameLen[1] = {(int)strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+0)%8))%8);
GLboolean result = weglIsNamedStringARB(*nameLen,name);
int AP = 0; ErlDrvTermData rt[6];
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "_egl_result_");
@@ -5559,7 +5559,7 @@ case 5704: { // glIsNamedStringARB
}; break;
case 5705: { // glGetNamedStringARB
GLchar *name = (GLchar *) bp;
- int nameLen[1] = {strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+0)%8))%8);
+ int nameLen[1] = {(int)strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+0)%8))%8);
GLsizei *bufSize = (GLsizei *) bp; bp += 4;
GLint stringlen[1] = {0};
GLchar *string;
@@ -5574,7 +5574,7 @@ case 5705: { // glGetNamedStringARB
}; break;
case 5706: { // glGetNamedStringivARB
GLchar *name = (GLchar *) bp;
- int nameLen[1] = {strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+0)%8))%8);
+ int nameLen[1] = {(int)strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+0)%8))%8);
GLenum *pname = (GLenum *) bp; bp += 4;
GLint params[1] = {0};
weglGetNamedStringivARB(*nameLen,name,*pname,params);
@@ -5589,13 +5589,13 @@ case 5707: { // glBindFragDataLocationIndexed
GLuint *colorNumber = (GLuint *) bp; bp += 4;
GLuint *index = (GLuint *) bp; bp += 4;
GLchar *name = (GLchar *) bp;
- int nameLen[1] = {strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+4)%8))%8);
+ int nameLen[1] = {(int)strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+4)%8))%8);
weglBindFragDataLocationIndexed(*program,*colorNumber,*index,name);
}; break;
case 5708: { // glGetFragDataIndex
GLuint *program = (GLuint *) bp; bp += 4;
GLchar *name = (GLchar *) bp;
- int nameLen[1] = {strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+4)%8))%8);
+ int nameLen[1] = {(int)strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+4)%8))%8);
GLint result = weglGetFragDataIndex(*program,name);
int AP = 0; ErlDrvTermData rt[6];
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "_egl_result_");
@@ -5954,7 +5954,7 @@ case 5748: { // glGetSubroutineUniformLocation
GLuint *program = (GLuint *) bp; bp += 4;
GLenum *shadertype = (GLenum *) bp; bp += 4;
GLchar *name = (GLchar *) bp;
- int nameLen[1] = {strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+0)%8))%8);
+ int nameLen[1] = {(int)strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+0)%8))%8);
GLint result = weglGetSubroutineUniformLocation(*program,*shadertype,name);
int AP = 0; ErlDrvTermData rt[6];
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "_egl_result_");
@@ -5966,7 +5966,7 @@ case 5749: { // glGetSubroutineIndex
GLuint *program = (GLuint *) bp; bp += 4;
GLenum *shadertype = (GLenum *) bp; bp += 4;
GLchar *name = (GLchar *) bp;
- int nameLen[1] = {strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+0)%8))%8);
+ int nameLen[1] = {(int)strlen((char *)name)}; bp += nameLen[0]+1+((8-((1+nameLen[0]+0)%8))%8);
GLuint result = weglGetSubroutineIndex(*program,*shadertype,name);
int AP = 0; ErlDrvTermData rt[6];
rt[AP++]=ERL_DRV_ATOM; rt[AP++]=driver_mk_atom((char *) "_egl_result_");
@@ -6869,7 +6869,7 @@ case 5854: { // glDebugMessageInsertARB
GLuint *id = (GLuint *) bp; bp += 4;
GLenum *severity = (GLenum *) bp; bp += 4;
GLchar *buf = (GLchar *) bp;
- int bufLen[1] = {strlen((char *)buf)}; bp += bufLen[0]+1+((8-((1+bufLen[0]+0)%8))%8);
+ int bufLen[1] = {(int)strlen((char *)buf)}; bp += bufLen[0]+1+((8-((1+bufLen[0]+0)%8))%8);
weglDebugMessageInsertARB(*source,*type,*id,*severity,*bufLen,buf);
}; break;
case 5855: { // glGetDebugMessageLogARB
diff --git a/lib/wx/c_src/gen/wxe_derived_dest.h b/lib/wx/c_src/gen/wxe_derived_dest.h
index 8dcaf1c1ac..7e2d4524cb 100644
--- a/lib/wx/c_src/gen/wxe_derived_dest.h
+++ b/lib/wx/c_src/gen/wxe_derived_dest.h
@@ -736,6 +736,12 @@ class EwxPrintout : public wxPrintout {
EwxPrintout(const wxString& title) : wxPrintout(title) {};
};
+class EwxStyledTextCtrl : public wxStyledTextCtrl {
+ public: ~EwxStyledTextCtrl() {((WxeApp *)wxTheApp)->clearPtr(this);};
+ EwxStyledTextCtrl(wxWindow * parent,wxWindowID id,const wxPoint& pos,const wxSize& size,long style) : wxStyledTextCtrl(parent,id,pos,size,style) {};
+ EwxStyledTextCtrl() : wxStyledTextCtrl() {};
+};
+
class EwxClipboard : public wxClipboard {
public: ~EwxClipboard() {((WxeApp *)wxTheApp)->clearPtr(this);};
EwxClipboard() : wxClipboard() {};
diff --git a/lib/wx/c_src/gen/wxe_events.cpp b/lib/wx/c_src/gen/wxe_events.cpp
index c9cdee3160..1bd17366a2 100644
--- a/lib/wx/c_src/gen/wxe_events.cpp
+++ b/lib/wx/c_src/gen/wxe_events.cpp
@@ -1,7 +1,7 @@
/*
* %CopyrightBegin%
*
- * Copyright Ericsson AB 2008-2013. All Rights Reserved.
+ * Copyright Ericsson AB 2008-2014. All Rights Reserved.
*
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
@@ -243,57 +243,61 @@ void initEventTable()
{wxEVT_COMMAND_TREE_ITEM_MENU, 208, "command_tree_item_menu"},
{wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, 209, "command_notebook_page_changed"},
{wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, 209, "command_notebook_page_changing"},
- {wxEVT_COMMAND_SPINCTRL_UPDATED, 215, "command_spinctrl_updated"},
+ {wxEVT_COMMAND_TEXT_COPY, 215, "command_text_copy"},
+ {wxEVT_COMMAND_TEXT_CUT, 215, "command_text_cut"},
+ {wxEVT_COMMAND_TEXT_PASTE, 215, "command_text_paste"},
+ {wxEVT_COMMAND_SPINCTRL_UPDATED, 216, "command_spinctrl_updated"},
{wxEVT_SCROLL_LINEUP + wxEVT_USER_FIRST, 165, "spin_up"},
{wxEVT_SCROLL_LINEDOWN + wxEVT_USER_FIRST, 165, "spin_down"},
{wxEVT_SCROLL_THUMBTRACK + wxEVT_USER_FIRST, 165, "spin"},
- {wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED, 217, "command_splitter_sash_pos_changed"},
- {wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGING, 217, "command_splitter_sash_pos_changing"},
- {wxEVT_COMMAND_SPLITTER_DOUBLECLICKED, 217, "command_splitter_doubleclicked"},
- {wxEVT_COMMAND_SPLITTER_UNSPLIT, 217, "command_splitter_unsplit"},
- {wxEVT_COMMAND_HTML_LINK_CLICKED, 219, "command_html_link_clicked"},
- {wxEVT_COMMAND_AUINOTEBOOK_PAGE_CLOSE, 222, "command_auinotebook_page_close"},
- {wxEVT_COMMAND_AUINOTEBOOK_PAGE_CHANGED, 222, "command_auinotebook_page_changed"},
- {wxEVT_COMMAND_AUINOTEBOOK_PAGE_CHANGING, 222, "command_auinotebook_page_changing"},
- {wxEVT_COMMAND_AUINOTEBOOK_BUTTON, 222, "command_auinotebook_button"},
- {wxEVT_COMMAND_AUINOTEBOOK_BEGIN_DRAG, 222, "command_auinotebook_begin_drag"},
- {wxEVT_COMMAND_AUINOTEBOOK_END_DRAG, 222, "command_auinotebook_end_drag"},
- {wxEVT_COMMAND_AUINOTEBOOK_DRAG_MOTION, 222, "command_auinotebook_drag_motion"},
- {wxEVT_COMMAND_AUINOTEBOOK_ALLOW_DND, 222, "command_auinotebook_allow_dnd"},
+ {wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED, 218, "command_splitter_sash_pos_changed"},
+ {wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGING, 218, "command_splitter_sash_pos_changing"},
+ {wxEVT_COMMAND_SPLITTER_DOUBLECLICKED, 218, "command_splitter_doubleclicked"},
+ {wxEVT_COMMAND_SPLITTER_UNSPLIT, 218, "command_splitter_unsplit"},
+ {wxEVT_COMMAND_HTML_LINK_CLICKED, 220, "command_html_link_clicked"},
+ {wxEVT_COMMAND_AUINOTEBOOK_PAGE_CLOSE, 223, "command_auinotebook_page_close"},
+ {wxEVT_COMMAND_AUINOTEBOOK_PAGE_CHANGED, 223, "command_auinotebook_page_changed"},
+ {wxEVT_COMMAND_AUINOTEBOOK_PAGE_CHANGING, 223, "command_auinotebook_page_changing"},
+ {wxEVT_COMMAND_AUINOTEBOOK_BUTTON, 223, "command_auinotebook_button"},
+ {wxEVT_COMMAND_AUINOTEBOOK_BEGIN_DRAG, 223, "command_auinotebook_begin_drag"},
+ {wxEVT_COMMAND_AUINOTEBOOK_END_DRAG, 223, "command_auinotebook_end_drag"},
+ {wxEVT_COMMAND_AUINOTEBOOK_DRAG_MOTION, 223, "command_auinotebook_drag_motion"},
+ {wxEVT_COMMAND_AUINOTEBOOK_ALLOW_DND, 223, "command_auinotebook_allow_dnd"},
#if wxCHECK_VERSION(2,8,5)
- {wxEVT_COMMAND_AUINOTEBOOK_TAB_MIDDLE_DOWN, 222, "command_auinotebook_tab_middle_down"},
+ {wxEVT_COMMAND_AUINOTEBOOK_TAB_MIDDLE_DOWN, 223, "command_auinotebook_tab_middle_down"},
#endif
#if wxCHECK_VERSION(2,8,5)
- {wxEVT_COMMAND_AUINOTEBOOK_TAB_MIDDLE_UP, 222, "command_auinotebook_tab_middle_up"},
+ {wxEVT_COMMAND_AUINOTEBOOK_TAB_MIDDLE_UP, 223, "command_auinotebook_tab_middle_up"},
#endif
#if wxCHECK_VERSION(2,8,5)
- {wxEVT_COMMAND_AUINOTEBOOK_TAB_RIGHT_DOWN, 222, "command_auinotebook_tab_right_down"},
+ {wxEVT_COMMAND_AUINOTEBOOK_TAB_RIGHT_DOWN, 223, "command_auinotebook_tab_right_down"},
#endif
#if wxCHECK_VERSION(2,8,5)
- {wxEVT_COMMAND_AUINOTEBOOK_TAB_RIGHT_UP, 222, "command_auinotebook_tab_right_up"},
+ {wxEVT_COMMAND_AUINOTEBOOK_TAB_RIGHT_UP, 223, "command_auinotebook_tab_right_up"},
#endif
#if wxCHECK_VERSION(2,8,5)
- {wxEVT_COMMAND_AUINOTEBOOK_PAGE_CLOSED, 222, "command_auinotebook_page_closed"},
+ {wxEVT_COMMAND_AUINOTEBOOK_PAGE_CLOSED, 223, "command_auinotebook_page_closed"},
#endif
#if wxCHECK_VERSION(2,8,5)
- {wxEVT_COMMAND_AUINOTEBOOK_DRAG_DONE, 222, "command_auinotebook_drag_done"},
+ {wxEVT_COMMAND_AUINOTEBOOK_DRAG_DONE, 223, "command_auinotebook_drag_done"},
#endif
#if wxCHECK_VERSION(2,8,5)
- {wxEVT_COMMAND_AUINOTEBOOK_BG_DCLICK, 222, "command_auinotebook_bg_dclick"},
+ {wxEVT_COMMAND_AUINOTEBOOK_BG_DCLICK, 223, "command_auinotebook_bg_dclick"},
#endif
- {wxEVT_AUI_PANE_BUTTON, 223, "aui_pane_button"},
- {wxEVT_AUI_PANE_CLOSE, 223, "aui_pane_close"},
- {wxEVT_AUI_PANE_MAXIMIZE, 223, "aui_pane_maximize"},
- {wxEVT_AUI_PANE_RESTORE, 223, "aui_pane_restore"},
- {wxEVT_AUI_RENDER, 223, "aui_render"},
- {wxEVT_AUI_FIND_MANAGER, 223, "aui_find_manager"},
- {wxEVT_TASKBAR_MOVE, 226, "taskbar_move"},
- {wxEVT_TASKBAR_LEFT_DOWN, 226, "taskbar_left_down"},
- {wxEVT_TASKBAR_LEFT_UP, 226, "taskbar_left_up"},
- {wxEVT_TASKBAR_RIGHT_DOWN, 226, "taskbar_right_down"},
- {wxEVT_TASKBAR_RIGHT_UP, 226, "taskbar_right_up"},
- {wxEVT_TASKBAR_LEFT_DCLICK, 226, "taskbar_left_dclick"},
- {wxEVT_TASKBAR_RIGHT_DCLICK, 226, "taskbar_right_dclick"},
+ {wxEVT_AUI_PANE_BUTTON, 224, "aui_pane_button"},
+ {wxEVT_AUI_PANE_CLOSE, 224, "aui_pane_close"},
+ {wxEVT_AUI_PANE_MAXIMIZE, 224, "aui_pane_maximize"},
+ {wxEVT_AUI_PANE_RESTORE, 224, "aui_pane_restore"},
+ {wxEVT_AUI_RENDER, 224, "aui_render"},
+ {wxEVT_AUI_FIND_MANAGER, 224, "aui_find_manager"},
+ {wxEVT_TASKBAR_MOVE, 227, "taskbar_move"},
+ {wxEVT_TASKBAR_LEFT_DOWN, 227, "taskbar_left_down"},
+ {wxEVT_TASKBAR_LEFT_UP, 227, "taskbar_left_up"},
+ {wxEVT_TASKBAR_RIGHT_DOWN, 227, "taskbar_right_down"},
+ {wxEVT_TASKBAR_RIGHT_UP, 227, "taskbar_right_up"},
+ {wxEVT_TASKBAR_LEFT_DCLICK, 227, "taskbar_left_dclick"},
+ {wxEVT_TASKBAR_RIGHT_DCLICK, 227, "taskbar_right_dclick"},
+ {wxEVT_INIT_DIALOG, 228, "init_dialog"},
{-1, 0, }
};
for(int i=0; event_types[i].ev_type != -1; i++) {
@@ -312,16 +316,6 @@ void initEventTable()
}
}
-void wxeEvtListener::forward(wxEvent& event)
-{
-#ifdef DEBUG
- if(!sendevent(&event, port))
- fprintf(stderr, "Couldn't send event!\r\n");
-#else
-sendevent(&event, port);
-#endif
-}
-
int getRef(void* ptr, wxeMemEnv* memenv)
{
WxeApp * app = (WxeApp *) wxTheApp;
@@ -334,7 +328,7 @@ bool sendevent(wxEvent *event, ErlDrvTermData port)
char * evClass = NULL;
wxMBConvUTF32 UTFconverter;
wxeEtype *Etype = etmap[event->GetEventType()];
- wxeCallbackData *cb = (wxeCallbackData *)event->m_callbackUserData;
+ wxeEvtListener *cb = (wxeEvtListener *)event->m_callbackUserData;
WxeApp * app = (WxeApp *) wxTheApp;
wxeMemEnv *memenv = app->getMemEnv(port);
if(!memenv) return 0;
@@ -343,7 +337,7 @@ bool sendevent(wxEvent *event, ErlDrvTermData port)
rt.addAtom((char*)"wx");
rt.addInt((int) event->GetId());
- rt.addRef(getRef((void *)(cb->obj), memenv), cb->class_name);
+ rt.addRef(cb->obj, cb->class_name);
rt.addExt2Term(cb->user_data);
switch(Etype->cID) {
case 164: {// wxCommandEvent
@@ -743,7 +737,14 @@ case 209: {// wxNotebookEvent
rt.addTupleCount(2);
break;
}
-case 215: {// wxSpinEvent
+case 215: {// wxClipboardTextEvent
+ evClass = (char*)"wxClipboardTextEvent";
+ rt.addAtom((char*)"wxClipboardText");
+ rt.addAtom(Etype->eName);
+ rt.addTupleCount(2);
+ break;
+}
+case 216: {// wxSpinEvent
wxSpinEvent * ev = (wxSpinEvent *) event;
evClass = (char*)"wxSpinEvent";
rt.addAtom((char*)"wxSpin");
@@ -752,14 +753,14 @@ case 215: {// wxSpinEvent
rt.addTupleCount(3);
break;
}
-case 217: {// wxSplitterEvent
+case 218: {// wxSplitterEvent
evClass = (char*)"wxSplitterEvent";
rt.addAtom((char*)"wxSplitter");
rt.addAtom(Etype->eName);
rt.addTupleCount(2);
break;
}
-case 219: {// wxHtmlLinkEvent
+case 220: {// wxHtmlLinkEvent
wxHtmlLinkEvent * ev = (wxHtmlLinkEvent *) event;
evClass = (char*)"wxHtmlLinkEvent";
rt.addAtom((char*)"wxHtmlLink");
@@ -768,7 +769,7 @@ case 219: {// wxHtmlLinkEvent
rt.addTupleCount(3);
break;
}
-case 222: {// wxAuiNotebookEvent
+case 223: {// wxAuiNotebookEvent
wxAuiNotebookEvent * ev = (wxAuiNotebookEvent *) event;
wxAuiNotebook * GetDragSource = ev->GetDragSource();
evClass = (char*)"wxAuiNotebookEvent";
@@ -780,7 +781,7 @@ case 222: {// wxAuiNotebookEvent
rt.addTupleCount(5);
break;
}
-case 223: {// wxAuiManagerEvent
+case 224: {// wxAuiManagerEvent
wxAuiManagerEvent * ev = (wxAuiManagerEvent *) event;
wxAuiManager * GetManager = ev->GetManager();
wxAuiPaneInfo * GetPane = ev->GetPane();
@@ -797,13 +798,20 @@ case 223: {// wxAuiManagerEvent
rt.addTupleCount(8);
break;
}
-case 226: {// wxTaskBarIconEvent
+case 227: {// wxTaskBarIconEvent
evClass = (char*)"wxTaskBarIconEvent";
rt.addAtom((char*)"wxTaskBarIcon");
rt.addAtom(Etype->eName);
rt.addTupleCount(2);
break;
}
+case 228: {// wxInitDialogEvent
+ evClass = (char*)"wxInitDialogEvent";
+ rt.addAtom((char*)"wxInitDialog");
+ rt.addAtom(Etype->eName);
+ rt.addTupleCount(2);
+ break;
+}
}
rt.addTupleCount(5);
diff --git a/lib/wx/c_src/gen/wxe_funcs.cpp b/lib/wx/c_src/gen/wxe_funcs.cpp
index 2d55f34346..3f5cb4c0f5 100644
--- a/lib/wx/c_src/gen/wxe_funcs.cpp
+++ b/lib/wx/c_src/gen/wxe_funcs.cpp
@@ -1,7 +1,7 @@
/*
* %CopyrightBegin%
*
- * Copyright Ericsson AB 2008-2013. All Rights Reserved.
+ * Copyright Ericsson AB 2008-2014. All Rights Reserved.
*
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
@@ -45,9 +45,14 @@ void WxeApp::wxe_dispatch(wxeCommand& Ecmd)
switch (Ecmd.op)
{
case DESTROY_OBJECT: {
- wxObject *This = (wxObject *) getPtr(bp,memenv); if(This) { ((WxeApp *) wxTheApp)->clearPtr((void *) This);
- delete This; }
- } break;
+ wxObject *This = (wxObject *) getPtr(bp,memenv);
+ if(This) {
+ if(recurse_level > 1) {
+ delayed_delete->Append(Ecmd.Save());
+ } else {
+ ((WxeApp *) wxTheApp)->clearPtr((void *) This);
+ delete This; }
+ } } break;
case WXE_REGISTER_OBJECT: {
registerPid(bp, Ecmd.caller, memenv);
rt.addAtom("ok");
@@ -62,20 +67,8 @@ void WxeApp::wxe_dispatch(wxeCommand& Ecmd)
case WXE_INIT_OPENGL:
wxe_initOpenGL(rt, bp);
break;
-case 98: { // wxeEvtListener::wxeEvtListener
- wxeEvtListener *Result = new wxeEvtListener(Ecmd.port);
- rt.addRef(getRef((void *)Result,memenv), "wxeEvtListener");
- break;
-}
-case 99: { // wxeEvtListener::destroy
- wxObject *This = (wxObject *) getPtr(bp,memenv);
- rt.addAtom("ok");
- delete This;
- break;
-}
-case 100: { // wxEvtHandler::Connect
- wxeEvtListener *Listener = (wxeEvtListener *) getPtr(bp,memenv); bp += 4;
+case 100: { // wxEvtHandler::Connect
wxEvtHandler *This = (wxEvtHandler *) getPtr(bp, memenv); bp += 4;
int * winid = (int *) bp; bp += 4;
int * lastId = (int *) bp; bp += 4;
@@ -86,20 +79,22 @@ case 100: { // wxEvtHandler::Connect
int * eventTypeLen = (int *) bp; bp += 4;
int * class_nameLen = (int *) bp; bp += 4;
- if(*haveUserData) {
+ if(*haveUserData) {
userData = new wxeErlTerm(Ecmd.bin[0]);
}
int eventType = wxeEventTypeFromAtom(bp); bp += *eventTypeLen;
char *class_name = bp; bp+= *class_nameLen;
if(eventType > 0 ) {
- wxeCallbackData * Evt_cb = new wxeCallbackData(Ecmd.caller,(void *) This,
- class_name,*fun_cb,
- *skip, userData);
- This->Connect((int) *winid,(int) *lastId,eventType,
- (wxObjectEventFunction)(wxEventFunction) &wxeEvtListener::forward,
- Evt_cb, Listener);
- rt.addAtom("ok");
+ wxeEvtListener * Evt_cb = new wxeEvtListener(Ecmd.caller,getRef(This, memenv),
+ class_name,*fun_cb,
+ *skip, userData, Ecmd.port);
+ This->Connect((int) *winid,(int) *lastId,eventType,
+ (wxObjectEventFunction)(wxEventFunction) &wxeEvtListener::forward,
+ Evt_cb, Evt_cb);
+ rt.addAtom("ok");
+ rt.addRef(getRef((void *)Evt_cb,memenv), "wxeEvtListener");
+ rt.addTupleCount(2);
} else {
rt.addAtom("badarg");
rt.addAtom("event_type");
@@ -107,7 +102,7 @@ case 100: { // wxEvtHandler::Connect
}
break;
}
-case 101: { // wxEvtHandler::Disconnect
+case 101: { // wxEvtHandler::Disconnect
wxeEvtListener *Listener = (wxeEvtListener *) getPtr(bp,memenv); bp += 4;
wxEvtHandler *This = (wxEvtHandler *) getPtr(bp, memenv); bp += 4;
int * winid = (int *) bp; bp += 4;
@@ -117,14 +112,14 @@ case 101: { // wxEvtHandler::Disconnect
int eventType = wxeEventTypeFromAtom(bp); bp += *eventTypeLen;
if(eventType > 0) {
bool Result = This->Disconnect((int) *winid,(int) *lastId,eventType,
- (wxObjectEventFunction)(wxEventFunction)
- &wxeEvtListener::forward,
- NULL, Listener);
+ (wxObjectEventFunction)(wxEventFunction)
+ &wxeEvtListener::forward,
+ NULL, Listener);
rt.addBool(Result);
} else {
rt.addAtom("badarg");
rt.addAtom("event_type");
- rt.addTupleCount(2);
+ rt.addTupleCount(2);
}
break;
}
@@ -2218,6 +2213,12 @@ case wxPanel_InitDialog: { // wxPanel::InitDialog
This->InitDialog();
break;
}
+case wxPanel_SetFocusIgnoringChildren: { // wxPanel::SetFocusIgnoringChildren
+ wxPanel *This = (wxPanel *) getPtr(bp,memenv); bp += 4;
+ if(!This) throw wxe_badarg(0);
+ This->SetFocusIgnoringChildren();
+ break;
+}
case wxScrolledWindow_new_0: { // wxScrolledWindow::wxScrolledWindow
wxScrolledWindow * Result = new EwxScrolledWindow();
newPtr((void *) Result, 0, memenv);
@@ -8849,16 +8850,14 @@ case wxStatusBar_Create: { // wxStatusBar::Create
break;
}
case wxStatusBar_GetFieldRect: { // wxStatusBar::GetFieldRect
+ wxRect rect;
wxStatusBar *This = (wxStatusBar *) getPtr(bp,memenv); bp += 4;
int * i = (int *) bp; bp += 4;
- int * rectX = (int *) bp; bp += 4;
- int * rectY = (int *) bp; bp += 4;
- int * rectW = (int *) bp; bp += 4;
- int * rectH = (int *) bp; bp += 4;
- wxRect rect = wxRect(*rectX,*rectY,*rectW,*rectH);
if(!This) throw wxe_badarg(0);
bool Result = This->GetFieldRect(*i,rect);
rt.addBool(Result);
+ rt.add(rect);
+ rt.addTupleCount(2);
break;
}
case wxStatusBar_GetFieldsCount: { // wxStatusBar::GetFieldsCount
@@ -15133,7 +15132,7 @@ case wxListBox_Set: { // wxListBox::Set
}
bp += (8-((0+ itemsASz) & 7 )) & 7;
if(!This) throw wxe_badarg(0);
- This->Set(items,(void **) NULL);
+ This->Set(items);
break;
}
case wxListBox_HitTest: { // wxListBox::HitTest
@@ -26949,14 +26948,14 @@ case wxStyledTextCtrl_new_2: { // wxStyledTextCtrl::wxStyledTextCtrl
style = (long)*(int *) bp; bp += 4;
} break;
}};
- wxStyledTextCtrl * Result = new wxStyledTextCtrl(parent,id,pos,size,style);
- /* Possible memory leak here, class is missing virt dest */
+ wxStyledTextCtrl * Result = new EwxStyledTextCtrl(parent,id,pos,size,style);
+ newPtr((void *) Result, 0, memenv);
rt.addRef(getRef((void *)Result,memenv), "wxStyledTextCtrl");
break;
}
case wxStyledTextCtrl_new_0: { // wxStyledTextCtrl::wxStyledTextCtrl
- wxStyledTextCtrl * Result = new wxStyledTextCtrl();
- /* Possible memory leak here, class is missing virt dest */
+ wxStyledTextCtrl * Result = new EwxStyledTextCtrl();
+ newPtr((void *) Result, 0, memenv);
rt.addRef(getRef((void *)Result,memenv), "wxStyledTextCtrl");
break;
}
@@ -31360,7 +31359,7 @@ case wxAuiManagerEvent_CanVeto: { // wxAuiManagerEvent::CanVeto
}
case wxLogNull_new: { // wxLogNull::wxLogNull
wxLogNull * Result = new wxLogNull();
- newPtr((void *) Result, 224, memenv);
+ newPtr((void *) Result, 225, memenv);
rt.addRef(getRef((void *)Result,memenv), "wxLogNull");
break;
}
@@ -31450,7 +31449,7 @@ void WxeApp::delete_object(void *ptr, wxeRefData *refd) {
case 211: /* delete (wxFileDataObject *) ptr;These objects must be deleted by owner object */ break;
case 212: /* delete (wxTextDataObject *) ptr;These objects must be deleted by owner object */ break;
case 213: /* delete (wxBitmapDataObject *) ptr;These objects must be deleted by owner object */ break;
- case 224: delete (wxLogNull *) ptr; break;
+ case 225: delete (wxLogNull *) ptr; break;
default: delete (wxObject *) ptr;
}}
diff --git a/lib/wx/c_src/gen/wxe_macros.h b/lib/wx/c_src/gen/wxe_macros.h
index c341825d8d..a1da6500d5 100644
--- a/lib/wx/c_src/gen/wxe_macros.h
+++ b/lib/wx/c_src/gen/wxe_macros.h
@@ -288,1262 +288,1263 @@
#define wxPanel_new_2 334
#define wxPanel_destruct 335
#define wxPanel_InitDialog 336
-#define wxScrolledWindow_new_0 337
-#define wxScrolledWindow_new_2 338
-#define wxScrolledWindow_destruct 339
-#define wxScrolledWindow_CalcScrolledPosition_4 340
-#define wxScrolledWindow_CalcScrolledPosition_1 341
-#define wxScrolledWindow_CalcUnscrolledPosition_4 342
-#define wxScrolledWindow_CalcUnscrolledPosition_1 343
-#define wxScrolledWindow_EnableScrolling 344
-#define wxScrolledWindow_GetScrollPixelsPerUnit 345
-#define wxScrolledWindow_GetViewStart 346
-#define wxScrolledWindow_DoPrepareDC 347
-#define wxScrolledWindow_PrepareDC 348
-#define wxScrolledWindow_Scroll 349
-#define wxScrolledWindow_SetScrollbars 350
-#define wxScrolledWindow_SetScrollRate 351
-#define wxScrolledWindow_SetTargetWindow 352
-#define wxSashWindow_new_0 353
-#define wxSashWindow_new_2 354
-#define wxSashWindow_destruct 355
-#define wxSashWindow_GetSashVisible 356
-#define wxSashWindow_GetMaximumSizeX 357
-#define wxSashWindow_GetMaximumSizeY 358
-#define wxSashWindow_GetMinimumSizeX 359
-#define wxSashWindow_GetMinimumSizeY 360
-#define wxSashWindow_SetMaximumSizeX 361
-#define wxSashWindow_SetMaximumSizeY 362
-#define wxSashWindow_SetMinimumSizeX 363
-#define wxSashWindow_SetMinimumSizeY 364
-#define wxSashWindow_SetSashVisible 365
-#define wxSashLayoutWindow_new_0 366
-#define wxSashLayoutWindow_new_2 367
-#define wxSashLayoutWindow_Create 368
-#define wxSashLayoutWindow_GetAlignment 369
-#define wxSashLayoutWindow_GetOrientation 370
-#define wxSashLayoutWindow_SetAlignment 371
-#define wxSashLayoutWindow_SetDefaultSize 372
-#define wxSashLayoutWindow_SetOrientation 373
-#define wxSashLayoutWindow_destroy 374
-#define wxGrid_new_0 375
-#define wxGrid_new_3 376
-#define wxGrid_new_4 377
-#define wxGrid_destruct 378
-#define wxGrid_AppendCols 379
-#define wxGrid_AppendRows 380
-#define wxGrid_AutoSize 381
-#define wxGrid_AutoSizeColumn 382
-#define wxGrid_AutoSizeColumns 383
-#define wxGrid_AutoSizeRow 384
-#define wxGrid_AutoSizeRows 385
-#define wxGrid_BeginBatch 386
-#define wxGrid_BlockToDeviceRect 387
-#define wxGrid_CanDragColSize 388
-#define wxGrid_CanDragRowSize 389
-#define wxGrid_CanDragGridSize 390
-#define wxGrid_CanEnableCellControl 391
-#define wxGrid_CellToRect_2 392
-#define wxGrid_CellToRect_1 393
-#define wxGrid_ClearGrid 394
-#define wxGrid_ClearSelection 395
-#define wxGrid_CreateGrid 396
-#define wxGrid_DeleteCols 397
-#define wxGrid_DeleteRows 398
-#define wxGrid_DisableCellEditControl 399
-#define wxGrid_DisableDragColSize 400
-#define wxGrid_DisableDragGridSize 401
-#define wxGrid_DisableDragRowSize 402
-#define wxGrid_EnableCellEditControl 403
-#define wxGrid_EnableDragColSize 404
-#define wxGrid_EnableDragGridSize 405
-#define wxGrid_EnableDragRowSize 406
-#define wxGrid_EnableEditing 407
-#define wxGrid_EnableGridLines 408
-#define wxGrid_EndBatch 409
-#define wxGrid_Fit 410
-#define wxGrid_ForceRefresh 411
-#define wxGrid_GetBatchCount 412
-#define wxGrid_GetCellAlignment 413
-#define wxGrid_GetCellBackgroundColour 414
-#define wxGrid_GetCellEditor 415
-#define wxGrid_GetCellFont 416
-#define wxGrid_GetCellRenderer 417
-#define wxGrid_GetCellTextColour 418
-#define wxGrid_GetCellValue_2 419
-#define wxGrid_GetCellValue_1 420
-#define wxGrid_GetColLabelAlignment 421
-#define wxGrid_GetColLabelSize 422
-#define wxGrid_GetColLabelValue 423
-#define wxGrid_GetColMinimalAcceptableWidth 424
-#define wxGrid_GetDefaultCellAlignment 425
-#define wxGrid_GetDefaultCellBackgroundColour 426
-#define wxGrid_GetDefaultCellFont 427
-#define wxGrid_GetDefaultCellTextColour 428
-#define wxGrid_GetDefaultColLabelSize 429
-#define wxGrid_GetDefaultColSize 430
-#define wxGrid_GetDefaultEditor 431
-#define wxGrid_GetDefaultEditorForCell_2 432
-#define wxGrid_GetDefaultEditorForCell_1 433
-#define wxGrid_GetDefaultEditorForType 434
-#define wxGrid_GetDefaultRenderer 435
-#define wxGrid_GetDefaultRendererForCell 436
-#define wxGrid_GetDefaultRendererForType 437
-#define wxGrid_GetDefaultRowLabelSize 438
-#define wxGrid_GetDefaultRowSize 439
-#define wxGrid_GetGridCursorCol 440
-#define wxGrid_GetGridCursorRow 441
-#define wxGrid_GetGridLineColour 442
-#define wxGrid_GridLinesEnabled 443
-#define wxGrid_GetLabelBackgroundColour 444
-#define wxGrid_GetLabelFont 445
-#define wxGrid_GetLabelTextColour 446
-#define wxGrid_GetNumberCols 447
-#define wxGrid_GetNumberRows 448
-#define wxGrid_GetOrCreateCellAttr 449
-#define wxGrid_GetRowMinimalAcceptableHeight 450
-#define wxGrid_GetRowLabelAlignment 451
-#define wxGrid_GetRowLabelSize 452
-#define wxGrid_GetRowLabelValue 453
-#define wxGrid_GetRowSize 454
-#define wxGrid_GetScrollLineX 455
-#define wxGrid_GetScrollLineY 456
-#define wxGrid_GetSelectedCells 457
-#define wxGrid_GetSelectedCols 458
-#define wxGrid_GetSelectedRows 459
-#define wxGrid_GetSelectionBackground 460
-#define wxGrid_GetSelectionBlockTopLeft 461
-#define wxGrid_GetSelectionBlockBottomRight 462
-#define wxGrid_GetSelectionForeground 463
-#define wxGrid_GetViewWidth 464
-#define wxGrid_GetGridWindow 465
-#define wxGrid_GetGridRowLabelWindow 466
-#define wxGrid_GetGridColLabelWindow 467
-#define wxGrid_GetGridCornerLabelWindow 468
-#define wxGrid_HideCellEditControl 469
-#define wxGrid_InsertCols 470
-#define wxGrid_InsertRows 471
-#define wxGrid_IsCellEditControlEnabled 472
-#define wxGrid_IsCurrentCellReadOnly 473
-#define wxGrid_IsEditable 474
-#define wxGrid_IsInSelection_2 475
-#define wxGrid_IsInSelection_1 476
-#define wxGrid_IsReadOnly 477
-#define wxGrid_IsSelection 478
-#define wxGrid_IsVisible_3 479
-#define wxGrid_IsVisible_2 480
-#define wxGrid_MakeCellVisible_2 481
-#define wxGrid_MakeCellVisible_1 482
-#define wxGrid_MoveCursorDown 483
-#define wxGrid_MoveCursorLeft 484
-#define wxGrid_MoveCursorRight 485
-#define wxGrid_MoveCursorUp 486
-#define wxGrid_MoveCursorDownBlock 487
-#define wxGrid_MoveCursorLeftBlock 488
-#define wxGrid_MoveCursorRightBlock 489
-#define wxGrid_MoveCursorUpBlock 490
-#define wxGrid_MovePageDown 491
-#define wxGrid_MovePageUp 492
-#define wxGrid_RegisterDataType 493
-#define wxGrid_SaveEditControlValue 494
-#define wxGrid_SelectAll 495
-#define wxGrid_SelectBlock_5 496
-#define wxGrid_SelectBlock_3 497
-#define wxGrid_SelectCol 498
-#define wxGrid_SelectRow 499
-#define wxGrid_SetCellAlignment_4 500
-#define wxGrid_SetCellAlignment_3 501
-#define wxGrid_SetCellAlignment_1 502
-#define wxGrid_SetCellBackgroundColour_3_0 503
-#define wxGrid_SetCellBackgroundColour_1 504
-#define wxGrid_SetCellBackgroundColour_3_1 505
-#define wxGrid_SetCellEditor 506
-#define wxGrid_SetCellFont 507
-#define wxGrid_SetCellRenderer 508
-#define wxGrid_SetCellTextColour_3_0 509
-#define wxGrid_SetCellTextColour_3_1 510
-#define wxGrid_SetCellTextColour_1 511
-#define wxGrid_SetCellValue_3_0 512
-#define wxGrid_SetCellValue_2 513
-#define wxGrid_SetCellValue_3_1 514
-#define wxGrid_SetColAttr 515
-#define wxGrid_SetColFormatBool 516
-#define wxGrid_SetColFormatNumber 517
-#define wxGrid_SetColFormatFloat 518
-#define wxGrid_SetColFormatCustom 519
-#define wxGrid_SetColLabelAlignment 520
-#define wxGrid_SetColLabelSize 521
-#define wxGrid_SetColLabelValue 522
-#define wxGrid_SetColMinimalWidth 523
-#define wxGrid_SetColMinimalAcceptableWidth 524
-#define wxGrid_SetColSize 525
-#define wxGrid_SetDefaultCellAlignment 526
-#define wxGrid_SetDefaultCellBackgroundColour 527
-#define wxGrid_SetDefaultCellFont 528
-#define wxGrid_SetDefaultCellTextColour 529
-#define wxGrid_SetDefaultEditor 530
-#define wxGrid_SetDefaultRenderer 531
-#define wxGrid_SetDefaultColSize 532
-#define wxGrid_SetDefaultRowSize 533
-#define wxGrid_SetGridCursor 534
-#define wxGrid_SetGridLineColour 535
-#define wxGrid_SetLabelBackgroundColour 536
-#define wxGrid_SetLabelFont 537
-#define wxGrid_SetLabelTextColour 538
-#define wxGrid_SetMargins 539
-#define wxGrid_SetReadOnly 540
-#define wxGrid_SetRowAttr 541
-#define wxGrid_SetRowLabelAlignment 542
-#define wxGrid_SetRowLabelSize 543
-#define wxGrid_SetRowLabelValue 544
-#define wxGrid_SetRowMinimalHeight 545
-#define wxGrid_SetRowMinimalAcceptableHeight 546
-#define wxGrid_SetRowSize 547
-#define wxGrid_SetScrollLineX 548
-#define wxGrid_SetScrollLineY 549
-#define wxGrid_SetSelectionBackground 550
-#define wxGrid_SetSelectionForeground 551
-#define wxGrid_SetSelectionMode 552
-#define wxGrid_ShowCellEditControl 553
-#define wxGrid_XToCol 554
-#define wxGrid_XToEdgeOfCol 555
-#define wxGrid_YToEdgeOfRow 556
-#define wxGrid_YToRow 557
-#define wxGridCellRenderer_Draw 558
-#define wxGridCellRenderer_GetBestSize 559
-#define wxGridCellEditor_Create 560
-#define wxGridCellEditor_IsCreated 561
-#define wxGridCellEditor_SetSize 562
-#define wxGridCellEditor_Show 563
-#define wxGridCellEditor_PaintBackground 564
-#define wxGridCellEditor_BeginEdit 565
-#define wxGridCellEditor_EndEdit 566
-#define wxGridCellEditor_Reset 567
-#define wxGridCellEditor_StartingKey 568
-#define wxGridCellEditor_StartingClick 569
-#define wxGridCellEditor_HandleReturn 570
-#define wxGridCellBoolRenderer_new 571
-#define wxGridCellBoolRenderer_destroy 572
-#define wxGridCellBoolEditor_new 573
-#define wxGridCellBoolEditor_IsTrueValue 574
-#define wxGridCellBoolEditor_UseStringValues 575
-#define wxGridCellBoolEditor_destroy 576
-#define wxGridCellFloatRenderer_new 577
-#define wxGridCellFloatRenderer_GetPrecision 578
-#define wxGridCellFloatRenderer_GetWidth 579
-#define wxGridCellFloatRenderer_SetParameters 580
-#define wxGridCellFloatRenderer_SetPrecision 581
-#define wxGridCellFloatRenderer_SetWidth 582
-#define wxGridCellFloatRenderer_destroy 583
-#define wxGridCellFloatEditor_new 584
-#define wxGridCellFloatEditor_SetParameters 585
-#define wxGridCellFloatEditor_destroy 586
-#define wxGridCellStringRenderer_new 587
-#define wxGridCellStringRenderer_destroy 588
-#define wxGridCellTextEditor_new 589
-#define wxGridCellTextEditor_SetParameters 590
-#define wxGridCellTextEditor_destroy 591
-#define wxGridCellChoiceEditor_new 593
-#define wxGridCellChoiceEditor_SetParameters 594
-#define wxGridCellChoiceEditor_destroy 595
-#define wxGridCellNumberRenderer_new 596
-#define wxGridCellNumberRenderer_destroy 597
-#define wxGridCellNumberEditor_new 598
-#define wxGridCellNumberEditor_GetValue 599
-#define wxGridCellNumberEditor_SetParameters 600
-#define wxGridCellNumberEditor_destroy 601
-#define wxGridCellAttr_SetTextColour 602
-#define wxGridCellAttr_SetBackgroundColour 603
-#define wxGridCellAttr_SetFont 604
-#define wxGridCellAttr_SetAlignment 605
-#define wxGridCellAttr_SetReadOnly 606
-#define wxGridCellAttr_SetRenderer 607
-#define wxGridCellAttr_SetEditor 608
-#define wxGridCellAttr_HasTextColour 609
-#define wxGridCellAttr_HasBackgroundColour 610
-#define wxGridCellAttr_HasFont 611
-#define wxGridCellAttr_HasAlignment 612
-#define wxGridCellAttr_HasRenderer 613
-#define wxGridCellAttr_HasEditor 614
-#define wxGridCellAttr_GetTextColour 615
-#define wxGridCellAttr_GetBackgroundColour 616
-#define wxGridCellAttr_GetFont 617
-#define wxGridCellAttr_GetAlignment 618
-#define wxGridCellAttr_GetRenderer 619
-#define wxGridCellAttr_GetEditor 620
-#define wxGridCellAttr_IsReadOnly 621
-#define wxGridCellAttr_SetDefAttr 622
-#define wxDC_Blit 623
-#define wxDC_CalcBoundingBox 624
-#define wxDC_Clear 625
-#define wxDC_ComputeScaleAndOrigin 626
-#define wxDC_CrossHair 627
-#define wxDC_DestroyClippingRegion 628
-#define wxDC_DeviceToLogicalX 629
-#define wxDC_DeviceToLogicalXRel 630
-#define wxDC_DeviceToLogicalY 631
-#define wxDC_DeviceToLogicalYRel 632
-#define wxDC_DrawArc 633
-#define wxDC_DrawBitmap 634
-#define wxDC_DrawCheckMark 635
-#define wxDC_DrawCircle 636
-#define wxDC_DrawEllipse_2 638
-#define wxDC_DrawEllipse_1 639
-#define wxDC_DrawEllipticArc 640
-#define wxDC_DrawIcon 641
-#define wxDC_DrawLabel 642
-#define wxDC_DrawLine 643
-#define wxDC_DrawLines 644
-#define wxDC_DrawPolygon 646
-#define wxDC_DrawPoint 648
-#define wxDC_DrawRectangle_2 650
-#define wxDC_DrawRectangle_1 651
-#define wxDC_DrawRotatedText 652
-#define wxDC_DrawRoundedRectangle_3 654
-#define wxDC_DrawRoundedRectangle_2 655
-#define wxDC_DrawText 656
-#define wxDC_EndDoc 657
-#define wxDC_EndPage 658
-#define wxDC_FloodFill 659
-#define wxDC_GetBackground 660
-#define wxDC_GetBackgroundMode 661
-#define wxDC_GetBrush 662
-#define wxDC_GetCharHeight 663
-#define wxDC_GetCharWidth 664
-#define wxDC_GetClippingBox 665
-#define wxDC_GetFont 667
-#define wxDC_GetLayoutDirection 668
-#define wxDC_GetLogicalFunction 669
-#define wxDC_GetMapMode 670
-#define wxDC_GetMultiLineTextExtent_4 671
-#define wxDC_GetMultiLineTextExtent_1 672
-#define wxDC_GetPartialTextExtents 673
-#define wxDC_GetPen 674
-#define wxDC_GetPixel 675
-#define wxDC_GetPPI 676
-#define wxDC_GetSize 678
-#define wxDC_GetSizeMM 680
-#define wxDC_GetTextBackground 681
-#define wxDC_GetTextExtent_4 682
-#define wxDC_GetTextExtent_1 683
-#define wxDC_GetTextForeground 685
-#define wxDC_GetUserScale 686
-#define wxDC_GradientFillConcentric_3 687
-#define wxDC_GradientFillConcentric_4 688
-#define wxDC_GradientFillLinear 689
-#define wxDC_LogicalToDeviceX 690
-#define wxDC_LogicalToDeviceXRel 691
-#define wxDC_LogicalToDeviceY 692
-#define wxDC_LogicalToDeviceYRel 693
-#define wxDC_MaxX 694
-#define wxDC_MaxY 695
-#define wxDC_MinX 696
-#define wxDC_MinY 697
-#define wxDC_IsOk 698
-#define wxDC_ResetBoundingBox 699
-#define wxDC_SetAxisOrientation 700
-#define wxDC_SetBackground 701
-#define wxDC_SetBackgroundMode 702
-#define wxDC_SetBrush 703
-#define wxDC_SetClippingRegion_2 705
-#define wxDC_SetClippingRegion_1_1 706
-#define wxDC_SetClippingRegion_1_0 707
-#define wxDC_SetDeviceOrigin 708
-#define wxDC_SetFont 709
-#define wxDC_SetLayoutDirection 710
-#define wxDC_SetLogicalFunction 711
-#define wxDC_SetMapMode 712
-#define wxDC_SetPalette 713
-#define wxDC_SetPen 714
-#define wxDC_SetTextBackground 715
-#define wxDC_SetTextForeground 716
-#define wxDC_SetUserScale 717
-#define wxDC_StartDoc 718
-#define wxDC_StartPage 719
-#define wxMirrorDC_new 720
-#define wxMirrorDC_destroy 721
-#define wxScreenDC_new 722
-#define wxScreenDC_destruct 723
-#define wxPostScriptDC_new_0 724
-#define wxPostScriptDC_new_1 725
-#define wxPostScriptDC_destruct 726
-#define wxPostScriptDC_SetResolution 727
-#define wxPostScriptDC_GetResolution 728
-#define wxWindowDC_new_0 729
-#define wxWindowDC_new_1 730
-#define wxWindowDC_destruct 731
-#define wxClientDC_new_0 732
-#define wxClientDC_new_1 733
-#define wxClientDC_destroy 734
-#define wxPaintDC_new_0 735
-#define wxPaintDC_new_1 736
-#define wxPaintDC_destroy 737
-#define wxMemoryDC_new_1_0 739
-#define wxMemoryDC_new_1_1 740
-#define wxMemoryDC_new_0 741
-#define wxMemoryDC_destruct 743
-#define wxMemoryDC_SelectObject 744
-#define wxMemoryDC_SelectObjectAsSource 745
-#define wxBufferedDC_new_0 746
-#define wxBufferedDC_new_2 747
-#define wxBufferedDC_new_3 748
-#define wxBufferedDC_destruct 749
-#define wxBufferedDC_Init_2 750
-#define wxBufferedDC_Init_3 751
-#define wxBufferedPaintDC_new_3 752
-#define wxBufferedPaintDC_new_2 753
-#define wxBufferedPaintDC_destruct 754
-#define wxGraphicsObject_destruct 755
-#define wxGraphicsObject_GetRenderer 756
-#define wxGraphicsObject_IsNull 757
-#define wxGraphicsContext_destruct 758
-#define wxGraphicsContext_Create_1_1 759
-#define wxGraphicsContext_Create_1_0 760
-#define wxGraphicsContext_Create_0 761
-#define wxGraphicsContext_CreatePen 762
-#define wxGraphicsContext_CreateBrush 763
-#define wxGraphicsContext_CreateRadialGradientBrush 764
-#define wxGraphicsContext_CreateLinearGradientBrush 765
-#define wxGraphicsContext_CreateFont 766
-#define wxGraphicsContext_CreateMatrix 767
-#define wxGraphicsContext_CreatePath 768
-#define wxGraphicsContext_Clip_1 769
-#define wxGraphicsContext_Clip_4 770
-#define wxGraphicsContext_ResetClip 771
-#define wxGraphicsContext_DrawBitmap 772
-#define wxGraphicsContext_DrawEllipse 773
-#define wxGraphicsContext_DrawIcon 774
-#define wxGraphicsContext_DrawLines 775
-#define wxGraphicsContext_DrawPath 776
-#define wxGraphicsContext_DrawRectangle 777
-#define wxGraphicsContext_DrawRoundedRectangle 778
-#define wxGraphicsContext_DrawText_3 779
-#define wxGraphicsContext_DrawText_4_0 780
-#define wxGraphicsContext_DrawText_4_1 781
-#define wxGraphicsContext_DrawText_5 782
-#define wxGraphicsContext_FillPath 783
-#define wxGraphicsContext_StrokePath 784
-#define wxGraphicsContext_GetPartialTextExtents 785
-#define wxGraphicsContext_GetTextExtent 786
-#define wxGraphicsContext_Rotate 787
-#define wxGraphicsContext_Scale 788
-#define wxGraphicsContext_Translate 789
-#define wxGraphicsContext_GetTransform 790
-#define wxGraphicsContext_SetTransform 791
-#define wxGraphicsContext_ConcatTransform 792
-#define wxGraphicsContext_SetBrush_1_1 793
-#define wxGraphicsContext_SetBrush_1_0 794
-#define wxGraphicsContext_SetFont_1 795
-#define wxGraphicsContext_SetFont_2 796
-#define wxGraphicsContext_SetPen_1_0 797
-#define wxGraphicsContext_SetPen_1_1 798
-#define wxGraphicsContext_StrokeLine 799
-#define wxGraphicsContext_StrokeLines 800
-#define wxGraphicsMatrix_Concat 802
-#define wxGraphicsMatrix_Get 804
-#define wxGraphicsMatrix_Invert 805
-#define wxGraphicsMatrix_IsEqual 806
-#define wxGraphicsMatrix_IsIdentity 808
-#define wxGraphicsMatrix_Rotate 809
-#define wxGraphicsMatrix_Scale 810
-#define wxGraphicsMatrix_Translate 811
-#define wxGraphicsMatrix_Set 812
-#define wxGraphicsMatrix_TransformPoint 813
-#define wxGraphicsMatrix_TransformDistance 814
-#define wxGraphicsPath_MoveToPoint_2 815
-#define wxGraphicsPath_MoveToPoint_1 816
-#define wxGraphicsPath_AddArc_6 817
-#define wxGraphicsPath_AddArc_5 818
-#define wxGraphicsPath_AddArcToPoint 819
-#define wxGraphicsPath_AddCircle 820
-#define wxGraphicsPath_AddCurveToPoint_6 821
-#define wxGraphicsPath_AddCurveToPoint_3 822
-#define wxGraphicsPath_AddEllipse 823
-#define wxGraphicsPath_AddLineToPoint_2 824
-#define wxGraphicsPath_AddLineToPoint_1 825
-#define wxGraphicsPath_AddPath 826
-#define wxGraphicsPath_AddQuadCurveToPoint 827
-#define wxGraphicsPath_AddRectangle 828
-#define wxGraphicsPath_AddRoundedRectangle 829
-#define wxGraphicsPath_CloseSubpath 830
-#define wxGraphicsPath_Contains_3 831
-#define wxGraphicsPath_Contains_2 832
-#define wxGraphicsPath_GetBox 834
-#define wxGraphicsPath_GetCurrentPoint 836
-#define wxGraphicsPath_Transform 837
-#define wxGraphicsRenderer_GetDefaultRenderer 838
-#define wxGraphicsRenderer_CreateContext_1_1 839
-#define wxGraphicsRenderer_CreateContext_1_0 840
-#define wxGraphicsRenderer_CreatePen 841
-#define wxGraphicsRenderer_CreateBrush 842
-#define wxGraphicsRenderer_CreateLinearGradientBrush 843
-#define wxGraphicsRenderer_CreateRadialGradientBrush 844
-#define wxGraphicsRenderer_CreateFont 845
-#define wxGraphicsRenderer_CreateMatrix 846
-#define wxGraphicsRenderer_CreatePath 847
-#define wxMenuBar_new_1 849
-#define wxMenuBar_new_0 851
-#define wxMenuBar_destruct 853
-#define wxMenuBar_Append 854
-#define wxMenuBar_Check 855
-#define wxMenuBar_Enable_2 856
-#define wxMenuBar_Enable_1 857
-#define wxMenuBar_EnableTop 858
-#define wxMenuBar_FindMenu 859
-#define wxMenuBar_FindMenuItem 860
-#define wxMenuBar_FindItem 861
-#define wxMenuBar_GetHelpString 862
-#define wxMenuBar_GetLabel_1 863
-#define wxMenuBar_GetLabel_0 864
-#define wxMenuBar_GetLabelTop 865
-#define wxMenuBar_GetMenu 866
-#define wxMenuBar_GetMenuCount 867
-#define wxMenuBar_Insert 868
-#define wxMenuBar_IsChecked 869
-#define wxMenuBar_IsEnabled_1 870
-#define wxMenuBar_IsEnabled_0 871
-#define wxMenuBar_Remove 872
-#define wxMenuBar_Replace 873
-#define wxMenuBar_SetHelpString 874
-#define wxMenuBar_SetLabel_2 875
-#define wxMenuBar_SetLabel_1 876
-#define wxMenuBar_SetLabelTop 877
-#define wxControl_GetLabel 878
-#define wxControl_SetLabel 879
-#define wxControlWithItems_Append_1 880
-#define wxControlWithItems_Append_2 881
-#define wxControlWithItems_appendStrings_1 882
-#define wxControlWithItems_Clear 883
-#define wxControlWithItems_Delete 884
-#define wxControlWithItems_FindString 885
-#define wxControlWithItems_getClientData 886
-#define wxControlWithItems_setClientData 887
-#define wxControlWithItems_GetCount 888
-#define wxControlWithItems_GetSelection 889
-#define wxControlWithItems_GetString 890
-#define wxControlWithItems_GetStringSelection 891
-#define wxControlWithItems_Insert_2 892
-#define wxControlWithItems_Insert_3 893
-#define wxControlWithItems_IsEmpty 894
-#define wxControlWithItems_Select 895
-#define wxControlWithItems_SetSelection 896
-#define wxControlWithItems_SetString 897
-#define wxControlWithItems_SetStringSelection 898
-#define wxMenu_new_2 901
-#define wxMenu_new_1 902
-#define wxMenu_destruct 904
-#define wxMenu_Append_3 905
-#define wxMenu_Append_1 906
-#define wxMenu_Append_4_0 907
-#define wxMenu_Append_4_1 908
-#define wxMenu_AppendCheckItem 909
-#define wxMenu_AppendRadioItem 910
-#define wxMenu_AppendSeparator 911
-#define wxMenu_Break 912
-#define wxMenu_Check 913
-#define wxMenu_Delete_1_0 914
-#define wxMenu_Delete_1_1 915
-#define wxMenu_Destroy_1_0 916
-#define wxMenu_Destroy_1_1 917
-#define wxMenu_Enable 918
-#define wxMenu_FindItem_1 919
-#define wxMenu_FindItem_2 920
-#define wxMenu_FindItemByPosition 921
-#define wxMenu_GetHelpString 922
-#define wxMenu_GetLabel 923
-#define wxMenu_GetMenuItemCount 924
-#define wxMenu_GetMenuItems 925
-#define wxMenu_GetTitle 927
-#define wxMenu_Insert_2 928
-#define wxMenu_Insert_3 929
-#define wxMenu_Insert_5_1 930
-#define wxMenu_Insert_5_0 931
-#define wxMenu_InsertCheckItem 932
-#define wxMenu_InsertRadioItem 933
-#define wxMenu_InsertSeparator 934
-#define wxMenu_IsChecked 935
-#define wxMenu_IsEnabled 936
-#define wxMenu_Prepend_1 937
-#define wxMenu_Prepend_2 938
-#define wxMenu_Prepend_4_1 939
-#define wxMenu_Prepend_4_0 940
-#define wxMenu_PrependCheckItem 941
-#define wxMenu_PrependRadioItem 942
-#define wxMenu_PrependSeparator 943
-#define wxMenu_Remove_1_0 944
-#define wxMenu_Remove_1_1 945
-#define wxMenu_SetHelpString 946
-#define wxMenu_SetLabel 947
-#define wxMenu_SetTitle 948
-#define wxMenuItem_new 949
-#define wxMenuItem_destruct 951
-#define wxMenuItem_Check 952
-#define wxMenuItem_Enable 953
-#define wxMenuItem_GetBitmap 954
-#define wxMenuItem_GetHelp 955
-#define wxMenuItem_GetId 956
-#define wxMenuItem_GetKind 957
-#define wxMenuItem_GetLabel 958
-#define wxMenuItem_GetLabelFromText 959
-#define wxMenuItem_GetMenu 960
-#define wxMenuItem_GetText 961
-#define wxMenuItem_GetSubMenu 962
-#define wxMenuItem_IsCheckable 963
-#define wxMenuItem_IsChecked 964
-#define wxMenuItem_IsEnabled 965
-#define wxMenuItem_IsSeparator 966
-#define wxMenuItem_IsSubMenu 967
-#define wxMenuItem_SetBitmap 968
-#define wxMenuItem_SetHelp 969
-#define wxMenuItem_SetMenu 970
-#define wxMenuItem_SetSubMenu 971
-#define wxMenuItem_SetText 972
-#define wxToolBar_AddControl 973
-#define wxToolBar_AddSeparator 974
-#define wxToolBar_AddTool_5 975
-#define wxToolBar_AddTool_4_0 976
-#define wxToolBar_AddTool_1 977
-#define wxToolBar_AddTool_4_1 978
-#define wxToolBar_AddTool_3 979
-#define wxToolBar_AddTool_6 980
-#define wxToolBar_AddCheckTool 981
-#define wxToolBar_AddRadioTool 982
-#define wxToolBar_DeleteTool 983
-#define wxToolBar_DeleteToolByPos 984
-#define wxToolBar_EnableTool 985
-#define wxToolBar_FindById 986
-#define wxToolBar_FindControl 987
-#define wxToolBar_FindToolForPosition 988
-#define wxToolBar_GetToolSize 989
-#define wxToolBar_GetToolBitmapSize 990
-#define wxToolBar_GetMargins 991
-#define wxToolBar_GetToolEnabled 992
-#define wxToolBar_GetToolLongHelp 993
-#define wxToolBar_GetToolPacking 994
-#define wxToolBar_GetToolPos 995
-#define wxToolBar_GetToolSeparation 996
-#define wxToolBar_GetToolShortHelp 997
-#define wxToolBar_GetToolState 998
-#define wxToolBar_InsertControl 999
-#define wxToolBar_InsertSeparator 1000
-#define wxToolBar_InsertTool_5 1001
-#define wxToolBar_InsertTool_2 1002
-#define wxToolBar_InsertTool_4 1003
-#define wxToolBar_Realize 1004
-#define wxToolBar_RemoveTool 1005
-#define wxToolBar_SetMargins 1006
-#define wxToolBar_SetToolBitmapSize 1007
-#define wxToolBar_SetToolLongHelp 1008
-#define wxToolBar_SetToolPacking 1009
-#define wxToolBar_SetToolShortHelp 1010
-#define wxToolBar_SetToolSeparation 1011
-#define wxToolBar_ToggleTool 1012
-#define wxStatusBar_new_0 1014
-#define wxStatusBar_new_2 1015
-#define wxStatusBar_destruct 1017
-#define wxStatusBar_Create 1018
-#define wxStatusBar_GetFieldRect 1019
-#define wxStatusBar_GetFieldsCount 1020
-#define wxStatusBar_GetStatusText 1021
-#define wxStatusBar_PopStatusText 1022
-#define wxStatusBar_PushStatusText 1023
-#define wxStatusBar_SetFieldsCount 1024
-#define wxStatusBar_SetMinHeight 1025
-#define wxStatusBar_SetStatusText 1026
-#define wxStatusBar_SetStatusWidths 1027
-#define wxStatusBar_SetStatusStyles 1028
-#define wxBitmap_new_0 1029
-#define wxBitmap_new_3 1030
-#define wxBitmap_new_4 1031
-#define wxBitmap_new_2_0 1032
-#define wxBitmap_new_2_1 1033
-#define wxBitmap_destruct 1034
-#define wxBitmap_ConvertToImage 1035
-#define wxBitmap_CopyFromIcon 1036
-#define wxBitmap_Create 1037
-#define wxBitmap_GetDepth 1038
-#define wxBitmap_GetHeight 1039
-#define wxBitmap_GetPalette 1040
-#define wxBitmap_GetMask 1041
-#define wxBitmap_GetWidth 1042
-#define wxBitmap_GetSubBitmap 1043
-#define wxBitmap_LoadFile 1044
-#define wxBitmap_Ok 1045
-#define wxBitmap_SaveFile 1046
-#define wxBitmap_SetDepth 1047
-#define wxBitmap_SetHeight 1048
-#define wxBitmap_SetMask 1049
-#define wxBitmap_SetPalette 1050
-#define wxBitmap_SetWidth 1051
-#define wxIcon_new_0 1052
-#define wxIcon_new_2 1053
-#define wxIcon_new_1 1054
-#define wxIcon_CopyFromBitmap 1055
-#define wxIcon_destroy 1056
-#define wxIconBundle_new_0 1057
-#define wxIconBundle_new_2 1058
-#define wxIconBundle_new_1_0 1059
-#define wxIconBundle_new_1_1 1060
-#define wxIconBundle_destruct 1061
-#define wxIconBundle_AddIcon_2 1062
-#define wxIconBundle_AddIcon_1 1063
-#define wxIconBundle_GetIcon_1_1 1064
-#define wxIconBundle_GetIcon_1_0 1065
-#define wxCursor_new_0 1066
-#define wxCursor_new_1_0 1067
-#define wxCursor_new_1_1 1068
-#define wxCursor_new_4 1069
-#define wxCursor_destruct 1070
-#define wxCursor_Ok 1071
-#define wxMask_new_0 1072
-#define wxMask_new_2_1 1073
-#define wxMask_new_2_0 1074
-#define wxMask_new_1 1075
-#define wxMask_destruct 1076
-#define wxMask_Create_2_1 1077
-#define wxMask_Create_2_0 1078
-#define wxMask_Create_1 1079
-#define wxImage_new_0 1080
-#define wxImage_new_3_0 1081
-#define wxImage_new_4 1082
-#define wxImage_new_5 1083
-#define wxImage_new_2 1084
-#define wxImage_new_3_1 1085
-#define wxImage_Blur 1086
-#define wxImage_BlurHorizontal 1087
-#define wxImage_BlurVertical 1088
-#define wxImage_ConvertAlphaToMask 1089
-#define wxImage_ConvertToGreyscale 1090
-#define wxImage_ConvertToMono 1091
-#define wxImage_Copy 1092
-#define wxImage_Create_3 1093
-#define wxImage_Create_4 1094
-#define wxImage_Create_5 1095
-#define wxImage_Destroy 1096
-#define wxImage_FindFirstUnusedColour 1097
-#define wxImage_GetImageExtWildcard 1098
-#define wxImage_GetAlpha_2 1099
-#define wxImage_GetAlpha_0 1100
-#define wxImage_GetBlue 1101
-#define wxImage_GetData 1102
-#define wxImage_GetGreen 1103
-#define wxImage_GetImageCount 1104
-#define wxImage_GetHeight 1105
-#define wxImage_GetMaskBlue 1106
-#define wxImage_GetMaskGreen 1107
-#define wxImage_GetMaskRed 1108
-#define wxImage_GetOrFindMaskColour 1109
-#define wxImage_GetPalette 1110
-#define wxImage_GetRed 1111
-#define wxImage_GetSubImage 1112
-#define wxImage_GetWidth 1113
-#define wxImage_HasAlpha 1114
-#define wxImage_HasMask 1115
-#define wxImage_GetOption 1116
-#define wxImage_GetOptionInt 1117
-#define wxImage_HasOption 1118
-#define wxImage_InitAlpha 1119
-#define wxImage_InitStandardHandlers 1120
-#define wxImage_IsTransparent 1121
-#define wxImage_LoadFile_2 1122
-#define wxImage_LoadFile_3 1123
-#define wxImage_Ok 1124
-#define wxImage_RemoveHandler 1125
-#define wxImage_Mirror 1126
-#define wxImage_Replace 1127
-#define wxImage_Rescale 1128
-#define wxImage_Resize 1129
-#define wxImage_Rotate 1130
-#define wxImage_RotateHue 1131
-#define wxImage_Rotate90 1132
-#define wxImage_SaveFile_1 1133
-#define wxImage_SaveFile_2_0 1134
-#define wxImage_SaveFile_2_1 1135
-#define wxImage_Scale 1136
-#define wxImage_Size 1137
-#define wxImage_SetAlpha_3 1138
-#define wxImage_SetAlpha_2 1139
-#define wxImage_SetData_2 1140
-#define wxImage_SetData_4 1141
-#define wxImage_SetMask 1142
-#define wxImage_SetMaskColour 1143
-#define wxImage_SetMaskFromImage 1144
-#define wxImage_SetOption_2_1 1145
-#define wxImage_SetOption_2_0 1146
-#define wxImage_SetPalette 1147
-#define wxImage_SetRGB_5 1148
-#define wxImage_SetRGB_4 1149
-#define wxImage_destroy 1150
-#define wxBrush_new_0 1151
-#define wxBrush_new_2 1152
-#define wxBrush_new_1 1153
-#define wxBrush_destruct 1155
-#define wxBrush_GetColour 1156
-#define wxBrush_GetStipple 1157
-#define wxBrush_GetStyle 1158
-#define wxBrush_IsHatch 1159
-#define wxBrush_IsOk 1160
-#define wxBrush_SetColour_1 1161
-#define wxBrush_SetColour_3 1162
-#define wxBrush_SetStipple 1163
-#define wxBrush_SetStyle 1164
-#define wxPen_new_0 1165
-#define wxPen_new_2 1166
-#define wxPen_destruct 1167
-#define wxPen_GetCap 1168
-#define wxPen_GetColour 1169
-#define wxPen_GetJoin 1170
-#define wxPen_GetStyle 1171
-#define wxPen_GetWidth 1172
-#define wxPen_IsOk 1173
-#define wxPen_SetCap 1174
-#define wxPen_SetColour_1 1175
-#define wxPen_SetColour_3 1176
-#define wxPen_SetJoin 1177
-#define wxPen_SetStyle 1178
-#define wxPen_SetWidth 1179
-#define wxRegion_new_0 1180
-#define wxRegion_new_4 1181
-#define wxRegion_new_2 1182
-#define wxRegion_new_1_1 1183
-#define wxRegion_new_1_0 1185
-#define wxRegion_destruct 1187
-#define wxRegion_Clear 1188
-#define wxRegion_Contains_2 1189
-#define wxRegion_Contains_1_0 1190
-#define wxRegion_Contains_4 1191
-#define wxRegion_Contains_1_1 1192
-#define wxRegion_ConvertToBitmap 1193
-#define wxRegion_GetBox 1194
-#define wxRegion_Intersect_4 1195
-#define wxRegion_Intersect_1_1 1196
-#define wxRegion_Intersect_1_0 1197
-#define wxRegion_IsEmpty 1198
-#define wxRegion_Subtract_4 1199
-#define wxRegion_Subtract_1_1 1200
-#define wxRegion_Subtract_1_0 1201
-#define wxRegion_Offset_2 1202
-#define wxRegion_Offset_1 1203
-#define wxRegion_Union_4 1204
-#define wxRegion_Union_1_2 1205
-#define wxRegion_Union_1_1 1206
-#define wxRegion_Union_1_0 1207
-#define wxRegion_Union_3 1208
-#define wxRegion_Xor_4 1209
-#define wxRegion_Xor_1_1 1210
-#define wxRegion_Xor_1_0 1211
-#define wxAcceleratorTable_new_0 1212
-#define wxAcceleratorTable_new_2 1213
-#define wxAcceleratorTable_destruct 1214
-#define wxAcceleratorTable_Ok 1215
-#define wxAcceleratorEntry_new_1_0 1216
-#define wxAcceleratorEntry_new_1_1 1217
-#define wxAcceleratorEntry_GetCommand 1218
-#define wxAcceleratorEntry_GetFlags 1219
-#define wxAcceleratorEntry_GetKeyCode 1220
-#define wxAcceleratorEntry_Set 1221
-#define wxAcceleratorEntry_destroy 1222
-#define wxCaret_new_3 1227
-#define wxCaret_new_2 1228
-#define wxCaret_destruct 1230
-#define wxCaret_Create_3 1231
-#define wxCaret_Create_2 1232
-#define wxCaret_GetBlinkTime 1233
-#define wxCaret_GetPosition 1235
-#define wxCaret_GetSize 1237
-#define wxCaret_GetWindow 1238
-#define wxCaret_Hide 1239
-#define wxCaret_IsOk 1240
-#define wxCaret_IsVisible 1241
-#define wxCaret_Move_2 1242
-#define wxCaret_Move_1 1243
-#define wxCaret_SetBlinkTime 1244
-#define wxCaret_SetSize_2 1245
-#define wxCaret_SetSize_1 1246
-#define wxCaret_Show 1247
-#define wxSizer_Add_2_1 1248
-#define wxSizer_Add_2_0 1249
-#define wxSizer_Add_3 1250
-#define wxSizer_Add_2_3 1251
-#define wxSizer_Add_2_2 1252
-#define wxSizer_AddSpacer 1253
-#define wxSizer_AddStretchSpacer 1254
-#define wxSizer_CalcMin 1255
-#define wxSizer_Clear 1256
-#define wxSizer_Detach_1_2 1257
-#define wxSizer_Detach_1_1 1258
-#define wxSizer_Detach_1_0 1259
-#define wxSizer_Fit 1260
-#define wxSizer_FitInside 1261
-#define wxSizer_GetChildren 1262
-#define wxSizer_GetItem_2_1 1263
-#define wxSizer_GetItem_2_0 1264
-#define wxSizer_GetItem_1 1265
-#define wxSizer_GetSize 1266
-#define wxSizer_GetPosition 1267
-#define wxSizer_GetMinSize 1268
-#define wxSizer_Hide_2_0 1269
-#define wxSizer_Hide_2_1 1270
-#define wxSizer_Hide_1 1271
-#define wxSizer_Insert_3_1 1272
-#define wxSizer_Insert_3_0 1273
-#define wxSizer_Insert_4 1274
-#define wxSizer_Insert_3_3 1275
-#define wxSizer_Insert_3_2 1276
-#define wxSizer_Insert_2 1277
-#define wxSizer_InsertSpacer 1278
-#define wxSizer_InsertStretchSpacer 1279
-#define wxSizer_IsShown_1_2 1280
-#define wxSizer_IsShown_1_1 1281
-#define wxSizer_IsShown_1_0 1282
-#define wxSizer_Layout 1283
-#define wxSizer_Prepend_2_1 1284
-#define wxSizer_Prepend_2_0 1285
-#define wxSizer_Prepend_3 1286
-#define wxSizer_Prepend_2_3 1287
-#define wxSizer_Prepend_2_2 1288
-#define wxSizer_Prepend_1 1289
-#define wxSizer_PrependSpacer 1290
-#define wxSizer_PrependStretchSpacer 1291
-#define wxSizer_RecalcSizes 1292
-#define wxSizer_Remove_1_1 1293
-#define wxSizer_Remove_1_0 1294
-#define wxSizer_Replace_3_1 1295
-#define wxSizer_Replace_3_0 1296
-#define wxSizer_Replace_2 1297
-#define wxSizer_SetDimension 1298
-#define wxSizer_SetMinSize_2 1299
-#define wxSizer_SetMinSize_1 1300
-#define wxSizer_SetItemMinSize_3_2 1301
-#define wxSizer_SetItemMinSize_2_2 1302
-#define wxSizer_SetItemMinSize_3_1 1303
-#define wxSizer_SetItemMinSize_2_1 1304
-#define wxSizer_SetItemMinSize_3_0 1305
-#define wxSizer_SetItemMinSize_2_0 1306
-#define wxSizer_SetSizeHints 1307
-#define wxSizer_SetVirtualSizeHints 1308
-#define wxSizer_Show_2_2 1309
-#define wxSizer_Show_2_1 1310
-#define wxSizer_Show_2_0 1311
-#define wxSizer_Show_1 1312
-#define wxSizerFlags_new 1313
-#define wxSizerFlags_Align 1314
-#define wxSizerFlags_Border_2 1315
-#define wxSizerFlags_Border_1 1316
-#define wxSizerFlags_Center 1317
-#define wxSizerFlags_Centre 1318
-#define wxSizerFlags_Expand 1319
-#define wxSizerFlags_Left 1320
-#define wxSizerFlags_Proportion 1321
-#define wxSizerFlags_Right 1322
-#define wxSizerFlags_destroy 1323
-#define wxSizerItem_new_5_1 1324
-#define wxSizerItem_new_2_1 1325
-#define wxSizerItem_new_5_0 1326
-#define wxSizerItem_new_2_0 1327
-#define wxSizerItem_new_6 1328
-#define wxSizerItem_new_3 1329
-#define wxSizerItem_new_0 1330
-#define wxSizerItem_destruct 1331
-#define wxSizerItem_CalcMin 1332
-#define wxSizerItem_DeleteWindows 1333
-#define wxSizerItem_DetachSizer 1334
-#define wxSizerItem_GetBorder 1335
-#define wxSizerItem_GetFlag 1336
-#define wxSizerItem_GetMinSize 1337
-#define wxSizerItem_GetPosition 1338
-#define wxSizerItem_GetProportion 1339
-#define wxSizerItem_GetRatio 1340
-#define wxSizerItem_GetRect 1341
-#define wxSizerItem_GetSize 1342
-#define wxSizerItem_GetSizer 1343
-#define wxSizerItem_GetSpacer 1344
-#define wxSizerItem_GetUserData 1345
-#define wxSizerItem_GetWindow 1346
-#define wxSizerItem_IsSizer 1347
-#define wxSizerItem_IsShown 1348
-#define wxSizerItem_IsSpacer 1349
-#define wxSizerItem_IsWindow 1350
-#define wxSizerItem_SetBorder 1351
-#define wxSizerItem_SetDimension 1352
-#define wxSizerItem_SetFlag 1353
-#define wxSizerItem_SetInitSize 1354
-#define wxSizerItem_SetMinSize_1 1355
-#define wxSizerItem_SetMinSize_2 1356
-#define wxSizerItem_SetProportion 1357
-#define wxSizerItem_SetRatio_2 1358
-#define wxSizerItem_SetRatio_1_1 1359
-#define wxSizerItem_SetRatio_1_0 1360
-#define wxSizerItem_SetSizer 1361
-#define wxSizerItem_SetSpacer_1 1362
-#define wxSizerItem_SetSpacer_2 1363
-#define wxSizerItem_SetWindow 1364
-#define wxSizerItem_Show 1365
-#define wxBoxSizer_new 1366
-#define wxBoxSizer_GetOrientation 1367
-#define wxBoxSizer_destroy 1368
-#define wxStaticBoxSizer_new_2 1369
-#define wxStaticBoxSizer_new_3 1370
-#define wxStaticBoxSizer_GetStaticBox 1371
-#define wxStaticBoxSizer_destroy 1372
-#define wxGridSizer_new_4 1373
-#define wxGridSizer_new_2 1374
-#define wxGridSizer_GetCols 1375
-#define wxGridSizer_GetHGap 1376
-#define wxGridSizer_GetRows 1377
-#define wxGridSizer_GetVGap 1378
-#define wxGridSizer_SetCols 1379
-#define wxGridSizer_SetHGap 1380
-#define wxGridSizer_SetRows 1381
-#define wxGridSizer_SetVGap 1382
-#define wxGridSizer_destroy 1383
-#define wxFlexGridSizer_new_4 1384
-#define wxFlexGridSizer_new_2 1385
-#define wxFlexGridSizer_AddGrowableCol 1386
-#define wxFlexGridSizer_AddGrowableRow 1387
-#define wxFlexGridSizer_GetFlexibleDirection 1388
-#define wxFlexGridSizer_GetNonFlexibleGrowMode 1389
-#define wxFlexGridSizer_RemoveGrowableCol 1390
-#define wxFlexGridSizer_RemoveGrowableRow 1391
-#define wxFlexGridSizer_SetFlexibleDirection 1392
-#define wxFlexGridSizer_SetNonFlexibleGrowMode 1393
-#define wxFlexGridSizer_destroy 1394
-#define wxGridBagSizer_new 1395
-#define wxGridBagSizer_Add_3_2 1396
-#define wxGridBagSizer_Add_3_1 1397
-#define wxGridBagSizer_Add_4 1398
-#define wxGridBagSizer_Add_1_0 1399
-#define wxGridBagSizer_Add_2_1 1400
-#define wxGridBagSizer_Add_2_0 1401
-#define wxGridBagSizer_Add_3_0 1402
-#define wxGridBagSizer_Add_1_1 1403
-#define wxGridBagSizer_CalcMin 1404
-#define wxGridBagSizer_CheckForIntersection_2 1405
-#define wxGridBagSizer_CheckForIntersection_3 1406
-#define wxGridBagSizer_FindItem_1_1 1407
-#define wxGridBagSizer_FindItem_1_0 1408
-#define wxGridBagSizer_FindItemAtPoint 1409
-#define wxGridBagSizer_FindItemAtPosition 1410
-#define wxGridBagSizer_FindItemWithData 1411
-#define wxGridBagSizer_GetCellSize 1412
-#define wxGridBagSizer_GetEmptyCellSize 1413
-#define wxGridBagSizer_GetItemPosition_1_2 1414
-#define wxGridBagSizer_GetItemPosition_1_1 1415
-#define wxGridBagSizer_GetItemPosition_1_0 1416
-#define wxGridBagSizer_GetItemSpan_1_2 1417
-#define wxGridBagSizer_GetItemSpan_1_1 1418
-#define wxGridBagSizer_GetItemSpan_1_0 1419
-#define wxGridBagSizer_SetEmptyCellSize 1420
-#define wxGridBagSizer_SetItemPosition_2_2 1421
-#define wxGridBagSizer_SetItemPosition_2_1 1422
-#define wxGridBagSizer_SetItemPosition_2_0 1423
-#define wxGridBagSizer_SetItemSpan_2_2 1424
-#define wxGridBagSizer_SetItemSpan_2_1 1425
-#define wxGridBagSizer_SetItemSpan_2_0 1426
-#define wxGridBagSizer_destroy 1427
-#define wxStdDialogButtonSizer_new 1428
-#define wxStdDialogButtonSizer_AddButton 1429
-#define wxStdDialogButtonSizer_Realize 1430
-#define wxStdDialogButtonSizer_SetAffirmativeButton 1431
-#define wxStdDialogButtonSizer_SetCancelButton 1432
-#define wxStdDialogButtonSizer_SetNegativeButton 1433
-#define wxStdDialogButtonSizer_destroy 1434
-#define wxFont_new_0 1435
-#define wxFont_new_1 1436
-#define wxFont_new_5 1437
-#define wxFont_destruct 1439
-#define wxFont_IsFixedWidth 1440
-#define wxFont_GetDefaultEncoding 1441
-#define wxFont_GetFaceName 1442
-#define wxFont_GetFamily 1443
-#define wxFont_GetNativeFontInfoDesc 1444
-#define wxFont_GetNativeFontInfoUserDesc 1445
-#define wxFont_GetPointSize 1446
-#define wxFont_GetStyle 1447
-#define wxFont_GetUnderlined 1448
-#define wxFont_GetWeight 1449
-#define wxFont_Ok 1450
-#define wxFont_SetDefaultEncoding 1451
-#define wxFont_SetFaceName 1452
-#define wxFont_SetFamily 1453
-#define wxFont_SetPointSize 1454
-#define wxFont_SetStyle 1455
-#define wxFont_SetUnderlined 1456
-#define wxFont_SetWeight 1457
-#define wxToolTip_Enable 1458
-#define wxToolTip_SetDelay 1459
-#define wxToolTip_new 1460
-#define wxToolTip_SetTip 1461
-#define wxToolTip_GetTip 1462
-#define wxToolTip_GetWindow 1463
-#define wxToolTip_destroy 1464
-#define wxButton_new_3 1466
-#define wxButton_new_0 1467
-#define wxButton_destruct 1468
-#define wxButton_Create 1469
-#define wxButton_GetDefaultSize 1470
-#define wxButton_SetDefault 1471
-#define wxButton_SetLabel 1472
-#define wxBitmapButton_new_4 1474
-#define wxBitmapButton_new_0 1475
-#define wxBitmapButton_Create 1476
-#define wxBitmapButton_GetBitmapDisabled 1477
-#define wxBitmapButton_GetBitmapFocus 1479
-#define wxBitmapButton_GetBitmapLabel 1481
-#define wxBitmapButton_GetBitmapSelected 1483
-#define wxBitmapButton_SetBitmapDisabled 1485
-#define wxBitmapButton_SetBitmapFocus 1486
-#define wxBitmapButton_SetBitmapLabel 1487
-#define wxBitmapButton_SetBitmapSelected 1488
-#define wxBitmapButton_destroy 1489
-#define wxToggleButton_new_0 1490
-#define wxToggleButton_new_4 1491
-#define wxToggleButton_Create 1492
-#define wxToggleButton_GetValue 1493
-#define wxToggleButton_SetValue 1494
-#define wxToggleButton_destroy 1495
-#define wxCalendarCtrl_new_0 1496
-#define wxCalendarCtrl_new_3 1497
-#define wxCalendarCtrl_Create 1498
-#define wxCalendarCtrl_destruct 1499
-#define wxCalendarCtrl_SetDate 1500
-#define wxCalendarCtrl_GetDate 1501
-#define wxCalendarCtrl_EnableYearChange 1502
-#define wxCalendarCtrl_EnableMonthChange 1503
-#define wxCalendarCtrl_EnableHolidayDisplay 1504
-#define wxCalendarCtrl_SetHeaderColours 1505
-#define wxCalendarCtrl_GetHeaderColourFg 1506
-#define wxCalendarCtrl_GetHeaderColourBg 1507
-#define wxCalendarCtrl_SetHighlightColours 1508
-#define wxCalendarCtrl_GetHighlightColourFg 1509
-#define wxCalendarCtrl_GetHighlightColourBg 1510
-#define wxCalendarCtrl_SetHolidayColours 1511
-#define wxCalendarCtrl_GetHolidayColourFg 1512
-#define wxCalendarCtrl_GetHolidayColourBg 1513
-#define wxCalendarCtrl_GetAttr 1514
-#define wxCalendarCtrl_SetAttr 1515
-#define wxCalendarCtrl_SetHoliday 1516
-#define wxCalendarCtrl_ResetAttr 1517
-#define wxCalendarCtrl_HitTest 1518
-#define wxCalendarDateAttr_new_0 1519
-#define wxCalendarDateAttr_new_2_1 1520
-#define wxCalendarDateAttr_new_2_0 1521
-#define wxCalendarDateAttr_SetTextColour 1522
-#define wxCalendarDateAttr_SetBackgroundColour 1523
-#define wxCalendarDateAttr_SetBorderColour 1524
-#define wxCalendarDateAttr_SetFont 1525
-#define wxCalendarDateAttr_SetBorder 1526
-#define wxCalendarDateAttr_SetHoliday 1527
-#define wxCalendarDateAttr_HasTextColour 1528
-#define wxCalendarDateAttr_HasBackgroundColour 1529
-#define wxCalendarDateAttr_HasBorderColour 1530
-#define wxCalendarDateAttr_HasFont 1531
-#define wxCalendarDateAttr_HasBorder 1532
-#define wxCalendarDateAttr_IsHoliday 1533
-#define wxCalendarDateAttr_GetTextColour 1534
-#define wxCalendarDateAttr_GetBackgroundColour 1535
-#define wxCalendarDateAttr_GetBorderColour 1536
-#define wxCalendarDateAttr_GetFont 1537
-#define wxCalendarDateAttr_GetBorder 1538
-#define wxCalendarDateAttr_destroy 1539
-#define wxCheckBox_new_4 1541
-#define wxCheckBox_new_0 1542
-#define wxCheckBox_Create 1543
-#define wxCheckBox_GetValue 1544
-#define wxCheckBox_Get3StateValue 1545
-#define wxCheckBox_Is3rdStateAllowedForUser 1546
-#define wxCheckBox_Is3State 1547
-#define wxCheckBox_IsChecked 1548
-#define wxCheckBox_SetValue 1549
-#define wxCheckBox_Set3StateValue 1550
-#define wxCheckBox_destroy 1551
-#define wxCheckListBox_new_0 1552
-#define wxCheckListBox_new_3 1554
-#define wxCheckListBox_Check 1555
-#define wxCheckListBox_IsChecked 1556
-#define wxCheckListBox_destroy 1557
-#define wxChoice_new_3 1560
-#define wxChoice_new_0 1561
-#define wxChoice_destruct 1563
-#define wxChoice_Create 1565
-#define wxChoice_Delete 1566
-#define wxChoice_GetColumns 1567
-#define wxChoice_SetColumns 1568
-#define wxComboBox_new_0 1569
-#define wxComboBox_new_3 1571
-#define wxComboBox_destruct 1572
-#define wxComboBox_Create 1574
-#define wxComboBox_CanCopy 1575
-#define wxComboBox_CanCut 1576
-#define wxComboBox_CanPaste 1577
-#define wxComboBox_CanRedo 1578
-#define wxComboBox_CanUndo 1579
-#define wxComboBox_Copy 1580
-#define wxComboBox_Cut 1581
-#define wxComboBox_GetInsertionPoint 1582
-#define wxComboBox_GetLastPosition 1583
-#define wxComboBox_GetValue 1584
-#define wxComboBox_Paste 1585
-#define wxComboBox_Redo 1586
-#define wxComboBox_Replace 1587
-#define wxComboBox_Remove 1588
-#define wxComboBox_SetInsertionPoint 1589
-#define wxComboBox_SetInsertionPointEnd 1590
-#define wxComboBox_SetSelection_1 1591
-#define wxComboBox_SetSelection_2 1592
-#define wxComboBox_SetValue 1593
-#define wxComboBox_Undo 1594
-#define wxGauge_new_0 1595
-#define wxGauge_new_4 1596
-#define wxGauge_Create 1597
-#define wxGauge_GetBezelFace 1598
-#define wxGauge_GetRange 1599
-#define wxGauge_GetShadowWidth 1600
-#define wxGauge_GetValue 1601
-#define wxGauge_IsVertical 1602
-#define wxGauge_SetBezelFace 1603
-#define wxGauge_SetRange 1604
-#define wxGauge_SetShadowWidth 1605
-#define wxGauge_SetValue 1606
-#define wxGauge_Pulse 1607
-#define wxGauge_destroy 1608
-#define wxGenericDirCtrl_new_0 1609
-#define wxGenericDirCtrl_new_2 1610
-#define wxGenericDirCtrl_destruct 1611
-#define wxGenericDirCtrl_Create 1612
-#define wxGenericDirCtrl_Init 1613
-#define wxGenericDirCtrl_CollapseTree 1614
-#define wxGenericDirCtrl_ExpandPath 1615
-#define wxGenericDirCtrl_GetDefaultPath 1616
-#define wxGenericDirCtrl_GetPath 1617
-#define wxGenericDirCtrl_GetFilePath 1618
-#define wxGenericDirCtrl_GetFilter 1619
-#define wxGenericDirCtrl_GetFilterIndex 1620
-#define wxGenericDirCtrl_GetRootId 1621
-#define wxGenericDirCtrl_GetTreeCtrl 1622
-#define wxGenericDirCtrl_ReCreateTree 1623
-#define wxGenericDirCtrl_SetDefaultPath 1624
-#define wxGenericDirCtrl_SetFilter 1625
-#define wxGenericDirCtrl_SetFilterIndex 1626
-#define wxGenericDirCtrl_SetPath 1627
-#define wxStaticBox_new_4 1629
-#define wxStaticBox_new_0 1630
-#define wxStaticBox_Create 1631
-#define wxStaticBox_destroy 1632
-#define wxStaticLine_new_2 1634
-#define wxStaticLine_new_0 1635
-#define wxStaticLine_Create 1636
-#define wxStaticLine_IsVertical 1637
-#define wxStaticLine_GetDefaultSize 1638
-#define wxStaticLine_destroy 1639
-#define wxListBox_new_3 1642
-#define wxListBox_new_0 1643
-#define wxListBox_destruct 1645
-#define wxListBox_Create 1647
-#define wxListBox_Deselect 1648
-#define wxListBox_GetSelections 1649
-#define wxListBox_InsertItems 1650
-#define wxListBox_IsSelected 1651
+#define wxPanel_SetFocusIgnoringChildren 337
+#define wxScrolledWindow_new_0 338
+#define wxScrolledWindow_new_2 339
+#define wxScrolledWindow_destruct 340
+#define wxScrolledWindow_CalcScrolledPosition_4 341
+#define wxScrolledWindow_CalcScrolledPosition_1 342
+#define wxScrolledWindow_CalcUnscrolledPosition_4 343
+#define wxScrolledWindow_CalcUnscrolledPosition_1 344
+#define wxScrolledWindow_EnableScrolling 345
+#define wxScrolledWindow_GetScrollPixelsPerUnit 346
+#define wxScrolledWindow_GetViewStart 347
+#define wxScrolledWindow_DoPrepareDC 348
+#define wxScrolledWindow_PrepareDC 349
+#define wxScrolledWindow_Scroll 350
+#define wxScrolledWindow_SetScrollbars 351
+#define wxScrolledWindow_SetScrollRate 352
+#define wxScrolledWindow_SetTargetWindow 353
+#define wxSashWindow_new_0 354
+#define wxSashWindow_new_2 355
+#define wxSashWindow_destruct 356
+#define wxSashWindow_GetSashVisible 357
+#define wxSashWindow_GetMaximumSizeX 358
+#define wxSashWindow_GetMaximumSizeY 359
+#define wxSashWindow_GetMinimumSizeX 360
+#define wxSashWindow_GetMinimumSizeY 361
+#define wxSashWindow_SetMaximumSizeX 362
+#define wxSashWindow_SetMaximumSizeY 363
+#define wxSashWindow_SetMinimumSizeX 364
+#define wxSashWindow_SetMinimumSizeY 365
+#define wxSashWindow_SetSashVisible 366
+#define wxSashLayoutWindow_new_0 367
+#define wxSashLayoutWindow_new_2 368
+#define wxSashLayoutWindow_Create 369
+#define wxSashLayoutWindow_GetAlignment 370
+#define wxSashLayoutWindow_GetOrientation 371
+#define wxSashLayoutWindow_SetAlignment 372
+#define wxSashLayoutWindow_SetDefaultSize 373
+#define wxSashLayoutWindow_SetOrientation 374
+#define wxSashLayoutWindow_destroy 375
+#define wxGrid_new_0 376
+#define wxGrid_new_3 377
+#define wxGrid_new_4 378
+#define wxGrid_destruct 379
+#define wxGrid_AppendCols 380
+#define wxGrid_AppendRows 381
+#define wxGrid_AutoSize 382
+#define wxGrid_AutoSizeColumn 383
+#define wxGrid_AutoSizeColumns 384
+#define wxGrid_AutoSizeRow 385
+#define wxGrid_AutoSizeRows 386
+#define wxGrid_BeginBatch 387
+#define wxGrid_BlockToDeviceRect 388
+#define wxGrid_CanDragColSize 389
+#define wxGrid_CanDragRowSize 390
+#define wxGrid_CanDragGridSize 391
+#define wxGrid_CanEnableCellControl 392
+#define wxGrid_CellToRect_2 393
+#define wxGrid_CellToRect_1 394
+#define wxGrid_ClearGrid 395
+#define wxGrid_ClearSelection 396
+#define wxGrid_CreateGrid 397
+#define wxGrid_DeleteCols 398
+#define wxGrid_DeleteRows 399
+#define wxGrid_DisableCellEditControl 400
+#define wxGrid_DisableDragColSize 401
+#define wxGrid_DisableDragGridSize 402
+#define wxGrid_DisableDragRowSize 403
+#define wxGrid_EnableCellEditControl 404
+#define wxGrid_EnableDragColSize 405
+#define wxGrid_EnableDragGridSize 406
+#define wxGrid_EnableDragRowSize 407
+#define wxGrid_EnableEditing 408
+#define wxGrid_EnableGridLines 409
+#define wxGrid_EndBatch 410
+#define wxGrid_Fit 411
+#define wxGrid_ForceRefresh 412
+#define wxGrid_GetBatchCount 413
+#define wxGrid_GetCellAlignment 414
+#define wxGrid_GetCellBackgroundColour 415
+#define wxGrid_GetCellEditor 416
+#define wxGrid_GetCellFont 417
+#define wxGrid_GetCellRenderer 418
+#define wxGrid_GetCellTextColour 419
+#define wxGrid_GetCellValue_2 420
+#define wxGrid_GetCellValue_1 421
+#define wxGrid_GetColLabelAlignment 422
+#define wxGrid_GetColLabelSize 423
+#define wxGrid_GetColLabelValue 424
+#define wxGrid_GetColMinimalAcceptableWidth 425
+#define wxGrid_GetDefaultCellAlignment 426
+#define wxGrid_GetDefaultCellBackgroundColour 427
+#define wxGrid_GetDefaultCellFont 428
+#define wxGrid_GetDefaultCellTextColour 429
+#define wxGrid_GetDefaultColLabelSize 430
+#define wxGrid_GetDefaultColSize 431
+#define wxGrid_GetDefaultEditor 432
+#define wxGrid_GetDefaultEditorForCell_2 433
+#define wxGrid_GetDefaultEditorForCell_1 434
+#define wxGrid_GetDefaultEditorForType 435
+#define wxGrid_GetDefaultRenderer 436
+#define wxGrid_GetDefaultRendererForCell 437
+#define wxGrid_GetDefaultRendererForType 438
+#define wxGrid_GetDefaultRowLabelSize 439
+#define wxGrid_GetDefaultRowSize 440
+#define wxGrid_GetGridCursorCol 441
+#define wxGrid_GetGridCursorRow 442
+#define wxGrid_GetGridLineColour 443
+#define wxGrid_GridLinesEnabled 444
+#define wxGrid_GetLabelBackgroundColour 445
+#define wxGrid_GetLabelFont 446
+#define wxGrid_GetLabelTextColour 447
+#define wxGrid_GetNumberCols 448
+#define wxGrid_GetNumberRows 449
+#define wxGrid_GetOrCreateCellAttr 450
+#define wxGrid_GetRowMinimalAcceptableHeight 451
+#define wxGrid_GetRowLabelAlignment 452
+#define wxGrid_GetRowLabelSize 453
+#define wxGrid_GetRowLabelValue 454
+#define wxGrid_GetRowSize 455
+#define wxGrid_GetScrollLineX 456
+#define wxGrid_GetScrollLineY 457
+#define wxGrid_GetSelectedCells 458
+#define wxGrid_GetSelectedCols 459
+#define wxGrid_GetSelectedRows 460
+#define wxGrid_GetSelectionBackground 461
+#define wxGrid_GetSelectionBlockTopLeft 462
+#define wxGrid_GetSelectionBlockBottomRight 463
+#define wxGrid_GetSelectionForeground 464
+#define wxGrid_GetViewWidth 465
+#define wxGrid_GetGridWindow 466
+#define wxGrid_GetGridRowLabelWindow 467
+#define wxGrid_GetGridColLabelWindow 468
+#define wxGrid_GetGridCornerLabelWindow 469
+#define wxGrid_HideCellEditControl 470
+#define wxGrid_InsertCols 471
+#define wxGrid_InsertRows 472
+#define wxGrid_IsCellEditControlEnabled 473
+#define wxGrid_IsCurrentCellReadOnly 474
+#define wxGrid_IsEditable 475
+#define wxGrid_IsInSelection_2 476
+#define wxGrid_IsInSelection_1 477
+#define wxGrid_IsReadOnly 478
+#define wxGrid_IsSelection 479
+#define wxGrid_IsVisible_3 480
+#define wxGrid_IsVisible_2 481
+#define wxGrid_MakeCellVisible_2 482
+#define wxGrid_MakeCellVisible_1 483
+#define wxGrid_MoveCursorDown 484
+#define wxGrid_MoveCursorLeft 485
+#define wxGrid_MoveCursorRight 486
+#define wxGrid_MoveCursorUp 487
+#define wxGrid_MoveCursorDownBlock 488
+#define wxGrid_MoveCursorLeftBlock 489
+#define wxGrid_MoveCursorRightBlock 490
+#define wxGrid_MoveCursorUpBlock 491
+#define wxGrid_MovePageDown 492
+#define wxGrid_MovePageUp 493
+#define wxGrid_RegisterDataType 494
+#define wxGrid_SaveEditControlValue 495
+#define wxGrid_SelectAll 496
+#define wxGrid_SelectBlock_5 497
+#define wxGrid_SelectBlock_3 498
+#define wxGrid_SelectCol 499
+#define wxGrid_SelectRow 500
+#define wxGrid_SetCellAlignment_4 501
+#define wxGrid_SetCellAlignment_3 502
+#define wxGrid_SetCellAlignment_1 503
+#define wxGrid_SetCellBackgroundColour_3_0 504
+#define wxGrid_SetCellBackgroundColour_1 505
+#define wxGrid_SetCellBackgroundColour_3_1 506
+#define wxGrid_SetCellEditor 507
+#define wxGrid_SetCellFont 508
+#define wxGrid_SetCellRenderer 509
+#define wxGrid_SetCellTextColour_3_0 510
+#define wxGrid_SetCellTextColour_3_1 511
+#define wxGrid_SetCellTextColour_1 512
+#define wxGrid_SetCellValue_3_0 513
+#define wxGrid_SetCellValue_2 514
+#define wxGrid_SetCellValue_3_1 515
+#define wxGrid_SetColAttr 516
+#define wxGrid_SetColFormatBool 517
+#define wxGrid_SetColFormatNumber 518
+#define wxGrid_SetColFormatFloat 519
+#define wxGrid_SetColFormatCustom 520
+#define wxGrid_SetColLabelAlignment 521
+#define wxGrid_SetColLabelSize 522
+#define wxGrid_SetColLabelValue 523
+#define wxGrid_SetColMinimalWidth 524
+#define wxGrid_SetColMinimalAcceptableWidth 525
+#define wxGrid_SetColSize 526
+#define wxGrid_SetDefaultCellAlignment 527
+#define wxGrid_SetDefaultCellBackgroundColour 528
+#define wxGrid_SetDefaultCellFont 529
+#define wxGrid_SetDefaultCellTextColour 530
+#define wxGrid_SetDefaultEditor 531
+#define wxGrid_SetDefaultRenderer 532
+#define wxGrid_SetDefaultColSize 533
+#define wxGrid_SetDefaultRowSize 534
+#define wxGrid_SetGridCursor 535
+#define wxGrid_SetGridLineColour 536
+#define wxGrid_SetLabelBackgroundColour 537
+#define wxGrid_SetLabelFont 538
+#define wxGrid_SetLabelTextColour 539
+#define wxGrid_SetMargins 540
+#define wxGrid_SetReadOnly 541
+#define wxGrid_SetRowAttr 542
+#define wxGrid_SetRowLabelAlignment 543
+#define wxGrid_SetRowLabelSize 544
+#define wxGrid_SetRowLabelValue 545
+#define wxGrid_SetRowMinimalHeight 546
+#define wxGrid_SetRowMinimalAcceptableHeight 547
+#define wxGrid_SetRowSize 548
+#define wxGrid_SetScrollLineX 549
+#define wxGrid_SetScrollLineY 550
+#define wxGrid_SetSelectionBackground 551
+#define wxGrid_SetSelectionForeground 552
+#define wxGrid_SetSelectionMode 553
+#define wxGrid_ShowCellEditControl 554
+#define wxGrid_XToCol 555
+#define wxGrid_XToEdgeOfCol 556
+#define wxGrid_YToEdgeOfRow 557
+#define wxGrid_YToRow 558
+#define wxGridCellRenderer_Draw 559
+#define wxGridCellRenderer_GetBestSize 560
+#define wxGridCellEditor_Create 561
+#define wxGridCellEditor_IsCreated 562
+#define wxGridCellEditor_SetSize 563
+#define wxGridCellEditor_Show 564
+#define wxGridCellEditor_PaintBackground 565
+#define wxGridCellEditor_BeginEdit 566
+#define wxGridCellEditor_EndEdit 567
+#define wxGridCellEditor_Reset 568
+#define wxGridCellEditor_StartingKey 569
+#define wxGridCellEditor_StartingClick 570
+#define wxGridCellEditor_HandleReturn 571
+#define wxGridCellBoolRenderer_new 572
+#define wxGridCellBoolRenderer_destroy 573
+#define wxGridCellBoolEditor_new 574
+#define wxGridCellBoolEditor_IsTrueValue 575
+#define wxGridCellBoolEditor_UseStringValues 576
+#define wxGridCellBoolEditor_destroy 577
+#define wxGridCellFloatRenderer_new 578
+#define wxGridCellFloatRenderer_GetPrecision 579
+#define wxGridCellFloatRenderer_GetWidth 580
+#define wxGridCellFloatRenderer_SetParameters 581
+#define wxGridCellFloatRenderer_SetPrecision 582
+#define wxGridCellFloatRenderer_SetWidth 583
+#define wxGridCellFloatRenderer_destroy 584
+#define wxGridCellFloatEditor_new 585
+#define wxGridCellFloatEditor_SetParameters 586
+#define wxGridCellFloatEditor_destroy 587
+#define wxGridCellStringRenderer_new 588
+#define wxGridCellStringRenderer_destroy 589
+#define wxGridCellTextEditor_new 590
+#define wxGridCellTextEditor_SetParameters 591
+#define wxGridCellTextEditor_destroy 592
+#define wxGridCellChoiceEditor_new 594
+#define wxGridCellChoiceEditor_SetParameters 595
+#define wxGridCellChoiceEditor_destroy 596
+#define wxGridCellNumberRenderer_new 597
+#define wxGridCellNumberRenderer_destroy 598
+#define wxGridCellNumberEditor_new 599
+#define wxGridCellNumberEditor_GetValue 600
+#define wxGridCellNumberEditor_SetParameters 601
+#define wxGridCellNumberEditor_destroy 602
+#define wxGridCellAttr_SetTextColour 603
+#define wxGridCellAttr_SetBackgroundColour 604
+#define wxGridCellAttr_SetFont 605
+#define wxGridCellAttr_SetAlignment 606
+#define wxGridCellAttr_SetReadOnly 607
+#define wxGridCellAttr_SetRenderer 608
+#define wxGridCellAttr_SetEditor 609
+#define wxGridCellAttr_HasTextColour 610
+#define wxGridCellAttr_HasBackgroundColour 611
+#define wxGridCellAttr_HasFont 612
+#define wxGridCellAttr_HasAlignment 613
+#define wxGridCellAttr_HasRenderer 614
+#define wxGridCellAttr_HasEditor 615
+#define wxGridCellAttr_GetTextColour 616
+#define wxGridCellAttr_GetBackgroundColour 617
+#define wxGridCellAttr_GetFont 618
+#define wxGridCellAttr_GetAlignment 619
+#define wxGridCellAttr_GetRenderer 620
+#define wxGridCellAttr_GetEditor 621
+#define wxGridCellAttr_IsReadOnly 622
+#define wxGridCellAttr_SetDefAttr 623
+#define wxDC_Blit 624
+#define wxDC_CalcBoundingBox 625
+#define wxDC_Clear 626
+#define wxDC_ComputeScaleAndOrigin 627
+#define wxDC_CrossHair 628
+#define wxDC_DestroyClippingRegion 629
+#define wxDC_DeviceToLogicalX 630
+#define wxDC_DeviceToLogicalXRel 631
+#define wxDC_DeviceToLogicalY 632
+#define wxDC_DeviceToLogicalYRel 633
+#define wxDC_DrawArc 634
+#define wxDC_DrawBitmap 635
+#define wxDC_DrawCheckMark 636
+#define wxDC_DrawCircle 637
+#define wxDC_DrawEllipse_2 639
+#define wxDC_DrawEllipse_1 640
+#define wxDC_DrawEllipticArc 641
+#define wxDC_DrawIcon 642
+#define wxDC_DrawLabel 643
+#define wxDC_DrawLine 644
+#define wxDC_DrawLines 645
+#define wxDC_DrawPolygon 647
+#define wxDC_DrawPoint 649
+#define wxDC_DrawRectangle_2 651
+#define wxDC_DrawRectangle_1 652
+#define wxDC_DrawRotatedText 653
+#define wxDC_DrawRoundedRectangle_3 655
+#define wxDC_DrawRoundedRectangle_2 656
+#define wxDC_DrawText 657
+#define wxDC_EndDoc 658
+#define wxDC_EndPage 659
+#define wxDC_FloodFill 660
+#define wxDC_GetBackground 661
+#define wxDC_GetBackgroundMode 662
+#define wxDC_GetBrush 663
+#define wxDC_GetCharHeight 664
+#define wxDC_GetCharWidth 665
+#define wxDC_GetClippingBox 666
+#define wxDC_GetFont 668
+#define wxDC_GetLayoutDirection 669
+#define wxDC_GetLogicalFunction 670
+#define wxDC_GetMapMode 671
+#define wxDC_GetMultiLineTextExtent_4 672
+#define wxDC_GetMultiLineTextExtent_1 673
+#define wxDC_GetPartialTextExtents 674
+#define wxDC_GetPen 675
+#define wxDC_GetPixel 676
+#define wxDC_GetPPI 677
+#define wxDC_GetSize 679
+#define wxDC_GetSizeMM 681
+#define wxDC_GetTextBackground 682
+#define wxDC_GetTextExtent_4 683
+#define wxDC_GetTextExtent_1 684
+#define wxDC_GetTextForeground 686
+#define wxDC_GetUserScale 687
+#define wxDC_GradientFillConcentric_3 688
+#define wxDC_GradientFillConcentric_4 689
+#define wxDC_GradientFillLinear 690
+#define wxDC_LogicalToDeviceX 691
+#define wxDC_LogicalToDeviceXRel 692
+#define wxDC_LogicalToDeviceY 693
+#define wxDC_LogicalToDeviceYRel 694
+#define wxDC_MaxX 695
+#define wxDC_MaxY 696
+#define wxDC_MinX 697
+#define wxDC_MinY 698
+#define wxDC_IsOk 699
+#define wxDC_ResetBoundingBox 700
+#define wxDC_SetAxisOrientation 701
+#define wxDC_SetBackground 702
+#define wxDC_SetBackgroundMode 703
+#define wxDC_SetBrush 704
+#define wxDC_SetClippingRegion_2 706
+#define wxDC_SetClippingRegion_1_1 707
+#define wxDC_SetClippingRegion_1_0 708
+#define wxDC_SetDeviceOrigin 709
+#define wxDC_SetFont 710
+#define wxDC_SetLayoutDirection 711
+#define wxDC_SetLogicalFunction 712
+#define wxDC_SetMapMode 713
+#define wxDC_SetPalette 714
+#define wxDC_SetPen 715
+#define wxDC_SetTextBackground 716
+#define wxDC_SetTextForeground 717
+#define wxDC_SetUserScale 718
+#define wxDC_StartDoc 719
+#define wxDC_StartPage 720
+#define wxMirrorDC_new 721
+#define wxMirrorDC_destroy 722
+#define wxScreenDC_new 723
+#define wxScreenDC_destruct 724
+#define wxPostScriptDC_new_0 725
+#define wxPostScriptDC_new_1 726
+#define wxPostScriptDC_destruct 727
+#define wxPostScriptDC_SetResolution 728
+#define wxPostScriptDC_GetResolution 729
+#define wxWindowDC_new_0 730
+#define wxWindowDC_new_1 731
+#define wxWindowDC_destruct 732
+#define wxClientDC_new_0 733
+#define wxClientDC_new_1 734
+#define wxClientDC_destroy 735
+#define wxPaintDC_new_0 736
+#define wxPaintDC_new_1 737
+#define wxPaintDC_destroy 738
+#define wxMemoryDC_new_1_0 740
+#define wxMemoryDC_new_1_1 741
+#define wxMemoryDC_new_0 742
+#define wxMemoryDC_destruct 744
+#define wxMemoryDC_SelectObject 745
+#define wxMemoryDC_SelectObjectAsSource 746
+#define wxBufferedDC_new_0 747
+#define wxBufferedDC_new_2 748
+#define wxBufferedDC_new_3 749
+#define wxBufferedDC_destruct 750
+#define wxBufferedDC_Init_2 751
+#define wxBufferedDC_Init_3 752
+#define wxBufferedPaintDC_new_3 753
+#define wxBufferedPaintDC_new_2 754
+#define wxBufferedPaintDC_destruct 755
+#define wxGraphicsObject_destruct 756
+#define wxGraphicsObject_GetRenderer 757
+#define wxGraphicsObject_IsNull 758
+#define wxGraphicsContext_destruct 759
+#define wxGraphicsContext_Create_1_1 760
+#define wxGraphicsContext_Create_1_0 761
+#define wxGraphicsContext_Create_0 762
+#define wxGraphicsContext_CreatePen 763
+#define wxGraphicsContext_CreateBrush 764
+#define wxGraphicsContext_CreateRadialGradientBrush 765
+#define wxGraphicsContext_CreateLinearGradientBrush 766
+#define wxGraphicsContext_CreateFont 767
+#define wxGraphicsContext_CreateMatrix 768
+#define wxGraphicsContext_CreatePath 769
+#define wxGraphicsContext_Clip_1 770
+#define wxGraphicsContext_Clip_4 771
+#define wxGraphicsContext_ResetClip 772
+#define wxGraphicsContext_DrawBitmap 773
+#define wxGraphicsContext_DrawEllipse 774
+#define wxGraphicsContext_DrawIcon 775
+#define wxGraphicsContext_DrawLines 776
+#define wxGraphicsContext_DrawPath 777
+#define wxGraphicsContext_DrawRectangle 778
+#define wxGraphicsContext_DrawRoundedRectangle 779
+#define wxGraphicsContext_DrawText_3 780
+#define wxGraphicsContext_DrawText_4_0 781
+#define wxGraphicsContext_DrawText_4_1 782
+#define wxGraphicsContext_DrawText_5 783
+#define wxGraphicsContext_FillPath 784
+#define wxGraphicsContext_StrokePath 785
+#define wxGraphicsContext_GetPartialTextExtents 786
+#define wxGraphicsContext_GetTextExtent 787
+#define wxGraphicsContext_Rotate 788
+#define wxGraphicsContext_Scale 789
+#define wxGraphicsContext_Translate 790
+#define wxGraphicsContext_GetTransform 791
+#define wxGraphicsContext_SetTransform 792
+#define wxGraphicsContext_ConcatTransform 793
+#define wxGraphicsContext_SetBrush_1_1 794
+#define wxGraphicsContext_SetBrush_1_0 795
+#define wxGraphicsContext_SetFont_1 796
+#define wxGraphicsContext_SetFont_2 797
+#define wxGraphicsContext_SetPen_1_0 798
+#define wxGraphicsContext_SetPen_1_1 799
+#define wxGraphicsContext_StrokeLine 800
+#define wxGraphicsContext_StrokeLines 801
+#define wxGraphicsMatrix_Concat 803
+#define wxGraphicsMatrix_Get 805
+#define wxGraphicsMatrix_Invert 806
+#define wxGraphicsMatrix_IsEqual 807
+#define wxGraphicsMatrix_IsIdentity 809
+#define wxGraphicsMatrix_Rotate 810
+#define wxGraphicsMatrix_Scale 811
+#define wxGraphicsMatrix_Translate 812
+#define wxGraphicsMatrix_Set 813
+#define wxGraphicsMatrix_TransformPoint 814
+#define wxGraphicsMatrix_TransformDistance 815
+#define wxGraphicsPath_MoveToPoint_2 816
+#define wxGraphicsPath_MoveToPoint_1 817
+#define wxGraphicsPath_AddArc_6 818
+#define wxGraphicsPath_AddArc_5 819
+#define wxGraphicsPath_AddArcToPoint 820
+#define wxGraphicsPath_AddCircle 821
+#define wxGraphicsPath_AddCurveToPoint_6 822
+#define wxGraphicsPath_AddCurveToPoint_3 823
+#define wxGraphicsPath_AddEllipse 824
+#define wxGraphicsPath_AddLineToPoint_2 825
+#define wxGraphicsPath_AddLineToPoint_1 826
+#define wxGraphicsPath_AddPath 827
+#define wxGraphicsPath_AddQuadCurveToPoint 828
+#define wxGraphicsPath_AddRectangle 829
+#define wxGraphicsPath_AddRoundedRectangle 830
+#define wxGraphicsPath_CloseSubpath 831
+#define wxGraphicsPath_Contains_3 832
+#define wxGraphicsPath_Contains_2 833
+#define wxGraphicsPath_GetBox 835
+#define wxGraphicsPath_GetCurrentPoint 837
+#define wxGraphicsPath_Transform 838
+#define wxGraphicsRenderer_GetDefaultRenderer 839
+#define wxGraphicsRenderer_CreateContext_1_1 840
+#define wxGraphicsRenderer_CreateContext_1_0 841
+#define wxGraphicsRenderer_CreatePen 842
+#define wxGraphicsRenderer_CreateBrush 843
+#define wxGraphicsRenderer_CreateLinearGradientBrush 844
+#define wxGraphicsRenderer_CreateRadialGradientBrush 845
+#define wxGraphicsRenderer_CreateFont 846
+#define wxGraphicsRenderer_CreateMatrix 847
+#define wxGraphicsRenderer_CreatePath 848
+#define wxMenuBar_new_1 850
+#define wxMenuBar_new_0 852
+#define wxMenuBar_destruct 854
+#define wxMenuBar_Append 855
+#define wxMenuBar_Check 856
+#define wxMenuBar_Enable_2 857
+#define wxMenuBar_Enable_1 858
+#define wxMenuBar_EnableTop 859
+#define wxMenuBar_FindMenu 860
+#define wxMenuBar_FindMenuItem 861
+#define wxMenuBar_FindItem 862
+#define wxMenuBar_GetHelpString 863
+#define wxMenuBar_GetLabel_1 864
+#define wxMenuBar_GetLabel_0 865
+#define wxMenuBar_GetLabelTop 866
+#define wxMenuBar_GetMenu 867
+#define wxMenuBar_GetMenuCount 868
+#define wxMenuBar_Insert 869
+#define wxMenuBar_IsChecked 870
+#define wxMenuBar_IsEnabled_1 871
+#define wxMenuBar_IsEnabled_0 872
+#define wxMenuBar_Remove 873
+#define wxMenuBar_Replace 874
+#define wxMenuBar_SetHelpString 875
+#define wxMenuBar_SetLabel_2 876
+#define wxMenuBar_SetLabel_1 877
+#define wxMenuBar_SetLabelTop 878
+#define wxControl_GetLabel 879
+#define wxControl_SetLabel 880
+#define wxControlWithItems_Append_1 881
+#define wxControlWithItems_Append_2 882
+#define wxControlWithItems_appendStrings_1 883
+#define wxControlWithItems_Clear 884
+#define wxControlWithItems_Delete 885
+#define wxControlWithItems_FindString 886
+#define wxControlWithItems_getClientData 887
+#define wxControlWithItems_setClientData 888
+#define wxControlWithItems_GetCount 889
+#define wxControlWithItems_GetSelection 890
+#define wxControlWithItems_GetString 891
+#define wxControlWithItems_GetStringSelection 892
+#define wxControlWithItems_Insert_2 893
+#define wxControlWithItems_Insert_3 894
+#define wxControlWithItems_IsEmpty 895
+#define wxControlWithItems_Select 896
+#define wxControlWithItems_SetSelection 897
+#define wxControlWithItems_SetString 898
+#define wxControlWithItems_SetStringSelection 899
+#define wxMenu_new_2 902
+#define wxMenu_new_1 903
+#define wxMenu_destruct 905
+#define wxMenu_Append_3 906
+#define wxMenu_Append_1 907
+#define wxMenu_Append_4_0 908
+#define wxMenu_Append_4_1 909
+#define wxMenu_AppendCheckItem 910
+#define wxMenu_AppendRadioItem 911
+#define wxMenu_AppendSeparator 912
+#define wxMenu_Break 913
+#define wxMenu_Check 914
+#define wxMenu_Delete_1_0 915
+#define wxMenu_Delete_1_1 916
+#define wxMenu_Destroy_1_0 917
+#define wxMenu_Destroy_1_1 918
+#define wxMenu_Enable 919
+#define wxMenu_FindItem_1 920
+#define wxMenu_FindItem_2 921
+#define wxMenu_FindItemByPosition 922
+#define wxMenu_GetHelpString 923
+#define wxMenu_GetLabel 924
+#define wxMenu_GetMenuItemCount 925
+#define wxMenu_GetMenuItems 926
+#define wxMenu_GetTitle 928
+#define wxMenu_Insert_2 929
+#define wxMenu_Insert_3 930
+#define wxMenu_Insert_5_1 931
+#define wxMenu_Insert_5_0 932
+#define wxMenu_InsertCheckItem 933
+#define wxMenu_InsertRadioItem 934
+#define wxMenu_InsertSeparator 935
+#define wxMenu_IsChecked 936
+#define wxMenu_IsEnabled 937
+#define wxMenu_Prepend_1 938
+#define wxMenu_Prepend_2 939
+#define wxMenu_Prepend_4_1 940
+#define wxMenu_Prepend_4_0 941
+#define wxMenu_PrependCheckItem 942
+#define wxMenu_PrependRadioItem 943
+#define wxMenu_PrependSeparator 944
+#define wxMenu_Remove_1_0 945
+#define wxMenu_Remove_1_1 946
+#define wxMenu_SetHelpString 947
+#define wxMenu_SetLabel 948
+#define wxMenu_SetTitle 949
+#define wxMenuItem_new 950
+#define wxMenuItem_destruct 952
+#define wxMenuItem_Check 953
+#define wxMenuItem_Enable 954
+#define wxMenuItem_GetBitmap 955
+#define wxMenuItem_GetHelp 956
+#define wxMenuItem_GetId 957
+#define wxMenuItem_GetKind 958
+#define wxMenuItem_GetLabel 959
+#define wxMenuItem_GetLabelFromText 960
+#define wxMenuItem_GetMenu 961
+#define wxMenuItem_GetText 962
+#define wxMenuItem_GetSubMenu 963
+#define wxMenuItem_IsCheckable 964
+#define wxMenuItem_IsChecked 965
+#define wxMenuItem_IsEnabled 966
+#define wxMenuItem_IsSeparator 967
+#define wxMenuItem_IsSubMenu 968
+#define wxMenuItem_SetBitmap 969
+#define wxMenuItem_SetHelp 970
+#define wxMenuItem_SetMenu 971
+#define wxMenuItem_SetSubMenu 972
+#define wxMenuItem_SetText 973
+#define wxToolBar_AddControl 974
+#define wxToolBar_AddSeparator 975
+#define wxToolBar_AddTool_5 976
+#define wxToolBar_AddTool_4_0 977
+#define wxToolBar_AddTool_1 978
+#define wxToolBar_AddTool_4_1 979
+#define wxToolBar_AddTool_3 980
+#define wxToolBar_AddTool_6 981
+#define wxToolBar_AddCheckTool 982
+#define wxToolBar_AddRadioTool 983
+#define wxToolBar_DeleteTool 984
+#define wxToolBar_DeleteToolByPos 985
+#define wxToolBar_EnableTool 986
+#define wxToolBar_FindById 987
+#define wxToolBar_FindControl 988
+#define wxToolBar_FindToolForPosition 989
+#define wxToolBar_GetToolSize 990
+#define wxToolBar_GetToolBitmapSize 991
+#define wxToolBar_GetMargins 992
+#define wxToolBar_GetToolEnabled 993
+#define wxToolBar_GetToolLongHelp 994
+#define wxToolBar_GetToolPacking 995
+#define wxToolBar_GetToolPos 996
+#define wxToolBar_GetToolSeparation 997
+#define wxToolBar_GetToolShortHelp 998
+#define wxToolBar_GetToolState 999
+#define wxToolBar_InsertControl 1000
+#define wxToolBar_InsertSeparator 1001
+#define wxToolBar_InsertTool_5 1002
+#define wxToolBar_InsertTool_2 1003
+#define wxToolBar_InsertTool_4 1004
+#define wxToolBar_Realize 1005
+#define wxToolBar_RemoveTool 1006
+#define wxToolBar_SetMargins 1007
+#define wxToolBar_SetToolBitmapSize 1008
+#define wxToolBar_SetToolLongHelp 1009
+#define wxToolBar_SetToolPacking 1010
+#define wxToolBar_SetToolShortHelp 1011
+#define wxToolBar_SetToolSeparation 1012
+#define wxToolBar_ToggleTool 1013
+#define wxStatusBar_new_0 1015
+#define wxStatusBar_new_2 1016
+#define wxStatusBar_destruct 1018
+#define wxStatusBar_Create 1019
+#define wxStatusBar_GetFieldRect 1020
+#define wxStatusBar_GetFieldsCount 1021
+#define wxStatusBar_GetStatusText 1022
+#define wxStatusBar_PopStatusText 1023
+#define wxStatusBar_PushStatusText 1024
+#define wxStatusBar_SetFieldsCount 1025
+#define wxStatusBar_SetMinHeight 1026
+#define wxStatusBar_SetStatusText 1027
+#define wxStatusBar_SetStatusWidths 1028
+#define wxStatusBar_SetStatusStyles 1029
+#define wxBitmap_new_0 1030
+#define wxBitmap_new_3 1031
+#define wxBitmap_new_4 1032
+#define wxBitmap_new_2_0 1033
+#define wxBitmap_new_2_1 1034
+#define wxBitmap_destruct 1035
+#define wxBitmap_ConvertToImage 1036
+#define wxBitmap_CopyFromIcon 1037
+#define wxBitmap_Create 1038
+#define wxBitmap_GetDepth 1039
+#define wxBitmap_GetHeight 1040
+#define wxBitmap_GetPalette 1041
+#define wxBitmap_GetMask 1042
+#define wxBitmap_GetWidth 1043
+#define wxBitmap_GetSubBitmap 1044
+#define wxBitmap_LoadFile 1045
+#define wxBitmap_Ok 1046
+#define wxBitmap_SaveFile 1047
+#define wxBitmap_SetDepth 1048
+#define wxBitmap_SetHeight 1049
+#define wxBitmap_SetMask 1050
+#define wxBitmap_SetPalette 1051
+#define wxBitmap_SetWidth 1052
+#define wxIcon_new_0 1053
+#define wxIcon_new_2 1054
+#define wxIcon_new_1 1055
+#define wxIcon_CopyFromBitmap 1056
+#define wxIcon_destroy 1057
+#define wxIconBundle_new_0 1058
+#define wxIconBundle_new_2 1059
+#define wxIconBundle_new_1_0 1060
+#define wxIconBundle_new_1_1 1061
+#define wxIconBundle_destruct 1062
+#define wxIconBundle_AddIcon_2 1063
+#define wxIconBundle_AddIcon_1 1064
+#define wxIconBundle_GetIcon_1_1 1065
+#define wxIconBundle_GetIcon_1_0 1066
+#define wxCursor_new_0 1067
+#define wxCursor_new_1_0 1068
+#define wxCursor_new_1_1 1069
+#define wxCursor_new_4 1070
+#define wxCursor_destruct 1071
+#define wxCursor_Ok 1072
+#define wxMask_new_0 1073
+#define wxMask_new_2_1 1074
+#define wxMask_new_2_0 1075
+#define wxMask_new_1 1076
+#define wxMask_destruct 1077
+#define wxMask_Create_2_1 1078
+#define wxMask_Create_2_0 1079
+#define wxMask_Create_1 1080
+#define wxImage_new_0 1081
+#define wxImage_new_3_0 1082
+#define wxImage_new_4 1083
+#define wxImage_new_5 1084
+#define wxImage_new_2 1085
+#define wxImage_new_3_1 1086
+#define wxImage_Blur 1087
+#define wxImage_BlurHorizontal 1088
+#define wxImage_BlurVertical 1089
+#define wxImage_ConvertAlphaToMask 1090
+#define wxImage_ConvertToGreyscale 1091
+#define wxImage_ConvertToMono 1092
+#define wxImage_Copy 1093
+#define wxImage_Create_3 1094
+#define wxImage_Create_4 1095
+#define wxImage_Create_5 1096
+#define wxImage_Destroy 1097
+#define wxImage_FindFirstUnusedColour 1098
+#define wxImage_GetImageExtWildcard 1099
+#define wxImage_GetAlpha_2 1100
+#define wxImage_GetAlpha_0 1101
+#define wxImage_GetBlue 1102
+#define wxImage_GetData 1103
+#define wxImage_GetGreen 1104
+#define wxImage_GetImageCount 1105
+#define wxImage_GetHeight 1106
+#define wxImage_GetMaskBlue 1107
+#define wxImage_GetMaskGreen 1108
+#define wxImage_GetMaskRed 1109
+#define wxImage_GetOrFindMaskColour 1110
+#define wxImage_GetPalette 1111
+#define wxImage_GetRed 1112
+#define wxImage_GetSubImage 1113
+#define wxImage_GetWidth 1114
+#define wxImage_HasAlpha 1115
+#define wxImage_HasMask 1116
+#define wxImage_GetOption 1117
+#define wxImage_GetOptionInt 1118
+#define wxImage_HasOption 1119
+#define wxImage_InitAlpha 1120
+#define wxImage_InitStandardHandlers 1121
+#define wxImage_IsTransparent 1122
+#define wxImage_LoadFile_2 1123
+#define wxImage_LoadFile_3 1124
+#define wxImage_Ok 1125
+#define wxImage_RemoveHandler 1126
+#define wxImage_Mirror 1127
+#define wxImage_Replace 1128
+#define wxImage_Rescale 1129
+#define wxImage_Resize 1130
+#define wxImage_Rotate 1131
+#define wxImage_RotateHue 1132
+#define wxImage_Rotate90 1133
+#define wxImage_SaveFile_1 1134
+#define wxImage_SaveFile_2_0 1135
+#define wxImage_SaveFile_2_1 1136
+#define wxImage_Scale 1137
+#define wxImage_Size 1138
+#define wxImage_SetAlpha_3 1139
+#define wxImage_SetAlpha_2 1140
+#define wxImage_SetData_2 1141
+#define wxImage_SetData_4 1142
+#define wxImage_SetMask 1143
+#define wxImage_SetMaskColour 1144
+#define wxImage_SetMaskFromImage 1145
+#define wxImage_SetOption_2_1 1146
+#define wxImage_SetOption_2_0 1147
+#define wxImage_SetPalette 1148
+#define wxImage_SetRGB_5 1149
+#define wxImage_SetRGB_4 1150
+#define wxImage_destroy 1151
+#define wxBrush_new_0 1152
+#define wxBrush_new_2 1153
+#define wxBrush_new_1 1154
+#define wxBrush_destruct 1156
+#define wxBrush_GetColour 1157
+#define wxBrush_GetStipple 1158
+#define wxBrush_GetStyle 1159
+#define wxBrush_IsHatch 1160
+#define wxBrush_IsOk 1161
+#define wxBrush_SetColour_1 1162
+#define wxBrush_SetColour_3 1163
+#define wxBrush_SetStipple 1164
+#define wxBrush_SetStyle 1165
+#define wxPen_new_0 1166
+#define wxPen_new_2 1167
+#define wxPen_destruct 1168
+#define wxPen_GetCap 1169
+#define wxPen_GetColour 1170
+#define wxPen_GetJoin 1171
+#define wxPen_GetStyle 1172
+#define wxPen_GetWidth 1173
+#define wxPen_IsOk 1174
+#define wxPen_SetCap 1175
+#define wxPen_SetColour_1 1176
+#define wxPen_SetColour_3 1177
+#define wxPen_SetJoin 1178
+#define wxPen_SetStyle 1179
+#define wxPen_SetWidth 1180
+#define wxRegion_new_0 1181
+#define wxRegion_new_4 1182
+#define wxRegion_new_2 1183
+#define wxRegion_new_1_1 1184
+#define wxRegion_new_1_0 1186
+#define wxRegion_destruct 1188
+#define wxRegion_Clear 1189
+#define wxRegion_Contains_2 1190
+#define wxRegion_Contains_1_0 1191
+#define wxRegion_Contains_4 1192
+#define wxRegion_Contains_1_1 1193
+#define wxRegion_ConvertToBitmap 1194
+#define wxRegion_GetBox 1195
+#define wxRegion_Intersect_4 1196
+#define wxRegion_Intersect_1_1 1197
+#define wxRegion_Intersect_1_0 1198
+#define wxRegion_IsEmpty 1199
+#define wxRegion_Subtract_4 1200
+#define wxRegion_Subtract_1_1 1201
+#define wxRegion_Subtract_1_0 1202
+#define wxRegion_Offset_2 1203
+#define wxRegion_Offset_1 1204
+#define wxRegion_Union_4 1205
+#define wxRegion_Union_1_2 1206
+#define wxRegion_Union_1_1 1207
+#define wxRegion_Union_1_0 1208
+#define wxRegion_Union_3 1209
+#define wxRegion_Xor_4 1210
+#define wxRegion_Xor_1_1 1211
+#define wxRegion_Xor_1_0 1212
+#define wxAcceleratorTable_new_0 1213
+#define wxAcceleratorTable_new_2 1214
+#define wxAcceleratorTable_destruct 1215
+#define wxAcceleratorTable_Ok 1216
+#define wxAcceleratorEntry_new_1_0 1217
+#define wxAcceleratorEntry_new_1_1 1218
+#define wxAcceleratorEntry_GetCommand 1219
+#define wxAcceleratorEntry_GetFlags 1220
+#define wxAcceleratorEntry_GetKeyCode 1221
+#define wxAcceleratorEntry_Set 1222
+#define wxAcceleratorEntry_destroy 1223
+#define wxCaret_new_3 1228
+#define wxCaret_new_2 1229
+#define wxCaret_destruct 1231
+#define wxCaret_Create_3 1232
+#define wxCaret_Create_2 1233
+#define wxCaret_GetBlinkTime 1234
+#define wxCaret_GetPosition 1236
+#define wxCaret_GetSize 1238
+#define wxCaret_GetWindow 1239
+#define wxCaret_Hide 1240
+#define wxCaret_IsOk 1241
+#define wxCaret_IsVisible 1242
+#define wxCaret_Move_2 1243
+#define wxCaret_Move_1 1244
+#define wxCaret_SetBlinkTime 1245
+#define wxCaret_SetSize_2 1246
+#define wxCaret_SetSize_1 1247
+#define wxCaret_Show 1248
+#define wxSizer_Add_2_1 1249
+#define wxSizer_Add_2_0 1250
+#define wxSizer_Add_3 1251
+#define wxSizer_Add_2_3 1252
+#define wxSizer_Add_2_2 1253
+#define wxSizer_AddSpacer 1254
+#define wxSizer_AddStretchSpacer 1255
+#define wxSizer_CalcMin 1256
+#define wxSizer_Clear 1257
+#define wxSizer_Detach_1_2 1258
+#define wxSizer_Detach_1_1 1259
+#define wxSizer_Detach_1_0 1260
+#define wxSizer_Fit 1261
+#define wxSizer_FitInside 1262
+#define wxSizer_GetChildren 1263
+#define wxSizer_GetItem_2_1 1264
+#define wxSizer_GetItem_2_0 1265
+#define wxSizer_GetItem_1 1266
+#define wxSizer_GetSize 1267
+#define wxSizer_GetPosition 1268
+#define wxSizer_GetMinSize 1269
+#define wxSizer_Hide_2_0 1270
+#define wxSizer_Hide_2_1 1271
+#define wxSizer_Hide_1 1272
+#define wxSizer_Insert_3_1 1273
+#define wxSizer_Insert_3_0 1274
+#define wxSizer_Insert_4 1275
+#define wxSizer_Insert_3_3 1276
+#define wxSizer_Insert_3_2 1277
+#define wxSizer_Insert_2 1278
+#define wxSizer_InsertSpacer 1279
+#define wxSizer_InsertStretchSpacer 1280
+#define wxSizer_IsShown_1_2 1281
+#define wxSizer_IsShown_1_1 1282
+#define wxSizer_IsShown_1_0 1283
+#define wxSizer_Layout 1284
+#define wxSizer_Prepend_2_1 1285
+#define wxSizer_Prepend_2_0 1286
+#define wxSizer_Prepend_3 1287
+#define wxSizer_Prepend_2_3 1288
+#define wxSizer_Prepend_2_2 1289
+#define wxSizer_Prepend_1 1290
+#define wxSizer_PrependSpacer 1291
+#define wxSizer_PrependStretchSpacer 1292
+#define wxSizer_RecalcSizes 1293
+#define wxSizer_Remove_1_1 1294
+#define wxSizer_Remove_1_0 1295
+#define wxSizer_Replace_3_1 1296
+#define wxSizer_Replace_3_0 1297
+#define wxSizer_Replace_2 1298
+#define wxSizer_SetDimension 1299
+#define wxSizer_SetMinSize_2 1300
+#define wxSizer_SetMinSize_1 1301
+#define wxSizer_SetItemMinSize_3_2 1302
+#define wxSizer_SetItemMinSize_2_2 1303
+#define wxSizer_SetItemMinSize_3_1 1304
+#define wxSizer_SetItemMinSize_2_1 1305
+#define wxSizer_SetItemMinSize_3_0 1306
+#define wxSizer_SetItemMinSize_2_0 1307
+#define wxSizer_SetSizeHints 1308
+#define wxSizer_SetVirtualSizeHints 1309
+#define wxSizer_Show_2_2 1310
+#define wxSizer_Show_2_1 1311
+#define wxSizer_Show_2_0 1312
+#define wxSizer_Show_1 1313
+#define wxSizerFlags_new 1314
+#define wxSizerFlags_Align 1315
+#define wxSizerFlags_Border_2 1316
+#define wxSizerFlags_Border_1 1317
+#define wxSizerFlags_Center 1318
+#define wxSizerFlags_Centre 1319
+#define wxSizerFlags_Expand 1320
+#define wxSizerFlags_Left 1321
+#define wxSizerFlags_Proportion 1322
+#define wxSizerFlags_Right 1323
+#define wxSizerFlags_destroy 1324
+#define wxSizerItem_new_5_1 1325
+#define wxSizerItem_new_2_1 1326
+#define wxSizerItem_new_5_0 1327
+#define wxSizerItem_new_2_0 1328
+#define wxSizerItem_new_6 1329
+#define wxSizerItem_new_3 1330
+#define wxSizerItem_new_0 1331
+#define wxSizerItem_destruct 1332
+#define wxSizerItem_CalcMin 1333
+#define wxSizerItem_DeleteWindows 1334
+#define wxSizerItem_DetachSizer 1335
+#define wxSizerItem_GetBorder 1336
+#define wxSizerItem_GetFlag 1337
+#define wxSizerItem_GetMinSize 1338
+#define wxSizerItem_GetPosition 1339
+#define wxSizerItem_GetProportion 1340
+#define wxSizerItem_GetRatio 1341
+#define wxSizerItem_GetRect 1342
+#define wxSizerItem_GetSize 1343
+#define wxSizerItem_GetSizer 1344
+#define wxSizerItem_GetSpacer 1345
+#define wxSizerItem_GetUserData 1346
+#define wxSizerItem_GetWindow 1347
+#define wxSizerItem_IsSizer 1348
+#define wxSizerItem_IsShown 1349
+#define wxSizerItem_IsSpacer 1350
+#define wxSizerItem_IsWindow 1351
+#define wxSizerItem_SetBorder 1352
+#define wxSizerItem_SetDimension 1353
+#define wxSizerItem_SetFlag 1354
+#define wxSizerItem_SetInitSize 1355
+#define wxSizerItem_SetMinSize_1 1356
+#define wxSizerItem_SetMinSize_2 1357
+#define wxSizerItem_SetProportion 1358
+#define wxSizerItem_SetRatio_2 1359
+#define wxSizerItem_SetRatio_1_1 1360
+#define wxSizerItem_SetRatio_1_0 1361
+#define wxSizerItem_SetSizer 1362
+#define wxSizerItem_SetSpacer_1 1363
+#define wxSizerItem_SetSpacer_2 1364
+#define wxSizerItem_SetWindow 1365
+#define wxSizerItem_Show 1366
+#define wxBoxSizer_new 1367
+#define wxBoxSizer_GetOrientation 1368
+#define wxBoxSizer_destroy 1369
+#define wxStaticBoxSizer_new_2 1370
+#define wxStaticBoxSizer_new_3 1371
+#define wxStaticBoxSizer_GetStaticBox 1372
+#define wxStaticBoxSizer_destroy 1373
+#define wxGridSizer_new_4 1374
+#define wxGridSizer_new_2 1375
+#define wxGridSizer_GetCols 1376
+#define wxGridSizer_GetHGap 1377
+#define wxGridSizer_GetRows 1378
+#define wxGridSizer_GetVGap 1379
+#define wxGridSizer_SetCols 1380
+#define wxGridSizer_SetHGap 1381
+#define wxGridSizer_SetRows 1382
+#define wxGridSizer_SetVGap 1383
+#define wxGridSizer_destroy 1384
+#define wxFlexGridSizer_new_4 1385
+#define wxFlexGridSizer_new_2 1386
+#define wxFlexGridSizer_AddGrowableCol 1387
+#define wxFlexGridSizer_AddGrowableRow 1388
+#define wxFlexGridSizer_GetFlexibleDirection 1389
+#define wxFlexGridSizer_GetNonFlexibleGrowMode 1390
+#define wxFlexGridSizer_RemoveGrowableCol 1391
+#define wxFlexGridSizer_RemoveGrowableRow 1392
+#define wxFlexGridSizer_SetFlexibleDirection 1393
+#define wxFlexGridSizer_SetNonFlexibleGrowMode 1394
+#define wxFlexGridSizer_destroy 1395
+#define wxGridBagSizer_new 1396
+#define wxGridBagSizer_Add_3_2 1397
+#define wxGridBagSizer_Add_3_1 1398
+#define wxGridBagSizer_Add_4 1399
+#define wxGridBagSizer_Add_1_0 1400
+#define wxGridBagSizer_Add_2_1 1401
+#define wxGridBagSizer_Add_2_0 1402
+#define wxGridBagSizer_Add_3_0 1403
+#define wxGridBagSizer_Add_1_1 1404
+#define wxGridBagSizer_CalcMin 1405
+#define wxGridBagSizer_CheckForIntersection_2 1406
+#define wxGridBagSizer_CheckForIntersection_3 1407
+#define wxGridBagSizer_FindItem_1_1 1408
+#define wxGridBagSizer_FindItem_1_0 1409
+#define wxGridBagSizer_FindItemAtPoint 1410
+#define wxGridBagSizer_FindItemAtPosition 1411
+#define wxGridBagSizer_FindItemWithData 1412
+#define wxGridBagSizer_GetCellSize 1413
+#define wxGridBagSizer_GetEmptyCellSize 1414
+#define wxGridBagSizer_GetItemPosition_1_2 1415
+#define wxGridBagSizer_GetItemPosition_1_1 1416
+#define wxGridBagSizer_GetItemPosition_1_0 1417
+#define wxGridBagSizer_GetItemSpan_1_2 1418
+#define wxGridBagSizer_GetItemSpan_1_1 1419
+#define wxGridBagSizer_GetItemSpan_1_0 1420
+#define wxGridBagSizer_SetEmptyCellSize 1421
+#define wxGridBagSizer_SetItemPosition_2_2 1422
+#define wxGridBagSizer_SetItemPosition_2_1 1423
+#define wxGridBagSizer_SetItemPosition_2_0 1424
+#define wxGridBagSizer_SetItemSpan_2_2 1425
+#define wxGridBagSizer_SetItemSpan_2_1 1426
+#define wxGridBagSizer_SetItemSpan_2_0 1427
+#define wxGridBagSizer_destroy 1428
+#define wxStdDialogButtonSizer_new 1429
+#define wxStdDialogButtonSizer_AddButton 1430
+#define wxStdDialogButtonSizer_Realize 1431
+#define wxStdDialogButtonSizer_SetAffirmativeButton 1432
+#define wxStdDialogButtonSizer_SetCancelButton 1433
+#define wxStdDialogButtonSizer_SetNegativeButton 1434
+#define wxStdDialogButtonSizer_destroy 1435
+#define wxFont_new_0 1436
+#define wxFont_new_1 1437
+#define wxFont_new_5 1438
+#define wxFont_destruct 1440
+#define wxFont_IsFixedWidth 1441
+#define wxFont_GetDefaultEncoding 1442
+#define wxFont_GetFaceName 1443
+#define wxFont_GetFamily 1444
+#define wxFont_GetNativeFontInfoDesc 1445
+#define wxFont_GetNativeFontInfoUserDesc 1446
+#define wxFont_GetPointSize 1447
+#define wxFont_GetStyle 1448
+#define wxFont_GetUnderlined 1449
+#define wxFont_GetWeight 1450
+#define wxFont_Ok 1451
+#define wxFont_SetDefaultEncoding 1452
+#define wxFont_SetFaceName 1453
+#define wxFont_SetFamily 1454
+#define wxFont_SetPointSize 1455
+#define wxFont_SetStyle 1456
+#define wxFont_SetUnderlined 1457
+#define wxFont_SetWeight 1458
+#define wxToolTip_Enable 1459
+#define wxToolTip_SetDelay 1460
+#define wxToolTip_new 1461
+#define wxToolTip_SetTip 1462
+#define wxToolTip_GetTip 1463
+#define wxToolTip_GetWindow 1464
+#define wxToolTip_destroy 1465
+#define wxButton_new_3 1467
+#define wxButton_new_0 1468
+#define wxButton_destruct 1469
+#define wxButton_Create 1470
+#define wxButton_GetDefaultSize 1471
+#define wxButton_SetDefault 1472
+#define wxButton_SetLabel 1473
+#define wxBitmapButton_new_4 1475
+#define wxBitmapButton_new_0 1476
+#define wxBitmapButton_Create 1477
+#define wxBitmapButton_GetBitmapDisabled 1478
+#define wxBitmapButton_GetBitmapFocus 1480
+#define wxBitmapButton_GetBitmapLabel 1482
+#define wxBitmapButton_GetBitmapSelected 1484
+#define wxBitmapButton_SetBitmapDisabled 1486
+#define wxBitmapButton_SetBitmapFocus 1487
+#define wxBitmapButton_SetBitmapLabel 1488
+#define wxBitmapButton_SetBitmapSelected 1489
+#define wxBitmapButton_destroy 1490
+#define wxToggleButton_new_0 1491
+#define wxToggleButton_new_4 1492
+#define wxToggleButton_Create 1493
+#define wxToggleButton_GetValue 1494
+#define wxToggleButton_SetValue 1495
+#define wxToggleButton_destroy 1496
+#define wxCalendarCtrl_new_0 1497
+#define wxCalendarCtrl_new_3 1498
+#define wxCalendarCtrl_Create 1499
+#define wxCalendarCtrl_destruct 1500
+#define wxCalendarCtrl_SetDate 1501
+#define wxCalendarCtrl_GetDate 1502
+#define wxCalendarCtrl_EnableYearChange 1503
+#define wxCalendarCtrl_EnableMonthChange 1504
+#define wxCalendarCtrl_EnableHolidayDisplay 1505
+#define wxCalendarCtrl_SetHeaderColours 1506
+#define wxCalendarCtrl_GetHeaderColourFg 1507
+#define wxCalendarCtrl_GetHeaderColourBg 1508
+#define wxCalendarCtrl_SetHighlightColours 1509
+#define wxCalendarCtrl_GetHighlightColourFg 1510
+#define wxCalendarCtrl_GetHighlightColourBg 1511
+#define wxCalendarCtrl_SetHolidayColours 1512
+#define wxCalendarCtrl_GetHolidayColourFg 1513
+#define wxCalendarCtrl_GetHolidayColourBg 1514
+#define wxCalendarCtrl_GetAttr 1515
+#define wxCalendarCtrl_SetAttr 1516
+#define wxCalendarCtrl_SetHoliday 1517
+#define wxCalendarCtrl_ResetAttr 1518
+#define wxCalendarCtrl_HitTest 1519
+#define wxCalendarDateAttr_new_0 1520
+#define wxCalendarDateAttr_new_2_1 1521
+#define wxCalendarDateAttr_new_2_0 1522
+#define wxCalendarDateAttr_SetTextColour 1523
+#define wxCalendarDateAttr_SetBackgroundColour 1524
+#define wxCalendarDateAttr_SetBorderColour 1525
+#define wxCalendarDateAttr_SetFont 1526
+#define wxCalendarDateAttr_SetBorder 1527
+#define wxCalendarDateAttr_SetHoliday 1528
+#define wxCalendarDateAttr_HasTextColour 1529
+#define wxCalendarDateAttr_HasBackgroundColour 1530
+#define wxCalendarDateAttr_HasBorderColour 1531
+#define wxCalendarDateAttr_HasFont 1532
+#define wxCalendarDateAttr_HasBorder 1533
+#define wxCalendarDateAttr_IsHoliday 1534
+#define wxCalendarDateAttr_GetTextColour 1535
+#define wxCalendarDateAttr_GetBackgroundColour 1536
+#define wxCalendarDateAttr_GetBorderColour 1537
+#define wxCalendarDateAttr_GetFont 1538
+#define wxCalendarDateAttr_GetBorder 1539
+#define wxCalendarDateAttr_destroy 1540
+#define wxCheckBox_new_4 1542
+#define wxCheckBox_new_0 1543
+#define wxCheckBox_Create 1544
+#define wxCheckBox_GetValue 1545
+#define wxCheckBox_Get3StateValue 1546
+#define wxCheckBox_Is3rdStateAllowedForUser 1547
+#define wxCheckBox_Is3State 1548
+#define wxCheckBox_IsChecked 1549
+#define wxCheckBox_SetValue 1550
+#define wxCheckBox_Set3StateValue 1551
+#define wxCheckBox_destroy 1552
+#define wxCheckListBox_new_0 1553
+#define wxCheckListBox_new_3 1555
+#define wxCheckListBox_Check 1556
+#define wxCheckListBox_IsChecked 1557
+#define wxCheckListBox_destroy 1558
+#define wxChoice_new_3 1561
+#define wxChoice_new_0 1562
+#define wxChoice_destruct 1564
+#define wxChoice_Create 1566
+#define wxChoice_Delete 1567
+#define wxChoice_GetColumns 1568
+#define wxChoice_SetColumns 1569
+#define wxComboBox_new_0 1570
+#define wxComboBox_new_3 1572
+#define wxComboBox_destruct 1573
+#define wxComboBox_Create 1575
+#define wxComboBox_CanCopy 1576
+#define wxComboBox_CanCut 1577
+#define wxComboBox_CanPaste 1578
+#define wxComboBox_CanRedo 1579
+#define wxComboBox_CanUndo 1580
+#define wxComboBox_Copy 1581
+#define wxComboBox_Cut 1582
+#define wxComboBox_GetInsertionPoint 1583
+#define wxComboBox_GetLastPosition 1584
+#define wxComboBox_GetValue 1585
+#define wxComboBox_Paste 1586
+#define wxComboBox_Redo 1587
+#define wxComboBox_Replace 1588
+#define wxComboBox_Remove 1589
+#define wxComboBox_SetInsertionPoint 1590
+#define wxComboBox_SetInsertionPointEnd 1591
+#define wxComboBox_SetSelection_1 1592
+#define wxComboBox_SetSelection_2 1593
+#define wxComboBox_SetValue 1594
+#define wxComboBox_Undo 1595
+#define wxGauge_new_0 1596
+#define wxGauge_new_4 1597
+#define wxGauge_Create 1598
+#define wxGauge_GetBezelFace 1599
+#define wxGauge_GetRange 1600
+#define wxGauge_GetShadowWidth 1601
+#define wxGauge_GetValue 1602
+#define wxGauge_IsVertical 1603
+#define wxGauge_SetBezelFace 1604
+#define wxGauge_SetRange 1605
+#define wxGauge_SetShadowWidth 1606
+#define wxGauge_SetValue 1607
+#define wxGauge_Pulse 1608
+#define wxGauge_destroy 1609
+#define wxGenericDirCtrl_new_0 1610
+#define wxGenericDirCtrl_new_2 1611
+#define wxGenericDirCtrl_destruct 1612
+#define wxGenericDirCtrl_Create 1613
+#define wxGenericDirCtrl_Init 1614
+#define wxGenericDirCtrl_CollapseTree 1615
+#define wxGenericDirCtrl_ExpandPath 1616
+#define wxGenericDirCtrl_GetDefaultPath 1617
+#define wxGenericDirCtrl_GetPath 1618
+#define wxGenericDirCtrl_GetFilePath 1619
+#define wxGenericDirCtrl_GetFilter 1620
+#define wxGenericDirCtrl_GetFilterIndex 1621
+#define wxGenericDirCtrl_GetRootId 1622
+#define wxGenericDirCtrl_GetTreeCtrl 1623
+#define wxGenericDirCtrl_ReCreateTree 1624
+#define wxGenericDirCtrl_SetDefaultPath 1625
+#define wxGenericDirCtrl_SetFilter 1626
+#define wxGenericDirCtrl_SetFilterIndex 1627
+#define wxGenericDirCtrl_SetPath 1628
+#define wxStaticBox_new_4 1630
+#define wxStaticBox_new_0 1631
+#define wxStaticBox_Create 1632
+#define wxStaticBox_destroy 1633
+#define wxStaticLine_new_2 1635
+#define wxStaticLine_new_0 1636
+#define wxStaticLine_Create 1637
+#define wxStaticLine_IsVertical 1638
+#define wxStaticLine_GetDefaultSize 1639
+#define wxStaticLine_destroy 1640
+#define wxListBox_new_3 1643
+#define wxListBox_new_0 1644
+#define wxListBox_destruct 1646
+#define wxListBox_Create 1648
+#define wxListBox_Deselect 1649
+#define wxListBox_GetSelections 1650
+#define wxListBox_InsertItems 1651
+#define wxListBox_IsSelected 1652
#define wxListBox_Set 1653
#define wxListBox_HitTest 1654
#define wxListBox_SetFirstItem_1_0 1655
diff --git a/lib/wx/c_src/wxePrintout.cpp b/lib/wx/c_src/wxe_callback_impl.cpp
index fc8782ba95..e06f68dcbf 100644
--- a/lib/wx/c_src/wxePrintout.cpp
+++ b/lib/wx/c_src/wxe_callback_impl.cpp
@@ -1,7 +1,7 @@
/*
* %CopyrightBegin%
*
- * Copyright Ericsson AB 2008-2013. All Rights Reserved.
+ * Copyright Ericsson AB 2008-2014. All Rights Reserved.
*
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
@@ -20,9 +20,60 @@
#include <wx/wx.h>
#include "wxe_impl.h"
#include "wxe_return.h"
+#include "wxe_events.h"
+#include "wxe_gl.h"
#include "gen/wxe_macros.h"
#include "gen/wxe_derived_dest.h"
+
+/* ****************************************************************************
+ * CallbackData *
+ * ****************************************************************************/
+
+wxeEvtListener::wxeEvtListener(ErlDrvTermData caller, int req, char *req_type,
+ int funcb, int skip_ev, wxeErlTerm * userData,
+ ErlDrvTermData from_port)
+ : wxEvtHandler()
+{
+ port=from_port;
+ listener = caller;
+ obj = req;
+ fun_id = funcb;
+ strcpy(class_name, req_type);
+ skip = skip_ev;
+ user_data = userData;
+}
+
+wxeEvtListener::~wxeEvtListener() {
+ // fprintf(stderr, "CBD Deleteing %p %s\r\n", this, class_name); fflush(stderr);
+ if(user_data) {
+ delete user_data;
+ }
+ ptrMap::iterator it;
+ it = ((WxeApp *)wxTheApp)->ptr2ref.find(this);
+ if(it != ((WxeApp *)wxTheApp)->ptr2ref.end()) {
+ wxeRefData *refd = it->second;
+ wxeReturn rt = wxeReturn(WXE_DRV_PORT, refd->memenv->owner, false);
+ rt.addAtom("wx_delete_cb");
+ rt.addInt(fun_id);
+ rt.addRef(refd->ref, "wxeEvtListener");
+ rt.addRef(obj, class_name);
+ rt.addTupleCount(4);
+ rt.send();
+ }
+ ((WxeApp *)wxTheApp)->clearPtr(this);
+}
+
+void wxeEvtListener::forward(wxEvent& event)
+{
+#ifdef DEBUG
+ if(!sendevent(&event, port))
+ fprintf(stderr, "Couldn't send event!\r\n");
+#else
+sendevent(&event, port);
+#endif
+}
+
/* *****************************************************************/
/* Special Class impls */
@@ -228,6 +279,35 @@ EwxListCtrl::~EwxListCtrl() {
clear_cb(port, onGetItemColumnImage);
((WxeApp *)wxTheApp)->clearPtr(this);
}
+
+/* ****************************************************************************
+ * wxListCtrlCompare wrapper
+ * ****************************************************************************/
+
+int wxCALLBACK wxEListCtrlCompare(long item1, long item2, long callbackInfoPtr)
+{
+ callbackInfo * cb = (callbackInfo *)callbackInfoPtr;
+ wxeMemEnv * memenv = ((WxeApp *) wxTheApp)->getMemEnv(cb->port);
+ wxeReturn rt = wxeReturn(WXE_DRV_PORT, memenv->owner, false);
+ rt.addInt(cb->callbackID);
+ rt.addInt(item1);
+ rt.addInt(item2);
+ rt.endList(2);
+ rt.addAtom("_wx_invoke_cb_");
+ rt.addTupleCount(3);
+ rt.send();
+ handle_event_callback(WXE_DRV_PORT_HANDLE, memenv->owner);
+
+ if(((WxeApp *) wxTheApp)->cb_buff) {
+ int res = * (int*) ((WxeApp *) wxTheApp)->cb_buff;
+ driver_free(((WxeApp *) wxTheApp)->cb_buff);
+ ((WxeApp *) wxTheApp)->cb_buff = NULL;
+ return res;
+ }
+ return 0;
+}
+
+
// tools
void clear_cb(ErlDrvTermData port, int callback)
diff --git a/lib/wx/c_src/wxe_callback_impl.h b/lib/wx/c_src/wxe_callback_impl.h
new file mode 100644
index 0000000000..1c355e4d38
--- /dev/null
+++ b/lib/wx/c_src/wxe_callback_impl.h
@@ -0,0 +1,93 @@
+/*
+ * %CopyrightBegin%
+ *
+ * Copyright Ericsson AB 2014. All Rights Reserved.
+ *
+ * The contents of this file are subject to the Erlang Public License,
+ * Version 1.1, (the "License"); you may not use this file except in
+ * compliance with the License. You should have received a copy of the
+ * Erlang Public License along with this software. If not, it can be
+ * retrieved online at http://www.erlang.org/.
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and limitations
+ * under the License.
+ *
+ * %CopyrightEnd%
+ */
+
+#ifndef _WXE_CALLBACK_IMPL_H
+#define _WXE_CALLBACK_IMPL_H
+
+void pre_callback();
+void handle_event_callback(ErlDrvPort port, ErlDrvTermData process);
+
+/* Fun Callback id */
+class wxeEvtListener : public wxEvtHandler
+{
+public:
+ wxeEvtListener(ErlDrvTermData caller, int req, char *req_type,
+ int funcb, int skip_ev, wxeErlTerm * userData,
+ ErlDrvTermData Thisport);
+ ~wxeEvtListener();
+ void forward(wxEvent& event);
+ ErlDrvTermData port;
+ ErlDrvTermData listener;
+ int fun_id;
+ int obj;
+ char class_name[40];
+ int skip;
+ wxeErlTerm * user_data;
+};
+
+class wxEPrintout : public wxPrintout
+{
+ public:
+ wxEPrintout(wxString Title, int onPrintP, int onPrepareP,
+ int onBeginP, int onEndP,
+ int onBeginD, int onEndD,
+ int hasP, int getPageI, ErlDrvTermData Port) :
+ wxPrintout(Title),
+ onPrintPage(onPrintP), onPreparePrinting(onPrepareP),
+ onBeginPrinting(onBeginP), onEndPrinting(onEndP),
+ onBeginDocument(onBeginD), onEndDocument(onEndD), hasPage(hasP), getPageInfo(getPageI),
+ port(Port)
+ { } ;
+
+ ~wxEPrintout();
+
+ bool OnBeginDocument(int startPage, int endPage);
+ void OnEndDocument();
+ void OnBeginPrinting();
+ void OnEndPrinting();
+
+ void OnPreparePrinting();
+
+ bool HasPage(int page);
+ bool OnPrintPage(int page);
+ void GetPageInfo(int *minPage, int *maxPage, int *pageFrom, int *pageTo);
+
+ int onPrintPage;
+ int onPreparePrinting;
+ int onBeginPrinting;
+ int onEndPrinting;
+ int onBeginDocument;
+ int onEndDocument;
+ int hasPage;
+ int getPageInfo;
+
+ ErlDrvTermData port;
+};
+
+void clear_cb(ErlDrvTermData port, int callback);
+
+// Implementation of wxListCtrlCompare
+struct callbackInfo {
+ ErlDrvTermData port;
+ int callbackID;
+};
+
+int wxCALLBACK wxEListCtrlCompare(long item1, long item2, long callbackInfoPtr);
+
+#endif
diff --git a/lib/wx/c_src/wxe_driver.c b/lib/wx/c_src/wxe_driver.c
index 4d3aa577bf..ea52737fa2 100644
--- a/lib/wx/c_src/wxe_driver.c
+++ b/lib/wx/c_src/wxe_driver.c
@@ -1,7 +1,7 @@
/*
* %CopyrightBegin%
*
- * Copyright Ericsson AB 2008-2013. All Rights Reserved.
+ * Copyright Ericsson AB 2008-2014. All Rights Reserved.
*
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
@@ -195,7 +195,7 @@ void wxe_process_died(ErlDrvData handle, ErlDrvMonitor *monitor)
{
/* Callback is active for the dead process */
wxe_data *sd = ((wxe_data *)handle);
- push_command(WXE_CB_RETURN,NULL,0,sd);
+ push_command(WXE_CB_DIED,NULL,0,sd);
/* ErlDrvTermData pid; */
/* pid = driver_get_monitored_process(sd->port_handle, monitor); */
diff --git a/lib/wx/c_src/wxe_driver.h b/lib/wx/c_src/wxe_driver.h
index c765c866c2..e35bbe2118 100644
--- a/lib/wx/c_src/wxe_driver.h
+++ b/lib/wx/c_src/wxe_driver.h
@@ -1,7 +1,7 @@
/*
* %CopyrightBegin%
*
- * Copyright Ericsson AB 2008-2013. All Rights Reserved.
+ * Copyright Ericsson AB 2008-2014. All Rights Reserved.
*
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
@@ -67,6 +67,7 @@ void push_command(int op,char * buf,int len, wxe_data *);
void meta_command(int what, wxe_data *sd);
void * wxe_ps_init();
+void * wxe_ps_init2();
extern ErlDrvPort WXE_DRV_PORT_HANDLE;
extern ErlDrvTermData WXE_DRV_PORT;
@@ -88,6 +89,7 @@ extern char * erl_wx_privdir;
#define WXE_BIN_INCR 11
#define WXE_BIN_DECR 12
#define WXE_INIT_OPENGL 13
+#define WXE_CB_DIED 14
#define OPENGL_START 5000
diff --git a/lib/wx/c_src/wxe_events.h b/lib/wx/c_src/wxe_events.h
index 6bbb0dfa13..93b5551123 100644
--- a/lib/wx/c_src/wxe_events.h
+++ b/lib/wx/c_src/wxe_events.h
@@ -1,20 +1,20 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2008-2013. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2008-2014. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
- * %CopyrightEnd%
+ *
+ * %CopyrightEnd%
*/
#ifndef __WXE_EVENT_H__
@@ -22,6 +22,8 @@
#include "wxe_driver.h"
+bool sendevent(wxEvent * event, ErlDrvTermData port);
+
class wxeEtype
{
public:
@@ -33,36 +35,4 @@ public:
void initEventTable();
int wxeEventTypeFromAtom(char *etype_atom);
-/* Fun Callback id */
-class wxeCallbackData : public wxObject
-{
-public:
- wxeCallbackData(ErlDrvTermData caller, void *req, char *req_type,
- int funcb, int skip_ev, wxeErlTerm * userData);
- ~wxeCallbackData();
- ErlDrvTermData listener;
- int fun_id;
- void * obj;
- char class_name[40];
- int skip;
- wxeErlTerm * user_data;
-};
-
-/* One EvtListener per listening erlang process */
-/* If callbacks are used the receiver is wxe_master process */
-/* and a wxeEvtListener pre callback is registered */
-class wxeEvtListener : public wxEvtHandler
-{
-public:
- wxeEvtListener(ErlDrvTermData Thisport) : port(Thisport)
- {}
- // {fprintf(stderr, "Creating %x\r\n", (unsigned int) this); fflush(stderr);}
- void forward(wxEvent& event);
- ~wxeEvtListener() {
- ((WxeApp *)wxTheApp)->clearPtr(this);
- // fprintf(stderr, "Deleteing %x\r\n", (unsigned int) this); fflush(stderr);
- };
- ErlDrvTermData port;
-};
-
#endif
diff --git a/lib/wx/c_src/wxe_gl.cpp b/lib/wx/c_src/wxe_gl.cpp
index 34904397d3..a9feb23831 100644
--- a/lib/wx/c_src/wxe_gl.cpp
+++ b/lib/wx/c_src/wxe_gl.cpp
@@ -1,20 +1,20 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2008-2013. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2008-2014. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
- * %CopyrightEnd%
+ *
+ * %CopyrightEnd%
*/
#include <stdio.h>
@@ -26,8 +26,9 @@
#endif
#include "wxe_impl.h"
#include "wxe_return.h"
+#include "wxe_gl.h"
-/* ****************************************************************************
+/* ****************************************************************************
* Opengl context management *
* ****************************************************************************/
@@ -138,7 +139,7 @@ void gl_dispatch(int op, char *bp,ErlDrvTermData caller,WXEBinRef *bins[]){
else {
ErlDrvTermData rt[] = // Error msg
{ERL_DRV_ATOM, driver_mk_atom((char *) "_egl_error_"),
- ERL_DRV_INT, op,
+ ERL_DRV_INT, (ErlDrvTermData) op,
ERL_DRV_ATOM, driver_mk_atom((char *) "no_gl_context"),
ERL_DRV_TUPLE,3};
erl_drv_send_term(WXE_DRV_PORT,caller,rt,8);
diff --git a/lib/wx/c_src/wxe_gl.h b/lib/wx/c_src/wxe_gl.h
index 1b556ff4ec..dc117bf610 100644
--- a/lib/wx/c_src/wxe_gl.h
+++ b/lib/wx/c_src/wxe_gl.h
@@ -1,22 +1,35 @@
/*
* %CopyrightBegin%
- *
- * Copyright Ericsson AB 2008-2010. All Rights Reserved.
- *
+ *
+ * Copyright Ericsson AB 2008-2014. All Rights Reserved.
+ *
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
* compliance with the License. You should have received a copy of the
* Erlang Public License along with this software. If not, it can be
* retrieved online at http://www.erlang.org/.
- *
+ *
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
- *
- * %CopyrightEnd%
+ *
+ * %CopyrightEnd%
*/
+#ifndef _WXE_GL_H
+#define _WXE_GL_H
+
#include "egl_impl.h"
+#include "wxe_return.h"
+void activateGL(ErlDrvTermData caller);
+void setActiveGL(ErlDrvTermData caller, wxGLCanvas *canvas);
+void deleteActiveGL(wxGLCanvas *canvas);
void wxe_initOpenGL(wxeReturn, char*);
+void gl_dispatch(int op, char *bp, ErlDrvTermData caller, WXEBinRef *bins[]);
+
+WX_DECLARE_HASH_MAP(ErlDrvTermData, wxGLCanvas*, wxIntegerHash, wxIntegerEqual, wxeGLC);
+extern wxeGLC glc;
+
+#endif
diff --git a/lib/wx/c_src/wxe_helpers.cpp b/lib/wx/c_src/wxe_helpers.cpp
new file mode 100644
index 0000000000..15d75080d9
--- /dev/null
+++ b/lib/wx/c_src/wxe_helpers.cpp
@@ -0,0 +1,95 @@
+/*
+ * %CopyrightBegin%
+ *
+ * Copyright Ericsson AB 2014. All Rights Reserved.
+ *
+ * The contents of this file are subject to the Erlang Public License,
+ * Version 1.1, (the "License"); you may not use this file except in
+ * compliance with the License. You should have received a copy of the
+ * Erlang Public License along with this software. If not, it can be
+ * retrieved online at http://www.erlang.org/.
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and limitations
+ * under the License.
+ *
+ * %CopyrightEnd%
+ */
+
+#include <wx/wx.h>
+#include "wxe_impl.h"
+
+/* ****************************************************************************
+ * Erlang Commands
+ * ****************************************************************************/
+
+wxeCommand::wxeCommand(int fc,char * cbuf,int buflen, wxe_data *sd)
+ : wxObject()
+{
+ WXEBinRef *temp, *start, *prev;
+ int n = 0;
+ ref_count = 1;
+ caller = driver_caller(sd->port_handle);
+ port = sd->port;
+ op = fc;
+ len = buflen;
+ bin[0] = NULL;
+ bin[1] = NULL;
+ bin[2] = NULL;
+
+ if(cbuf) {
+ buffer = (char *) driver_alloc(len);
+ memcpy((void *) buffer, (void *) cbuf, len);;
+
+ temp = sd->bin;
+
+ prev = NULL;
+ start = temp;
+
+ while(temp) {
+ if(caller == temp->from) {
+ bin[n++] = temp;
+ if(prev) {
+ prev->next = temp->next;
+ } else {
+ start = temp->next;
+ }
+ temp = temp->next;
+ } else {
+ prev = temp;
+ temp = temp->next;
+ }
+ }
+ sd->bin = start;
+ } else { // No-op only PING currently
+ buffer = NULL;
+ }
+}
+
+wxeCommand::~wxeCommand() {
+ int n = 0;
+ if(buffer) {
+ while(bin[n]) {
+ if(bin[n]->bin)
+ driver_free_binary(bin[n]->bin);
+ driver_free(bin[n++]);
+ }
+ driver_free(buffer);
+ }
+}
+
+/* ****************************************************************************
+ * TreeItemData
+ * ****************************************************************************/
+
+wxETreeItemData::wxETreeItemData(int sz, char * data) {
+ size = sz;
+ bin = (char *) driver_alloc(sz);
+ memcpy(bin, data, sz);
+}
+
+wxETreeItemData::~wxETreeItemData()
+{
+ driver_free(bin);
+}
diff --git a/lib/wx/c_src/wxe_helpers.h b/lib/wx/c_src/wxe_helpers.h
new file mode 100644
index 0000000000..659bc666c6
--- /dev/null
+++ b/lib/wx/c_src/wxe_helpers.h
@@ -0,0 +1,122 @@
+/*
+ * %CopyrightBegin%
+ *
+ * Copyright Ericsson AB 2014. All Rights Reserved.
+ *
+ * The contents of this file are subject to the Erlang Public License,
+ * Version 1.1, (the "License"); you may not use this file except in
+ * compliance with the License. You should have received a copy of the
+ * Erlang Public License along with this software. If not, it can be
+ * retrieved online at http://www.erlang.org/.
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and limitations
+ * under the License.
+ *
+ * %CopyrightEnd%
+ */
+
+#ifndef _WXE_HELPER_H
+#define _WXE_HELPER_H
+
+DECLARE_EVENT_TYPE(wxeEVT_META_COMMAND, -1)
+
+class wxeMetaCommand : public wxEvent
+{
+ public:
+ wxeMetaCommand(wxe_data *sd, int EvId)
+ : wxEvent(EvId, wxeEVT_META_COMMAND)
+ { caller = driver_caller(sd->port_handle); port = sd->port; pdl = sd->pdl; } ;
+ wxeMetaCommand(const wxeMetaCommand& event)
+ : wxEvent(event)
+ { caller = event.caller; port = event.port; pdl = event.pdl; };
+ virtual ~wxeMetaCommand() {};
+ virtual wxEvent *Clone() const { return new wxeMetaCommand(*this); }
+
+ ErlDrvTermData caller;
+ ErlDrvTermData port;
+ ErlDrvPDL pdl;
+};
+
+class wxeCommand : public wxObject
+{
+ public:
+ wxeCommand(int fc,char * cbuf,int buflen, wxe_data *);
+ virtual ~wxeCommand(); // Use Delete()
+
+ wxeCommand * Save() {ref_count++; return this; };
+ void Delete() {if(--ref_count < 1) delete this;};
+
+ ErlDrvTermData caller;
+ ErlDrvTermData port;
+ WXEBinRef * bin[3];
+ char * buffer;
+ int len;
+ int op;
+ int ref_count;
+};
+
+class intListElement {
+ public:
+ intListElement(int Element) {car = Element; cdr = NULL;};
+ intListElement(int Element, intListElement *list)
+ {car = Element; cdr = list;};
+ int car;
+ intListElement *cdr;
+};
+
+class intList {
+ public:
+ intList() {list = NULL;};
+ ~intList() {
+ intListElement *head = list;
+ while(head) {
+ intListElement *tail=head->cdr;
+ delete head;
+ head = tail;
+ } };
+ bool IsEmpty() {return list == NULL;};
+ void Append(int Element) { list = new intListElement(Element, list); };
+ int Pop() {
+ intListElement *temp = list;
+ int res = list->car;
+ list = temp->cdr;
+ delete temp;
+ return res;
+ }
+ intListElement *list;
+};
+
+class wxe_badarg
+{
+ public:
+ wxe_badarg(int Ref) : ref(Ref) { } ;
+ int ref;
+};
+
+class wxeErlTerm : public wxClientData
+{
+ public:
+ wxeErlTerm(WXEBinRef * data)
+ {
+ size = data->size;
+ bin = (char *) driver_alloc(size);
+ memcpy(bin, data->base, size);
+ } ;
+ ~wxeErlTerm() { driver_free(bin); };
+ char * bin;
+ int size;
+};
+
+class wxETreeItemData : public wxTreeItemData
+{
+ public:
+ wxETreeItemData(int sz, char * data);
+ ~wxETreeItemData();
+
+ int size;
+ char * bin;
+};
+
+#endif
diff --git a/lib/wx/c_src/wxe_impl.cpp b/lib/wx/c_src/wxe_impl.cpp
index adfee8da73..5964ccfd00 100644
--- a/lib/wx/c_src/wxe_impl.cpp
+++ b/lib/wx/c_src/wxe_impl.cpp
@@ -1,7 +1,7 @@
/*
* %CopyrightBegin%
*
- * Copyright Ericsson AB 2008-2013. All Rights Reserved.
+ * Copyright Ericsson AB 2008-2014. All Rights Reserved.
*
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
@@ -30,16 +30,12 @@
// Ok ugly but needed for wxBufferedDC crash workaround
#define private public
#include <wx/dcbuffer.h>
-
-#if defined(__WXMSW__)
- #include <wx/msw/private.h> // for wxSetInstance
-#endif
-
#undef private
#include "wxe_impl.h"
#include "wxe_events.h"
#include "wxe_return.h"
+#include "wxe_gl.h"
IMPLEMENT_APP_NO_MAIN(WxeApp)
@@ -47,120 +43,21 @@ DECLARE_APP(WxeApp)
DEFINE_EVENT_TYPE(wxeEVT_META_COMMAND)
-#define WXE_NOT_INITIATED 0
-#define WXE_INITIATED 1
-#define WXE_EXITED 2
-#define WXE_ERROR -1
-
#define WXE_NORMAL 0
#define WXE_CALLBACK 1
#define WXE_STORED 2
-ErlDrvTid wxe_thread;
-
-ErlDrvMutex *wxe_status_m;
-ErlDrvCond *wxe_status_c;
-
-ErlDrvMutex * wxe_batch_locker_m;
-ErlDrvCond * wxe_batch_locker_c;
-
-static int wxe_status = WXE_NOT_INITIATED;
+// Globals initiated in wxe_init.cpp
+extern ErlDrvMutex *wxe_status_m;
+extern ErlDrvCond *wxe_status_c;
+extern ErlDrvMutex * wxe_batch_locker_m;
+extern ErlDrvCond * wxe_batch_locker_c;
+extern ErlDrvTermData init_caller;
+extern int wxe_status;
wxList * wxe_batch = NULL;
wxList * wxe_batch_cb_saved = NULL;
-
-ErlDrvTermData wxe_batch_caller = 0;
-ErlDrvTermData init_caller = 0;
-
-// extern opengl
-void gl_dispatch(int op, char *bp, ErlDrvTermData caller, WXEBinRef *bins[]);
-
-
-// Until fixed in emulator
-#ifndef _WIN32
-extern "C" {
-extern void erts_thread_disable_fpe(void);
-}
-#endif
-
-#if defined(__APPLE__) && defined(__MACH__) && !defined(__DARWIN__)
-#define __DARWIN__ 1
-#endif
-
-#ifdef __DARWIN__
-extern "C" {
- int erl_drv_stolen_main_thread_join(ErlDrvTid tid, void **respp);
- int erl_drv_steal_main_thread(char *name,
- ErlDrvTid *dtid,
- void* (*func)(void*),
- void* arg,
- ErlDrvThreadOpts *opts);
-}
-#endif
-
-void *wxe_main_loop(void * );
-
-/* ************************************************************
- * START AND STOP of driver thread
- * ************************************************************/
-
-int load_native_gui()
-{
- return 1;
-}
-
-int start_native_gui(wxe_data *sd)
-{
- int res;
- wxe_status_m = erl_drv_mutex_create((char *) "wxe_status_m");
- wxe_status_c = erl_drv_cond_create((char *)"wxe_status_c");
-
- wxe_batch_locker_m = erl_drv_mutex_create((char *)"wxe_batch_locker_m");
- wxe_batch_locker_c = erl_drv_cond_create((char *)"wxe_batch_locker_c");
- init_caller = driver_connected(sd->port_handle);
-
-#ifdef __DARWIN__
- res = erl_drv_steal_main_thread((char *)"wxwidgets",
- &wxe_thread,wxe_main_loop,(void *) sd->pdl,NULL);
-#else
- res = erl_drv_thread_create((char *)"wxwidgets",
- &wxe_thread,wxe_main_loop,(void *) sd->pdl,NULL);
-#endif
- if(res == 0) {
- erl_drv_mutex_lock(wxe_status_m);
- for(;wxe_status == WXE_NOT_INITIATED;) {
- erl_drv_cond_wait(wxe_status_c, wxe_status_m);
- }
- erl_drv_mutex_unlock(wxe_status_m);
- return wxe_status;
- } else {
- wxString msg;
- msg.Printf(wxT("Erlang failed to create wxe-thread %d\r\n"), res);
- send_msg("error", &msg);
- return -1;
- }
-}
-
-void stop_native_gui(wxe_data *sd)
-{
- if(wxe_status == WXE_INITIATED) {
- meta_command(WXE_SHUTDOWN, sd);
- }
-#ifdef __DARWIN__
- erl_drv_stolen_main_thread_join(wxe_thread, NULL);
-#else
- erl_drv_thread_join(wxe_thread, NULL);
-#endif
- erl_drv_mutex_destroy(wxe_status_m);
- erl_drv_cond_destroy(wxe_status_c);
- erl_drv_mutex_destroy(wxe_batch_locker_m);
- erl_drv_cond_destroy(wxe_batch_locker_c);
-}
-
-void unload_native_gui()
-{
-
-}
+int wxe_batch_caller = 0; // inside batch if larger than 0
/* ************************************************************
* Commands from erlang
@@ -169,7 +66,8 @@ void unload_native_gui()
void push_command(int op,char * buf,int len, wxe_data *sd)
{
- // fprintf(stderr, "Op %d %d\r\n", op, (int) driver_caller(sd->port_handle)),fflush(stderr);
+ /* fprintf(stderr, "Op %d %d [%ld] %d\r\n", op, (int) driver_caller(sd->port_handle),
+ wxe_batch->size(), wxe_batch_caller),fflush(stderr); */
wxeCommand *Cmd = new wxeCommand(op, buf, len, sd);
erl_drv_mutex_lock(wxe_batch_locker_m);
wxe_batch->Append(Cmd);
@@ -195,9 +93,8 @@ void meta_command(int what, wxe_data *sd) {
wxeCommand *Cmd = new wxeCommand(WXE_DEBUG_PING, NULL, 0, sd);
wxe_batch->Append(Cmd);
erl_drv_cond_signal(wxe_batch_locker_c);
- } else {
- wxWakeUpIdle();
}
+ wxWakeUpIdle();
erl_drv_mutex_unlock(wxe_batch_locker_m);
} else {
if(sd) {
@@ -207,115 +104,54 @@ void meta_command(int what, wxe_data *sd) {
}
}
-/* ************************************************************
- * wxWidgets Thread
- * ************************************************************/
-
-void *wxe_main_loop(void *vpdl)
-{
- int result;
- int argc = 1;
- char * temp = (char *) "Erlang";
- char * argv[] = {temp,NULL};
- ErlDrvPDL pdl = (ErlDrvPDL) vpdl;
-
- driver_pdl_inc_refc(pdl);
-
- // ErlDrvSysInfo einfo;
- // driver_system_info(&einfo, sizeof(ErlDrvSysInfo));
- // Disable floating point execption if they are on.
- // This should be done in emulator but it's not in yet.
-#ifndef _WIN32
- erts_thread_disable_fpe();
-#else
- // Setup that wxWidgets should look for cursors and icons in
- // this dll and not in werl.exe (which is the default)
- HMODULE WXEHandle = GetModuleHandle(_T("wxe_driver"));
- wxSetInstance((HINSTANCE) WXEHandle);
-#endif
-
- result = wxEntry(argc, argv);
- // fprintf(stderr, "WXWidgets quits main loop %d \r\n", result);
- if(result >= 0 && wxe_status == WXE_INITIATED) {
- /* We are done try to make a clean exit */
- wxe_status = WXE_EXITED;
- driver_pdl_dec_refc(pdl);
-#ifndef __DARWIN__
- erl_drv_thread_exit(NULL);
-#endif
- return NULL;
- } else {
- erl_drv_mutex_lock(wxe_status_m);
- wxe_status = WXE_ERROR;
- erl_drv_cond_signal(wxe_status_c);
- erl_drv_mutex_unlock(wxe_status_m);
- driver_pdl_dec_refc(pdl);
- return NULL;
- }
-}
-
-wxFrame * dummy_window;
-
-void create_dummy_window() {
- dummy_window = new wxFrame(NULL,-1, wxT("wx driver"),
- wxPoint(0,0), wxSize(5,5),
- wxFRAME_NO_TASKBAR);
-
- wxMenuBar * menubar = new wxMenuBar();
- dummy_window->SetMenuBar(menubar);
- // wx-2.9 Don't delete the app menubar correctly
- dummy_window->Connect(wxID_ANY, wxEVT_CLOSE_WINDOW,
- (wxObjectEventFunction) (wxEventFunction) &WxeApp::dummy_close);
- dummy_window->Connect(wxID_ANY, wxEVT_COMMAND_MENU_SELECTED,
- (wxObjectEventFunction) (wxEventFunction) &WxeApp::dummy_close);
- dummy_window->Show(true);
- // dummy_window->Show(false);
-}
-
-// wxMac really wants a top level window which command-q quits if there are no
-// windows open, and this will kill the thread, so restart the dummy_window each
-// time a we receive a close.
-void WxeApp::dummy_close(wxEvent& Ev) {
- if(Ev.GetEventType() == wxEVT_CLOSE_WINDOW) {
- create_dummy_window();
- }
+void send_msg(const char * type, wxString * msg) {
+ wxeReturn rt = wxeReturn(WXE_DRV_PORT, init_caller);
+ rt.addAtom((char *) "wxe_driver");
+ rt.addAtom((char *) type);
+ rt.add(msg);
+ rt.addTupleCount(3);
+ rt.send();
}
+/* ************************************************************
+ * Init WxeApp the application emulator
+ * ************************************************************/
-// Init wx-widgets thread
bool WxeApp::OnInit()
{
- wxe_ps_init();
global_me = new wxeMemEnv();
wxe_batch = new wxList;
wxe_batch_cb_saved = new wxList;
cb_buff = NULL;
+ recurse_level = 0;
+ delayed_cleanup = new wxList;
+ delayed_delete = new wxList;
- // wxIdleEvent::SetMode(wxIDLE_PROCESS_SPECIFIED); Hmm printpreview doesn't work in 2.9 with this
+ wxe_ps_init2();
+ // wxIdleEvent::SetMode(wxIDLE_PROCESS_SPECIFIED); // Hmm printpreview doesn't work in 2.9 with this
- this->Connect(wxID_ANY, wxEVT_IDLE,
- (wxObjectEventFunction) (wxEventFunction) &WxeApp::idle);
- this->Connect(CREATE_PORT, wxeEVT_META_COMMAND,
- (wxObjectEventFunction) (wxEventFunction) &WxeApp::newMemEnv);
- this->Connect(DELETE_PORT, wxeEVT_META_COMMAND,
- (wxObjectEventFunction) (wxEventFunction) &WxeApp::destroyMemEnv);
- this->Connect(WXE_SHUTDOWN, wxeEVT_META_COMMAND,
- (wxObjectEventFunction) (wxEventFunction) &WxeApp::shutdown);
+ Connect(wxID_ANY, wxEVT_IDLE, (wxObjectEventFunction) (wxEventFunction) &WxeApp::idle);
+ Connect(CREATE_PORT, wxeEVT_META_COMMAND,(wxObjectEventFunction) (wxEventFunction) &WxeApp::newMemEnv);
+ Connect(DELETE_PORT, wxeEVT_META_COMMAND,(wxObjectEventFunction) (wxEventFunction) &WxeApp::destroyMemEnv);
+ Connect(WXE_SHUTDOWN, wxeEVT_META_COMMAND,(wxObjectEventFunction) (wxEventFunction) &WxeApp::shutdown);
// fprintf(stderr, "Size void* %d: long %d long long %d int64 %d \r\n",
// sizeof(void *), sizeof(long), sizeof(long long), sizeof(wxInt64));
initEventTable();
wxInitAllImageHandlers();
- /* Create a dummy window so wxWidgets don't automagicly quits the main loop
- after the last window */
-#ifdef __DARWIN__
- create_dummy_window();
-#else
- SetExitOnFrameDelete(false);
+#ifdef _MACOSX
+ /* Create a default MenuBar so that we can intercept the quit command */
+ wxMenuBar *macMB = new wxMenuBar;
+ wxMenuBar::MacSetCommonMenuBar(macMB);
+ macMB->MacInstallMenuBar();
+ macMB->Connect(wxID_ANY, wxEVT_COMMAND_MENU_SELECTED,
+ (wxObjectEventFunction) (wxEventFunction) &WxeApp::dummy_close);
#endif
+ SetExitOnFrameDelete(false);
+
init_nonconsts(global_me, init_caller);
erl_drv_mutex_lock(wxe_status_m);
wxe_status = WXE_INITIATED;
@@ -325,19 +161,19 @@ bool WxeApp::OnInit()
}
void WxeApp::shutdown(wxeMetaCommand& Ecmd) {
-#ifdef __DARWIN__
- delete dummy_window;
-#endif
ExitMainLoop();
}
-void send_msg(const char * type, wxString * msg) {
- wxeReturn rt = wxeReturn(WXE_DRV_PORT, init_caller);
- rt.addAtom((char *) "wxe_driver");
- rt.addAtom((char *) type);
- rt.add(msg);
- rt.addTupleCount(3);
- rt.send();
+void WxeApp::dummy_close(wxEvent& Ev) {
+ // fprintf(stderr, "Dummy Close invoked\r\n");
+ // wxMac really wants a top level window which command-q quits if there are no
+ // windows open, and this will kill the erlang, override default handling
+}
+
+// Called by wx thread
+void WxeApp::idle(wxIdleEvent& event) {
+ event.Skip(true);
+ dispatch_cmds();
}
/* ************************************************************
@@ -354,28 +190,51 @@ void handle_event_callback(ErlDrvPort port, ErlDrvTermData process)
{
WxeApp * app = (WxeApp *) wxTheApp;
ErlDrvMonitor monitor;
- driver_monitor_process(port, process, &monitor);
- // Should we be able to handle commands when recursing? probably
- erl_drv_mutex_lock(wxe_batch_locker_m);
- //fprintf(stderr, "\r\nCB EV Start %lu \r\n", process);fflush(stderr);
- app->dispatch_cb(wxe_batch, wxe_batch_cb_saved, process);
- //fprintf(stderr, "CB EV done %lu \r\n", process);fflush(stderr);
- wxe_batch_caller = 0;
- erl_drv_mutex_unlock(wxe_batch_locker_m);
- driver_demonitor_process(port, &monitor);
-}
-
-// Called by wx thread
-void WxeApp::idle(wxIdleEvent& event) {
- dispatch_cmds();
+ // Is thread safe if pdl have been incremented
+ if(driver_monitor_process(port, process, &monitor) == 0) {
+ // Should we be able to handle commands when recursing? probably
+ erl_drv_mutex_lock(wxe_batch_locker_m);
+ //fprintf(stderr, "\r\nCB EV Start %lu \r\n", process);fflush(stderr);
+ app->recurse_level++;
+ app->dispatch_cb(wxe_batch, wxe_batch_cb_saved, process);
+ app->recurse_level--;
+ //fprintf(stderr, "CB EV done %lu \r\n", process);fflush(stderr);
+ wxe_batch_caller = 0;
+ erl_drv_mutex_unlock(wxe_batch_locker_m);
+ driver_demonitor_process(port, &monitor);
+ }
}
-void WxeApp::dispatch_cmds() {
+void WxeApp::dispatch_cmds()
+{
erl_drv_mutex_lock(wxe_batch_locker_m);
+ recurse_level++;
int level = dispatch(wxe_batch_cb_saved, 0, WXE_STORED);
dispatch(wxe_batch, level, WXE_NORMAL);
+ recurse_level--;
wxe_batch_caller = 0;
erl_drv_mutex_unlock(wxe_batch_locker_m);
+ // Cleanup old memenv's and deleted objects
+ if(recurse_level == 0) {
+ if(delayed_delete->size() > 0)
+ for( wxList::compatibility_iterator node = delayed_delete->GetFirst();
+ node;
+ node = delayed_delete->GetFirst()) {
+ wxeCommand *event = (wxeCommand *)node->GetData();
+ delayed_delete->Erase(node);
+ wxe_dispatch(*event);
+ event->Delete();
+ }
+ if(delayed_cleanup->size() > 0)
+ for( wxList::compatibility_iterator node = delayed_cleanup->GetFirst();
+ node;
+ node = delayed_cleanup->GetFirst()) {
+ wxeMetaCommand *event = (wxeMetaCommand *)node->GetData();
+ delayed_cleanup->Erase(node);
+ destroyMemEnv(*event);
+ delete event;
+ }
+ }
}
// Should have erl_drv_mutex_lock(wxe_batch_locker_m);
@@ -427,7 +286,7 @@ int WxeApp::dispatch(wxList * batch, int blevel, int list_type)
erl_drv_mutex_lock(wxe_batch_locker_m);
break;
}
- delete event;
+ event->Delete();
}
} else {
if((list_type == WXE_STORED) || (blevel <= 0 && list_type == WXE_NORMAL)) {
@@ -459,6 +318,7 @@ void WxeApp::dispatch_cb(wxList * batch, wxList * temp, ErlDrvTermData process)
// fprintf(stderr, " Ev %d %lu\r\n", event->op, event->caller);
if(event->caller == process || // Callbacks from CB process only
event->op == WXE_CB_START || // Event callback start change process
+ event->op == WXE_CB_DIED || // Event callback process died
// Allow connect_cb during CB i.e. msg from wxe_server.
(memenv && event->caller == memenv->owner))
{
@@ -471,7 +331,8 @@ void WxeApp::dispatch_cb(wxList * batch, wxList * temp, ErlDrvTermData process)
if(event->len > 0) {
cb_buff = (char *) driver_alloc(event->len);
memcpy(cb_buff, event->buffer, event->len);
- }
+ } // continue
+ case WXE_CB_DIED:
callback_returned = 1;
return;
case WXE_CB_START:
@@ -506,7 +367,7 @@ void WxeApp::dispatch_cb(wxList * batch, wxList * temp, ErlDrvTermData process)
return;
break;
}
- delete event;
+ event->Delete();
} else {
// fprintf(stderr, " save %d \r\n", event->op);
temp->Append(event);
@@ -543,7 +404,8 @@ void WxeApp::newMemEnv(wxeMetaCommand& Ecmd) {
erl_drv_send_term(WXE_DRV_PORT,Ecmd.caller,rt,2);
}
-void WxeApp::destroyMemEnv(wxeMetaCommand& Ecmd) {
+void WxeApp::destroyMemEnv(wxeMetaCommand& Ecmd)
+{
// Clear incoming cmd queue first
// dispatch_cmds();
wxWindow *parent = NULL;
@@ -562,26 +424,33 @@ void WxeApp::destroyMemEnv(wxeMetaCommand& Ecmd) {
ptrMap::iterator it = ptr2ref.find(ptr);
if(it != ptr2ref.end()) {
wxeRefData *refd = it->second;
- if(refd->alloc_in_erl) {
- if(refd->type == 2) {
- wxDialog *win = (wxDialog *) ptr;
- if(win->IsModal()) {
- win->EndModal(-1);
- }
- parent = win->GetParent();
- if(parent) {
- ptrMap::iterator parentRef = ptr2ref.find(parent);
- if(parentRef == ptr2ref.end()) {
- // The parent is already dead delete the parent ref
- win->SetParent(NULL);
- }
+ if(refd->alloc_in_erl && refd->type == 2) {
+ wxDialog *win = (wxDialog *) ptr;
+ if(win->IsModal()) {
+ win->EndModal(-1);
+ }
+ parent = win->GetParent();
+ if(parent) {
+ ptrMap::iterator parentRef = ptr2ref.find(parent);
+ if(parentRef == ptr2ref.end()) {
+ // The parent is already dead delete the parent ref
+ win->SetParent(NULL);
}
+ }
+ if(recurse_level > 0) {
+ // Delay delete until we are out of dispatch*
+ delayed_cleanup->Append(Ecmd.Clone());
+ } else {
delete win;
}
}
}
}
}
+
+ if(recurse_level > 0)
+ return;
+
// First pass, delete all top parents/windows of all linked objects
// fprintf(stderr, "close port %x\r\n", Ecmd.port);fflush(stderr);
@@ -806,147 +675,3 @@ void WxeApp::registerPid(char * bp, ErlDrvTermData pid, wxeMemEnv * memenv) {
};
throw wxe_badarg(index);
}
-
-
-/* ************************************************************
- * Misc utility classes
- * ************************************************************/
-
-/* ****************************************************************************
- * Memory handling
- * ****************************************************************************/
-
-wxeMemEnv::wxeMemEnv() {
- ref2ptr = (void **) driver_alloc(128*sizeof(void *));
- ref2ptr[0] = NULL;
- next = 1;
- max = 128;
-}
-
-wxeMemEnv::~wxeMemEnv() {
- driver_free(ref2ptr);
-}
-
-/* ****************************************************************************
- * Erlang Commands (don't need to be derived of wxEvent anymore should
- * be re-written to own class struct)
- * ****************************************************************************/
-
-wxeCommand::wxeCommand(int fc,char * cbuf,int buflen, wxe_data *sd)
- : wxObject()
-{
- WXEBinRef *temp, *start, *prev;
- int n = 0;
- caller = driver_caller(sd->port_handle);
- port = sd->port;
- op = fc;
- len = buflen;
- bin[0] = NULL;
- bin[1] = NULL;
- bin[2] = NULL;
-
- if(cbuf) {
- buffer = (char *) driver_alloc(len);
- memcpy((void *) buffer, (void *) cbuf, len);;
-
- temp = sd->bin;
-
- prev = NULL;
- start = temp;
-
- while(temp) {
- if(caller == temp->from) {
- bin[n++] = temp;
- if(prev) {
- prev->next = temp->next;
- } else {
- start = temp->next;
- }
- temp = temp->next;
- } else {
- prev = temp;
- temp = temp->next;
- }
- }
- sd->bin = start;
- } else { // No-op only PING currently
- buffer = NULL;
- }
-}
-
-wxeCommand::~wxeCommand() {
- int n = 0;
- if(buffer) {
- while(bin[n]) {
- if(bin[n]->bin)
- driver_free_binary(bin[n]->bin);
- driver_free(bin[n++]);
- }
- driver_free(buffer);
- }
-}
-
-/* ****************************************************************************
- * TreeItemData
- * ****************************************************************************/
-
-wxETreeItemData::wxETreeItemData(int sz, char * data) {
- size = sz;
- bin = (char *) driver_alloc(sz);
- memcpy(bin, data, sz);
-}
-
-wxETreeItemData::~wxETreeItemData()
-{
- driver_free(bin);
-}
-
-/* ****************************************************************************
- * CallbackData *
- * ****************************************************************************/
-
-wxeCallbackData::wxeCallbackData(ErlDrvTermData caller,void * req, char *req_type,
- int funcb, int skip_ev, wxeErlTerm * userData)
- : wxObject()
-{
- listener = caller;
- obj = req;
- fun_id = funcb;
- strcpy(class_name, req_type);
- skip = skip_ev;
- user_data = userData;
-}
-
-wxeCallbackData::~wxeCallbackData() {
- // fprintf(stderr, "CBD Deleteing %x %s\r\n", (unsigned int) this, class_name); fflush(stderr);
- if(user_data) {
- delete user_data;
- }
-}
-
-/* ****************************************************************************
- * wxListCtrlCompare wrapper
- * ****************************************************************************/
-
-int wxCALLBACK wxEListCtrlCompare(long item1, long item2, long callbackInfoPtr)
-{
- callbackInfo * cb = (callbackInfo *)callbackInfoPtr;
- wxeMemEnv * memenv = ((WxeApp *) wxTheApp)->getMemEnv(cb->port);
- wxeReturn rt = wxeReturn(WXE_DRV_PORT, memenv->owner, false);
- rt.addInt(cb->callbackID);
- rt.addInt(item1);
- rt.addInt(item2);
- rt.endList(2);
- rt.addAtom("_wx_invoke_cb_");
- rt.addTupleCount(3);
- rt.send();
- handle_event_callback(WXE_DRV_PORT_HANDLE, memenv->owner);
-
- if(((WxeApp *) wxTheApp)->cb_buff) {
- int res = * (int*) ((WxeApp *) wxTheApp)->cb_buff;
- driver_free(((WxeApp *) wxTheApp)->cb_buff);
- ((WxeApp *) wxTheApp)->cb_buff = NULL;
- return res;
- }
- return 0;
-}
diff --git a/lib/wx/c_src/wxe_impl.h b/lib/wx/c_src/wxe_impl.h
index a3c57e2598..bb54961edd 100644
--- a/lib/wx/c_src/wxe_impl.h
+++ b/lib/wx/c_src/wxe_impl.h
@@ -1,7 +1,7 @@
/*
* %CopyrightBegin%
*
- * Copyright Ericsson AB 2008-2013. All Rights Reserved.
+ * Copyright Ericsson AB 2008-2014. All Rights Reserved.
*
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
@@ -14,12 +14,17 @@
* the License for the specific language governing rights and limitations
* under the License.
*
- * %CopyrightEnd%
+ * %CopyrightEnd%
*/
#ifndef _WXE_IMPL_H
#define _WXE_IMPL_H
+#if defined(__APPLE__) && defined(__MACH__) && !defined(__DARWIN__)
+#define __DARWIN__ 1
+#endif
+
+
#include <wx/glcanvas.h>
#include <wx/treectrl.h>
#include <wx/print.h>
@@ -27,119 +32,16 @@ extern "C" {
#include "wxe_driver.h"
}
-DECLARE_EVENT_TYPE(wxeEVT_META_COMMAND, -1)
-
-class wxeMetaCommand : public wxEvent
-{
- public:
- wxeMetaCommand(wxe_data *sd, int EvId)
- : wxEvent(EvId, wxeEVT_META_COMMAND)
- { caller = driver_caller(sd->port_handle); port = sd->port; pdl = sd->pdl; } ;
- wxeMetaCommand(const wxeMetaCommand& event)
- : wxEvent(event)
- { caller = event.caller; port = event.port; pdl = event.pdl; };
- virtual ~wxeMetaCommand() {};
- virtual wxEvent *Clone() const { return new wxeMetaCommand(*this); }
-
- ErlDrvTermData caller;
- ErlDrvTermData port;
- ErlDrvPDL pdl;
-};
-
-class wxeCommand : public wxObject
-{
- public:
- wxeCommand(int fc,char * cbuf,int buflen, wxe_data *);
- virtual ~wxeCommand();
-
- ErlDrvTermData caller;
- ErlDrvTermData port;
- WXEBinRef * bin[3];
- char * buffer;
- int len;
- int op;
-};
-
-#define WXE_EVENT_PTR 0
-#define WXE_OBJECT_PTR 1
-
-class intListElement {
-public:
- intListElement(int Element) {car = Element; cdr = NULL;};
- intListElement(int Element, intListElement *list)
- {car = Element; cdr = list;};
- int car;
- intListElement *cdr;
-};
-
-class intList {
-public:
- intList() {list = NULL;};
- bool IsEmpty() {return list == NULL;};
- void Append(int Element) { list = new intListElement(Element, list); };
- int Pop() {
- intListElement *temp = list;
- int res = list->car;
- list = temp->cdr;
- delete temp;
- return res;
- }
- intListElement *list;
-};
-
-class wxe_badarg
-{
-public:
- wxe_badarg(int Ref) : ref(Ref) { } ;
- int ref;
-};
-
-class wxeErlTerm : public wxClientData
-{
- public:
- wxeErlTerm(WXEBinRef * data)
- {
- size = data->size;
- bin = (char *) driver_alloc(size);
- memcpy(bin, data->base, size);
- } ;
- ~wxeErlTerm() { driver_free(bin); };
- char * bin;
- int size;
-};
-
-class wxeMemEnv
-{
-public:
- wxeMemEnv();
- int next;
- int max;
- void ** ref2ptr;
- intList free;
- ~wxeMemEnv();
- ErlDrvTermData owner;
-};
-
-class wxeRefData {
- public:
- wxeRefData(unsigned int dref, int ttype, int is_new, wxeMemEnv *menv) :
- ref(dref), type(ttype), alloc_in_erl(is_new), memenv(menv), pid(-1) { } ;
- int ref;
- int type;
- // 0 = wxWindow subclasses, 1 = wxObject subclasses
- // 2 = wxDialog subclasses, 3 = allocated wxObjects but not returned from new
- // > 3 classes which lack virtual destr, or are supposed to be allocated on
- // the stack
- bool alloc_in_erl;
- wxeMemEnv *memenv;
- ErlDrvTermData pid;
-};
-
-WX_DECLARE_HASH_MAP(ErlDrvTermData, wxGLCanvas*, wxIntegerHash, wxIntegerEqual, wxeGLC);
-WX_DECLARE_HASH_MAP(ErlDrvTermData, wxeMemEnv*, wxIntegerHash, wxIntegerEqual, wxeMemMap);
+#include "wxe_helpers.h"
+#include "wxe_callback_impl.h"
+#include "wxe_memory.h"
+#define WXE_NOT_INITIATED 0
+#define WXE_INITIATED 1
+#define WXE_EXITED 2
+#define WXE_ERROR -1
-WX_DECLARE_VOIDPTR_HASH_MAP(wxeRefData *, ptrMap);
+void send_msg(const char *, wxString *); // For debugging and error msgs
class WxeApp : public wxApp
{
@@ -158,101 +60,31 @@ public:
void dummy_close(wxEvent& Ev);
bool sendevent(wxEvent *event);
- // MemEnv handling
+ // MemEnv handling
void newMemEnv(wxeMetaCommand& event);
void destroyMemEnv(wxeMetaCommand& event);
wxeMemEnv * getMemEnv(ErlDrvTermData port);
-
+
int newPtr(void * ptr, int type, wxeMemEnv *memenv);
int getRef(void * ptr, wxeMemEnv *memenv);
- void * getPtr(char * bp, wxeMemEnv *memenv);
+ void * getPtr(char * bp, wxeMemEnv *memenv);
void clearPtr(void *ptr);
void registerPid(char *ptr, ErlDrvTermData pid, wxeMemEnv *memenv);
- void init_nonconsts(wxeMemEnv *memenv, ErlDrvTermData caller);
-
+ void init_nonconsts(wxeMemEnv *memenv, ErlDrvTermData caller);
+
// Code found in gen/wxe_derived_dest.h
void delete_object(void *ptr, wxeRefData *refd);
-
+
wxeMemMap refmap;
ptrMap ptr2ref;
wxeMemEnv * global_me;
-
+
+ int recurse_level;
+ wxList * delayed_cleanup;
+ wxList * delayed_delete;
// Temp container for callbacks
char *cb_buff;
int cb_len;
};
-class wxETreeItemData : public wxTreeItemData
-{
- public:
- wxETreeItemData(int sz, char * data);
-
- ~wxETreeItemData();
-
- int size;
- char * bin;
-};
-
-bool sendevent(wxEvent * event, ErlDrvTermData port);
-void pre_callback();
-void handle_event_callback(ErlDrvPort port, ErlDrvTermData process);
-
-void activateGL(ErlDrvTermData caller);
-void setActiveGL(ErlDrvTermData caller, wxGLCanvas *canvas);
-void deleteActiveGL(wxGLCanvas *canvas);
-
-void send_msg(const char *, wxString *); // For debugging and error msgs
-
-extern wxeGLC glc;
-
-class wxEPrintout : public wxPrintout
-{
- public:
- wxEPrintout(wxString Title, int onPrintP, int onPrepareP,
- int onBeginP, int onEndP,
- int onBeginD, int onEndD,
- int hasP, int getPageI, ErlDrvTermData Port) :
- wxPrintout(Title),
- onPrintPage(onPrintP), onPreparePrinting(onPrepareP),
- onBeginPrinting(onBeginP), onEndPrinting(onEndP),
- onBeginDocument(onBeginD), onEndDocument(onEndD), hasPage(hasP), getPageInfo(getPageI),
- port(Port)
- { } ;
-
- ~wxEPrintout();
-
- bool OnBeginDocument(int startPage, int endPage);
- void OnEndDocument();
- void OnBeginPrinting();
- void OnEndPrinting();
-
- void OnPreparePrinting();
-
- bool HasPage(int page);
- bool OnPrintPage(int page);
- void GetPageInfo(int *minPage, int *maxPage, int *pageFrom, int *pageTo);
-
- int onPrintPage;
- int onPreparePrinting;
- int onBeginPrinting;
- int onEndPrinting;
- int onBeginDocument;
- int onEndDocument;
- int hasPage;
- int getPageInfo;
-
- ErlDrvTermData port;
-};
-
-void clear_cb(ErlDrvTermData port, int callback);
-
-
-// Implementation of wxListCtrlCompare
-struct callbackInfo {
- ErlDrvTermData port;
- int callbackID;
-};
-
-int wxCALLBACK wxEListCtrlCompare(long item1, long item2, long callbackInfoPtr);
-
#endif //_WXE_IMPL_H
diff --git a/lib/wx/c_src/wxe_main.cpp b/lib/wx/c_src/wxe_main.cpp
new file mode 100644
index 0000000000..2bec2422c9
--- /dev/null
+++ b/lib/wx/c_src/wxe_main.cpp
@@ -0,0 +1,163 @@
+/*
+ * %CopyrightBegin%
+ *
+ * Copyright Ericsson AB 2014. All Rights Reserved.
+ *
+ * The contents of this file are subject to the Erlang Public License,
+ * Version 1.1, (the "License"); you may not use this file except in
+ * compliance with the License. You should have received a copy of the
+ * Erlang Public License along with this software. If not, it can be
+ * retrieved online at http://www.erlang.org/.
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and limitations
+ * under the License.
+ *
+ * %CopyrightEnd%
+ */
+
+#if defined(_WIN32)
+#include <wx/msw/private.h> // for wxSetInstance
+#endif
+
+#include "wxe_impl.h"
+
+// Until fixed in emulator
+#ifndef _WIN32
+extern "C" {
+ extern void erts_thread_disable_fpe(void);
+}
+#endif
+
+ErlDrvTid wxe_thread;
+
+ErlDrvMutex *wxe_status_m;
+ErlDrvCond *wxe_status_c;
+
+int wxe_status = WXE_NOT_INITIATED;
+
+ErlDrvMutex * wxe_batch_locker_m;
+ErlDrvCond * wxe_batch_locker_c;
+ErlDrvTermData init_caller = 0;
+
+#ifdef __DARWIN__
+extern "C" {
+ int erl_drv_stolen_main_thread_join(ErlDrvTid tid, void **respp);
+ int erl_drv_steal_main_thread(char *name,
+ ErlDrvTid *dtid,
+ void* (*func)(void*),
+ void* arg,
+ ErlDrvThreadOpts *opts);
+}
+#endif
+
+void *wxe_main_loop(void * );
+
+/* ************************************************************
+ * START AND STOP of driver thread
+ * ************************************************************/
+
+int load_native_gui()
+{
+ return 1;
+}
+
+int start_native_gui(wxe_data *sd)
+{
+ int res;
+ wxe_status_m = erl_drv_mutex_create((char *) "wxe_status_m");
+ wxe_status_c = erl_drv_cond_create((char *)"wxe_status_c");
+
+ wxe_batch_locker_m = erl_drv_mutex_create((char *)"wxe_batch_locker_m");
+ wxe_batch_locker_c = erl_drv_cond_create((char *)"wxe_batch_locker_c");
+ init_caller = driver_connected(sd->port_handle);
+
+#ifdef __DARWIN__
+ res = erl_drv_steal_main_thread((char *)"wxwidgets",
+ &wxe_thread,wxe_main_loop,(void *) sd->pdl,NULL);
+#else
+ res = erl_drv_thread_create((char *)"wxwidgets",
+ &wxe_thread,wxe_main_loop,(void *) sd->pdl,NULL);
+#endif
+ if(res == 0) {
+ erl_drv_mutex_lock(wxe_status_m);
+ for(;wxe_status == WXE_NOT_INITIATED;) {
+ erl_drv_cond_wait(wxe_status_c, wxe_status_m);
+ }
+ erl_drv_mutex_unlock(wxe_status_m);
+ return wxe_status;
+ } else {
+ wxString msg;
+ msg.Printf(wxT("Erlang failed to create wxe-thread %d\r\n"), res);
+ send_msg("error", &msg);
+ return -1;
+ }
+}
+
+void stop_native_gui(wxe_data *sd)
+{
+ if(wxe_status == WXE_INITIATED) {
+ meta_command(WXE_SHUTDOWN, sd);
+ }
+#ifdef __DARWIN__
+ erl_drv_stolen_main_thread_join(wxe_thread, NULL);
+#else
+ erl_drv_thread_join(wxe_thread, NULL);
+#endif
+ erl_drv_mutex_destroy(wxe_status_m);
+ erl_drv_cond_destroy(wxe_status_c);
+ erl_drv_mutex_destroy(wxe_batch_locker_m);
+ erl_drv_cond_destroy(wxe_batch_locker_c);
+}
+
+void unload_native_gui()
+{
+
+}
+
+/* ************************************************************
+ * wxWidgets Thread
+ * ************************************************************/
+
+void *wxe_main_loop(void *vpdl)
+{
+ int result;
+ int argc = 1;
+ char * temp = (char *) "Erlang";
+ char * argv[] = {temp,NULL};
+ ErlDrvPDL pdl = (ErlDrvPDL) vpdl;
+
+ driver_pdl_inc_refc(pdl);
+
+ // Disable floating point execption if they are on.
+ // This should be done in emulator but it's not in yet.
+#ifndef _WIN32
+ erts_thread_disable_fpe();
+#else
+ // Setup that wxWidgets should look for cursors and icons in
+ // this dll and not in werl.exe (which is the default)
+ HMODULE WXEHandle = GetModuleHandle(_T("wxe_driver"));
+ wxSetInstance((HINSTANCE) WXEHandle);
+#endif
+
+ wxe_ps_init();
+ result = wxEntry(argc, argv);
+ // fprintf(stderr, "WXWidgets quits main loop %d \r\n", result);
+ if(result >= 0 && wxe_status == WXE_INITIATED) {
+ /* We are done try to make a clean exit */
+ wxe_status = WXE_EXITED;
+ driver_pdl_dec_refc(pdl);
+#ifndef __DARWIN__
+ erl_drv_thread_exit(NULL);
+#endif
+ return NULL;
+ } else {
+ erl_drv_mutex_lock(wxe_status_m);
+ wxe_status = WXE_ERROR;
+ erl_drv_cond_signal(wxe_status_c);
+ erl_drv_mutex_unlock(wxe_status_m);
+ driver_pdl_dec_refc(pdl);
+ return NULL;
+ }
+}
diff --git a/lib/wx/c_src/wxe_memory.h b/lib/wx/c_src/wxe_memory.h
new file mode 100644
index 0000000000..ec22183bfa
--- /dev/null
+++ b/lib/wx/c_src/wxe_memory.h
@@ -0,0 +1,61 @@
+/*
+ * %CopyrightBegin%
+ *
+ * Copyright Ericsson AB 2014. All Rights Reserved.
+ *
+ * The contents of this file are subject to the Erlang Public License,
+ * Version 1.1, (the "License"); you may not use this file except in
+ * compliance with the License. You should have received a copy of the
+ * Erlang Public License along with this software. If not, it can be
+ * retrieved online at http://www.erlang.org/.
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and limitations
+ * under the License.
+ *
+ * %CopyrightEnd%
+ */
+
+#ifndef _WXE_MEMORY_H
+#define _WXE_MEMORY_H
+
+class wxeMemEnv
+{
+public:
+ wxeMemEnv()
+ {
+ ref2ptr = (void **) driver_alloc(128*sizeof(void *));
+ ref2ptr[0] = NULL;
+ next = 1;
+ max = 128;
+ };
+ ~wxeMemEnv()
+ { driver_free(ref2ptr); };
+ int next;
+ int max;
+ void ** ref2ptr;
+ intList free;
+ ErlDrvTermData owner;
+};
+
+class wxeRefData {
+ public:
+ wxeRefData(unsigned int dref, int ttype, int is_new, wxeMemEnv *menv) :
+ ref(dref), type(ttype), alloc_in_erl(is_new), memenv(menv), pid(-1) { } ;
+ int ref;
+ int type;
+ // 0 = wxWindow subclasses, 1 = wxObject subclasses
+ // 2 = wxDialog subclasses, 3 = allocated wxObjects but not returned from new
+ // > 3 classes which lack virtual destr, or are supposed to be allocated on
+ // the stack
+ bool alloc_in_erl;
+ wxeMemEnv *memenv;
+ ErlDrvTermData pid;
+};
+
+WX_DECLARE_HASH_MAP(ErlDrvTermData, wxeMemEnv*, wxIntegerHash, wxIntegerEqual, wxeMemMap);
+
+WX_DECLARE_VOIDPTR_HASH_MAP(wxeRefData *, ptrMap);
+
+#endif
diff --git a/lib/wx/c_src/wxe_ps_init.c b/lib/wx/c_src/wxe_ps_init.c
index 541d188098..d000e242de 100644
--- a/lib/wx/c_src/wxe_ps_init.c
+++ b/lib/wx/c_src/wxe_ps_init.c
@@ -19,6 +19,7 @@
#include <stdio.h>
#include "wxe_driver.h"
+
/* Platform specific initialisation stuff */
#ifdef _MACOSX
@@ -30,34 +31,63 @@ extern OSErr CPSSetProcessName (ProcessSerialNumber *psn, char *processname);
void * wxe_ps_init()
{
ProcessSerialNumber psn;
- NSAutoreleasePool *pool;
// Enable GUI
- GetCurrentProcess(&psn);
- char *app_title = getenv("WX_APP_TITLE");
- // Undocumented function (but no documented way of doing this exists)
- CPSSetProcessName(&psn, app_title?app_title:"Erlang");
- TransformProcessType(&psn, kProcessTransformToForegroundApplication);
- SetFrontProcess(&psn);
- // Enable Cocoa calls from Carbon app
- NSApplicationLoad();
+ if(!GetCurrentProcess(&psn)) {
+ TransformProcessType(&psn, kProcessTransformToForegroundApplication);
+#ifdef MAC_OS_X_VERSION_10_6
+ [[NSRunningApplication currentApplication] activateWithOptions:
+ (NSApplicationActivateAllWindows | NSApplicationActivateIgnoringOtherApps)];
+#else
+ SetFrontProcess(&psn);
+#endif
+ }
+ return (void *) 0;
+}
+
+int is_packaged_app() {
+ // Can get lost in when execing around, we use the name instead
+ /* if(mainBundle) { */
+ /* return (CFBundleGetValueForInfoDictionaryKey(mainBundle, CFSTR("CFBundlePackageType")) != nil); */
+ /* } */
+#ifdef MAC_OS_X_VERSION_10_6
+ NSString * appName = [[NSRunningApplication currentApplication] localizedName];
+ return (strncmp("beam", [appName UTF8String], 4) != 0);
+#else
+ return 0;
+#endif
+}
+
+void * wxe_ps_init2() {
+ NSAutoreleasePool *pool;
+ ProcessSerialNumber psn;
// Setup and enable gui
pool = [[NSAutoreleasePool alloc] init];
-
- NSApplication *app = [NSApplication sharedApplication];
- // Load and set icon
- NSMutableString *file = [[NSMutableString alloc] init];
- [file appendFormat:@"%s/%s", erl_wx_privdir, "erlang-logo64.png"];
- NSImage *icon = [[NSImage alloc] initWithContentsOfFile: file];
- [app setApplicationIconImage: icon];
+ if( !is_packaged_app() ) {
+ // Undocumented function (but no documented way of doing this exists)
+ char *app_title = getenv("WX_APP_TITLE");
+ if(!GetCurrentProcess(&psn)) {
+ CPSSetProcessName(&psn, app_title?app_title:"Erlang");
+ }
+ // Load and set icon
+ NSMutableString *file = [[NSMutableString alloc] init];
+ [file appendFormat:@"%s/%s", erl_wx_privdir, "erlang-logo64.png"];
+ NSImage *icon = [[NSImage alloc] initWithContentsOfFile: file];
+ [NSApp setApplicationIconImage: icon];
+ };
- return (void *) pool;
+ return pool;
}
+
/* _MACOSX */
#else
-void * wxe_ps_init()
+void * wxe_ps_init()
+{
+ return (void *) 0;
+}
+void * wxe_ps_init2()
{
return (void *) 0;
}
-#endif
+#endif
diff --git a/lib/wx/c_src/wxe_return.cpp b/lib/wx/c_src/wxe_return.cpp
index d50a74ac9d..aebf6bae1b 100644
--- a/lib/wx/c_src/wxe_return.cpp
+++ b/lib/wx/c_src/wxe_return.cpp
@@ -66,9 +66,7 @@ int wxeReturn::send() {
#ifdef DEBUG
if(res == -1) {
- wxString msg;
- msg.Printf(wxT("Failed to send return or event msg"));
- send_msg("internal_error", &msg);
+ fprintf(stderr, "Failed to send return or event msg\r\n");
}
#endif