diff --git a/bin/prologue-template.txt b/bin/prologue-template.txt
--- a/bin/prologue-template.txt
+++ b/bin/prologue-template.txt
@@ -1,5 +1,5 @@
 wxHaskell is a Haskell binding to the portable wxWidgets GUI library.
-See <http://wxhaskell.sourceforge.net> for the latest information.
+See <http://haskell.org/haskellwiki/WxHaskell> for the latest information.
 
 The "Graphics.UI.WX" library is a /middle-level/ Haskell library for writing graphical
 user interfaces. It is build on top the "Graphics.UI.WXCore" library, the core interface
diff --git a/configure b/configure
--- a/configure
+++ b/configure
@@ -12,7 +12,7 @@
 #--------------------------------------------------------------------
 # Versioning
 #--------------------------------------------------------------------
-version="0.11.0"
+version="0.11.1.0"
 release="0"
 
 #--------------------------------------------------------------------
diff --git a/makefile b/makefile
--- a/makefile
+++ b/makefile
@@ -146,7 +146,8 @@
 	ewxw_main extra wrapper \
 	eljevent eljmime \
 	treectrl image apppath db dragimage glcanvas graphicscontext sound managed \
-	mediactrl printout previewframe taskbaricon textstream stc
+	mediactrl printout previewframe taskbaricon textstream stc \
+	std
 
 WXC-EWXW= \
 	accelerator bitmap brush busyinfo button calendarctrl \
@@ -164,9 +165,6 @@
 	toolbar validator window wizard \
 	findrepldlg artprov tipwnd icnbndl ctxhelp singleinst
 
-# unused:
-# treectrl
-
 WXC-SOURCES = \
 	$(WXC-CORE) $(patsubst %,elj%,$(WXC-EWXW))
 
@@ -348,6 +346,7 @@
 srcdist: srcdist-clean dist-dirs wxc-dist wxd-dist wxcore-dist wx-dist
 	@$(call cp-srcdist, $(WXHASKELL-SOURCES))
 	@$(call cp-srcdist, $(SAMPLE-SOURCES))
+	@echo "See <http://haskell.org/haskellwiki/WxHaskell/Building> for installation instructions." > $(SRCDIST-SRCDIR)/Readme.txt
 	@echo zipping: $(DIST-SRC)
 	@$(CD) $(SRCDIST-OUTDIR) && $(call zip-add-rec,$(DIST-SRC),$(WXHASKELLVER))
 	@$(CD) $(SRCDIST-OUTDIR) && $(call tgz-add-rec,$(basename $(DIST-SRC)).tar.gz,$(WXHASKELLVER))
@@ -412,7 +411,7 @@
 	@$(call cp-echo,config/macosx-install.info,$(INFOFILE))
 	# license and readme
 	@$(call cp-echo,license.txt,$(RESOURCEDIR)/License.txt)
-	@echo "See <http://wxhaskell.sourceforge.net> for more information." > $(RESOURCEDIR)/Readme.txt
+	@echo "See <http://haskell.org/haskellwiki/WxHaskell> for more information." > $(RESOURCEDIR)/Readme.txt
 	# create package
 	chmod u+x bin/macosx-package
 	bin/macosx-package $(BINDIST-OUTDIR)/$(WXHASKELLVER) $(INFOFILE) -d $(PACKAGEDIR) -r $(RESOURCEDIR)
diff --git a/wx/wx.cabal b/wx/wx.cabal
--- a/wx/wx.cabal
+++ b/wx/wx.cabal
@@ -1,5 +1,5 @@
 Name:           wx
-Version:        0.11.0
+Version:        0.11.1.0
 License:        LGPL
 License-file:   license.txt
 Homepage:       http://haskell.org/haskellwiki/WxHaskell
diff --git a/wxc/include/db.h b/wxc/include/db.h
--- a/wxc/include/db.h
+++ b/wxc/include/db.h
@@ -13,14 +13,14 @@
   Global
 -----------------------------------------------------------------------------*/
 /** Are the database classes supported on this platform ? */
-TBoolInt wxDb_IsSupported();
+TBool wxDb_IsSupported();
 int   wxDb_SqlTypeToStandardSqlType( int sqlType );
 int   wxDb_StandardSqlTypeToSqlType( int sqlType );
 void  wxDb_CloseConnections();
 int   wxDb_ConnectionsInUse();
 TClass(wxDb)  wxDb_GetConnection( TClass(wxDbConnectInf) connectInf, TBool fwdCursorsOnly );
-TBoolInt wxDb_FreeConnection( TClass(wxDb) db);
-TBoolInt wxDb_GetDataSource( TClass(HENV) henv, void* dsn, int dsnLen, void* description, int descLen, int direction );
+TBool wxDb_FreeConnection( TClass(wxDb) db);
+TBool wxDb_GetDataSource( TClass(HENV) henv, void* dsn, int dsnLen, void* description, int descLen, int direction );
 
 /*-----------------------------------------------------------------------------
   ConnectInf
@@ -48,40 +48,40 @@
 TClass(wxString) wxDb_GetErrorMessage( TSelf(wxDb) db, int index);
 /** Get the number of stored error messages. */
 int wxDb_GetNumErrorMessages( TSelf(wxDb) db);
-TBoolInt wxDb_IsOpen(TSelf(wxDb) db );
+TBool wxDb_IsOpen(TSelf(wxDb) db );
 void wxDb_Close(TSelf(wxDb) db);
-TBoolInt wxDb_CommitTrans(TSelf(wxDb) db);
-TBoolInt wxDb_RollbackTrans(TSelf(wxDb) db);
+TBool wxDb_CommitTrans(TSelf(wxDb) db);
+TBool wxDb_RollbackTrans(TSelf(wxDb) db);
 TClass(wxHENV) wxDb_GetHENV(TSelf(wxDb) db);
 TClass(wxHDBC) wxDb_GetHDBC(TSelf(wxDb) db);
 TClass(wxHSTMT) wxDb_GetHSTMT(TSelf(wxDb) db);
-TBoolInt wxDb_GetNextError(TSelf(wxDb) db, TClass(wxHENV) henv, TClass(wxHDBC) hdbc, TClass(wxHSTMT) hstmt);
-TBoolInt wxDb_ExecSql(TSelf(wxDb) db, TClass(wxString) sql);
-TBoolInt wxDb_GetNext(TSelf(wxDb) db);
-TBoolInt wxDb_GetData(TSelf(wxDb) db, int column, int ctype, void* data, int dataLen, int* usedLen );
-TBoolInt wxDb_GetDataInt(TSelf(wxDb) db, int column, int* i, int* usedLen );
-TBoolInt wxDb_GetDataDouble(TSelf(wxDb) db, int column, double* d, int* usedLen );
+TBool wxDb_GetNextError(TSelf(wxDb) db, TClass(wxHENV) henv, TClass(wxHDBC) hdbc, TClass(wxHSTMT) hstmt);
+TBool wxDb_ExecSql(TSelf(wxDb) db, TClass(wxString) sql);
+TBool wxDb_GetNext(TSelf(wxDb) db);
+TBool wxDb_GetData(TSelf(wxDb) db, int column, int ctype, void* data, int dataLen, int* usedLen );
+TBool wxDb_GetDataInt(TSelf(wxDb) db, int column, int* i, int* usedLen );
+TBool wxDb_GetDataDouble(TSelf(wxDb) db, int column, double* d, int* usedLen );
 /** usage: @dbGetDataBinary db column asChars pbuffer plen@. Returns binary data to given buffer (that must be deallocated using 'wxcFree'). The return length is 'wxSQL_NULL_DATA' if @NULL@ data was encountered. If @asChars@ is 'True', the data is returned as characters, true binary data is than returned as a string of hex values (@3E002C...@).*/
-TBoolInt wxDb_GetDataBinary(TSelf(wxDb) db, int column, TBool asChars, void* pbuf, int* len );
-TBoolInt wxDb_GetDataDate(TSelf(wxDb) db, int column, int* ctime, int* usedLen );
-TBoolInt wxDb_GetDataTimeStamp(TSelf(wxDb) db, int column, int* ctime, int* fraction, int* usedLen );
-TBoolInt wxDb_GetDataTime(TSelf(wxDb) db, int column, int* secs, int* usedLen );
+TBool wxDb_GetDataBinary(TSelf(wxDb) db, int column, TBool asChars, void* pbuf, int* len );
+TBool wxDb_GetDataDate(TSelf(wxDb) db, int column, int* ctime, int* usedLen );
+TBool wxDb_GetDataTimeStamp(TSelf(wxDb) db, int column, int* ctime, int* fraction, int* usedLen );
+TBool wxDb_GetDataTime(TSelf(wxDb) db, int column, int* secs, int* usedLen );
 
 int wxDb_Dbms(TSelf(wxDb) db);
 TClass(wxString) wxDb_GetDatabaseName(TSelf(wxDb) db);
 TClass(wxString) wxDb_GetDatasourceName(TSelf(wxDb) db);
 TClass(wxString) wxDb_GetPassword(TSelf(wxDb) db);
 TClass(wxString) wxDb_GetUsername(TSelf(wxDb) db);
-TBoolInt wxDb_Grant(TSelf(wxDb) db, int privileges, TClass(wxString) tableName, TClass(wxString) userList );
+TBool wxDb_Grant(TSelf(wxDb) db, int privileges, TClass(wxString) tableName, TClass(wxString) userList );
 int wxDb_GetTableCount(TSelf(wxDb) db);
 TClass(wxDbInf) wxDb_GetCatalog( TSelf(wxDb) db, TClass(wxString) userName );
 int wxDb_GetColumnCount(TSelf(wxDb) db, TClass(wxString) tableName, TClass(wxString) userName );
 TClass(wxDbColInfArray) wxDb_GetColumns(TSelf(wxDb) db, TClass(wxString) tableName, int* columnCount, TClass(wxString) userName);
-TBoolInt wxDb_Open(TSelf(wxDb) db, TClass(wxString) dsn, TClass(wxString) userId, TClass(wxString) password);
+TBool wxDb_Open(TSelf(wxDb) db, TClass(wxString) dsn, TClass(wxString) userId, TClass(wxString) password);
 TClass(wxString) wxDb_SQLColumnName(TSelf(wxDb) db, TClass(wxString) columnName);
 TClass(wxString) wxDb_SQLTableName(TSelf(wxDb) db, TClass(wxString) tableName);
-TBoolInt wxDb_TableExists(TSelf(wxDb) db, TClass(wxString) tableName, TClass(wxString) userName, TClass(wxString) path );
-TBoolInt wxDb_TablePrivileges(TSelf(wxDb) db, TClass(wxString) tableName, TClass(wxString) privileges, TClass(wxString) userName, TClass(wxString) schema, TClass(wxString) path );
+TBool wxDb_TableExists(TSelf(wxDb) db, TClass(wxString) tableName, TClass(wxString) userName, TClass(wxString) path );
+TBool wxDb_TablePrivileges(TSelf(wxDb) db, TClass(wxString) tableName, TClass(wxString) privileges, TClass(wxString) userName, TClass(wxString) schema, TClass(wxString) path );
 int wxDb_TranslateSqlState(TSelf(wxDb) db, TClass(wxString) sqlState);
 TClass(wxDb) wxDb_Create( TClass(wxHENV) henv, TBool fwdOnlyCursors );
 void wxDb_Delete( TSelf(wxDb) db );
@@ -134,5 +134,5 @@
 int wxDbColInf_GetDbDataType( TSelf(wxDbColInf) self );
 int wxDbColInf_GetPkCol( TSelf(wxDbColInf) self );
 int wxDbColInf_GetFkCol( TSelf(wxDbColInf) self );
-TBoolInt wxDbColInf_IsNullable( TSelf(wxDbColInf) self );
+TBool wxDbColInf_IsNullable( TSelf(wxDbColInf) self );
 
diff --git a/wxc/include/printout.h b/wxc/include/printout.h
--- a/wxc/include/printout.h
+++ b/wxc/include/printout.h
@@ -17,7 +17,7 @@
 void       wxPrintout_GetPPIScreen( TSelf(wxPrintout) _obj, TPointOutVoid(_x,_y) );
 void       wxPrintout_GetPageSizeMM( TSelf(wxPrintout) _obj, TSizeOutVoid(_w,_h) );
 void       wxPrintout_GetPageSizePixels( TSelf(wxPrintout) _obj, TSizeOutVoid(_w,_h) );
-TStringLen wxPrintout_GetTitle( TSelf(wxPrintout) _obj, TStringOutVoid _buf );
+TClass(wxString) wxPrintout_GetTitle( TSelf(wxPrintout) _obj );
 TBool      wxPrintout_IsPreview( TSelf(wxPrintout) _obj );
 void       wxPrintout_SetDC( TSelf(wxPrintout) _obj, TClass(wxDC) dc );
 void       wxPrintout_SetIsPreview( TSelf(wxPrintout) _obj, TBoolInt p );
diff --git a/wxc/include/stc.h b/wxc/include/stc.h
--- a/wxc/include/stc.h
+++ b/wxc/include/stc.h
@@ -3,7 +3,7 @@
 
 /* wxStyledTextCtrl */
 TClassDefExtend(wxStyledTextCtrl,wxControl)
-TClass(wxStyledTextCtrl) wxStyledTextCtrl_Create( TClass(wxWindow) _prt, int _id, TString _txt, TRect(_lft,_top,_wdt,_hgt), int style );
+TClass(wxStyledTextCtrl) wxStyledTextCtrl_Create( TClass(wxWindow) _prt, int _id, TClass(wxString) _txt, TRect(_lft,_top,_wdt,_hgt), int style );
 
 
 /* tricky handwritten functions */
diff --git a/wxc/include/stc_gen.h b/wxc/include/stc_gen.h
--- a/wxc/include/stc_gen.h
+++ b/wxc/include/stc_gen.h
@@ -1,8 +1,8 @@
-void wxStyledTextCtrl_AddText(TSelf(wxStyledTextCtrl) _obj, TString text);
+void wxStyledTextCtrl_AddText(TSelf(wxStyledTextCtrl) _obj, TClass(wxString) text);
 
 void wxStyledTextCtrl_AddStyledText(TSelf(wxStyledTextCtrl) _obj, TClass(wxMemoryBuffer) data);
 
-void wxStyledTextCtrl_InsertText(TSelf(wxStyledTextCtrl) _obj, int pos, TString text);
+void wxStyledTextCtrl_InsertText(TSelf(wxStyledTextCtrl) _obj, int pos, TClass(wxString) text);
 
 void wxStyledTextCtrl_ClearAll(TSelf(wxStyledTextCtrl) _obj);
 
@@ -118,7 +118,7 @@
 
 void wxStyledTextCtrl_StyleSetSize(TSelf(wxStyledTextCtrl) _obj, int style, int sizePoints);
 
-void wxStyledTextCtrl_StyleSetFaceName(TSelf(wxStyledTextCtrl) _obj, int style, TString fontName);
+void wxStyledTextCtrl_StyleSetFaceName(TSelf(wxStyledTextCtrl) _obj, int style, TClass(wxString) fontName);
 
 void wxStyledTextCtrl_StyleSetEOLFilled(TSelf(wxStyledTextCtrl) _obj, int style, TBool filled);
 
@@ -144,7 +144,7 @@
 
 void wxStyledTextCtrl_CmdKeyClearAll(TSelf(wxStyledTextCtrl) _obj);
 
-void wxStyledTextCtrl_SetStyleBytes(TSelf(wxStyledTextCtrl) _obj, int length, TString styleBytes);
+void wxStyledTextCtrl_SetStyleBytes(TSelf(wxStyledTextCtrl) _obj, int length, char* styleBytes);
 
 void wxStyledTextCtrl_StyleSetVisible(TSelf(wxStyledTextCtrl) _obj, int style, TBool visible);
 
@@ -152,7 +152,7 @@
 
 void wxStyledTextCtrl_SetCaretPeriod(TSelf(wxStyledTextCtrl) _obj, int periodMilliseconds);
 
-void wxStyledTextCtrl_SetWordChars(TSelf(wxStyledTextCtrl) _obj, TString characters);
+void wxStyledTextCtrl_SetWordChars(TSelf(wxStyledTextCtrl) _obj, TClass(wxString) characters);
 
 void wxStyledTextCtrl_BeginUndoAction(TSelf(wxStyledTextCtrl) _obj);
 
@@ -184,7 +184,7 @@
 
 void wxStyledTextCtrl_StyleSetChangeable(TSelf(wxStyledTextCtrl) _obj, int style, TBool changeable);
 
-void wxStyledTextCtrl_AutoCompShow(TSelf(wxStyledTextCtrl) _obj, int lenEntered, TString itemList);
+void wxStyledTextCtrl_AutoCompShow(TSelf(wxStyledTextCtrl) _obj, int lenEntered, TClass(wxString) itemList);
 
 void wxStyledTextCtrl_AutoCompCancel(TSelf(wxStyledTextCtrl) _obj);
 
@@ -194,19 +194,19 @@
 
 void wxStyledTextCtrl_AutoCompComplete(TSelf(wxStyledTextCtrl) _obj);
 
-void wxStyledTextCtrl_AutoCompStops(TSelf(wxStyledTextCtrl) _obj, TString characterSet);
+void wxStyledTextCtrl_AutoCompStops(TSelf(wxStyledTextCtrl) _obj, TClass(wxString) characterSet);
 
 void wxStyledTextCtrl_AutoCompSetSeparator(TSelf(wxStyledTextCtrl) _obj, int separatorCharacter);
 
 int wxStyledTextCtrl_AutoCompGetSeparator(TSelf(wxStyledTextCtrl) _obj);
 
-void wxStyledTextCtrl_AutoCompSelect(TSelf(wxStyledTextCtrl) _obj, TString text);
+void wxStyledTextCtrl_AutoCompSelect(TSelf(wxStyledTextCtrl) _obj, TClass(wxString) text);
 
 void wxStyledTextCtrl_AutoCompSetCancelAtStart(TSelf(wxStyledTextCtrl) _obj, TBool cancel);
 
 TBool wxStyledTextCtrl_AutoCompGetCancelAtStart(TSelf(wxStyledTextCtrl) _obj);
 
-void wxStyledTextCtrl_AutoCompSetFillUps(TSelf(wxStyledTextCtrl) _obj, TString characterSet);
+void wxStyledTextCtrl_AutoCompSetFillUps(TSelf(wxStyledTextCtrl) _obj, TClass(wxString) characterSet);
 
 void wxStyledTextCtrl_AutoCompSetChooseSingle(TSelf(wxStyledTextCtrl) _obj, TBool chooseSingle);
 
@@ -216,7 +216,7 @@
 
 TBool wxStyledTextCtrl_AutoCompGetIgnoreCase(TSelf(wxStyledTextCtrl) _obj);
 
-void wxStyledTextCtrl_UserListShow(TSelf(wxStyledTextCtrl) _obj, int listType, TString itemList);
+void wxStyledTextCtrl_UserListShow(TSelf(wxStyledTextCtrl) _obj, int listType, TClass(wxString) itemList);
 
 void wxStyledTextCtrl_AutoCompSetAutoHide(TSelf(wxStyledTextCtrl) _obj, TBool autoHide);
 
@@ -286,7 +286,7 @@
 
 int wxStyledTextCtrl_GetPrintColourMode(TSelf(wxStyledTextCtrl) _obj);
 
-int wxStyledTextCtrl_FindText(TSelf(wxStyledTextCtrl) _obj, int minPos, int maxPos, TString text, int flags);
+int wxStyledTextCtrl_FindText(TSelf(wxStyledTextCtrl) _obj, int minPos, int maxPos, TClass(wxString) text, int flags);
 
 int wxStyledTextCtrl_FormatRange(TSelf(wxStyledTextCtrl) _obj, TBool doDraw, int startPos, int endPos, TClass(wxDC) draw, TClass(wxDC) target, TClass(wxRect) renderRect, TClass(wxRect) pageRect);
 
@@ -316,7 +316,7 @@
 
 void wxStyledTextCtrl_EnsureCaretVisible(TSelf(wxStyledTextCtrl) _obj);
 
-void wxStyledTextCtrl_ReplaceSelection(TSelf(wxStyledTextCtrl) _obj, TString text);
+void wxStyledTextCtrl_ReplaceSelection(TSelf(wxStyledTextCtrl) _obj, TClass(wxString) text);
 
 void wxStyledTextCtrl_SetReadOnly(TSelf(wxStyledTextCtrl) _obj, TBool readOnly);
 
@@ -336,7 +336,7 @@
 
 void wxStyledTextCtrl_Clear(TSelf(wxStyledTextCtrl) _obj);
 
-void wxStyledTextCtrl_SetText(TSelf(wxStyledTextCtrl) _obj, TString text);
+void wxStyledTextCtrl_SetText(TSelf(wxStyledTextCtrl) _obj, TClass(wxString) text);
 
 int wxStyledTextCtrl_GetTextLength(TSelf(wxStyledTextCtrl) _obj);
 
@@ -356,17 +356,17 @@
 
 int wxStyledTextCtrl_GetTargetEnd(TSelf(wxStyledTextCtrl) _obj);
 
-int wxStyledTextCtrl_ReplaceTarget(TSelf(wxStyledTextCtrl) _obj, TString text);
+int wxStyledTextCtrl_ReplaceTarget(TSelf(wxStyledTextCtrl) _obj, TClass(wxString) text);
 
-int wxStyledTextCtrl_ReplaceTargetRE(TSelf(wxStyledTextCtrl) _obj, TString text);
+int wxStyledTextCtrl_ReplaceTargetRE(TSelf(wxStyledTextCtrl) _obj, TClass(wxString) text);
 
-int wxStyledTextCtrl_SearchInTarget(TSelf(wxStyledTextCtrl) _obj, TString text);
+int wxStyledTextCtrl_SearchInTarget(TSelf(wxStyledTextCtrl) _obj, TClass(wxString) text);
 
 void wxStyledTextCtrl_SetSearchFlags(TSelf(wxStyledTextCtrl) _obj, int flags);
 
 int wxStyledTextCtrl_GetSearchFlags(TSelf(wxStyledTextCtrl) _obj);
 
-void wxStyledTextCtrl_CallTipShow(TSelf(wxStyledTextCtrl) _obj, int pos, TString definition);
+void wxStyledTextCtrl_CallTipShow(TSelf(wxStyledTextCtrl) _obj, int pos, TClass(wxString) definition);
 
 void wxStyledTextCtrl_CallTipCancel(TSelf(wxStyledTextCtrl) _obj);
 
@@ -440,7 +440,7 @@
 
 int wxStyledTextCtrl_GetScrollWidth(TSelf(wxStyledTextCtrl) _obj);
 
-int wxStyledTextCtrl_TextWidth(TSelf(wxStyledTextCtrl) _obj, int style, TString text);
+int wxStyledTextCtrl_TextWidth(TSelf(wxStyledTextCtrl) _obj, int style, TClass(wxString) text);
 
 void wxStyledTextCtrl_SetEndAtLastLine(TSelf(wxStyledTextCtrl) _obj, TBool endAtLastLine);
 
@@ -452,7 +452,7 @@
 
 TBool wxStyledTextCtrl_GetUseVerticalScrollBar(TSelf(wxStyledTextCtrl) _obj);
 
-void wxStyledTextCtrl_AppendText(TSelf(wxStyledTextCtrl) _obj, TString text);
+void wxStyledTextCtrl_AppendText(TSelf(wxStyledTextCtrl) _obj, TClass(wxString) text);
 
 TBool wxStyledTextCtrl_GetTwoPhaseDraw(TSelf(wxStyledTextCtrl) _obj);
 
@@ -510,9 +510,9 @@
 
 void wxStyledTextCtrl_SearchAnchor(TSelf(wxStyledTextCtrl) _obj);
 
-int wxStyledTextCtrl_SearchNext(TSelf(wxStyledTextCtrl) _obj, int flags, TString text);
+int wxStyledTextCtrl_SearchNext(TSelf(wxStyledTextCtrl) _obj, int flags, TClass(wxString) text);
 
-int wxStyledTextCtrl_SearchPrev(TSelf(wxStyledTextCtrl) _obj, int flags, TString text);
+int wxStyledTextCtrl_SearchPrev(TSelf(wxStyledTextCtrl) _obj, int flags, TClass(wxString) text);
 
 int wxStyledTextCtrl_LinesOnScreen(TSelf(wxStyledTextCtrl) _obj);
 
@@ -590,7 +590,7 @@
 
 void wxStyledTextCtrl_CopyRange(TSelf(wxStyledTextCtrl) _obj, int start, int end);
 
-void wxStyledTextCtrl_CopyText(TSelf(wxStyledTextCtrl) _obj, int length, TString text);
+void wxStyledTextCtrl_CopyText(TSelf(wxStyledTextCtrl) _obj, int length, TClass(wxString) text);
 
 void wxStyledTextCtrl_StartRecord(TSelf(wxStyledTextCtrl) _obj);
 
@@ -602,19 +602,19 @@
 
 void wxStyledTextCtrl_Colourise(TSelf(wxStyledTextCtrl) _obj, int start, int end);
 
-void wxStyledTextCtrl_SetProperty(TSelf(wxStyledTextCtrl) _obj, TString key, TString value);
+void wxStyledTextCtrl_SetProperty(TSelf(wxStyledTextCtrl) _obj, TClass(wxString) key, TClass(wxString) value);
 
-void wxStyledTextCtrl_SetKeyWords(TSelf(wxStyledTextCtrl) _obj, int keywordSet, TString keyWords);
+void wxStyledTextCtrl_SetKeyWords(TSelf(wxStyledTextCtrl) _obj, int keywordSet, TClass(wxString) keyWords);
 
-void wxStyledTextCtrl_SetLexerLanguage(TSelf(wxStyledTextCtrl) _obj, TString language);
+void wxStyledTextCtrl_SetLexerLanguage(TSelf(wxStyledTextCtrl) _obj, TClass(wxString) language);
 
 int wxStyledTextCtrl_GetCurrentLine(TSelf(wxStyledTextCtrl) _obj);
 
-void wxStyledTextCtrl_StyleSetSpec(TSelf(wxStyledTextCtrl) _obj, int styleNum, TString spec);
+void wxStyledTextCtrl_StyleSetSpec(TSelf(wxStyledTextCtrl) _obj, int styleNum, TClass(wxString) spec);
 
 void wxStyledTextCtrl_StyleSetFont(TSelf(wxStyledTextCtrl) _obj, int styleNum, TClass(wxFont) font);
 
-void wxStyledTextCtrl_StyleSetFontAttr(TSelf(wxStyledTextCtrl) _obj, int styleNum, int size, TString faceName, TBool bold, TBool italic, TBool underline);
+void wxStyledTextCtrl_StyleSetFontAttr(TSelf(wxStyledTextCtrl) _obj, int styleNum, int size, TClass(wxString) faceName, TBool bold, TBool italic, TBool underline);
 
 void wxStyledTextCtrl_CmdKeyExecute(TSelf(wxStyledTextCtrl) _obj, int cmd);
 
@@ -634,6 +634,6 @@
 
 void wxStyledTextCtrl_SetLastKeydownProcessed(TSelf(wxStyledTextCtrl) _obj, TBool val);
 
-TBool wxStyledTextCtrl_SaveFile(TSelf(wxStyledTextCtrl) _obj, TString filename);
+TBool wxStyledTextCtrl_SaveFile(TSelf(wxStyledTextCtrl) _obj, TClass(wxString) filename);
 
-TBool wxStyledTextCtrl_LoadFile(TSelf(wxStyledTextCtrl) _obj, TString filename);
+TBool wxStyledTextCtrl_LoadFile(TSelf(wxStyledTextCtrl) _obj, TClass(wxString) filename);
diff --git a/wxc/include/wxc.h b/wxc/include/wxc.h
--- a/wxc/include/wxc.h
+++ b/wxc/include/wxc.h
@@ -63,8 +63,8 @@
 void wxObject_Delete( TSelf(wxObject) obj );
 
 /* Frame */
-TStringLen  wxFrame_GetTitle( TSelf(wxFrame) _obj, TStringOutVoid _buf );
-void        wxFrame_SetTitle( TSelf(wxFrame) _frame, TString _txt );
+TClass(wxString) wxFrame_GetTitle( TSelf(wxFrame) _obj );
+void        wxFrame_SetTitle( TSelf(wxFrame) _frame, TClass(wxString) _txt );
 TBool       wxFrame_SetShape( TSelf(wxFrame) self, TClass(wxRegion) region);
 TBool       wxFrame_ShowFullScreen( TSelf(wxFrame) self, TBool show, int style);
 TBool       wxFrame_IsFullScreen( TSelf(wxFrame) self );
@@ -97,6 +97,7 @@
 TClass(wxString) wxString_CreateLen( TString buffer, int len );
 void             wxString_Delete( TSelf(wxString) s );
 TStringLen       wxString_GetString( TSelf(wxString) s, TStringOut buffer );
+size_t           wxString_Length( TSelf(wxString) s );
 
 
 /* menu */
@@ -119,7 +120,7 @@
 void wxListCtrl_GetItem2( TSelf(wxListCtrl) _obj, TClassRef(wxListItem) info);
 void wxListCtrl_GetItemPosition2( TSelf(wxListCtrl) _obj, int item, TPointOut(x,y));
 /** Sort items in a list control. Takes a closure that is called with a 'CommandEvent' where the @Int@ is the item data of the first item and the @ExtraLong@ the item data of the second item. The event handler should set the @Int@ to 0 when the items are equal, -1 when the first is less, and 1 when the second is less. */
-TBoolInt wxListCtrl_SortItems2(TSelf(wxListCtrl) _obj, TClass(wxClosure) closure );
+TBool wxListCtrl_SortItems2(TSelf(wxListCtrl) _obj, TClass(wxClosure) closure );
 
 /* tree ctrl */
 TClassDefExtend(wxcTreeItemData,wxTreeItemData)
@@ -141,8 +142,8 @@
 void   wxTreeEvent_Allow( TSelf(wxTreeEvent) _obj);
 
 TClass(wxTreeCtrl) wxTreeCtrl_Create2( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
-void   wxTreeCtrl_InsertItem2( TSelf(wxTreeCtrl) _obj, TClass(wxWindow) parent, TClass(wxTreeItemId) idPrevious, TStringVoid text, int image, int selectedImage, TClass(wxClosure) closure, TClassRef(wxTreeItemId) _item );
-void   wxTreeCtrl_InsertItemByIndex2( TSelf(wxTreeCtrl) _obj, TClass(wxWindow) parent, int index, TStringVoid text, int image, int selectedImage, TClass(wxClosure) closure, TClassRef(wxTreeItemId) _item );
+void   wxTreeCtrl_InsertItem2( TSelf(wxTreeCtrl) _obj, TClass(wxWindow) parent, TClass(wxTreeItemId) idPrevious, TClass(wxString) text, int image, int selectedImage, TClass(wxClosure) closure, TClassRef(wxTreeItemId) _item );
+void   wxTreeCtrl_InsertItemByIndex2( TSelf(wxTreeCtrl) _obj, TClass(wxWindow) parent, int index, TClass(wxString) text, int image, int selectedImage, TClass(wxClosure) closure, TClassRef(wxTreeItemId) _item );
 TClass(wxClosure)  wxTreeCtrl_GetItemClientClosure( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
 void   wxTreeCtrl_SetItemClientClosure( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TClass(wxClosure) closure );
 void   wxTreeCtrl_AssignImageList(TSelf(wxTreeCtrl) _obj, TClass(wxImageList) imageList );
@@ -167,10 +168,10 @@
 
 /* wxClassInfo */
 TClassDef(wxClassInfo)
-TClass(wxClassInfo)  wxClassInfo_FindClass( TString _txt );
-TStringLen  wxClassInfo_GetBaseClassName1( TSelf(wxClassInfo) _obj, TStringOutVoid _buf );
-TStringLen  wxClassInfo_GetBaseClassName2( TSelf(wxClassInfo) _obj, TStringOutVoid _buf );
-TStringLen  wxClassInfo_GetClassNameEx( TSelf(wxClassInfo) _obj, TStringOutVoid _buf );
+TClass(wxClassInfo)  wxClassInfo_FindClass( TClass(wxString) _txt );
+TClass(wxString) wxClassInfo_GetBaseClassName1( TSelf(wxClassInfo) _obj );
+TClass(wxString) wxClassInfo_GetBaseClassName2( TSelf(wxClassInfo) _obj );
+TClass(wxString) wxClassInfo_GetClassNameEx( TSelf(wxClassInfo) _obj );
 int         wxClassInfo_GetSize( TSelf(wxClassInfo) _obj );
 TBool       wxClassInfo_IsKindOfEx( TSelf(wxClassInfo) _obj, TClass(wxClassInfo) classInfo );
 
@@ -184,20 +185,20 @@
 TClass(wxClosure)  wxTimerEx_GetClosure( TSelf(wxTimerEx) _obj );
 
 /* Menu */
-void  wxMenu_AppendRadioItem( TSelf(wxMenu) self, int id, TString text, TString help);
+void  wxMenu_AppendRadioItem( TSelf(wxMenu) self, int id, TClass(wxString) text, TClass(wxString) help);
 
 
 /* Menu Item */
 TClass(wxMenuItem)  wxMenuItem_CreateSeparator();
-TClass(wxMenuItem)  wxMenuItem_CreateEx(int id, TString label, TString help, int itemkind, TClass(wxMenu) submenu);
+TClass(wxMenuItem)  wxMenuItem_CreateEx(int id, TClass(wxString) label, TClass(wxString) help, int itemkind, TClass(wxMenu) submenu);
 
 /* Toolbar */
-void wxToolBar_AddTool2( TSelf(wxToolBar) _obj, int toolId, TString label, TClass(wxBitmap) bmp, TClass(wxBitmap) bmpDisabled, int itemKind, TString shortHelp, TString longHelp );
+void wxToolBar_AddTool2( TSelf(wxToolBar) _obj, int toolId, TClass(wxString) label, TClass(wxBitmap) bmp, TClass(wxBitmap) bmpDisabled, int itemKind, TClass(wxString) shortHelp, TClass(wxString) longHelp );
 
 /* Progress dialog */
-TClass(wxProgressDialog) wxProgressDialog_Create( TString title, TString message, int max, TClass(wxWindow) parent, int style );
+TClass(wxProgressDialog) wxProgressDialog_Create( TClass(wxString) title, TClass(wxString) message, int max, TClass(wxWindow) parent, int style );
 int  wxProgressDialog_Update(TSelf(wxProgressDialog) obj, int value );
-int  wxProgressDialog_UpdateWithMessage( TSelf(wxProgressDialog) obj, int value, TString message );
+int  wxProgressDialog_UpdateWithMessage( TSelf(wxProgressDialog) obj, int value, TClass(wxString) message );
 void wxProgressDialog_Resume( TSelf(wxProgressDialog) obj );
 
 /** Get the version number of wxWindows as a number composed of the major version times 1000, minor version times 100, and the release number. For example, release 2.1.15 becomes 2115. */
@@ -249,28 +250,28 @@
 
 /* html window */
 TClassDefExtend(wxcHtmlWindow,wxHtmlWindow)
-TClass(wxcHtmlWindow) wxcHtmlWindow_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl, TString _txt );
+TClass(wxcHtmlWindow) wxcHtmlWindow_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl, TClass(wxString) _txt );
 
-TClass(wxHtmlWindow) wxHtmlWindow_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl, TString _txt );
-TBool                wxHtmlWindow_AppendToPage( TSelf(wxHtmlWindow) _obj, TString source );
+TClass(wxHtmlWindow) wxHtmlWindow_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl, TClass(wxString) _txt );
+TBool                wxHtmlWindow_AppendToPage( TSelf(wxHtmlWindow) _obj, TClass(wxString) source );
 TClass(wxHtmlContainerCell) wxHtmlWindow_GetInternalRepresentation( TSelf(wxHtmlWindow) _obj );
-TStringLen           wxHtmlWindow_GetOpenedAnchor( TSelf(wxHtmlWindow) _obj, TStringOutVoid _buf ) ;
-TStringLen           wxHtmlWindow_GetOpenedPage( TSelf(wxHtmlWindow) _obj, TStringOutVoid _buf );
-TStringLen            wxHtmlWindow_GetOpenedPageTitle( TSelf(wxHtmlWindow) _obj, TStringOutVoid _buf );
+TClass(wxString)     wxHtmlWindow_GetOpenedAnchor( TSelf(wxHtmlWindow) _obj ) ;
+TClass(wxString)     wxHtmlWindow_GetOpenedPage( TSelf(wxHtmlWindow) _obj );
+TClass(wxString)     wxHtmlWindow_GetOpenedPageTitle( TSelf(wxHtmlWindow) _obj );
 TClass(wxFrame)      wxHtmlWindow_GetRelatedFrame( TSelf(wxHtmlWindow) _obj );
 TBool                wxHtmlWindow_HistoryBack( TSelf(wxHtmlWindow) _obj);
 TBool                wxHtmlWindow_HistoryCanBack( TSelf(wxHtmlWindow) _obj );
 TBool                wxHtmlWindow_HistoryCanForward( TSelf(wxHtmlWindow) _obj );
 void                 wxHtmlWindow_HistoryClear( TSelf(wxHtmlWindow) _obj);
 TBool                wxHtmlWindow_HistoryForward( TSelf(wxHtmlWindow) _obj );
-TBool                wxHtmlWindow_LoadPage( TSelf(wxHtmlWindow) _obj, TString location );
-void                 wxHtmlWindow_ReadCustomization( TSelf(wxHtmlWindow) _obj, TClass(wxConfigBase) cfg, TString path);
+TBool                wxHtmlWindow_LoadPage( TSelf(wxHtmlWindow) _obj, TClass(wxString) location );
+void                 wxHtmlWindow_ReadCustomization( TSelf(wxHtmlWindow) _obj, TClass(wxConfigBase) cfg, TClass(wxString) path);
 void                 wxHtmlWindow_SetBorders( TSelf(wxHtmlWindow) _obj, int b );
-void                 wxHtmlWindow_SetFonts( TSelf(wxHtmlWindow) _obj, TString normal_face, TString fixed_face, int * sizes );
-void                 wxHtmlWindow_SetPage( TSelf(wxHtmlWindow) _obj, TString source );
-void                 wxHtmlWindow_SetRelatedFrame( TSelf(wxHtmlWindow) _obj , TClass(wxFrame) frame, TString format );
+void                 wxHtmlWindow_SetFonts( TSelf(wxHtmlWindow) _obj, TClass(wxString) normal_face, TClass(wxString) fixed_face, int * sizes );
+void                 wxHtmlWindow_SetPage( TSelf(wxHtmlWindow) _obj, TClass(wxString) source );
+void                 wxHtmlWindow_SetRelatedFrame( TSelf(wxHtmlWindow) _obj , TClass(wxFrame) frame, TClass(wxString) format );
 void                 wxHtmlWindow_SetRelatedStatusBar( TSelf(wxHtmlWindow) _obj, int bar);
-void                 wxHtmlWindow_WriteCustomization( TSelf(wxHtmlWindow) _obj, TClass(wxConfigBase) cfg, TString path );
+void                 wxHtmlWindow_WriteCustomization( TSelf(wxHtmlWindow) _obj, TClass(wxConfigBase) cfg, TClass(wxString) path );
 
 /* wxGridCellTextEnterEditor */
 TClassDefExtend(wxGridCellTextEnterEditor,wxGridCellTextEditor)
@@ -284,17 +285,17 @@
 TClass(wxLogWindow)   wxLogWindow_Create( TClass(wxWindow) parent, TString title, TBoolInt showit, TBoolInt passthrough );
 TClass(wxFrame)       wxLogWindow_GetFrame( TSelf(wxLogWindow) obj );
 
-void   LogError(TStringVoid _msg);
-void   LogFatalError(TStringVoid _msg);
-void   LogWarning(TStringVoid _msg);
-void   LogMessage(TStringVoid _msg);
-void   LogVerbose(TStringVoid _msg);
-void   LogStatus(TStringVoid _msg);
-void   LogSysError(TStringVoid _msg);
-void   LogDebug(TStringVoid _msg);
-void   LogTrace(TStringVoid mask, TStringVoid _msg);
+void   LogError(TClass(wxString) _msg);
+void   LogFatalError(TClass(wxString) _msg);
+void   LogWarning(TClass(wxString) _msg);
+void   LogMessage(TClass(wxString) _msg);
+void   LogVerbose(TClass(wxString) _msg);
+void   LogStatus(TClass(wxString) _msg);
+void   LogSysError(TClass(wxString) _msg);
+void   LogDebug(TClass(wxString) _msg);
+void   LogTrace(TClass(wxString) mask, TClass(wxString) _msg);
 
-void       wxLog_AddTraceMask( TSelf(wxLog) _obj, TStringVoid str );
+void       wxLog_AddTraceMask( TSelf(wxLog) _obj, TClass(wxString) str );
 void       wxLog_Delete( TSelf(wxLog) _obj );
 void       wxLog_DontCreateOnDemand( TSelf(wxLog) _obj );
 void       wxLog_Flush( TSelf(wxLog) _obj );
@@ -306,7 +307,7 @@
 TBool      wxLog_HasPendingMessages( TSelf(wxLog) _obj );
 TBool      wxLog_IsAllowedTraceMask( TSelf(wxLog) _obj, TClass(wxMask) mask );
 void       wxLog_OnLog( TSelf(wxLog) _obj, int level, TStringVoid szString, int t );
-void       wxLog_RemoveTraceMask( TSelf(wxLog) _obj, TStringVoid str );
+void       wxLog_RemoveTraceMask( TSelf(wxLog) _obj, TClass(wxString) str );
 void       wxLog_Resume( TSelf(wxLog) _obj );
 TClass(wxLog)  wxLog_SetActiveTarget( TSelf(wxLog) pLogger );
 void       wxLog_SetTimestamp( TSelf(wxLog) _obj, TStringVoid ts );
@@ -316,7 +317,7 @@
 
 
 /* process */
-TClass(wxProcess) wxProcess_Open( TString cmd, int flags );
+TClass(wxProcess) wxProcess_Open( TClass(wxString) cmd, int flags );
 TBool      wxProcess_IsErrorAvailable( TSelf(wxProcess) _obj );
 TBool      wxProcess_IsInputAvailable( TSelf(wxProcess) _obj );
 TBool      wxProcess_IsInputOpened( TSelf(wxProcess) _obj );
@@ -329,7 +330,7 @@
 void        wxGetFontFromUser(TClass(wxWindow) parent, TClass(wxFont) fontInit, TClassRef(wxFont) font );
 TStringLen  wxGetPasswordFromUser(TString message, TString caption, TString defaultText, TClass(wxWindow) parent, TStringOut _buf );
 TStringLen  wxGetTextFromUser(TString message, TString caption, TString defaultText, TClass(wxWindow) parent, TPoint(x,y), TBool center, TStringOut _buf );
-long        wxGetNumberFromUser( TString message, TString prompt, TString caption, long value, long min, long max, TClass(wxWindow) parent, TPoint(x,y) );
+long        wxGetNumberFromUser( TClass(wxString) message, TClass(wxString) prompt, TClass(wxString) caption, long value, long min, long max, TClass(wxWindow) parent, TPoint(x,y) );
 void        wxcBell();
 void        wxcBeginBusyCursor();
 void        wxcEndBusyCursor();
@@ -338,8 +339,8 @@
 /* text ctrl */
 TBool               wxTextCtrl_EmulateKeyPress( TSelf(wxTextCtrl) _obj, TClass(wxKeyEvent) keyevent);
 TClass (wxTextAttr) wxTextCtrl_GetDefaultStyle( TSelf(wxTextCtrl) _obj );
-TStringLen          wxTextCtrl_GetRange( TSelf(wxTextCtrl) _obj, long from, long to, TStringOutVoid _buf );
-TStringLen          wxTextCtrl_GetStringSelection( TSelf(wxTextCtrl) _obj, TStringOutVoid _buf );
+TClass(wxString)    wxTextCtrl_GetRange( TSelf(wxTextCtrl) _obj, long from, long to );
+TClass(wxString)    wxTextCtrl_GetStringSelection( TSelf(wxTextCtrl) _obj );
 TBool               wxTextCtrl_IsMultiLine( TSelf(wxTextCtrl) _obj );
 TBool               wxTextCtrl_IsSingleLine( TSelf(wxTextCtrl) _obj );
 TBool               wxTextCtrl_SetDefaultStyle( TSelf(wxTextCtrl) _obj, TClass(wxTextAttr) style);
@@ -377,16 +378,24 @@
 TClass(wxColour) wxColour_CreateFromInt(int rgb);
 /** Return colors as an rgb int. */
 int wxColour_GetInt( TSelf(wxColour) colour);
+/** Create from rgba unsigned int. */
+TClass(wxColour) wxColour_CreateFromUnsignedInt(TUInt rgba);
+/** Return colors as an rgba unsigned int. */
+TUInt wxColour_GetUnsignedInt( TSelf(wxColour) colour);
 
 /** Create from system colour. */
 TClass(wxColour) wxcSystemSettingsGetColour( int systemColour );
 
 
 /* basic pixel manipulation */
-void wxcSetPixelRGB( void* buffer, int width, TPoint(x,y), int rgb  );
-int  wxcGetPixelRGB( void* buffer, int width, TPoint(x,y) );
-void wxcSetPixelRowRGB( void* buffer, int width, TPoint(x,y), int rgbStart, int rgbEnd, int count );
-void wxcInitPixelsRGB( void* buffer, TSize(width,height), int rgb );
+void wxcSetPixelRGB( TUInt8* buffer, int width, TPoint(x,y), int rgb  );
+int  wxcGetPixelRGB( TUInt8* buffer, int width, TPoint(x,y) );
+void wxcSetPixelRowRGB( TUInt8* buffer, int width, TPoint(x,y), int rgbStart, int rgbEnd, int count );
+void wxcInitPixelsRGB( TUInt8* buffer, TSize(width,height), int rgba );
+void wxcSetPixelRGBA( TUInt8* buffer, int width, TPoint(x,y), TUInt rgba  );
+TUInt  wxcGetPixelRGBA( TUInt8* buffer, int width, TPoint(x,y) );
+void wxcSetPixelRowRGBA( TUInt8* buffer, int width, TPoint(x,y), int rgbaStart, int rgbEnd, TUInt count );
+void wxcInitPixelsRGBA( TUInt8* buffer, TSize(width,height), TUInt rgba );
 
 /* malloc/free */
 void* wxcMalloc(int size );
@@ -397,9 +406,9 @@
 
 /* application directory */
 /** Return the directory of the application. On unix systems (except MacOS X), it is not always possible to determine this correctly. Therefore, the APPDIR environment variable is returned first if it is defined. */
-TStringLen wxGetApplicationDir( TStringOut buffer);
+TClass(wxString) wxGetApplicationDir();
 /** Return the full path of the application. On unix systems (except MacOS X), it is not always possible to determine this correctly. */
-TStringLen wxGetApplicationPath( TStringOut buffer);
+TClass(wxString) wxGetApplicationPath();
 
 /* ELJApp */
 void  ELJApp_InitializeC( TClass(wxClosure) closure, int _argc, TChar** _argv );
diff --git a/wxc/include/wxc_glue.h b/wxc/include/wxc_glue.h
--- a/wxc/include/wxc_glue.h
+++ b/wxc/include/wxc_glue.h
@@ -347,4667 +347,4673 @@
 /* Misc. */
 int        ELJSysErrorCode(  );
 void*      ELJSysErrorMsg( int nErrCode );
-void       LogErrorMsg( TStringVoid _msg );
-void       LogFatalErrorMsg( TStringVoid _msg );
-void       LogMessageMsg( TStringVoid _msg );
-void       LogWarningMsg( TStringVoid _msg );
-TBool      Quantize( TClass(wxImage) src, TClass(wxImage) dest, int desiredNoColours, void* eightBitData, int flags );
-TBool      QuantizePalette( TClass(wxImage) src, TClass(wxImage) dest, void* pPalette, int desiredNoColours, void* eightBitData, int flags );
-void       wxCFree( void* _ptr );
-TClass(ELJLocale) wxGetELJLocale(  );
-void*      wxGetELJTranslation( TStringVoid sz );
-void       wxMutexGui_Enter(  );
-void       wxMutexGui_Leave(  );
-
-/* ELJApp */
-TClassDefExtend(ELJApp,wxApp)
-void       ELJApp_Bell(  );
-TClass(ELJLog) ELJApp_CreateLogTarget(  );
-void       ELJApp_Dispatch(  );
-void       ELJApp_DisplaySize( TSizeOutVoid(_w,_h) );
-void       ELJApp_EnableTooltips( TBool _enable );
-void       ELJApp_EnableTopLevelWindows( int _enb );
-int        ELJApp_ExecuteProcess( TStringVoid _cmd, int _snc, TClass(wxProcess) _prc );
-void       ELJApp_Exit(  );
-void       ELJApp_ExitMainLoop(  );
-void*      ELJApp_FindWindowById( int _id, TClass(wxWindow) _prt );
-TClass(wxWindow) ELJApp_FindWindowByLabel( TStringVoid _lbl, TClass(wxWindow) _prt );
-TClass(wxWindow) ELJApp_FindWindowByName( TStringVoid _lbl, TClass(wxWindow) _prt );
-TClass(wxApp) ELJApp_GetApp(  );
-TStringLen ELJApp_GetAppName( TStringOutVoid _buf );
-TStringLen ELJApp_GetClassName( TStringOutVoid _buf );
-int        ELJApp_GetExitOnFrameDelete(  );
-TStringLen ELJApp_GetOsDescription( TStringOutVoid _buf );
-int        ELJApp_GetOsVersion( void* _maj, void* _min );
-TClass(wxWindow) ELJApp_GetTopWindow(  );
-int        ELJApp_GetUseBestVisual(  );
-TStringLen ELJApp_GetUserHome( void* _usr, TStringOutVoid _buf );
-TStringLen ELJApp_GetUserId( TStringOutVoid _buf );
-TStringLen ELJApp_GetUserName( TStringOutVoid _buf );
-TStringLen ELJApp_GetVendorName( TStringOutVoid _buf );
-/* int        ELJApp_GetWantDebugOutput(  ); */
-void       ELJApp_InitAllImageHandlers(  );
-int        ELJApp_Initialized(  );
-int        ELJApp_MainLoop(  );
-void       ELJApp_MousePosition( TPointOutVoid(_x,_y) );
-int        ELJApp_Pending(  );
-int        ELJApp_SafeYield( TClass(wxWindow) _win );
-/* int        ELJApp_SendIdleEvents(  ); */
-/* int        ELJApp_SendIdleEventsToWindow( TClass(wxWindow) win ); */
-void       ELJApp_SetAppName( TString name );
-void       ELJApp_SetClassName( TString name );
-void       ELJApp_SetExitOnFrameDelete( int flag );
-void       ELJApp_SetPrintMode( int mode );
-void       ELJApp_SetTooltipDelay( int _ms );
-void       ELJApp_SetTopWindow( TClass(wxWindow) _wnd );
-void       ELJApp_SetUseBestVisual( int flag );
-void       ELJApp_SetVendorName( TString name );
-void       ELJApp_Sleep( int _scs );
-void       ELJApp_MilliSleep( int _mscs );
-int        ELJApp_Yield(  );
-TBoolInt   ELJApp_IsTerminating(  );
-
-
-/* ELJArtProv */
-TClassDefExtend(ELJArtProv,wxArtProvider)
-TClass(ELJArtProv) ELJArtProv_Create( void* _obj, void* _clb );
-void       ELJArtProv_Release( TSelf(ELJArtProv) _obj );
-
-/* ELJClient */
-TClassDefExtend(ELJClient,wxClient)
-TClass(ELJClient) ELJClient_Create( void* _eobj, void* _cnct );
-void       ELJClient_Delete( TSelf(ELJClient) _obj );
-void       ELJClient_MakeConnection( TSelf(ELJClient) _obj, void* host, TClass(wxServer) server, void* topic );
-
-/* ELJCommand */
-TClassDefExtend(ELJCommand,wxCommand)
-TBool      ELJCommand_CanUndo( TSelf(ELJCommand) _obj );
-TClass(ELJCommand) ELJCommand_Create( int _und, void* _nme, void* _obj, void* _clb );
-void       ELJCommand_Delete( TSelf(ELJCommand) _obj );
-TStringLen ELJCommand_GetName( TSelf(ELJCommand) _obj, TStringOutVoid _buf );
-
-/* ELJConnection */
-TClassDefExtend(ELJConnection,wxConnection)
-int        ELJConnection_Advise( TSelf(ELJConnection) _obj, void* item, void* data, int size, int format );
-void       ELJConnection_Compress( TSelf(ELJConnection) _obj, int on );
-TClass(ELJConnection) ELJConnection_Create( void* _obj, void* buffer, int size );
-TClass(ELJConnection) ELJConnection_CreateDefault( TSelf(ELJConnection) _obj );
-void       ELJConnection_Delete( TSelf(ELJConnection) _obj );
-int        ELJConnection_Disconnect( TSelf(ELJConnection) _obj );
-int        ELJConnection_Execute( TSelf(ELJConnection) _obj, void* data, int size, int format );
-int        ELJConnection_Poke( TSelf(ELJConnection) _obj, void* item, void* data, int size, int format );
-void*      ELJConnection_Request( TSelf(ELJConnection) _obj, void* item, TClass(wxSize) size, int format );
-void       ELJConnection_SetOnAdvise( TSelf(ELJConnection) _obj, void* _fnc );
-void       ELJConnection_SetOnDisconnect( TSelf(ELJConnection) _obj, void* _fnc );
-void       ELJConnection_SetOnExecute( TSelf(ELJConnection) _obj, void* _fnc );
-void       ELJConnection_SetOnPoke( TSelf(ELJConnection) _obj, void* _fnc );
-void       ELJConnection_SetOnRequest( TSelf(ELJConnection) _obj, void* _fnc );
-void       ELJConnection_SetOnStartAdvise( TSelf(ELJConnection) _obj, void* _fnc );
-void       ELJConnection_SetOnStopAdvise( TSelf(ELJConnection) _obj, void* _fnc );
-int        ELJConnection_StartAdvise( TSelf(ELJConnection) _obj, void* item );
-int        ELJConnection_StopAdvise( TSelf(ELJConnection) _obj, void* item );
-
-/* ELJDragDataObject */
-TClassDef(ELJDragDataObject)
-TClass(ELJDragDataObject) ELJDragDataObject_Create( void* _obj, void* _fmt, void* _func1, void* _func2, void* _func3 );
-void       ELJDragDataObject_Delete( TSelf(ELJDragDataObject) _obj );
-
-/* ELJDropTarget */
-TClassDefExtend(ELJDropTarget,wxDropTarget)
-TClass(ELJDropTarget) ELJDropTarget_Create( void* _obj );
-void       ELJDropTarget_Delete( TSelf(ELJDropTarget) _obj );
-void       ELJDropTarget_SetOnData( TSelf(ELJDropTarget) _obj, void* _func );
-void       ELJDropTarget_SetOnDragOver( TSelf(ELJDropTarget) _obj, void* _func );
-void       ELJDropTarget_SetOnDrop( TSelf(ELJDropTarget) _obj, void* _func );
-void       ELJDropTarget_SetOnEnter( TSelf(ELJDropTarget) _obj, void* _func );
-void       ELJDropTarget_SetOnLeave( TSelf(ELJDropTarget) _obj, void* _func );
-
-/* ELJFileDropTarget */
-TClassDefExtend(ELJFileDropTarget,wxFileDropTarget)
-TClass(ELJFileDropTarget) ELJFileDropTarget_Create( void* _obj, void* _func );
-void       ELJFileDropTarget_Delete( TSelf(ELJFileDropTarget) _obj );
-void       ELJFileDropTarget_SetOnData( TSelf(ELJFileDropTarget) _obj, void* _func );
-void       ELJFileDropTarget_SetOnDragOver( TSelf(ELJFileDropTarget) _obj, void* _func );
-void       ELJFileDropTarget_SetOnDrop( TSelf(ELJFileDropTarget) _obj, void* _func );
-void       ELJFileDropTarget_SetOnEnter( TSelf(ELJFileDropTarget) _obj, void* _func );
-void       ELJFileDropTarget_SetOnLeave( TSelf(ELJFileDropTarget) _obj, void* _func );
-
-/* ELJGridTable */
-TClassDefExtend(ELJGridTable,wxGridTableBase)
-TClass(ELJGridTable) ELJGridTable_Create( void* _obj, void* _EifGetNumberRows, void* _EifGetNumberCols, void* _EifGetValue, void* _EifSetValue, void* _EifIsEmptyCell, void* _EifClear, void* _EifInsertRows, void* _EifAppendRows, void* _EifDeleteRows, void* _EifInsertCols, void* _EifAppendCols, void* _EifDeleteCols, void* _EifSetRowLabelValue, void* _EifSetColLabelValue, void* _EifGetRowLabelValue, void* _EifGetColLabelValue );
-void       ELJGridTable_Delete( TSelf(ELJGridTable) _obj );
-TClass(wxView) ELJGridTable_GetView( TSelf(ELJGridTable) _obj );
-void*      ELJGridTable_SendTableMessage( TSelf(ELJGridTable) _obj, int id, int val1, int val2 );
-
-/* ELJLocale */
-TClassDefExtend(ELJLocale,wxLocale)
-
-/* ELJLog */
-TClassDefExtend(ELJLog,wxLog)
-void       ELJLog_AddTraceMask( TSelf(ELJLog) _obj, TStringVoid str );
-TClass(ELJLog) ELJLog_Create( void* _obj, void* _fnc );
-void       ELJLog_Delete( TSelf(ELJLog) _obj );
-void       ELJLog_DontCreateOnDemand( TSelf(ELJLog) _obj );
-int        ELJLog_EnableLogging( TSelf(ELJLog) _obj, TBool doIt );
-void       ELJLog_Flush( TSelf(ELJLog) _obj );
-void       ELJLog_FlushActive( TSelf(ELJLog) _obj );
-void*      ELJLog_GetActiveTarget(  );
-void*      ELJLog_GetTimestamp( TSelf(ELJLog) _obj );
-int        ELJLog_GetTraceMask( TSelf(ELJLog) _obj );
-int        ELJLog_GetVerbose( TSelf(ELJLog) _obj );
-TBool      ELJLog_HasPendingMessages( TSelf(ELJLog) _obj );
-TBool      ELJLog_IsAllowedTraceMask( TSelf(ELJLog) _obj, TClass(wxMask) mask );
-TBool      ELJLog_IsEnabled( TSelf(ELJLog) _obj );
-void       ELJLog_OnLog( TSelf(ELJLog) _obj, int level, void* szString, int t );
-void       ELJLog_RemoveTraceMask( TSelf(ELJLog) _obj, TStringVoid str );
-void       ELJLog_Resume( TSelf(ELJLog) _obj );
-void*      ELJLog_SetActiveTarget( TSelf(ELJLog) pLogger );
-void       ELJLog_SetTimestamp( TSelf(ELJLog) _obj, void* ts );
-void       ELJLog_SetTraceMask( TSelf(ELJLog) _obj, int ulMask );
-void       ELJLog_SetVerbose( TSelf(ELJLog) _obj, int bVerbose );
-void       ELJLog_Suspend( TSelf(ELJLog) _obj );
-
-/* ELJMessageParameters */
-TClassDef(ELJMessageParameters)
-TClass(ELJMessageParameters) wxMessageParameters_Create( TStringVoid _file, TStringVoid _type, void* _object, void* _func );
-void       wxMessageParameters_Delete( TSelf(ELJMessageParameters) _obj );
-
-/* ELJPlotCurve */
-TClassDefExtend(ELJPlotCurve,wxPlotCurve)
-TClass(ELJPlotCurve) ELJPlotCurve_Create( void* _obj, void* _str, void* _end, void* _y, int offsetY, double startY, double endY );
-void       ELJPlotCurve_Delete( TSelf(ELJPlotCurve) _obj );
-double     ELJPlotCurve_GetEndY( TSelf(ELJPlotCurve) _obj );
-int        ELJPlotCurve_GetOffsetY( TSelf(ELJPlotCurve) _obj );
-double     ELJPlotCurve_GetStartY( TSelf(ELJPlotCurve) _obj );
-void       ELJPlotCurve_SetEndY( TSelf(ELJPlotCurve) _obj, double endY );
-void       ELJPlotCurve_SetOffsetY( TSelf(ELJPlotCurve) _obj, int offsetY );
-void       ELJPlotCurve_SetPenNormal( TSelf(ELJPlotCurve) _obj, TClass(wxPen) pen );
-void       ELJPlotCurve_SetPenSelected( TSelf(ELJPlotCurve) _obj, TClass(wxPen) pen );
-void       ELJPlotCurve_SetStartY( TSelf(ELJPlotCurve) _obj, double startY );
-
-/* ELJPreviewControlBar */
-TClassDefExtend(ELJPreviewControlBar,wxPreviewControlBar)
-TClass(ELJPreviewControlBar) ELJPreviewControlBar_Create( void* preview, int buttons, TClass(wxWindow) parent, void* title, TRect(x,y,w,h), int style );
-
-/* ELJPreviewFrame */
-TClassDefExtend(ELJPreviewFrame,wxPreviewFrame)
-TClass(ELJPreviewFrame) ELJPreviewFrame_Create( void* _obj, void* _init, void* _create_canvas, void* _create_toolbar, void* preview, TClass(wxWindow) parent, void* title, TRect(x,y,w,h), int style );
-void*      ELJPreviewFrame_GetControlBar( TSelf(ELJPreviewFrame) _obj );
-TClass(wxPreviewCanvas) ELJPreviewFrame_GetPreviewCanvas( TSelf(ELJPreviewFrame) _obj );
-TClass(wxPrintPreview) ELJPreviewFrame_GetPrintPreview( TSelf(ELJPreviewFrame) _obj );
-void       ELJPreviewFrame_Initialize( TSelf(ELJPreviewFrame) _obj );
-void       ELJPreviewFrame_SetControlBar( TSelf(ELJPreviewFrame) _obj, void* obj );
-void       ELJPreviewFrame_SetPreviewCanvas( TSelf(ELJPreviewFrame) _obj, TClass(wxPreviewCanvas) obj );
-void       ELJPreviewFrame_SetPrintPreview( TSelf(ELJPreviewFrame) _obj, TClass(wxPrintPreview) obj );
-
-/* ELJPrintout */
-/*
-TClassDefExtend(ELJPrintout,wxPrintout)
-TClass(ELJPrintout) ELJPrintout_Create( void* title, void* _obj, void* _DoOnBeginDocument, void* _DoOnEndDocument, void* _DoOnBeginPrinting, void* _DoOnEndPrinting, void* _DoOnPreparePrinting, void* _DoOnPrintPage, void* _DoOnHasPage, void* _DoOnPageInfo );
-void       ELJPrintout_Delete( TSelf(ELJPrintout) _obj );
-TClass(wxDC) ELJPrintout_GetDC( TSelf(ELJPrintout) _obj );
-void       ELJPrintout_GetPPIPrinter( TSelf(ELJPrintout) _obj, TPointOutVoid(_x,_y) );
-void       ELJPrintout_GetPPIScreen( TSelf(ELJPrintout) _obj, TPointOutVoid(_x,_y) );
-void       ELJPrintout_GetPageSizeMM( TSelf(ELJPrintout) _obj, TSizeOutVoid(_w,_h) );
-void       ELJPrintout_GetPageSizePixels( TSelf(ELJPrintout) _obj, TSizeOutVoid(_w,_h) );
-TStringLen ELJPrintout_GetTitle( TSelf(ELJPrintout) _obj, TStringOutVoid _buf );
-TBool      ELJPrintout_IsPreview( TSelf(ELJPrintout) _obj );
-void       ELJPrintout_SetDC( TSelf(ELJPrintout) _obj, TClass(wxDC) dc );
-void       ELJPrintout_SetIsPreview( TSelf(ELJPrintout) _obj, int p );
-void       ELJPrintout_SetPPIPrinter( TSelf(ELJPrintout) _obj, TPoint(x,y) );
-void       ELJPrintout_SetPPIScreen( TSelf(ELJPrintout) _obj, TPoint(x,y) );
-void       ELJPrintout_SetPageSizeMM( TSelf(ELJPrintout) _obj, TSize(w,h) );
-void       ELJPrintout_SetPageSizePixels( TSelf(ELJPrintout) _obj, TSize(w,h) );
-*/
-
-/* ELJServer */
-TClassDefExtend(ELJServer,wxServer)
-TClass(ELJServer) ELJServer_Create( void* _eobj, void* _cnct );
-void       ELJServer_Delete( TSelf(ELJServer) _obj );
-int        ELJServer_Initialize( TSelf(ELJServer) _obj, TStringVoid name );
-
-/* ELJTextDropTarget */
-TClassDefExtend(ELJTextDropTarget,wxTextDropTarget)
-TClass(ELJTextDropTarget) ELJTextDropTarget_Create( void* _obj, void* _func );
-void       ELJTextDropTarget_Delete( TSelf(ELJTextDropTarget) _obj );
-void       ELJTextDropTarget_SetOnData( TSelf(ELJTextDropTarget) _obj, void* _func );
-void       ELJTextDropTarget_SetOnDragOver( TSelf(ELJTextDropTarget) _obj, void* _func );
-void       ELJTextDropTarget_SetOnDrop( TSelf(ELJTextDropTarget) _obj, void* _func );
-void       ELJTextDropTarget_SetOnEnter( TSelf(ELJTextDropTarget) _obj, void* _func );
-void       ELJTextDropTarget_SetOnLeave( TSelf(ELJTextDropTarget) _obj, void* _func );
-
-/* ELJTextValidator */
-TClassDefExtend(ELJTextValidator,wxTextValidator)
-TClass(ELJTextValidator) ELJTextValidator_Create( void* _obj, void* _fnc, TStringVoid _txt, int _stl );
-
-/* cbAntiflickerPlugin */
-TClassDefExtend(cbAntiflickerPlugin,cbPluginBase)
-TClass(cbAntiflickerPlugin) cbAntiflickerPlugin_Create( void* pPanel, int paneMask );
-TClass(cbAntiflickerPlugin) cbAntiflickerPlugin_CreateDefault(  );
-void       cbAntiflickerPlugin_Delete( TSelf(cbAntiflickerPlugin) _obj );
-
-/* cbBarDragPlugin */
-TClassDefExtend(cbBarDragPlugin,cbPluginBase)
-TClass(cbBarDragPlugin) cbBarDragPlugin_Create( void* pPanel, int paneMask );
-TClass(cbBarDragPlugin) cbBarDragPlugin_CreateDefault(  );
-void       cbBarDragPlugin_Delete( TSelf(cbBarDragPlugin) _obj );
-
-/* cbBarHintsPlugin */
-TClassDefExtend(cbBarHintsPlugin,cbPluginBase)
-TClass(cbBarHintsPlugin) cbBarHintsPlugin_Create( void* pPanel, int paneMask );
-TClass(cbBarHintsPlugin) cbBarHintsPlugin_CreateDefault(  );
-void       cbBarHintsPlugin_Delete( TSelf(cbBarHintsPlugin) _obj );
-void       cbBarHintsPlugin_SetGrooveCount( TSelf(cbBarHintsPlugin) _obj, int nGrooves );
-
-/* cbBarInfo */
-TClassDefExtend(cbBarInfo,wxObject)
-TClass(cbBarInfo) cbBarInfo_Create(  );
-void       cbBarInfo_Delete( TSelf(cbBarInfo) _obj );
-TBool      cbBarInfo_IsExpanded( TSelf(cbBarInfo) _obj );
-TBool      cbBarInfo_IsFixed( TSelf(cbBarInfo) _obj );
-
-/* cbBarSpy */
-TClassDefExtend(cbBarSpy,wxEvtHandler)
-TClass(cbBarSpy) cbBarSpy_Create( void* pPanel );
-TClass(cbBarSpy) cbBarSpy_CreateDefault(  );
-void       cbBarSpy_Delete( TSelf(cbBarSpy) _obj );
-int        cbBarSpy_ProcessEvent( TSelf(cbBarSpy) _obj, TClass(wxEvent) event );
-void       cbBarSpy_SetBarWindow( TSelf(cbBarSpy) _obj, void* pWnd );
-
-/* cbCloseBox */
-TClassDefExtend(cbCloseBox,cbMiniButton)
-TClass(cbCloseBox) cbCloseBox_Create(  );
-
-/* cbCollapseBox */
-TClassDefExtend(cbCollapseBox,cbMiniButton)
-TClass(cbCollapseBox) cbCollapseBox_Create(  );
-
-/* cbCommonPaneProperties */
-TClassDefExtend(cbCommonPaneProperties,wxObject)
-void       cbCommonPaneProperties_Assign( TSelf(cbCommonPaneProperties) _obj, void* _other );
-int        cbCommonPaneProperties_BarCollapseIconsOn( TSelf(cbCommonPaneProperties) _obj );
-int        cbCommonPaneProperties_BarDragHintsOn( TSelf(cbCommonPaneProperties) _obj );
-int        cbCommonPaneProperties_BarFloatingOn( TSelf(cbCommonPaneProperties) _obj );
-int        cbCommonPaneProperties_ColProportionsOn( TSelf(cbCommonPaneProperties) _obj );
-TClass(cbCommonPaneProperties) cbCommonPaneProperties_CreateDefault(  );
-void       cbCommonPaneProperties_Delete( TSelf(cbCommonPaneProperties) _obj );
-int        cbCommonPaneProperties_ExactDockPredictionOn( TSelf(cbCommonPaneProperties) _obj );
-void       cbCommonPaneProperties_MinCBarDim( TSelf(cbCommonPaneProperties) _obj, TSizeOutVoid(_w,_h) );
-int        cbCommonPaneProperties_NonDestructFrictionOn( TSelf(cbCommonPaneProperties) _obj );
-int        cbCommonPaneProperties_OutOfPaneDragOn( TSelf(cbCommonPaneProperties) _obj );
-int        cbCommonPaneProperties_RealTimeUpdatesOn( TSelf(cbCommonPaneProperties) _obj );
-int        cbCommonPaneProperties_ResizeHandleSize( TSelf(cbCommonPaneProperties) _obj );
-int        cbCommonPaneProperties_RowProportionsOn( TSelf(cbCommonPaneProperties) _obj );
-void       cbCommonPaneProperties_SetBarCollapseIconsOn( TSelf(cbCommonPaneProperties) _obj, int _val );
-void       cbCommonPaneProperties_SetBarDragHintsOn( TSelf(cbCommonPaneProperties) _obj, int _val );
-void       cbCommonPaneProperties_SetBarFloatingOn( TSelf(cbCommonPaneProperties) _obj, int _val );
-void       cbCommonPaneProperties_SetColProportionsOn( TSelf(cbCommonPaneProperties) _obj, int _val );
-void       cbCommonPaneProperties_SetExactDockPredictionOn( TSelf(cbCommonPaneProperties) _obj, int _val );
-void       cbCommonPaneProperties_SetMinCBarDim( TSelf(cbCommonPaneProperties) _obj, TSize(_w,_h) );
-void       cbCommonPaneProperties_SetNonDestructFrictionOn( TSelf(cbCommonPaneProperties) _obj, int _val );
-void       cbCommonPaneProperties_SetOutOfPaneDragOn( TSelf(cbCommonPaneProperties) _obj, int _val );
-void       cbCommonPaneProperties_SetRealTimeUpdatesOn( TSelf(cbCommonPaneProperties) _obj, int _val );
-void       cbCommonPaneProperties_SetResizeHandleSize( TSelf(cbCommonPaneProperties) _obj, int _val );
-void       cbCommonPaneProperties_SetRowProportionsOn( TSelf(cbCommonPaneProperties) _obj, int _val );
-void       cbCommonPaneProperties_SetShow3DPaneBorderOn( TSelf(cbCommonPaneProperties) _obj, int _val );
-int        cbCommonPaneProperties_Show3DPaneBorderOn( TSelf(cbCommonPaneProperties) _obj );
-
-/* cbCustomizeBarEvent */
-TClassDefExtend(cbCustomizeBarEvent,cbPluginEvent)
-void*      cbCustomizeBarEvent_Bar( TSelf(cbCustomizeBarEvent) _obj );
-void       cbCustomizeBarEvent_ClickPos( TSelf(cbCustomizeBarEvent) _obj, TPointOutVoid(_x,_y) );
-
-/* cbCustomizeLayoutEvent */
-TClassDefExtend(cbCustomizeLayoutEvent,cbPluginEvent)
-void       cbCustomizeLayoutEvent_ClickPos( TSelf(cbCustomizeLayoutEvent) _obj, TPointOutVoid(_x,_y) );
-
-/* cbDimHandlerBase */
-TClassDefExtend(cbDimHandlerBase,wxObject)
-
-/* cbDimInfo */
-TClassDefExtend(cbDimInfo,wxObject)
-void       cbDimInfo_Assign( TSelf(cbDimInfo) _obj, void* other );
-TClass(cbDimInfo) cbDimInfo_Create( TPoint(x,y), TBool isFixed, int gap, void* pDimHandler );
-TClass(cbDimInfo) cbDimInfo_CreateDefault(  );
-void*      cbDimInfo_CreateWithHandler( TSelf(cbDimInfo) pDimHandler, TBool isFixed );
-void*      cbDimInfo_CreateWithInfo( int dh_x, int dh_y, int dv_x, int dv_y, int f_x, int f_y, TBool isFixed, int horizGap, int vertGap, void* pDimHandler );
-void       cbDimInfo_Delete( TSelf(cbDimInfo) _obj );
-void*      cbDimInfo_GetDimHandler( TSelf(cbDimInfo) _obj );
-
-/* cbDockBox */
-TClassDefExtend(cbDockBox,cbMiniButton)
-TClass(cbDockBox) cbDockBox_Create(  );
-
-/* cbDockPane */
-TClassDefExtend(cbDockPane,wxObject)
-int        cbDockPane_BarPresent( TSelf(cbDockPane) _obj, void* pBar );
-TClass(cbDockPane) cbDockPane_Create( int alignment, void* pPanel );
-TClass(cbDockPane) cbDockPane_CreateDefault(  );
-void       cbDockPane_Delete( TSelf(cbDockPane) _obj );
-int        cbDockPane_GetAlignment( TSelf(cbDockPane) _obj );
-void*      cbDockPane_GetBarInfoByWindow( TSelf(cbDockPane) _obj, void* pBarWnd );
-void       cbDockPane_GetBarResizeRange( TSelf(cbDockPane) _obj, void* pBar, void* from, void* till, int forLeftHandle );
-int        cbDockPane_GetDockingState( TSelf(cbDockPane) _obj );
-void*      cbDockPane_GetFirstRow( TSelf(cbDockPane) _obj );
-int        cbDockPane_GetPaneHeight( TSelf(cbDockPane) _obj );
-void       cbDockPane_GetRealRect( TSelf(cbDockPane) _obj, TRectOutVoid(_x,_y,_w,_h) );
-int        cbDockPane_GetRowList( TSelf(cbDockPane) _obj, void* _ref );
-void       cbDockPane_GetRowResizeRange( TSelf(cbDockPane) _obj, void* pRow, void* from, void* till, int forUpperHandle );
-int        cbDockPane_HitTestPaneItems( TSelf(cbDockPane) _obj, TPoint(x,y), void* ppRow, void* ppBar );
-void       cbDockPane_InsertBarByCoord( TSelf(cbDockPane) _obj, void* pBar, TRect(x,y,w,h) );
-void       cbDockPane_InsertBarByInfo( TSelf(cbDockPane) _obj, void* pBarInfo );
-void       cbDockPane_InsertBarToRow( TSelf(cbDockPane) _obj, void* pBar, void* pIntoRow );
-void       cbDockPane_InsertRow( TSelf(cbDockPane) _obj, void* pRow, void* pBeforeRow );
-TBool      cbDockPane_IsHorizontal( TSelf(cbDockPane) _obj );
-int        cbDockPane_MatchesMask( TSelf(cbDockPane) _obj, int paneMask );
-void       cbDockPane_RemoveBar( TSelf(cbDockPane) _obj, void* pBar );
-void       cbDockPane_RemoveRow( TSelf(cbDockPane) _obj, void* pRow );
-void       cbDockPane_SetBoundsInParent( TSelf(cbDockPane) _obj, TRect(x,y,w,h));
-void       cbDockPane_SetMargins( TSelf(cbDockPane) _obj, int top, int bottom, int left, int right );
-void       cbDockPane_SetPaneWidth( TSelf(cbDockPane) _obj, int width );
-
-/* cbDrawBarDecorEvent */
-TClassDefExtend(cbDrawBarDecorEvent,cbPluginEvent)
-void*      cbDrawBarDecorEvent_Bar( TSelf(cbDrawBarDecorEvent) _obj );
-void       cbDrawBarDecorEvent_BoundsInParent( TSelf(cbDrawBarDecorEvent) _obj, TRectOutVoid(_x,_y,_w,_h) );
-void*      cbDrawBarDecorEvent_Dc( TSelf(cbDrawBarDecorEvent) _obj );
-
-/* cbDrawBarHandlesEvent */
-TClassDefExtend(cbDrawBarHandlesEvent,cbPluginEvent)
-void*      cbDrawBarHandlesEvent_Bar( TSelf(cbDrawBarHandlesEvent) _obj );
-void*      cbDrawBarHandlesEvent_Dc( TSelf(cbDrawBarHandlesEvent) _obj );
-
-/* cbDrawHintRectEvent */
-TClassDefExtend(cbDrawHintRectEvent,cbPluginEvent)
-int        cbDrawHintRectEvent_EraseRect( TSelf(cbDrawHintRectEvent) _obj );
-TBool      cbDrawHintRectEvent_IsInClient( TSelf(cbDrawHintRectEvent) _obj );
-int        cbDrawHintRectEvent_LastTime( TSelf(cbDrawHintRectEvent) _obj );
-void       cbDrawHintRectEvent_Rect( TSelf(cbDrawHintRectEvent) _obj, TRectOutVoid(_x,_y,_w,_h) );
-
-/* cbDrawPaneBkGroundEvent */
-TClassDefExtend(cbDrawPaneBkGroundEvent,cbPluginEvent)
-void*      cbDrawPaneBkGroundEvent_Dc( TSelf(cbDrawPaneBkGroundEvent) _obj );
-
-/* cbDrawPaneDecorEvent */
-TClassDefExtend(cbDrawPaneDecorEvent,cbPluginEvent)
-void*      cbDrawPaneDecorEvent_Dc( TSelf(cbDrawPaneDecorEvent) _obj );
-
-/* cbDrawRowBkGroundEvent */
-TClassDefExtend(cbDrawRowBkGroundEvent,cbPluginEvent)
-void*      cbDrawRowBkGroundEvent_Dc( TSelf(cbDrawRowBkGroundEvent) _obj );
-void*      cbDrawRowBkGroundEvent_Row( TSelf(cbDrawRowBkGroundEvent) _obj );
-
-/* cbDrawRowDecorEvent */
-TClassDefExtend(cbDrawRowDecorEvent,cbPluginEvent)
-void*      cbDrawRowDecorEvent_Dc( TSelf(cbDrawRowDecorEvent) _obj );
-void*      cbDrawRowDecorEvent_Row( TSelf(cbDrawRowDecorEvent) _obj );
-
-/* cbDrawRowHandlesEvent */
-TClassDefExtend(cbDrawRowHandlesEvent,cbPluginEvent)
-void*      cbDrawRowHandlesEvent_Dc( TSelf(cbDrawRowHandlesEvent) _obj );
-void*      cbDrawRowHandlesEvent_Row( TSelf(cbDrawRowHandlesEvent) _obj );
-
-/* cbDynToolBarDimHandler */
-TClassDefExtend(cbDynToolBarDimHandler,cbDimHandlerBase)
-TClass(cbDynToolBarDimHandler) cbDynToolBarDimHandler_Create(  );
-void       cbDynToolBarDimHandler_Delete( TSelf(cbDynToolBarDimHandler) _obj );
-
-/* cbFinishDrawInAreaEvent */
-TClassDefExtend(cbFinishDrawInAreaEvent,cbPluginEvent)
-void       cbFinishDrawInAreaEvent_Area( TSelf(cbFinishDrawInAreaEvent) _obj, TRectOutVoid(_x,_y,_w,_h) );
-
-/* cbFloatedBarWindow */
-TClassDefExtend(cbFloatedBarWindow,wxToolWindow)
-TClass(cbFloatedBarWindow) cbFloatedBarWindow_Create( void* _obj );
-void*      cbFloatedBarWindow_GetBar( TSelf(cbFloatedBarWindow) _obj );
-void       cbFloatedBarWindow_PositionFloatedWnd( TSelf(cbFloatedBarWindow) _obj, TRect(_x,_y,_w,_h) );
-void       cbFloatedBarWindow_SetBar( TSelf(cbFloatedBarWindow) _obj, void* _bar );
-void       cbFloatedBarWindow_SetLayout( TSelf(cbFloatedBarWindow) _obj, void* _layout );
-
-/* cbGCUpdatesMgr */
-TClassDefExtend(cbGCUpdatesMgr,cbSimpleUpdatesMgr)
-TClass(cbGCUpdatesMgr) cbGCUpdatesMgr_Create( void* pPanel );
-TClass(cbGCUpdatesMgr) cbGCUpdatesMgr_CreateDefault(  );
-void       cbGCUpdatesMgr_Delete( TSelf(cbGCUpdatesMgr) _obj );
-void       cbGCUpdatesMgr_UpdateNow( TSelf(cbGCUpdatesMgr) _obj );
-
-/* cbHintAnimationPlugin */
-TClassDefExtend(cbHintAnimationPlugin,cbPluginBase)
-TClass(cbHintAnimationPlugin) cbHintAnimationPlugin_Create( void* pPanel, int paneMask );
-TClass(cbHintAnimationPlugin) cbHintAnimationPlugin_CreateDefault(  );
-void       cbHintAnimationPlugin_Delete( TSelf(cbHintAnimationPlugin) _obj );
-
-/* cbInsertBarEvent */
-TClassDefExtend(cbInsertBarEvent,cbPluginEvent)
-void*      cbInsertBarEvent_Bar( TSelf(cbInsertBarEvent) _obj );
-void*      cbInsertBarEvent_Row( TSelf(cbInsertBarEvent) _obj );
-
-/* cbLayoutRowEvent */
-TClassDefExtend(cbLayoutRowEvent,cbPluginEvent)
-void*      cbLayoutRowEvent_Row( TSelf(cbLayoutRowEvent) _obj );
-
-/* cbLeftDClickEvent */
-TClassDefExtend(cbLeftDClickEvent,cbPluginEvent)
-void       cbLeftDClickEvent_Pos( TSelf(cbLeftDClickEvent) _obj, TPointOutVoid(_x,_y) );
-
-/* cbLeftDownEvent */
-TClassDefExtend(cbLeftDownEvent,cbPluginEvent)
-void       cbLeftDownEvent_Pos( TSelf(cbLeftDownEvent) _obj, TPointOutVoid(_x,_y) );
-
-/* cbLeftUpEvent */
-TClassDefExtend(cbLeftUpEvent,cbPluginEvent)
-void       cbLeftUpEvent_Pos( TSelf(cbLeftUpEvent) _obj, TPointOutVoid(_x,_y) );
-
-/* cbMiniButton */
-TClassDefExtend(cbMiniButton,wxObject)
-TClass(cbMiniButton) cbMiniButton_Create(  );
-void       cbMiniButton_Delete( TSelf(cbMiniButton) _obj );
-void       cbMiniButton_Dim( TSelf(cbMiniButton) _obj, TSizeOutVoid(_w,_h) );
-int        cbMiniButton_DragStarted( TSelf(cbMiniButton) _obj );
-void       cbMiniButton_Enable( TSelf(cbMiniButton) _obj, TBool enable );
-int        cbMiniButton_Enabled( TSelf(cbMiniButton) _obj );
-int        cbMiniButton_HitTest( TSelf(cbMiniButton) _obj, TPoint(x,y) );
-TBool      cbMiniButton_IsPressed( TSelf(cbMiniButton) _obj );
-void*      cbMiniButton_Layout( TSelf(cbMiniButton) _obj );
-void*      cbMiniButton_Pane( TSelf(cbMiniButton) _obj );
-void*      cbMiniButton_Plugin( TSelf(cbMiniButton) _obj );
-void       cbMiniButton_Pos( TSelf(cbMiniButton) _obj, TPointOutVoid(_x,_y) );
-int        cbMiniButton_Pressed( TSelf(cbMiniButton) _obj );
-void       cbMiniButton_Refresh( TSelf(cbMiniButton) _obj );
-void       cbMiniButton_Reset( TSelf(cbMiniButton) _obj );
-void       cbMiniButton_SetPos( TSelf(cbMiniButton) _obj, TPoint(x,y) );
-int        cbMiniButton_Visible( TSelf(cbMiniButton) _obj );
-int        cbMiniButton_WasClicked( TSelf(cbMiniButton) _obj );
-void*      cbMiniButton_Wnd( TSelf(cbMiniButton) _obj );
-
-/* cbMotionEvent */
-TClassDefExtend(cbMotionEvent,cbPluginEvent)
-void       cbMotionEvent_Pos( TSelf(cbMotionEvent) _obj, TPointOutVoid(_x,_y) );
-
-/* cbPaneDrawPlugin */
-TClassDefExtend(cbPaneDrawPlugin,cbPluginBase)
-TClass(cbPaneDrawPlugin) cbPaneDrawPlugin_Create( void* pPanel, int paneMask );
-TClass(cbPaneDrawPlugin) cbPaneDrawPlugin_CreateDefault(  );
-void       cbPaneDrawPlugin_Delete( TSelf(cbPaneDrawPlugin) _obj );
-
-/* cbPluginBase */
-TClassDefExtend(cbPluginBase,wxEvtHandler)
-void       cbPluginBase_Delete( TSelf(cbPluginBase) _obj );
-int        cbPluginBase_GetPaneMask( TSelf(cbPluginBase) _obj );
-TBool      cbPluginBase_IsReady( TSelf(cbPluginBase) _obj );
-void*      cbPluginBase_Plugin( int _swt );
-int        cbPluginBase_ProcessEvent( TSelf(cbPluginBase) _obj, TClass(wxEvent) event );
-
-/* cbPluginEvent */
-TClassDefExtend(cbPluginEvent,wxEvent)
-void*      cbPluginEvent_Pane( TSelf(cbPluginEvent) _obj );
-
-/* cbRemoveBarEvent */
-TClassDefExtend(cbRemoveBarEvent,cbPluginEvent)
-void*      cbRemoveBarEvent_Bar( TSelf(cbRemoveBarEvent) _obj );
-
-/* cbResizeBarEvent */
-TClassDefExtend(cbResizeBarEvent,cbPluginEvent)
-void*      cbResizeBarEvent_Bar( TSelf(cbResizeBarEvent) _obj );
-void*      cbResizeBarEvent_Row( TSelf(cbResizeBarEvent) _obj );
-
-/* cbResizeRowEvent */
-TClassDefExtend(cbResizeRowEvent,cbPluginEvent)
-int        cbResizeRowEvent_ForUpperHandle( TSelf(cbResizeRowEvent) _obj );
-int        cbResizeRowEvent_HandleOfs( TSelf(cbResizeRowEvent) _obj );
-void*      cbResizeRowEvent_Row( TSelf(cbResizeRowEvent) _obj );
-
-/* cbRightDownEvent */
-TClassDefExtend(cbRightDownEvent,cbPluginEvent)
-void       cbRightDownEvent_Pos( TSelf(cbRightDownEvent) _obj, TPointOutVoid(_x,_y) );
-
-/* cbRightUpEvent */
-TClassDefExtend(cbRightUpEvent,cbPluginEvent)
-void       cbRightUpEvent_Pos( TSelf(cbRightUpEvent) _obj, TPointOutVoid(_x,_y) );
-
-/* cbRowDragPlugin */
-TClassDefExtend(cbRowDragPlugin,cbPluginBase)
-TClass(cbRowDragPlugin) cbRowDragPlugin_Create( void* pPanel, int paneMask );
-TClass(cbRowDragPlugin) cbRowDragPlugin_CreateDefault(  );
-void       cbRowDragPlugin_Delete( TSelf(cbRowDragPlugin) _obj );
-
-/* cbRowInfo */
-TClassDefExtend(cbRowInfo,wxObject)
-TClass(cbRowInfo) cbRowInfo_Create(  );
-void       cbRowInfo_Delete( TSelf(cbRowInfo) _obj );
-void*      cbRowInfo_GetFirstBar( TSelf(cbRowInfo) _obj );
-
-/* cbRowLayoutPlugin */
-TClassDefExtend(cbRowLayoutPlugin,cbPluginBase)
-TClass(cbRowLayoutPlugin) cbRowLayoutPlugin_Create( void* pPanel, int paneMask );
-TClass(cbRowLayoutPlugin) cbRowLayoutPlugin_CreateDefault(  );
-void       cbRowLayoutPlugin_Delete( TSelf(cbRowLayoutPlugin) _obj );
-
-/* cbSimpleCustomizationPlugin */
-TClassDefExtend(cbSimpleCustomizationPlugin,cbPluginBase)
-TClass(cbSimpleCustomizationPlugin) cbSimpleCustomizationPlugin_Create( void* pPanel, int paneMask );
-TClass(cbSimpleCustomizationPlugin) cbSimpleCustomizationPlugin_CreateDefault(  );
-void       cbSimpleCustomizationPlugin_Delete( TSelf(cbSimpleCustomizationPlugin) _obj );
-
-/* cbSimpleUpdatesMgr */
-TClassDefExtend(cbSimpleUpdatesMgr,cbUpdatesManagerBase)
-
-/* cbSizeBarWndEvent */
-TClassDefExtend(cbSizeBarWndEvent,cbPluginEvent)
-void*      cbSizeBarWndEvent_Bar( TSelf(cbSizeBarWndEvent) _obj );
-void       cbSizeBarWndEvent_BoundsInParent( TSelf(cbSizeBarWndEvent) _obj, TRectOutVoid(_x,_y,_w,_h) );
-
-/* cbStartBarDraggingEvent */
-TClassDefExtend(cbStartBarDraggingEvent,cbPluginEvent)
-void*      cbStartBarDraggingEvent_Bar( TSelf(cbStartBarDraggingEvent) _obj );
-void       cbStartBarDraggingEvent_Pos( TSelf(cbStartBarDraggingEvent) _obj, TPointOutVoid(_x,_y) );
-
-/* cbStartDrawInAreaEvent */
-TClassDefExtend(cbStartDrawInAreaEvent,cbPluginEvent)
-void       cbStartDrawInAreaEvent_Area( TSelf(cbStartDrawInAreaEvent) _obj, TRectOutVoid(_x,_y,_w,_h) );
-
-/* cbUpdatesManagerBase */
-TClassDefExtend(cbUpdatesManagerBase,wxObject)
-
-/* wxAcceleratorEntry */
-TClassDef(wxAcceleratorEntry)
-TClass(wxAcceleratorEntry) wxAcceleratorEntry_Create( int flags, int keyCode, int cmd );
-void       wxAcceleratorEntry_Delete( TSelf(wxAcceleratorEntry) _obj );
-int        wxAcceleratorEntry_GetCommand( TSelf(wxAcceleratorEntry) _obj );
-int        wxAcceleratorEntry_GetFlags( TSelf(wxAcceleratorEntry) _obj );
-int        wxAcceleratorEntry_GetKeyCode( TSelf(wxAcceleratorEntry) _obj );
-void       wxAcceleratorEntry_Set( TSelf(wxAcceleratorEntry) _obj, int flags, int keyCode, int cmd );
-
-/* wxAcceleratorTable */
-TClassDef(wxAcceleratorTable)
-TClass(wxAcceleratorTable) wxAcceleratorTable_Create( int n, void* entries );
-void       wxAcceleratorTable_Delete( TSelf(wxAcceleratorTable) _obj );
-
-/* wxActivateEvent */
-TClassDefExtend(wxActivateEvent,wxEvent)
-void       wxActivateEvent_CopyObject( TSelf(wxActivateEvent) _obj, void* obj );
-int        wxActivateEvent_GetActive( TSelf(wxActivateEvent) _obj );
-
-/* wxApp */
-TClassDefExtend(wxApp,wxEvtHandler)
-
-/* wxArray */
-TClassDef(wxArray)
-
-/* wxArrayString */
-TClassDefExtend(wxArrayString,wxArray)
-
-/* wxArtProvider */
-TClassDefExtend(wxArtProvider,wxObject)
-int        PopProvider(  );
-void       PushProvider( TClass(wxArtProvider) provider );
-TBool      RemoveProvider( TClass(wxArtProvider) provider );
-
-/* wxAutoBufferedPaintDC */
-TClassDefExtend(wxAutoBufferedPaintDC,wxDC)
-TClass(wxAutoBufferedPaintDC) wxAutoBufferedPaintDC_Create( TClass(wxWindow) window );
-void       wxAutoBufferedPaintDC_Delete( TSelf(wxAutoBufferedPaintDC) self );
-
-/* wxAutomationObject */
-TClassDefExtend(wxAutomationObject,wxObject)
-
-/* wxBitmap */
-TClassDefExtend(wxBitmap,wxGDIObject)
-void       wxBitmap_AddHandler( TClass(wxEvtHandler) handler );
-void       wxBitmap_CleanUpHandlers(  );
-TClass(wxBitmap) wxBitmap_Create( void* _data, int _type, TSize(_width,_height), int _depth );
-TClass(wxBitmap) wxBitmap_CreateDefault(  );
-TClass(wxBitmap) wxBitmap_CreateEmpty( TSize(_width,_height), int _depth );
-TClass(wxBitmap) wxBitmap_CreateFromXPM( TSelf(wxBitmap) data );
-TClass(wxBitmap) wxBitmap_CreateLoad( TStringVoid name, int type );
-void       wxBitmap_Delete( TSelf(wxBitmap) _obj );
-void*      wxBitmap_FindHandlerByExtension( TSelf(wxBitmap) extension, int type );
-void*      wxBitmap_FindHandlerByName( TStringVoid name );
-void*      wxBitmap_FindHandlerByType( int type );
-int        wxBitmap_GetDepth( TSelf(wxBitmap) _obj );
-int        wxBitmap_GetHeight( TSelf(wxBitmap) _obj );
-TClass(wxMask) wxBitmap_GetMask( TSelf(wxBitmap) _obj );
-void       wxBitmap_GetSubBitmap( TSelf(wxBitmap) _obj, TRect(x,y,w,h), TClassRef(wxBitmap) _ref );
-int        wxBitmap_GetWidth( TSelf(wxBitmap) _obj );
-void       wxBitmap_InitStandardHandlers(  );
-void       wxBitmap_InsertHandler( TClass(wxEvtHandler) handler );
-int        wxBitmap_LoadFile( TSelf(wxBitmap) _obj, TStringVoid name, int type );
-TBool      wxBitmap_Ok( TSelf(wxBitmap) _obj );
-int        wxBitmap_RemoveHandler( TStringVoid name );
-int        wxBitmap_SaveFile( TSelf(wxBitmap) _obj, TStringVoid name, int type, TClass(wxPalette) cmap );
-void       wxBitmap_SetDepth( TSelf(wxBitmap) _obj, int d );
-void       wxBitmap_SetHeight( TSelf(wxBitmap) _obj, int h );
-void       wxBitmap_SetMask( TSelf(wxBitmap) _obj, TClass(wxMask) mask );
-void       wxBitmap_SetWidth( TSelf(wxBitmap) _obj, int w );
-
-/* wxBitmapButton */
-TClassDefExtend(wxBitmapButton,wxButton)
-TClass(wxBitmapButton) wxBitmapButton_Create( TClass(wxWindow) _prt, int _id, TClass(wxBitmap) _bmp, TRect(_lft,_top,_wdt,_hgt), int _stl );
-void       wxBitmapButton_GetBitmapDisabled( TSelf(wxBitmapButton) _obj, TClassRef(wxBitmap) _ref );
-void       wxBitmapButton_GetBitmapFocus( TSelf(wxBitmapButton) _obj, TClassRef(wxBitmap) _ref );
-void       wxBitmapButton_GetBitmapLabel( TSelf(wxBitmapButton) _obj, TClassRef(wxBitmap) _ref );
-void       wxBitmapButton_GetBitmapSelected( TSelf(wxBitmapButton) _obj, TClassRef(wxBitmap) _ref );
-int        wxBitmapButton_GetMarginX( TSelf(wxBitmapButton) _obj );
-int        wxBitmapButton_GetMarginY( TSelf(wxBitmapButton) _obj );
-void       wxBitmapButton_SetBitmapDisabled( TSelf(wxBitmapButton) _obj, TClass(wxBitmap) disabled );
-void       wxBitmapButton_SetBitmapFocus( TSelf(wxBitmapButton) _obj, TClass(wxBitmap) focus );
-void       wxBitmapButton_SetBitmapLabel( TSelf(wxBitmapButton) _obj, TClass(wxBitmap) bitmap );
-void       wxBitmapButton_SetBitmapSelected( TSelf(wxBitmapButton) _obj, TClass(wxBitmap) sel );
-void       wxBitmapButton_SetMargins( TSelf(wxBitmapButton) _obj, TPoint(x,y) );
-
-/* wxBitmapDataObject */
-TClassDefExtend(wxBitmapDataObject,wxDataObjectSimple)
-TClass(wxBitmapDataObject) BitmapDataObject_Create( TClass(wxBitmap) _bmp );
-TClass(wxBitmapDataObject) BitmapDataObject_CreateEmpty(  );
-void       BitmapDataObject_Delete( TSelf(wxBitmapDataObject) _obj );
-void       BitmapDataObject_GetBitmap( TSelf(wxBitmapDataObject) _obj, TClassRef(wxBitmap) _bmp );
-void       BitmapDataObject_SetBitmap( TSelf(wxBitmapDataObject) _obj, TClass(wxBitmap) _bmp );
-
-/* wxBitmapHandler */
-TClassDefExtend(wxBitmapHandler,wxObject)
-
-/* wxBoxSizer */
-TClassDefExtend(wxBoxSizer,wxSizer)
-void       wxBoxSizer_CalcMin( TSelf(wxBoxSizer) _obj, TSizeOutVoid(_w,_h) );
-TClass(wxBoxSizer) wxBoxSizer_Create( int orient );
-int        wxBoxSizer_GetOrientation( TSelf(wxBoxSizer) _obj );
-void       wxBoxSizer_RecalcSizes( TSelf(wxBoxSizer) _obj );
-
-/* wxBrush */
-TClassDefExtend(wxBrush,wxGDIObject)
-void       wxBrush_Assign( TSelf(wxBrush) _obj, TClass(wxBrush) brush );
-TClass(wxBrush) wxBrush_CreateDefault(  );
-TClass(wxBrush) wxBrush_CreateFromBitmap( TClass(wxBitmap) bitmap );
-TClass(wxBrush) wxBrush_CreateFromColour( TClass(wxColour) col, int style );
-TClass(wxBrush) wxBrush_CreateFromStock( int id );
-void       wxBrush_Delete( TSelf(wxBrush) _obj );
-void       wxBrush_GetColour( TSelf(wxBrush) _obj, TClassRef(wxColour) _ref );
-void       wxBrush_GetStipple( TSelf(wxBrush) _obj, TClassRef(wxBitmap) _ref );
-int        wxBrush_GetStyle( TSelf(wxBrush) _obj );
-TBool      wxBrush_IsEqual( TSelf(wxBrush) _obj, TClass(wxBrush) brush );
-TBool      wxBrush_Ok( TSelf(wxBrush) _obj );
-void       wxBrush_SetColour( TSelf(wxBrush) _obj, TClass(wxColour) col );
-void       wxBrush_SetColourSingle( TSelf(wxBrush) _obj, TChar r, TChar g, TChar b );
-void       wxBrush_SetStipple( TSelf(wxBrush) _obj, TClass(wxBitmap) stipple );
-void       wxBrush_SetStyle( TSelf(wxBrush) _obj, int style );
-
-/* wxBrushList */
-TClassDefExtend(wxBrushList,wxList)
-
-/* wxBufferedDC */
-TClassDefExtend(wxBufferedDC,wxDC)
-TClass(wxBufferedDC) wxBufferedDC_CreateByDCAndSize( TClass(wxDC) dc, TSize(width, hight), int style );
-TClass(wxBufferedDC) wxBufferedDC_CreateByDCAndBitmap( TClass(wxDC) dc, TClass(wxBitmap) bitmap, int style );
-void       wxBufferedDC_Delete( TSelf(wxBufferedDC) self );
-
-/* wxBufferedPaintDC */
-TClassDefExtend(wxBufferedPaintDC,wxDC)
-TClass(wxBufferedPaintDC) wxBufferedPaintDC_Create( TClass(wxWindow) window, int style );
-TClass(wxBufferedPaintDC) wxBufferedPaintDC_CreateWithBitmap( TClass(wxWindow) window, TClass(wxBitmap) bitmap, int style );
-void       wxBufferedPaintDC_Delete( TSelf(wxBufferedPaintDC) self );
-
-/* wxBufferedInputStream */
-TClassDefExtend(wxBufferedInputStream,wxFilterInputStream)
-
-/* wxBufferedOutputStream */
-TClassDefExtend(wxBufferedOutputStream,wxFilterOutputStream)
-
-/* wxBusyCursor */
-TClassDef(wxBusyCursor)
-TClass(wxBusyCursor) wxBusyCursor_Create(  );
-void*      wxBusyCursor_CreateWithCursor( TSelf(wxBusyCursor) _cur );
-void       wxBusyCursor_Delete( TSelf(wxBusyCursor) _obj );
-
-/* wxBusyInfo */
-TClassDef(wxBusyInfo)
-TClass(wxBusyInfo) wxBusyInfo_Create( TStringVoid _txt );
-void       wxBusyInfo_Delete( TSelf(wxBusyInfo) _obj );
-
-/* wxButton */
-TClassDefExtend(wxButton,wxControl)
-TClass(wxButton) wxButton_Create( TClass(wxWindow) _prt, int _id, TString _txt, TRect(_lft,_top,_wdt,_hgt), int _stl );
-int        wxButton_SetBackgroundColour( TSelf(wxButton) _obj, TClass(wxColour) colour );
-void       wxButton_SetDefault( TSelf(wxButton) _obj );
-
-/* wxCSConv */
-TClassDefExtend(wxCSConv,wxMBConv)
-
-/* wxCalculateLayoutEvent */
-TClassDefExtend(wxCalculateLayoutEvent,wxEvent)
-TClass(wxCalculateLayoutEvent) wxCalculateLayoutEvent_Create( int id );
-int        wxCalculateLayoutEvent_GetFlags( TSelf(wxCalculateLayoutEvent) _obj );
-void       wxCalculateLayoutEvent_GetRect( TSelf(wxCalculateLayoutEvent) _obj, TRectOutVoid(_x,_y,_w,_h) );
-void       wxCalculateLayoutEvent_SetFlags( TSelf(wxCalculateLayoutEvent) _obj, int flags );
-void       wxCalculateLayoutEvent_SetRect( TSelf(wxCalculateLayoutEvent) _obj, TRect(x,y,w,h) );
-
-/* wxCalendarCtrl */
-TClassDefExtend(wxCalendarCtrl,wxControl)
-TClass(wxCalendarCtrl) wxCalendarCtrl_Create( TClass(wxWindow) _prt, int _id, void* _dat, TRect(_lft,_top,_wdt,_hgt), int _stl );
-void       wxCalendarCtrl_EnableHolidayDisplay( TSelf(wxCalendarCtrl) _obj, int display );
-void       wxCalendarCtrl_EnableMonthChange( TSelf(wxCalendarCtrl) _obj, TBool enable );
-void       wxCalendarCtrl_EnableYearChange( TSelf(wxCalendarCtrl) _obj, TBool enable );
-void*      wxCalendarCtrl_GetAttr( TSelf(wxCalendarCtrl) _obj, int day );
-void       wxCalendarCtrl_GetDate( TSelf(wxCalendarCtrl) _obj, void* date );
-void       wxCalendarCtrl_GetHeaderColourBg( TSelf(wxCalendarCtrl) _obj, TClassRef(wxColour) _ref );
-void       wxCalendarCtrl_GetHeaderColourFg( TSelf(wxCalendarCtrl) _obj, TClassRef(wxColour) _ref );
-void       wxCalendarCtrl_GetHighlightColourBg( TSelf(wxCalendarCtrl) _obj, TClassRef(wxColour) _ref );
-void       wxCalendarCtrl_GetHighlightColourFg( TSelf(wxCalendarCtrl) _obj, TClassRef(wxColour) _ref );
-void       wxCalendarCtrl_GetHolidayColourBg( TSelf(wxCalendarCtrl) _obj, TClassRef(wxColour) _ref );
-void       wxCalendarCtrl_GetHolidayColourFg( TSelf(wxCalendarCtrl) _obj, TClassRef(wxColour) _ref );
-int        wxCalendarCtrl_HitTest( TSelf(wxCalendarCtrl) _obj, TPoint(x,y), void* date, void* wd );
-void       wxCalendarCtrl_ResetAttr( TSelf(wxCalendarCtrl) _obj, int day );
-void       wxCalendarCtrl_SetAttr( TSelf(wxCalendarCtrl) _obj, int day, void* attr );
-void       wxCalendarCtrl_SetDate( TSelf(wxCalendarCtrl) _obj, void* date );
-void       wxCalendarCtrl_SetHeaderColours( TSelf(wxCalendarCtrl) _obj, void* colFg, void* colBg );
-void       wxCalendarCtrl_SetHighlightColours( TSelf(wxCalendarCtrl) _obj, void* colFg, void* colBg );
-void       wxCalendarCtrl_SetHoliday( TSelf(wxCalendarCtrl) _obj, int day );
-void       wxCalendarCtrl_SetHolidayColours( TSelf(wxCalendarCtrl) _obj, void* colFg, void* colBg );
-
-/* wxCalendarDateAttr */
-TClassDef(wxCalendarDateAttr)
-TClass(wxCalendarDateAttr) wxCalendarDateAttr_Create( void* _ctxt, void* _cbck, void* _cbrd, void* _fnt, int _brd );
-TClass(wxCalendarDateAttr) wxCalendarDateAttr_CreateDefault(  );
-void       wxCalendarDateAttr_Delete( TSelf(wxCalendarDateAttr) _obj );
-void       wxCalendarDateAttr_GetBackgroundColour( TSelf(wxCalendarDateAttr) _obj, TClassRef(wxColour) _ref );
-int        wxCalendarDateAttr_GetBorder( TSelf(wxCalendarDateAttr) _obj );
-void       wxCalendarDateAttr_GetBorderColour( TSelf(wxCalendarDateAttr) _obj, TClassRef(wxColour) _ref );
-void       wxCalendarDateAttr_GetFont( TSelf(wxCalendarDateAttr) _obj, TClassRef(wxFont) _ref );
-void       wxCalendarDateAttr_GetTextColour( TSelf(wxCalendarDateAttr) _obj, TClassRef(wxColour) _ref );
-TBool      wxCalendarDateAttr_HasBackgroundColour( TSelf(wxCalendarDateAttr) _obj );
-TBool      wxCalendarDateAttr_HasBorder( TSelf(wxCalendarDateAttr) _obj );
-TBool      wxCalendarDateAttr_HasBorderColour( TSelf(wxCalendarDateAttr) _obj );
-TBool      wxCalendarDateAttr_HasFont( TSelf(wxCalendarDateAttr) _obj );
-TBool      wxCalendarDateAttr_HasTextColour( TSelf(wxCalendarDateAttr) _obj );
-TBool      wxCalendarDateAttr_IsHoliday( TSelf(wxCalendarDateAttr) _obj );
-void       wxCalendarDateAttr_SetBackgroundColour( TSelf(wxCalendarDateAttr) _obj, TClass(wxColour) col );
-void       wxCalendarDateAttr_SetBorder( TSelf(wxCalendarDateAttr) _obj, int border );
-void       wxCalendarDateAttr_SetBorderColour( TSelf(wxCalendarDateAttr) _obj, TClass(wxColour) col );
-void       wxCalendarDateAttr_SetFont( TSelf(wxCalendarDateAttr) _obj, TClass(wxFont) font );
-void       wxCalendarDateAttr_SetHoliday( TSelf(wxCalendarDateAttr) _obj, int holiday );
-void       wxCalendarDateAttr_SetTextColour( TSelf(wxCalendarDateAttr) _obj, TClass(wxColour) col );
-
-/* wxCalendarEvent */
-TClassDefExtend(wxCalendarEvent,wxCommandEvent)
-void       wxCalendarEvent_GetDate( TSelf(wxCalendarEvent) _obj, void* _dte );
-int        wxCalendarEvent_GetWeekDay( TSelf(wxCalendarEvent) _obj );
-
-/* wxCaret */
-TClassDef(wxCaret)
-TClass(wxCaret) wxCaret_Create( TClass(wxWindow) _wnd, int _wth, int _hgt );
-int        wxCaret_GetBlinkTime(  );
-void       wxCaret_GetPosition( TSelf(wxCaret) _obj, TPointOutVoid(_x,_y) );
-void       wxCaret_GetSize( TSelf(wxCaret) _obj, TSizeOutVoid(_w,_h) );
-TClass(wxWindow) wxCaret_GetWindow( TSelf(wxCaret) _obj );
-void       wxCaret_Hide( TSelf(wxCaret) _obj );
-TBool      wxCaret_IsOk( TSelf(wxCaret) _obj );
-TBool      wxCaret_IsVisible( TSelf(wxCaret) _obj );
-void       wxCaret_Move( TSelf(wxCaret) _obj, TPoint(x,y) );
-void       wxCaret_SetBlinkTime( int milliseconds );
-void       wxCaret_SetSize( TSelf(wxCaret) _obj, TSize(width,height) );
-void       wxCaret_Show( TSelf(wxCaret) _obj );
-
-/* wxCheckBox */
-TClassDefExtend(wxCheckBox,wxControl)
-TClass(wxCheckBox) wxCheckBox_Create( TClass(wxWindow) _prt, int _id, TString _txt, TRect(_lft,_top,_wdt,_hgt), int _stl );
-TBoolInt   wxCheckBox_GetValue( TSelf(wxCheckBox) _obj );
-void       wxCheckBox_SetValue( TSelf(wxCheckBox) _obj, TBoolInt value );
-
-/* wxCheckListBox */
-TClassDefExtend(wxCheckListBox,wxListBox)
-void       wxCheckListBox_Check( TSelf(wxCheckListBox) _obj, int item, TBool check );
-TClass(wxCheckListBox) wxCheckListBox_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), TArrayString(n,str), int _stl );
-TBool      wxCheckListBox_IsChecked( TSelf(wxCheckListBox) _obj, int item );
-
-/* wxChoice */
-TClassDefExtend(wxChoice,wxControl)
-void       wxChoice_Append( TSelf(wxChoice) _obj, TString item );
-void       wxChoice_Clear( TSelf(wxChoice) _obj );
-TClass(wxChoice) wxChoice_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), TArrayString(n,str), int _stl );
-void       wxChoice_Delete( TSelf(wxChoice) _obj, int n );
-int        wxChoice_FindString( TSelf(wxChoice) _obj, TString s );
-int        wxChoice_GetCount( TSelf(wxChoice) _obj );
-int        wxChoice_GetSelection( TSelf(wxChoice) _obj );
-TStringLen wxChoice_GetString( TSelf(wxChoice) _obj, int n, TStringOutVoid _buf );
-void       wxChoice_SetSelection( TSelf(wxChoice) _obj, int n );
-void       wxChoice_SetString( TSelf(wxChoice) _obj, int n, TString s );
-
-/* wxClassInfo */
-TClassDef(wxClassInfo)
-void*      wxClassInfo_CreateClassByName( TSelf(wxClassInfo) _inf );
-void*      wxClassInfo_GetClassName( TSelf(wxClassInfo) _inf );
-TBool      wxClassInfo_IsKindOf( TSelf(wxClassInfo) _obj, TStringVoid _name );
-
-/* wxClient */
-TClassDefExtend(wxClient,wxClientBase)
-
-/* wxClientBase */
-TClassDefExtend(wxClientBase,wxObject)
-
-/* wxClientDC */
-TClassDefExtend(wxClientDC,wxWindowDC)
-TClass(wxClientDC) wxClientDC_Create( TClass(wxWindow) win );
-void       wxClientDC_Delete( TSelf(wxClientDC) _obj );
-
-/* wxClientData */
-TClassDef(wxClientData)
-
-/* wxClientDataContainer */
-TClassDef(wxClientDataContainer)
-
-/* wxClipboard */
-TClassDefExtend(wxClipboard,wxObject)
-int        wxClipboard_AddData( TSelf(wxClipboard) _obj, TClass(wxDataObject) data );
-void       wxClipboard_Clear( TSelf(wxClipboard) _obj );
-void       wxClipboard_Close( TSelf(wxClipboard) _obj );
-TClass(wxClipboard) wxClipboard_Create(  );
-int        wxClipboard_Flush( TSelf(wxClipboard) _obj );
-int        wxClipboard_GetData( TSelf(wxClipboard) _obj, TClass(wxDataObject) data );
-TBool      wxClipboard_IsOpened( TSelf(wxClipboard) _obj );
-TBool      wxClipboard_IsSupported( TSelf(wxClipboard) _obj, TClass(wxDataFormat) format );
-int        wxClipboard_Open( TSelf(wxClipboard) _obj );
-int        wxClipboard_SetData( TSelf(wxClipboard) _obj, TClass(wxDataObject) data );
-void       wxClipboard_UsePrimarySelection( TSelf(wxClipboard) _obj, int primary );
-
-/* wxCloseEvent */
-TClassDefExtend(wxCloseEvent,wxEvent)
-TBool      wxCloseEvent_CanVeto( TSelf(wxCloseEvent) _obj );
-void       wxCloseEvent_CopyObject( TSelf(wxCloseEvent) _obj, void* obj );
-int        wxCloseEvent_GetLoggingOff( TSelf(wxCloseEvent) _obj );
-int        wxCloseEvent_GetVeto( TSelf(wxCloseEvent) _obj );
-void       wxCloseEvent_SetCanVeto( TSelf(wxCloseEvent) _obj, int canVeto );
-void       wxCloseEvent_SetLoggingOff( TSelf(wxCloseEvent) _obj, int logOff );
-void       wxCloseEvent_Veto( TSelf(wxCloseEvent) _obj, int veto );
-
-/* wxClosure */
-TClassDefExtend(wxClosure,wxObject)
-
-/* wxColour */
-TClassDefExtend(wxColour,wxObject)
-void       wxColour_Assign( TSelf(wxColour) _obj, void* other );
-TChar      wxColour_Blue( TSelf(wxColour) _obj );
-void       wxColour_Copy( TSelf(wxColour) _obj, void* _other );
-void*      wxColour_CreateByName( TStringVoid _name );
-TClass(wxColour) wxColour_CreateEmpty(  );
-TClass(wxColour) wxColour_CreateFromStock( int id );
-void*      wxColour_CreateRGB( TChar _red, TChar _green, TChar _blue );
-void       wxColour_Delete( TSelf(wxColour) _obj );
-//WXCOLORREF wxColour_GetPixel( TSelf(wxColour) _obj );
-TChar      wxColour_Green( TSelf(wxColour) _obj );
-TBool      wxColour_Ok( TSelf(wxColour) _obj );
-TChar      wxColour_Red( TSelf(wxColour) _obj );
-void       wxColour_Set( TSelf(wxColour) _obj, TChar _red, TChar _green, TChar _blue );
-void       wxColour_SetByName( TSelf(wxColour) _obj, TStringVoid _name );
-TBoolInt   wxColour_ValidName( TStringVoid _name );
-
-/* wxColourData */
-TClassDefExtend(wxColourData,wxObject)
-TClass(wxColourData) wxColourData_Create(  );
-void       wxColourData_Delete( TSelf(wxColourData) _obj );
-int        wxColourData_GetChooseFull( TSelf(wxColourData) _obj );
-void       wxColourData_GetColour( TSelf(wxColourData) _obj, TClassRef(wxColour) _ref );
-void       wxColourData_GetCustomColour( TSelf(wxColourData) _obj, int i, TClassRef(wxColour) _ref );
-void       wxColourData_SetChooseFull( TSelf(wxColourData) _obj, int flag );
-void       wxColourData_SetColour( TSelf(wxColourData) _obj, TClass(wxColour) colour );
-void       wxColourData_SetCustomColour( TSelf(wxColourData) _obj, int i, TClass(wxColour) colour );
-
-/* wxColourDatabase */
-TClassDefExtend(wxColourDatabase,wxList)
-
-/* wxColourDialog */
-TClassDefExtend(wxColourDialog,wxDialog)
-TClass(wxColourDialog) wxColourDialog_Create( TClass(wxWindow) _prt, TClass(wxColour) col );
-void       wxColourDialog_GetColourData( TSelf(wxColourDialog) _obj, TClassRef(wxColour) _ref );
-
-/* wxComboBox */
-TClassDefExtend(wxComboBox,wxChoice)
-void       wxComboBox_Append( TSelf(wxComboBox) _obj, TString item );
-void       wxComboBox_AppendData( TSelf(wxComboBox) _obj, TString item, void* d );
-void       wxComboBox_Clear( TSelf(wxComboBox) _obj );
-void       wxComboBox_Copy( TSelf(wxComboBox) _obj );
-TClass(wxComboBox) wxComboBox_Create( TClass(wxWindow) _prt, int _id, TStringVoid _txt, TRect(_lft,_top,_wdt,_hgt), TArrayString(n,str), int _stl );
-void       wxComboBox_Cut( TSelf(wxComboBox) _obj );
-void       wxComboBox_Delete( TSelf(wxComboBox) _obj, int n );
-int        wxComboBox_FindString( TSelf(wxComboBox) _obj, TString s );
-TClass(wxClientData) wxComboBox_GetClientData( TSelf(wxComboBox) _obj, int n );
-int        wxComboBox_GetCount( TSelf(wxComboBox) _obj );
-int        wxComboBox_GetInsertionPoint( TSelf(wxComboBox) _obj );
-int        wxComboBox_GetLastPosition( TSelf(wxComboBox) _obj );
-int        wxComboBox_GetSelection( TSelf(wxComboBox) _obj );
-TStringLen wxComboBox_GetString( TSelf(wxComboBox) _obj, int n, TStringOutVoid _buf );
-TStringLen wxComboBox_GetStringSelection( TSelf(wxComboBox) _obj, TStringOutVoid _buf );
-TStringLen wxComboBox_GetValue( TSelf(wxComboBox) _obj, TStringOutVoid _buf );
-void       wxComboBox_Paste( TSelf(wxComboBox) _obj );
-void       wxComboBox_Remove( TSelf(wxComboBox) _obj, int from, int to );
-void       wxComboBox_Replace( TSelf(wxComboBox) _obj, int from, int to, TString value );
-void       wxComboBox_SetClientData( TSelf(wxComboBox) _obj, int n, TClass(wxClientData) clientData );
-void       wxComboBox_SetEditable( TSelf(wxComboBox) _obj, TBool editable );
-void       wxComboBox_SetInsertionPoint( TSelf(wxComboBox) _obj, int pos );
-void       wxComboBox_SetInsertionPointEnd( TSelf(wxComboBox) _obj );
-void       wxComboBox_SetSelection( TSelf(wxComboBox) _obj, int n );
-void       wxComboBox_SetTextSelection( TSelf(wxComboBox) _obj, int from, int to );
-
-/* wxCommand */
-TClassDefExtend(wxCommand,wxObject)
-
-/* wxCommandEvent */
-TClassDefExtend(wxCommandEvent,wxEvent)
-void       wxCommandEvent_CopyObject( TSelf(wxCommandEvent) _obj, void* object_dest );
-TClass(wxCommandEvent) wxCommandEvent_Create( int _typ, int _id );
-void       wxCommandEvent_Delete( TSelf(wxCommandEvent) _obj );
-TClass(wxClientData) wxCommandEvent_GetClientData( TSelf(wxCommandEvent) _obj );
-TClass(wxClientData) wxCommandEvent_GetClientObject( TSelf(wxCommandEvent) _obj );
-long       wxCommandEvent_GetExtraLong( TSelf(wxCommandEvent) _obj );
-long       wxCommandEvent_GetInt( TSelf(wxCommandEvent) _obj );
-int        wxCommandEvent_GetSelection( TSelf(wxCommandEvent) _obj );
-TStringLen wxCommandEvent_GetString( TSelf(wxCommandEvent) _obj, TStringOutVoid _buf );
-TBool      wxCommandEvent_IsChecked( TSelf(wxCommandEvent) _obj );
-TBool      wxCommandEvent_IsSelection( TSelf(wxCommandEvent) _obj );
-void       wxCommandEvent_SetClientData( TSelf(wxCommandEvent) _obj, TClass(wxClientData) clientData );
-void       wxCommandEvent_SetClientObject( TSelf(wxCommandEvent) _obj, TClass(wxClientData) clientObject );
-void       wxCommandEvent_SetExtraLong( TSelf(wxCommandEvent) _obj, long extraLong );
-void       wxCommandEvent_SetInt( TSelf(wxCommandEvent) _obj, int i );
-void       wxCommandEvent_SetString( TSelf(wxCommandEvent) _obj, TString s );
-
-/* wxCommandLineParser */
-TClassDef(wxCommandLineParser)
-
-/* wxCommandProcessor */
-TClassDefExtend(wxCommandProcessor,wxObject)
-TBool      wxCommandProcessor_CanRedo( TSelf(wxCommandProcessor) _obj );
-TBool      wxCommandProcessor_CanUndo( TSelf(wxCommandProcessor) _obj );
-void       wxCommandProcessor_ClearCommands( TSelf(wxCommandProcessor) _obj );
-void       wxCommandProcessor_Delete( TSelf(wxCommandProcessor) _obj );
-int        wxCommandProcessor_GetCommands( TSelf(wxCommandProcessor) _obj, void* _ref );
-void*      wxCommandProcessor_GetEditMenu( TSelf(wxCommandProcessor) _obj );
-int        wxCommandProcessor_GetMaxCommands( TSelf(wxCommandProcessor) _obj );
-void       wxCommandProcessor_Initialize( TSelf(wxCommandProcessor) _obj );
-int        wxCommandProcessor_Redo( TSelf(wxCommandProcessor) _obj );
-void       wxCommandProcessor_SetEditMenu( TSelf(wxCommandProcessor) _obj, TClass(wxMenu) menu );
-void       wxCommandProcessor_SetMenuStrings( TSelf(wxCommandProcessor) _obj );
-int        wxCommandProcessor_Submit( TSelf(wxCommandProcessor) _obj, TClass(wxCommand) command, int storeIt );
-int        wxCommandProcessor_Undo( TSelf(wxCommandProcessor) _obj );
-void*      wxCommandProcessor_wxCommandProcessor( int maxCommands );
-
-/* wxCondition */
-TClassDef(wxCondition)
-void       wxCondition_Broadcast( TSelf(wxCondition) _obj );
-TClass(wxCondition) wxCondition_Create( void* _mut );
-void       wxCondition_Delete( TSelf(wxCondition) _obj );
-void       wxCondition_Signal( TSelf(wxCondition) _obj );
-void       wxCondition_Wait( TSelf(wxCondition) _obj );
-int        wxCondition_WaitFor( TSelf(wxCondition) _obj, int sec, int nsec );
-
-/* wxConfigBase */
-TClassDef(wxConfigBase)
-TClass(wxConfigBase) wxConfigBase_Create(  );
-void       wxConfigBase_Delete( TSelf(wxConfigBase) _obj );
-TBool      wxConfigBase_DeleteAll( TSelf(wxConfigBase) _obj );
-TBool      wxConfigBase_DeleteEntry( TSelf(wxConfigBase) _obj, TStringVoid key, TBoolInt bDeleteGroupIfEmpty );
-TBool      wxConfigBase_DeleteGroup( TSelf(wxConfigBase) _obj, TStringVoid key );
-TBool      wxConfigBase_Exists( TSelf(wxConfigBase) _obj, TStringVoid strName );
-TStringLen wxConfigBase_ExpandEnvVars( TSelf(wxConfigBase) _obj, TStringVoid str, TStringOutVoid _buf );
-TBool      wxConfigBase_Flush( TSelf(wxConfigBase) _obj, TBool bCurrentOnly );
-TStringLen wxConfigBase_GetAppName( TSelf(wxConfigBase) _obj, TStringOutVoid _buf );
-int        wxConfigBase_GetEntryType( TSelf(wxConfigBase) _obj, TStringVoid name );
-TClass(wxString) wxConfigBase_GetFirstEntry( TSelf(wxConfigBase) _obj, void* lIndex );
-TClass(wxString) wxConfigBase_GetFirstGroup( TSelf(wxConfigBase) _obj, void* lIndex );
-TClass(wxString) wxConfigBase_GetNextEntry( TSelf(wxConfigBase) _obj, void* lIndex);
-TClass(wxString) wxConfigBase_GetNextGroup( TSelf(wxConfigBase) _obj, void* lIndex);
-int        wxConfigBase_GetNumberOfEntries( TSelf(wxConfigBase) _obj, TBoolInt bRecursive );
-int        wxConfigBase_GetNumberOfGroups( TSelf(wxConfigBase) _obj, TBoolInt bRecursive );
-TStringLen wxConfigBase_GetPath( TSelf(wxConfigBase) _obj, TStringOutVoid _buf );
-int        wxConfigBase_GetStyle( TSelf(wxConfigBase) _obj );
-TStringLen wxConfigBase_GetVendorName( TSelf(wxConfigBase) _obj, TStringOutVoid _buf );
-TBool      wxConfigBase_HasEntry( TSelf(wxConfigBase) _obj, TStringVoid strName );
-TBool      wxConfigBase_HasGroup( TSelf(wxConfigBase) _obj, TStringVoid strName );
-TBool      wxConfigBase_IsExpandingEnvVars( TSelf(wxConfigBase) _obj );
-TBool      wxConfigBase_IsRecordingDefaults( TSelf(wxConfigBase) _obj );
-TBoolInt   wxConfigBase_ReadBool( TSelf(wxConfigBase) _obj, TStringVoid key, TBoolInt defVal );
-double     wxConfigBase_ReadDouble( TSelf(wxConfigBase) _obj, TStringVoid key, double defVal );
-int        wxConfigBase_ReadInteger( TSelf(wxConfigBase) _obj, TStringVoid key, int defVal );
-TClass(wxString) wxConfigBase_ReadString( TSelf(wxConfigBase) _obj, TStringVoid key, TStringVoid defVal );
-TBoolInt   wxConfigBase_RenameEntry( TSelf(wxConfigBase) _obj, TStringVoid oldName, TStringVoid newName );
-TBoolInt   wxConfigBase_RenameGroup( TSelf(wxConfigBase) _obj, TStringVoid oldName, TStringVoid newName );
-void       wxConfigBase_SetAppName( TSelf(wxConfigBase) _obj, TStringVoid appName );
-void       wxConfigBase_SetExpandEnvVars( TSelf(wxConfigBase) _obj, TBoolInt bDoIt );
-void       wxConfigBase_SetPath( TSelf(wxConfigBase) _obj, TStringVoid strPath );
-void       wxConfigBase_SetRecordDefaults( TSelf(wxConfigBase) _obj, TBoolInt bDoIt );
-void       wxConfigBase_SetStyle( TSelf(wxConfigBase) _obj, int style );
-void       wxConfigBase_SetVendorName( TSelf(wxConfigBase) _obj, TStringVoid vendorName );
-TBoolInt   wxConfigBase_WriteBool( TSelf(wxConfigBase) _obj, TStringVoid key, TBoolInt value );
-TBoolInt   wxConfigBase_WriteDouble( TSelf(wxConfigBase) _obj, TStringVoid key, double value );
-TBoolInt   wxConfigBase_WriteInteger( TSelf(wxConfigBase) _obj, TStringVoid key, int value );
-TBoolInt   wxConfigBase_WriteString( TSelf(wxConfigBase) _obj, TStringVoid key, TStringVoid value );
-
-/* wxConnection */
-TClassDefExtend(wxConnection,wxConnectionBase)
-
-/* wxConnectionBase */
-TClassDefExtend(wxConnectionBase,wxObject)
-
-/* wxContextHelp */
-TClassDefExtend(wxContextHelp,wxObject)
-int        wxContextHelp_BeginContextHelp( TSelf(wxContextHelp) _obj, TClass(wxWindow) win );
-TClass(wxContextHelp) wxContextHelp_Create( TClass(wxWindow) win, int beginHelp );
-void       wxContextHelp_Delete( TSelf(wxContextHelp) _obj );
-int        wxContextHelp_EndContextHelp( TSelf(wxContextHelp) _obj );
-
-/* wxContextHelpButton */
-TClassDefExtend(wxContextHelpButton,wxBitmapButton)
-TClass(wxContextHelpButton) wxContextHelpButton_Create( TClass(wxWindow) parent, int id, TRect(x,y,w,h), long style );
-
-/* wxControl */
-TClassDefExtend(wxControl,wxWindow)
-void       wxControl_Command( TSelf(wxControl) _obj, TClass(wxEvent) event );
-TStringLen wxControl_GetLabel( TSelf(wxControl) _obj, TStringOutVoid _buf );
-void       wxControl_SetLabel( TSelf(wxControl) _obj, TString text );
-
-/* wxCountingOutputStream */
-TClassDefExtend(wxCountingOutputStream,wxOutputStream)
-
-/* wxCriticalSection */
-TClassDef(wxCriticalSection)
-TClass(wxCriticalSection) wxCriticalSection_Create(  );
-void       wxCriticalSection_Delete( TSelf(wxCriticalSection) _obj );
-void       wxCriticalSection_Enter( TSelf(wxCriticalSection) _obj );
-void       wxCriticalSection_Leave( TSelf(wxCriticalSection) _obj );
-
-/* wxCriticalSectionLocker */
-TClassDef(wxCriticalSectionLocker)
-
-/* wxCursor */
-TClassDefExtend(wxCursor,wxBitmap)
-TClass(wxCursor)  Cursor_CreateFromStock( int _id );
-TClass(wxCursor)  Cursor_CreateFromImage( TClass(wxImage) image );
-TClass(wxCursor)  Cursor_CreateLoad( TStringVoid name, long type, TSize(width,height) );
-
-/* wxCustomDataObject */
-TClassDefExtend(wxCustomDataObject,wxDataObjectSimple)
-
-/* wxDC */
-TClassDefExtend(wxDC,wxObject)
-void       wxDC_BeginDrawing( TSelf(wxDC) _obj );
-int        wxDC_Blit( TSelf(wxDC) _obj, TRect(xdest,ydest,width,height), TClass(wxDC) source, TPoint(xsrc,ysrc), int rop, TBool useMask );
-void       wxDC_CalcBoundingBox( TSelf(wxDC) _obj, TPoint(x,y) );
-TBool      wxDC_CanDrawBitmap( TSelf(wxDC) _obj );
-TBool      wxDC_CanGetTextExtent( TSelf(wxDC) _obj );
-void       wxDC_Clear( TSelf(wxDC) _obj );
-void       wxDC_ComputeScaleAndOrigin( TSelf(wxDC) obj );
-void       wxDC_CrossHair( TSelf(wxDC) _obj, TPoint(x,y) );
-void       wxDC_Delete( TSelf(wxDC) _obj );
-void       wxDC_DestroyClippingRegion( TSelf(wxDC) _obj );
-int        wxDC_DeviceToLogicalX( TSelf(wxDC) _obj, int x );
-int        wxDC_DeviceToLogicalXRel( TSelf(wxDC) _obj, int x );
-int        wxDC_DeviceToLogicalY( TSelf(wxDC) _obj, int y );
-int        wxDC_DeviceToLogicalYRel( TSelf(wxDC) _obj, int y );
-void       wxDC_DrawArc( TSelf(wxDC) _obj, TPoint(x1,y1), TPoint(x2,y2), TPoint(xc,yc) );
-void       wxDC_DrawBitmap( TSelf(wxDC) _obj, TClass(wxBitmap) bmp, TPoint(x,y), TBool useMask );
-void       wxDC_DrawCheckMark( TSelf(wxDC) _obj, TRect(x,y,width,height) );
-void       wxDC_DrawCircle( TSelf(wxDC) _obj, TPoint(x,y), int radius );
-void       wxDC_DrawEllipse( TSelf(wxDC) _obj, TRect(x,y,width,height) );
-void       wxDC_DrawEllipticArc( TSelf(wxDC) _obj, TRect(x,y,w,h), double sa, double ea );
-void       wxDC_DrawIcon( TSelf(wxDC) _obj, TClass(wxIcon) icon, TPoint(x,y) );
-void       wxDC_DrawLabel( TSelf(wxDC) _obj, TString str, TRect(x,y,w,h), int align, int indexAccel);
-void       wxDC_DrawLabelBitmap( TSelf(wxDC) _obj, TString str, TClass(wxBitmap) bmp, TRect(x,y,w,h), int align, int indexAccel, int *_x, int *_y, int *_w, int *_h );
-void       wxDC_DrawLine( TSelf(wxDC) _obj, TPoint(x1,y1), TPoint(x2,y2) );
-void       wxDC_DrawLines( TSelf(wxDC) _obj, int n, void* x, void* y, TPoint(xoffset,yoffset) );
-void       wxDC_DrawPoint( TSelf(wxDC) _obj, TPoint(x,y) );
-void       wxDC_DrawPolygon( TSelf(wxDC) _obj, int n, void* x, void* y, TPoint(xoffset,yoffset), int fillStyle );
-void       wxDC_DrawPolyPolygon( TSelf(wxDC) _obj, int n, void *count, void *x, void *y, TPoint(xoffset,yoffset), int fillStyle);
-void       wxDC_DrawRectangle( TSelf(wxDC) _obj, TRect(x,y,width,height) );
-void       wxDC_DrawRotatedText( TSelf(wxDC) _obj, TStringVoid text, TPoint(x,y), double angle );
-void       wxDC_DrawRoundedRectangle( TSelf(wxDC) _obj, TRect(x,y,width,height), double radius );
-void       wxDC_DrawText( TSelf(wxDC) _obj, TStringVoid text, TPoint(x,y) );
-void       wxDC_EndDoc( TSelf(wxDC) _obj );
-void       wxDC_EndDrawing( TSelf(wxDC) _obj );
-void       wxDC_EndPage( TSelf(wxDC) _obj );
-void       wxDC_FloodFill( TSelf(wxDC) _obj, TPoint(x,y), TClass(wxColour) col, int style );
-void       wxDC_GetBackground( TSelf(wxDC) _obj, TClassRef(wxBrush) _ref );
-int        wxDC_GetBackgroundMode( TSelf(wxDC) _obj );
-void       wxDC_GetBrush( TSelf(wxDC) _obj, TClassRef(wxBrush) _ref );
-int        wxDC_GetCharHeight( TSelf(wxDC) _obj );
-int        wxDC_GetCharWidth( TSelf(wxDC) _obj );
-void       wxDC_GetClippingBox( TSelf(wxDC) _obj, TRectOutVoid(_x,_y,_w,_h) );
-int        wxDC_GetDepth( TSelf(wxDC) _obj );
-void       wxDC_GetDeviceOrigin( TSelf(wxDC) _obj, TPointOutVoid(_x,_y) );
-void       wxDC_GetFont( TSelf(wxDC) _obj, TClassRef(wxFont) _ref );
-int        wxDC_GetLogicalFunction( TSelf(wxDC) _obj );
-void       wxDC_GetLogicalOrigin( TSelf(wxDC) _obj, TPointOutVoid(_x,_y) );
-void       wxDC_GetLogicalScale( TSelf(wxDC) _obj, TPointOutVoid(_x,_y) );
-int        wxDC_GetMapMode( TSelf(wxDC) _obj );
-void       wxDC_GetPPI( TSelf(wxDC) _obj, TSizeOutVoid(_w,_h) );
-void       wxDC_GetPen( TSelf(wxDC) _obj, TClassRef(wxPen) _ref );
-TBoolInt   wxDC_GetPixel( TSelf(wxDC) _obj, TPoint(x,y), TClass(wxColour) col );
-void       wxDC_GetSize( TSelf(wxDC) _obj, TSizeOutVoid(_w,_h) );
-void       wxDC_GetSizeMM( TSelf(wxDC) _obj, TSizeOutVoid(_w,_h) );
-void       wxDC_GetTextBackground( TSelf(wxDC) _obj, TClassRef(wxColour) _ref );
-void       wxDC_GetTextExtent( TSelf(wxDC) self, TStringVoid string, void* w, void* h, void* descent, void* externalLeading, TClass(wxFont) theFont );
-void       wxDC_GetMultiLineTextExtent( TSelf(wxDC) self, TStringVoid string, void* w, void* h, void* heightLine, TClass(wxFont) theFont );
-void       wxDC_GetTextForeground( TSelf(wxDC) _obj, TClassRef(wxColour) _ref );
-void       wxDC_GetUserScale( TSelf(wxDC) _obj, void* x, void* y );
-int        wxDC_LogicalToDeviceX( TSelf(wxDC) _obj, int x );
-int        wxDC_LogicalToDeviceXRel( TSelf(wxDC) _obj, int x );
-int        wxDC_LogicalToDeviceY( TSelf(wxDC) _obj, int y );
-int        wxDC_LogicalToDeviceYRel( TSelf(wxDC) _obj, int y );
-int        wxDC_MaxX( TSelf(wxDC) _obj );
-int        wxDC_MaxY( TSelf(wxDC) _obj );
-int        wxDC_MinX( TSelf(wxDC) _obj );
-int        wxDC_MinY( TSelf(wxDC) _obj );
-TBool      wxDC_Ok( TSelf(wxDC) _obj );
-void       wxDC_ResetBoundingBox( TSelf(wxDC) _obj );
-void       wxDC_SetAxisOrientation( TSelf(wxDC) _obj, TBoolInt xLeftRight, TBoolInt yBottomUp );
-void       wxDC_SetBackground( TSelf(wxDC) _obj, TClass(wxBrush) brush );
-void       wxDC_SetBackgroundMode( TSelf(wxDC) _obj, int mode );
-void       wxDC_SetBrush( TSelf(wxDC) _obj, TClass(wxBrush) brush );
-void       wxDC_SetClippingRegion( TSelf(wxDC) _obj, TRect(x,y,width,height) );
-void       wxDC_SetClippingRegionFromRegion( TSelf(wxDC) _obj, TClass(wxRegion) region );
-void       wxDC_SetDeviceOrigin( TSelf(wxDC) _obj, TPoint(x,y) );
-void       wxDC_SetFont( TSelf(wxDC) _obj, TClass(wxFont) font );
-void       wxDC_SetLogicalFunction( TSelf(wxDC) _obj, int function );
-void       wxDC_SetLogicalOrigin( TSelf(wxDC) _obj, TPoint(x,y) );
-void       wxDC_SetLogicalScale( TSelf(wxDC) _obj, double x, double y );
-void       wxDC_SetMapMode( TSelf(wxDC) _obj, int mode );
-void       wxDC_SetPalette( TSelf(wxDC) _obj, TClass(wxPalette) palette );
-void       wxDC_SetPen( TSelf(wxDC) _obj, TClass(wxPen) pen );
-void       wxDC_SetTextBackground( TSelf(wxDC) _obj, TClass(wxColour) colour );
-void       wxDC_SetTextForeground( TSelf(wxDC) _obj, TClass(wxColour) colour );
-void       wxDC_SetUserScale( TSelf(wxDC) _obj, double x, double y );
-int        wxDC_StartDoc( TSelf(wxDC) _obj, TStringVoid msg );
-void       wxDC_StartPage( TSelf(wxDC) _obj );
-
-/* wxDCClipper */
-TClassDef(wxDCClipper)
-
-/* wxDDEClient */
-TClassDefExtend(wxDDEClient,wxClientBase)
-
-/* wxDDEConnection */
-TClassDefExtend(wxDDEConnection,wxConnectionBase)
-
-/* wxDDEServer */
-TClassDefExtend(wxDDEServer,wxServerBase)
-
-/* wxDataFormat */
-TClassDef(wxDataFormat)
-TClass(wxDataFormat) wxDataFormat_CreateFromId( TStringVoid name );
-TClass(wxDataFormat) wxDataFormat_CreateFromType( int typ );
-void       wxDataFormat_Delete( TSelf(wxDataFormat) _obj );
-TStringLen wxDataFormat_GetId( TSelf(wxDataFormat) _obj, TStringOutVoid _buf );
-int        wxDataFormat_GetType( TSelf(wxDataFormat) _obj );
-TBool      wxDataFormat_IsEqual( TSelf(wxDataFormat) _obj, void* other );
-void       wxDataFormat_SetId( TSelf(wxDataFormat) _obj, void* id );
-void       wxDataFormat_SetType( TSelf(wxDataFormat) _obj, int typ );
-
-/* wxDataInputStream */
-TClassDef(wxDataInputStream)
-
-/* wxDataObject */
-TClassDef(wxDataObject)
-
-/* wxDataObjectComposite */
-TClassDefExtend(wxDataObjectComposite,wxDataObject)
-void       wxDataObjectComposite_Add( TSelf(wxDataObjectComposite) _obj, void* _dat, int _preferred );
-TClass(wxDataObjectComposite) wxDataObjectComposite_Create(  );
-void       wxDataObjectComposite_Delete( TSelf(wxDataObjectComposite) _obj );
-
-/* wxDataObjectSimple */
-TClassDefExtend(wxDataObjectSimple,wxDataObject)
-
-/* wxDataOutputStream */
-TClassDef(wxDataOutputStream)
-
-/* wxDatabase */
-TClassDefExtend(wxDatabase,wxObject)
-
-/* wxDateTime */
-TClassDef(wxDateTime)
-void       wxDateTime_AddDate( TSelf(wxDateTime) _obj, void* diff, TClassRef(wxDateTime) _ref );
-void       wxDateTime_AddDateValues( TSelf(wxDateTime) _obj, int _yrs, int _mnt, int _wek, int _day );
-void       wxDateTime_AddTime( TSelf(wxDateTime) _obj, void* diff, TClassRef(wxDateTime) _ref );
-void       wxDateTime_AddTimeValues( TSelf(wxDateTime) _obj, int _hrs, int _min, int _sec, int _mls );
-int        wxDateTime_ConvertYearToBC( int year );
-TClass(wxDateTime) wxDateTime_Create(  );
-TStringLen wxDateTime_Format( TSelf(wxDateTime) _obj, void* format, int tz, TStringOutVoid _buf );
-TStringLen wxDateTime_FormatDate( TSelf(wxDateTime) _obj, TStringOutVoid _buf );
-TStringLen wxDateTime_FormatISODate( TSelf(wxDateTime) _obj, TStringOutVoid _buf );
-TStringLen wxDateTime_FormatISOTime( TSelf(wxDateTime) _obj, TStringOutVoid _buf );
-TStringLen wxDateTime_FormatTime( TSelf(wxDateTime) _obj, TStringOutVoid _buf );
-TStringLen wxDateTime_GetAmString( TStringOutVoid _buf );
-void       wxDateTime_GetBeginDST( int year, int country, TClass(wxDateTime) dt );
-int        wxDateTime_GetCentury( int year );
-int        wxDateTime_GetCountry(  );
-int        wxDateTime_GetCurrentMonth( int cal );
-int        wxDateTime_GetCurrentYear( int cal );
-int        wxDateTime_GetDay( TSelf(wxDateTime) _obj, int tz );
-int        wxDateTime_GetDayOfYear( TSelf(wxDateTime) _obj, int tz );
-void       wxDateTime_GetEndDST( int year, int country, TClass(wxDateTime) dt );
-int        wxDateTime_GetHour( TSelf(wxDateTime) _obj, int tz );
-void       wxDateTime_GetLastMonthDay( TSelf(wxDateTime) _obj, int month, int year, TClassRef(wxDateTime) _ref );
-void       wxDateTime_GetLastWeekDay( TSelf(wxDateTime) _obj, int weekday, int month, int year, TClassRef(wxDateTime) _ref );
-int        wxDateTime_GetMillisecond( TSelf(wxDateTime) _obj, int tz );
-int        wxDateTime_GetMinute( TSelf(wxDateTime) _obj, int tz );
-int        wxDateTime_GetMonth( TSelf(wxDateTime) _obj, int tz );
-TStringLen wxDateTime_GetMonthName( int month, int flags, TStringOutVoid _buf );
-void       wxDateTime_GetNextWeekDay( TSelf(wxDateTime) _obj, int weekday, TClassRef(wxDateTime) _ref );
-int        wxDateTime_GetNumberOfDays( int year, int cal );
-int        wxDateTime_GetNumberOfDaysMonth( int month, int year, int cal );
-TStringLen wxDateTime_GetPmString( TStringOutVoid _buf );
-void       wxDateTime_GetPrevWeekDay( TSelf(wxDateTime) _obj, int weekday, TClassRef(wxDateTime) _ref );
-int        wxDateTime_GetSecond( TSelf(wxDateTime) _obj, int tz );
-time_t     wxDateTime_GetTicks( TSelf(wxDateTime) _obj );
-int        wxDateTime_GetTimeNow(  );
-void       wxDateTime_GetValue( TSelf(wxDateTime) _obj, void* hi_long, void* lo_long );
-void       wxDateTime_GetWeekDay( TSelf(wxDateTime) _obj, int weekday, int n, int month, int year, TClassRef(wxDateTime) _ref );
-void       wxDateTime_GetWeekDayInSameWeek( TSelf(wxDateTime) _obj, int weekday, TClassRef(wxDateTime) _ref );
-TStringLen wxDateTime_GetWeekDayName( int weekday, int flags, TStringOutVoid _buf );
-int        wxDateTime_GetWeekDayTZ( TSelf(wxDateTime) _obj, int tz );
-int        wxDateTime_GetWeekOfMonth( TSelf(wxDateTime) _obj, int flags, int tz );
-int        wxDateTime_GetWeekOfYear( TSelf(wxDateTime) _obj, int flags, int tz );
-int        wxDateTime_GetYear( TSelf(wxDateTime) _obj, int tz );
-TBool      wxDateTime_IsBetween( TSelf(wxDateTime) _obj, TClass(wxDateTime) t1, TClass(wxDateTime) t2 );
-TBool      wxDateTime_IsDST( TSelf(wxDateTime) _obj, int country );
-TBool      wxDateTime_IsDSTApplicable( int year, int country );
-TBool      wxDateTime_IsEarlierThan( TSelf(wxDateTime) _obj, void* datetime );
-TBool      wxDateTime_IsEqualTo( TSelf(wxDateTime) _obj, void* datetime );
-TBool      wxDateTime_IsEqualUpTo( TSelf(wxDateTime) _obj, TClass(wxDateTime) dt, void* ts );
-TBool      wxDateTime_IsGregorianDate( TSelf(wxDateTime) _obj, int country );
-TBool      wxDateTime_IsLaterThan( TSelf(wxDateTime) _obj, void* datetime );
-TBool      wxDateTime_IsLeapYear( int year, int cal );
-TBool      wxDateTime_IsSameDate( TSelf(wxDateTime) _obj, TClass(wxDateTime) dt );
-TBool      wxDateTime_IsSameTime( TSelf(wxDateTime) _obj, TClass(wxDateTime) dt );
-TBool      wxDateTime_IsStrictlyBetween( TSelf(wxDateTime) _obj, TClass(wxDateTime) t1, TClass(wxDateTime) t2 );
-TBool      wxDateTime_IsValid( TSelf(wxDateTime) _obj );
-TBool      wxDateTime_IsWestEuropeanCountry( int country );
-TBool      wxDateTime_IsWorkDay( TSelf(wxDateTime) _obj, int country );
-void       wxDateTime_MakeGMT( TSelf(wxDateTime) _obj, int noDST );
-void       wxDateTime_MakeTimezone( TSelf(wxDateTime) _obj, int tz, int noDST );
-void       wxDateTime_Now( TSelf(wxDateTime) dt );
-void*      wxDateTime_ParseDate( TSelf(wxDateTime) _obj, void* date );
-void*      wxDateTime_ParseDateTime( TSelf(wxDateTime) _obj, void* datetime );
-void*      wxDateTime_ParseFormat( TSelf(wxDateTime) _obj, void* date, void* format, void* dateDef );
-void*      wxDateTime_ParseRfc822Date( TSelf(wxDateTime) _obj, void* date );
-void*      wxDateTime_ParseTime( TSelf(wxDateTime) _obj, TClass(wxTime) time );
-void       wxDateTime_ResetTime( TSelf(wxDateTime) _obj );
-void       wxDateTime_Set( TSelf(wxDateTime) _obj, int day, int month, int year, int hour, int minute, int second, int millisec );
-void       wxDateTime_SetCountry( int country );
-void       wxDateTime_SetDay( TSelf(wxDateTime) _obj, int day );
-void       wxDateTime_SetHour( TSelf(wxDateTime) _obj, int hour );
-void       wxDateTime_SetMillisecond( TSelf(wxDateTime) _obj, int millisecond );
-void       wxDateTime_SetMinute( TSelf(wxDateTime) _obj, int minute );
-void       wxDateTime_SetMonth( TSelf(wxDateTime) _obj, int month );
-void       wxDateTime_SetSecond( TSelf(wxDateTime) _obj, int second );
-void       wxDateTime_SetTime( TSelf(wxDateTime) _obj, int hour, int minute, int second, int millisec );
-void       wxDateTime_SetToCurrent( TSelf(wxDateTime) _obj );
-void       wxDateTime_SetToLastMonthDay( TSelf(wxDateTime) _obj, int month, int year );
-int        wxDateTime_SetToLastWeekDay( TSelf(wxDateTime) _obj, int weekday, int month, int year );
-void       wxDateTime_SetToNextWeekDay( TSelf(wxDateTime) _obj, int weekday );
-void       wxDateTime_SetToPrevWeekDay( TSelf(wxDateTime) _obj, int weekday );
-int        wxDateTime_SetToWeekDay( TSelf(wxDateTime) _obj, int weekday, int n, int month, int year );
-void       wxDateTime_SetToWeekDayInSameWeek( TSelf(wxDateTime) _obj, int weekday );
-void       wxDateTime_SetYear( TSelf(wxDateTime) _obj, int year );
-void       wxDateTime_SubtractDate( TSelf(wxDateTime) _obj, void* diff, TClassRef(wxDateTime) _ref );
-void       wxDateTime_SubtractTime( TSelf(wxDateTime) _obj, void* diff, TClassRef(wxDateTime) _ref );
-void       wxDateTime_ToGMT( TSelf(wxDateTime) _obj, int noDST );
-void       wxDateTime_ToTimezone( TSelf(wxDateTime) _obj, int tz, int noDST );
-void       wxDateTime_Today( TSelf(wxDateTime) dt );
-void       wxDateTime_UNow( TSelf(wxDateTime) dt );
-void*      wxDateTime_wxDateTime( int hi_long, int lo_long );
-
-/* wxDb */
-TClassDef(wxDb)
-
-/* wxDbColDef */
-TClassDef(wxDbColDef)
-
-/* wxDbColFor */
-TClassDef(wxDbColFor)
-
-/* wxDbColInf */
-TClassDef(wxDbColInf)
-
-/* wxDbConnectInf */
-TClassDef(wxDbConnectInf)
-
-/* wxDbInf */
-TClassDef(wxDbInf)
-
-/* wxDbSqlTypeInfo */
-TClassDef(wxDbSqlTypeInfo)
-
-/* wxDbTable */
-TClassDef(wxDbTable)
-
-/* wxDbTableInfo */
-TClassDef(wxDbTableInfo)
-
-/* wxDebugContext */
-TClassDef(wxDebugContext)
-
-/* wxDialUpEvent */
-TClassDefExtend(wxDialUpEvent,wxEvent)
-TBool      wxDialUpEvent_IsConnectedEvent( TSelf(wxDialUpEvent) _obj );
-TBool      wxDialUpEvent_IsOwnEvent( TSelf(wxDialUpEvent) _obj );
-
-/* wxDialUpManager */
-TClassDef(wxDialUpManager)
-TBool      wxDialUpManager_CancelDialing( TSelf(wxDialUpManager) _obj );
-TClass(wxDialUpManager) wxDialUpManager_Create(  );
-void       wxDialUpManager_Delete( TSelf(wxDialUpManager) _obj );
-int        wxDialUpManager_Dial( TSelf(wxDialUpManager) _obj, void* nameOfISP, void* username, void* password, int async );
-void       wxDialUpManager_DisableAutoCheckOnlineStatus( TSelf(wxDialUpManager) _obj );
-int        wxDialUpManager_EnableAutoCheckOnlineStatus( TSelf(wxDialUpManager) _obj, int nSeconds );
-int        wxDialUpManager_GetISPNames( TSelf(wxDialUpManager) _obj, TClass(wxList) _lst );
-int        wxDialUpManager_HangUp( TSelf(wxDialUpManager) _obj );
-TBool      wxDialUpManager_IsAlwaysOnline( TSelf(wxDialUpManager) _obj );
-TBool      wxDialUpManager_IsDialing( TSelf(wxDialUpManager) _obj );
-TBool      wxDialUpManager_IsOk( TSelf(wxDialUpManager) _obj );
-TBool      wxDialUpManager_IsOnline( TSelf(wxDialUpManager) _obj );
-void       wxDialUpManager_SetConnectCommand( TSelf(wxDialUpManager) _obj, void* commandDial, void* commandHangup );
-void       wxDialUpManager_SetOnlineStatus( TSelf(wxDialUpManager) _obj, TBool isOnline );
-void       wxDialUpManager_SetWellKnownHost( TSelf(wxDialUpManager) _obj, void* hostname, int portno );
-
-/* wxDialog */
-TClassDefExtend(wxDialog,wxTopLevelWindow)
-TClass(wxDialog) wxDialog_Create( TClass(wxWindow) _prt, int _id, TString _txt, TRect(_lft,_top,_wdt,_hgt), int _stl );
-void       wxDialog_EndModal( TSelf(wxDialog) _obj, int retCode );
-int        wxDialog_GetReturnCode( TSelf(wxDialog) _obj );
-TBool      wxDialog_IsModal( TSelf(wxDialog) _obj );
-void       wxDialog_SetReturnCode( TSelf(wxDialog) _obj, int returnCode );
-int        wxDialog_ShowModal( TSelf(wxDialog) _obj );
-
-/* wxDirDialog */
-TClassDefExtend(wxDirDialog,wxDialog)
-TClass(wxDirDialog) wxDirDialog_Create( TClass(wxWindow) _prt, TStringVoid _msg, TStringVoid _dir, TPoint(_lft,_top), int _stl );
-TStringLen wxDirDialog_GetMessage( TSelf(wxDirDialog) _obj, TStringOutVoid _buf );
-TStringLen wxDirDialog_GetPath( TSelf(wxDirDialog) _obj, TStringOutVoid _buf );
-int        wxDirDialog_GetStyle( TSelf(wxDirDialog) _obj );
-void       wxDirDialog_SetMessage( TSelf(wxDirDialog) _obj, TStringVoid msg );
-void       wxDirDialog_SetPath( TSelf(wxDirDialog) _obj, TStringVoid pth );
-void       wxDirDialog_SetStyle( TSelf(wxDirDialog) _obj, int style );
-
-/* wxDirTraverser */
-TClassDef(wxDirTraverser)
-
-/* wxDllLoader */
-TClassDef(wxDllLoader)
-/*
-void*      wxDllLoader_GetSymbol( int _handle, TStringVoid _name );
-int        wxDllLoader_LoadLibrary( TStringVoid _name, void* _success );
-void       wxDllLoader_UnloadLibrary( int _handle );
-*/
-
-/* wxDocChildFrame */
-TClassDefExtend(wxDocChildFrame,wxFrame)
-
-/* wxDocMDIChildFrame */
-TClassDefExtend(wxDocMDIChildFrame,wxMDIChildFrame)
-
-/* wxDocMDIParentFrame */
-TClassDefExtend(wxDocMDIParentFrame,wxMDIParentFrame)
-
-/* wxDocManager */
-TClassDefExtend(wxDocManager,wxEvtHandler)
-
-/* wxDocParentFrame */
-TClassDefExtend(wxDocParentFrame,wxFrame)
-
-/* wxDocTemplate */
-TClassDefExtend(wxDocTemplate,wxObject)
-
-/* wxDocument */
-TClassDefExtend(wxDocument,wxEvtHandler)
-
-/* wxDragImage */
-TClassDefExtend(wxDragImage,wxObject)
-
-/* wxDrawControl */
-TClassDefExtend(wxDrawControl,wxControl)
-TClass(wxDrawControl) wxDrawControl_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
-
-/* wxDrawWindow */
-TClassDefExtend(wxDrawWindow,wxWindow)
-TClass(wxDrawWindow) wxDrawWindow_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
-
-/* wxDropFilesEvent */
-TClassDefExtend(wxDropFilesEvent,wxEvent)
-
-/* wxDropSource */
-TClassDef(wxDropSource)
-TClass(wxDropSource) DropSource_Create( TClass(wxDataObject) data, TClass(wxWindow) win, void* copy, void* move, void* none );
-void       DropSource_Delete( TSelf(wxDropSource) _obj );
-int        DropSource_DoDragDrop( TSelf(wxDropSource) _obj, int _move );
-
-/* wxDropTarget */
-TClassDef(wxDropTarget)
-void       wxDropTarget_GetData( TSelf(wxDropTarget) _obj );
-void       wxDropTarget_SetDataObject( TSelf(wxDropTarget) _obj, TClass(wxDataObject) _dat );
-
-/* wxDynToolInfo */
-TClassDefExtend(wxDynToolInfo,wxToolLayoutItem)
-int        wxDynToolInfo_Index( TSelf(wxDynToolInfo) _obj );
-void       wxDynToolInfo_RealSize( TSelf(wxDynToolInfo) _obj, TSizeOutVoid(_w,_h) );
-void*      wxDynToolInfo_pToolWnd( TSelf(wxDynToolInfo) _obj );
-
-/* wxDynamicLibrary */
-TClassDef(wxDynamicLibrary)
-
-/* wxDynamicSashWindow */
-TClassDefExtend(wxDynamicSashWindow,wxWindow)
-TClass(wxDynamicSashWindow) wxDynamicSashWindow_Create( TClass(wxWindow) parent, int id, TRect(x,y,w,h), int style );
-void       wxDynamicSashWindow_Delete( TSelf(wxDynamicSashWindow) _obj );
-void*      wxDynamicSashWindow_GetHScrollBar( TSelf(wxDynamicSashWindow) _obj, TClass(wxWindow) child );
-void*      wxDynamicSashWindow_GetVScrollBar( TSelf(wxDynamicSashWindow) _obj, TClass(wxWindow) child );
-
-/* wxDynamicToolBar */
-TClassDefExtend(wxDynamicToolBar,wxToolBarBase)
-void       wxDynamicToolBar_AddSeparator( TSelf(wxDynamicToolBar) _obj, void* pSepartorWnd );
-void       wxDynamicToolBar_AddTool( TSelf(wxDynamicToolBar) _obj, int toolIndex, void* pToolWindow, TSize(w,h) );
-void*      wxDynamicToolBar_AddToolBitmap( TSelf(wxDynamicToolBar) _obj, int toolIndex, TClass(wxBitmap) bitmap, void* pushedBitmap, int toggle, TPoint(x,y), TClass(wxClientData) clientData, void* helpString1, void* helpString2 );
-void       wxDynamicToolBar_AddToolImage( TSelf(wxDynamicToolBar) _obj, int toolIndex, void* imageFileName, int imageFileType, void* labelText, int alignTextRight, TBool isFlat );
-void       wxDynamicToolBar_AddToolLabel( TSelf(wxDynamicToolBar) _obj, int toolIndex, void* labelBmp, void* labelText, int alignTextRight, TBool isFlat );
-TClass(wxDynamicToolBar) wxDynamicToolBar_Create( TClass(wxWindow) parent, int id, TRect(x,y,w,h), int style, int orientation, int RowsOrColumns );
-TClass(wxDynamicToolBar) wxDynamicToolBar_CreateDefault(  );
-void*      wxDynamicToolBar_CreateDefaultLayout( TSelf(wxDynamicToolBar) _obj );
-int        wxDynamicToolBar_CreateParams( TSelf(wxDynamicToolBar) _obj, TClass(wxWindow) parent, int id, TRect(x,y,w,h), int style, int orientation, int RowsOrColumns );
-void*      wxDynamicToolBar_CreateTool( TSelf(wxDynamicToolBar) _obj, int id, void* label, void* bmpNormal, void* bmpDisabled, int kind, TClass(wxClientData) clientData, void* shortHelp, void* longHelp );
-void*      wxDynamicToolBar_CreateToolControl( TSelf(wxDynamicToolBar) _obj, TClass(wxControl) control );
-void       wxDynamicToolBar_Delete( TSelf(wxDynamicToolBar) _obj );
-int        wxDynamicToolBar_DoDeleteTool( TSelf(wxDynamicToolBar) _obj, int pos, void* tool );
-void       wxDynamicToolBar_DoEnableTool( TSelf(wxDynamicToolBar) _obj, void* tool, TBool enable );
-int        wxDynamicToolBar_DoInsertTool( TSelf(wxDynamicToolBar) _obj, int pos, void* tool );
-void       wxDynamicToolBar_DoSetToggle( TSelf(wxDynamicToolBar) _obj, void* tool, int toggle );
-void       wxDynamicToolBar_DoToggleTool( TSelf(wxDynamicToolBar) _obj, void* tool, int toggle );
-void       wxDynamicToolBar_DrawSeparator( TSelf(wxDynamicToolBar) _obj, void* info, TClass(wxDC) dc );
-void       wxDynamicToolBar_EnableTool( TSelf(wxDynamicToolBar) _obj, int toolIndex, TBool enable );
-void*      wxDynamicToolBar_FindToolForPosition( TSelf(wxDynamicToolBar) _obj, TPoint(x,y) );
-void       wxDynamicToolBar_GetPreferredDim( TSelf(wxDynamicToolBar) _obj, int gw, int gh, void* pw, void* ph );
-void*      wxDynamicToolBar_GetToolInfo( TSelf(wxDynamicToolBar) _obj, int toolIndex );
-int        wxDynamicToolBar_Layout( TSelf(wxDynamicToolBar) _obj );
-void       wxDynamicToolBar_RemoveTool( TSelf(wxDynamicToolBar) _obj, int toolIndex );
-void       wxDynamicToolBar_SetLayout( TSelf(wxDynamicToolBar) _obj, void* pLayout );
-
-/* wxEditableListBox */
-TClassDefExtend(wxEditableListBox,wxPanel)
-TClass(wxEditableListBox) wxEditableListBox_Create( TClass(wxWindow) parent, int id, TStringVoid label, TRect(x,y,w,h), int style );
-void*      wxEditableListBox_GetDelButton( TSelf(wxEditableListBox) _obj );
-void*      wxEditableListBox_GetDownButton( TSelf(wxEditableListBox) _obj );
-void*      wxEditableListBox_GetEditButton( TSelf(wxEditableListBox) _obj );
-TClass(wxListCtrl) wxEditableListBox_GetListCtrl( TSelf(wxEditableListBox) _obj );
-void*      wxEditableListBox_GetNewButton( TSelf(wxEditableListBox) _obj );
-TArrayLen  wxEditableListBox_GetStrings( TSelf(wxEditableListBox) _obj, TArrayStringOutVoid _ref );
-void*      wxEditableListBox_GetUpButton( TSelf(wxEditableListBox) _obj );
-void       wxEditableListBox_SetStrings( TSelf(wxEditableListBox) _obj, void* strings, int _n );
-
-/* wxEncodingConverter */
-TClassDefExtend(wxEncodingConverter,wxObject)
-void       wxEncodingConverter_Convert( TSelf(wxEncodingConverter) _obj, void* input, void* output );
-TClass(wxEncodingConverter) wxEncodingConverter_Create(  );
-void       wxEncodingConverter_Delete( TSelf(wxEncodingConverter) _obj );
-int        wxEncodingConverter_GetAllEquivalents( TSelf(wxEncodingConverter) _obj, int enc, TClass(wxList) _lst );
-int        wxEncodingConverter_GetPlatformEquivalents( TSelf(wxEncodingConverter) _obj, int enc, int platform, TClass(wxList) _lst );
-int        wxEncodingConverter_Init( TSelf(wxEncodingConverter) _obj, int input_enc, int output_enc, int method );
-
-/* wxEraseEvent */
-TClassDefExtend(wxEraseEvent,wxEvent)
-void       wxEraseEvent_CopyObject( TSelf(wxEraseEvent) _obj, void* obj );
-TClass(wxDC) wxEraseEvent_GetDC( TSelf(wxEraseEvent) _obj );
-
-/* wxEvent */
-TClassDefExtend(wxEvent,wxObject)
-void       wxEvent_CopyObject( TSelf(wxEvent) _obj, void* object_dest );
-TClass(wxObject) wxEvent_GetEventObject( TSelf(wxEvent) _obj );
-int        wxEvent_GetEventType( TSelf(wxEvent) _obj );
-int        wxEvent_GetId( TSelf(wxEvent) _obj );
-TBool      wxEvent_GetSkipped( TSelf(wxEvent) _obj );
-int        wxEvent_GetTimestamp( TSelf(wxEvent) _obj );
-TBool      wxEvent_IsCommandEvent( TSelf(wxEvent) _obj );
-int        wxEvent_NewEventType(  );
-void       wxEvent_SetEventObject( TSelf(wxEvent) _obj, TClass(wxObject) obj );
-void       wxEvent_SetEventType( TSelf(wxEvent) _obj, int typ );
-void       wxEvent_SetId( TSelf(wxEvent) _obj, int Id );
-void       wxEvent_SetTimestamp( TSelf(wxEvent) _obj, int ts );
-void       wxEvent_Skip( TSelf(wxEvent) _obj );
-
-/* wxEvtHandler */
-TClassDefExtend(wxEvtHandler,wxObject)
-void       wxEvtHandler_AddPendingEvent( TSelf(wxEvtHandler) _obj, TClass(wxEvent) event );
-int        wxEvtHandler_Connect( TSelf(wxEvtHandler) _obj, int first, int last, int type, void* data );
-TClass(wxEvtHandler) wxEvtHandler_Create(  );
-void       wxEvtHandler_Delete( TSelf(wxEvtHandler) _obj );
-int        wxEvtHandler_Disconnect( TSelf(wxEvtHandler) _obj, int first, int last, int type, int id );
-TBool      wxEvtHandler_GetEvtHandlerEnabled( TSelf(wxEvtHandler) _obj );
-TClass(wxEvtHandler) wxEvtHandler_GetNextHandler( TSelf(wxEvtHandler) _obj );
-TClass(wxEvtHandler) wxEvtHandler_GetPreviousHandler( TSelf(wxEvtHandler) _obj );
-int        wxEvtHandler_ProcessEvent( TSelf(wxEvtHandler) _obj, TClass(wxEvent) event );
-void       wxEvtHandler_ProcessPendingEvents( TSelf(wxEvtHandler) _obj );
-void       wxEvtHandler_SetEvtHandlerEnabled( TSelf(wxEvtHandler) _obj, TBool enabled );
-void       wxEvtHandler_SetNextHandler( TSelf(wxEvtHandler) _obj, TClass(wxEvtHandler) handler );
-void       wxEvtHandler_SetPreviousHandler( TSelf(wxEvtHandler) _obj, TClass(wxEvtHandler) handler );
-
-/* wxExpr */
-TClassDef(wxExpr)
-
-/* wxExprDatabase */
-TClassDefExtend(wxExprDatabase,wxList)
-
-/* wxFFile */
-TClassDef(wxFFile)
-
-/* wxFFileInputStream */
-TClassDefExtend(wxFFileInputStream,wxInputStream)
-
-/* wxFFileOutputStream */
-TClassDefExtend(wxFFileOutputStream,wxOutputStream)
-
-/* wxFSFile */
-TClassDefExtend(wxFSFile,wxObject)
-
-/* wxFTP */
-TClassDefExtend(wxFTP,wxProtocol)
-
-/* wxFileDataObject */
-TClassDefExtend(wxFileDataObject,wxDataObjectSimple)
-void       FileDataObject_AddFile( TSelf(wxFileDataObject) _obj, TStringVoid _fle );
-TClass(wxFileDataObject) FileDataObject_Create( TArrayString(_cnt, _lst) );
-void       FileDataObject_Delete( TSelf(wxFileDataObject) _obj );
-TArrayLen        FileDataObject_GetFilenames( TSelf(wxFileDataObject) _obj, TArrayStringOutVoid _lst );
-
-/* wxFileDialog */
-TClassDefExtend(wxFileDialog,wxDialog)
-TClass(wxFileDialog) wxFileDialog_Create( TClass(wxWindow) _prt, TStringVoid _msg, TStringVoid _dir, TStringVoid _fle, TStringVoid _wcd, TPoint(_lft,_top), int _stl );
-TStringLen wxFileDialog_GetDirectory( TSelf(wxFileDialog) _obj, TStringOutVoid _buf );
-TStringLen wxFileDialog_GetFilename( TSelf(wxFileDialog) _obj, TStringOutVoid _buf );
-TArrayLen  wxFileDialog_GetFilenames( TSelf(wxFileDialog) _obj, TArrayStringOutVoid paths );
-int        wxFileDialog_GetFilterIndex( TSelf(wxFileDialog) _obj );
-TStringLen wxFileDialog_GetMessage( TSelf(wxFileDialog) _obj, TStringOutVoid _buf );
-TStringLen wxFileDialog_GetPath( TSelf(wxFileDialog) _obj, TStringOutVoid _buf );
-TArrayLen  wxFileDialog_GetPaths( TSelf(wxFileDialog) _obj, TArrayStringOutVoid paths );
-int        wxFileDialog_GetStyle( TSelf(wxFileDialog) _obj );
-TStringLen wxFileDialog_GetWildcard( TSelf(wxFileDialog) _obj, TStringOutVoid _buf );
-void       wxFileDialog_SetDirectory( TSelf(wxFileDialog) _obj, TStringVoid dir );
-void       wxFileDialog_SetFilename( TSelf(wxFileDialog) _obj, TStringVoid name );
-void       wxFileDialog_SetFilterIndex( TSelf(wxFileDialog) _obj, int filterIndex );
-void       wxFileDialog_SetMessage( TSelf(wxFileDialog) _obj, TStringVoid message );
-void       wxFileDialog_SetPath( TSelf(wxFileDialog) _obj, TStringVoid path );
-void       wxFileDialog_SetStyle( TSelf(wxFileDialog) _obj, int style );
-void       wxFileDialog_SetWildcard( TSelf(wxFileDialog) _obj, TStringVoid wildCard );
-
-/* wxFileDropTarget */
-TClassDefExtend(wxFileDropTarget,wxDropTarget)
-
-/* wxFileHistory */
-TClassDefExtend(wxFileHistory,wxObject)
-void       wxFileHistory_AddFileToHistory( TSelf(wxFileHistory) _obj, TStringVoid file );
-void       wxFileHistory_AddFilesToMenu( TSelf(wxFileHistory) _obj, TClass(wxMenu) menu );
-TClass(wxFileHistory) wxFileHistory_Create( int maxFiles );
-void       wxFileHistory_Delete( TSelf(wxFileHistory) _obj );
-int        wxFileHistory_GetCount( TSelf(wxFileHistory) _obj );
-TStringLen wxFileHistory_GetHistoryFile( TSelf(wxFileHistory) _obj, int i, TStringOutVoid _buf );
-int        wxFileHistory_GetMaxFiles( TSelf(wxFileHistory) _obj );
-TArrayLen  wxFileHistory_GetMenus( TSelf(wxFileHistory) _obj, TArrayObjectOutVoid(wxMenu) _ref );
-void       wxFileHistory_Load( TSelf(wxFileHistory) _obj, TClass(wxConfigBase) config );
-void       wxFileHistory_RemoveFileFromHistory( TSelf(wxFileHistory) _obj, int i );
-void       wxFileHistory_RemoveMenu( TSelf(wxFileHistory) _obj, TClass(wxMenu) menu );
-void       wxFileHistory_Save( TSelf(wxFileHistory) _obj, TClass(wxConfigBase) config );
-void       wxFileHistory_UseMenu( TSelf(wxFileHistory) _obj, TClass(wxMenu) menu );
-
-/* wxFileInputStream */
-TClassDefExtend(wxFileInputStream,wxInputStream)
-
-/* wxFileName */
-TClassDef(wxFileName)
-
-/* wxFileOutputStream */
-TClassDefExtend(wxFileOutputStream,wxOutputStream)
-
-/* wxFileSystem */
-TClassDefExtend(wxFileSystem,wxObject)
-
-/* wxFileSystemHandler */
-TClassDefExtend(wxFileSystemHandler,wxObject)
-
-/* wxFileType */
-TClassDef(wxFileType)
-void       wxFileType_Delete( TSelf(wxFileType) _obj );
-TStringLen wxFileType_ExpandCommand( TSelf(wxFileType) _obj, void* _cmd, void* _params, TStringOutVoid _buf );
-TStringLen wxFileType_GetDescription( TSelf(wxFileType) _obj, TStringOutVoid _buf );
-int        wxFileType_GetExtensions( TSelf(wxFileType) _obj, TClass(wxList) _lst );
-int        wxFileType_GetIcon( TSelf(wxFileType) _obj, TClass(wxIcon) icon );
-TStringLen wxFileType_GetMimeType( TSelf(wxFileType) _obj, TStringOutVoid _buf );
-int        wxFileType_GetMimeTypes( TSelf(wxFileType) _obj, TClass(wxList) _lst );
-int        wxFileType_GetOpenCommand( TSelf(wxFileType) _obj, void* _buf, void* _params );
-int        wxFileType_GetPrintCommand( TSelf(wxFileType) _obj, void* _buf, void* _params );
-
-/* wxFilterInputStream */
-TClassDefExtend(wxFilterInputStream,wxInputStream)
-
-/* wxFilterOutputStream */
-TClassDefExtend(wxFilterOutputStream,wxOutputStream)
-
-/* wxFindDialogEvent */
-TClassDefExtend(wxFindDialogEvent,wxCommandEvent)
-int        wxFindDialogEvent_GetFindString( TSelf(wxFindDialogEvent) _obj, void* _ref );
-int        wxFindDialogEvent_GetFlags( TSelf(wxFindDialogEvent) _obj );
-int        wxFindDialogEvent_GetReplaceString( TSelf(wxFindDialogEvent) _obj, void* _ref );
-
-/* wxFindReplaceData */
-TClassDefExtend(wxFindReplaceData,wxObject)
-TClass(wxFindReplaceData) wxFindReplaceData_Create( int flags );
-TClass(wxFindReplaceData) wxFindReplaceData_CreateDefault(  );
-void       wxFindReplaceData_Delete( TSelf(wxFindReplaceData) _obj );
-TStringLen wxFindReplaceData_GetFindString( TSelf(wxFindReplaceData) _obj, TStringOutVoid _ref );
-int        wxFindReplaceData_GetFlags( TSelf(wxFindReplaceData) _obj );
-TStringLen wxFindReplaceData_GetReplaceString( TSelf(wxFindReplaceData) _obj, TStringOutVoid _ref );
-void       wxFindReplaceData_SetFindString( TSelf(wxFindReplaceData) _obj, TStringVoid str );
-void       wxFindReplaceData_SetFlags( TSelf(wxFindReplaceData) _obj, int flags );
-void       wxFindReplaceData_SetReplaceString( TSelf(wxFindReplaceData) _obj, TStringVoid str );
-
-/* wxFindReplaceDialog */
-TClassDefExtend(wxFindReplaceDialog,wxDialog)
-TClass(wxFindReplaceDialog) wxFindReplaceDialog_Create( TClass(wxWindow) parent, TClass(wxFindReplaceData) data, TStringVoid title, int style );
-TClass(wxFindReplaceData)   wxFindReplaceDialog_GetData( TSelf(wxFindReplaceDialog) _obj );
-void       wxFindReplaceDialog_SetData( TSelf(wxFindReplaceDialog) _obj, TClass(wxFindReplaceData) data );
-
-/* wxFlexGridSizer */
-TClassDefExtend(wxFlexGridSizer,wxGridSizer)
-void       wxFlexGridSizer_AddGrowableCol( TSelf(wxFlexGridSizer) _obj, size_t idx );
-void       wxFlexGridSizer_AddGrowableRow( TSelf(wxFlexGridSizer) _obj, size_t idx );
-void       wxFlexGridSizer_CalcMin( TSelf(wxFlexGridSizer) _obj, TSizeOutVoid(_w,_h) );
-TClass(wxFlexGridSizer) wxFlexGridSizer_Create( int rows, int cols, int vgap, int hgap );
-void       wxFlexGridSizer_RecalcSizes( TSelf(wxFlexGridSizer) _obj );
-void       wxFlexGridSizer_RemoveGrowableCol( TSelf(wxFlexGridSizer) _obj, size_t idx );
-void       wxFlexGridSizer_RemoveGrowableRow( TSelf(wxFlexGridSizer) _obj, size_t idx );
-
-/* wxFocusEvent */
-TClassDefExtend(wxFocusEvent,wxEvent)
-
-/* wxFont */
-TClassDefExtend(wxFont,wxGDIObject)
-TClass(wxFont) wxFont_Create( int pointSize, int family, int style, int weight, int underlined, TString face, int enc );
-TClass(wxFont) wxFont_CreateDefault(  );
-void       wxFont_Delete( TSelf(wxFont) _obj );
-int        wxFont_GetDefaultEncoding( TSelf(wxFont) _obj );
-int        wxFont_GetEncoding( TSelf(wxFont) _obj );
-TStringLen wxFont_GetFaceName( TSelf(wxFont) _obj, TStringOutVoid _buf );
-int        wxFont_GetFamily( TSelf(wxFont) _obj );
-TStringLen wxFont_GetFamilyString( TSelf(wxFont) _obj, TStringOutVoid _buf );
-int        wxFont_GetPointSize( TSelf(wxFont) _obj );
-int        wxFont_GetStyle( TSelf(wxFont) _obj );
-TStringLen wxFont_GetStyleString( TSelf(wxFont) _obj, TStringOutVoid _buf );
-int        wxFont_GetUnderlined( TSelf(wxFont) _obj );
-int        wxFont_GetWeight( TSelf(wxFont) _obj );
-TStringLen wxFont_GetWeightString( TSelf(wxFont) _obj, TStringOutVoid _buf );
-TBool      wxFont_Ok( TSelf(wxFont) _obj );
-void       wxFont_SetDefaultEncoding( TSelf(wxFont) _obj, int encoding );
-void       wxFont_SetEncoding( TSelf(wxFont) _obj, int encoding );
-void       wxFont_SetFaceName( TSelf(wxFont) _obj, TString faceName );
-void       wxFont_SetFamily( TSelf(wxFont) _obj, int family );
-void       wxFont_SetPointSize( TSelf(wxFont) _obj, int pointSize );
-void       wxFont_SetStyle( TSelf(wxFont) _obj, int style );
-void       wxFont_SetUnderlined( TSelf(wxFont) _obj, int underlined );
-void       wxFont_SetWeight( TSelf(wxFont) _obj, int weight );
-
-/* wxFontData */
-TClassDefExtend(wxFontData,wxObject)
-TClass(wxFontData) wxFontData_Create(  );
-void       wxFontData_Delete( TSelf(wxFontData) _obj );
-void       wxFontData_EnableEffects( TSelf(wxFontData) _obj, TBool flag );
-TBool      wxFontData_GetAllowSymbols( TSelf(wxFontData) _obj );
-void       wxFontData_GetChosenFont( TSelf(wxFontData) _obj, TClassRef(wxFont) ref );
-void       wxFontData_GetColour( TSelf(wxFontData) _obj, TClassRef(wxColour) _ref );
-TBool      wxFontData_GetEnableEffects( TSelf(wxFontData) _obj );
-int        wxFontData_GetEncoding( TSelf(wxFontData) _obj );
-void       wxFontData_GetInitialFont( TSelf(wxFontData) _obj, TClassRef(wxFont) ref );
-int        wxFontData_GetShowHelp( TSelf(wxFontData) _obj );
-void       wxFontData_SetAllowSymbols( TSelf(wxFontData) _obj, TBool flag );
-void       wxFontData_SetChosenFont( TSelf(wxFontData) _obj, TClass(wxFont) font );
-void       wxFontData_SetColour( TSelf(wxFontData) _obj, TClass(wxColour) colour );
-void       wxFontData_SetEncoding( TSelf(wxFontData) _obj, int encoding );
-void       wxFontData_SetInitialFont( TSelf(wxFontData) _obj, TClass(wxFont) font );
-void       wxFontData_SetRange( TSelf(wxFontData) _obj, int minRange, int maxRange );
-void       wxFontData_SetShowHelp( TSelf(wxFontData) _obj, TBool flag );
-
-/* wxFontDialog */
-TClassDefExtend(wxFontDialog,wxDialog)
-TClass(wxFontDialog) wxFontDialog_Create( TClass(wxWindow) _prt, TClass(wxFontData) fnt );
-void       wxFontDialog_GetFontData( TSelf(wxFontDialog) _obj, TClassRef(wxFontData) _ref );
-
-/* wxFontEnumerator */
-TClassDef(wxFontEnumerator)
-TClass(wxFontEnumerator) wxFontEnumerator_Create( void* _obj, void* _fnc );
-void       wxFontEnumerator_Delete( TSelf(wxFontEnumerator) _obj );
-int        wxFontEnumerator_EnumerateEncodings( TSelf(wxFontEnumerator) _obj, TStringVoid facename );
-int        wxFontEnumerator_EnumerateFacenames( TSelf(wxFontEnumerator) _obj, int encoding, int fixedWidthOnly );
-
-/* wxFontList */
-TClassDefExtend(wxFontList,wxList)
-
-/* wxFontMapper */
-TClassDef(wxFontMapper)
-TClass(wxFontMapper) wxFontMapper_Create(  );
-TStringLen wxFontMapper_GetAltForEncoding( TSelf(wxFontMapper) _obj, int encoding, void* alt_encoding, TStringOutVoid _buf );
-TStringLen wxFontMapper_IsEncodingAvailable( TSelf(wxFontMapper) _obj, int encoding, TStringOutVoid _buf );
-
-/* wxFrame */
-TClassDefExtend(wxFrame,wxTopLevelWindow)
-TClass(wxFrame) wxFrame_Create( TClass(wxWindow) _prt, int _id, TString _txt, TRect(_lft,_top,_wdt,_hgt), int _stl );
-TClass(wxStatusBar) wxFrame_CreateStatusBar( TSelf(wxFrame) _obj, int number, int style );
-TClass(wxToolBar)   wxFrame_CreateToolBar( TSelf(wxFrame) _obj, long style );
-int        wxFrame_GetClientAreaOrigin_left( TSelf(wxFrame) _obj );
-int        wxFrame_GetClientAreaOrigin_top( TSelf(wxFrame) _obj );
-TClass(wxMenuBar) wxFrame_GetMenuBar( TSelf(wxFrame) _obj );
-TClass(wxStatusBar) wxFrame_GetStatusBar( TSelf(wxFrame) _obj );
-TClass(wxToolBar) wxFrame_GetToolBar( TSelf(wxFrame) _obj );
-void       wxFrame_Restore( TSelf(wxFrame) _obj );
-void       wxFrame_SetMenuBar( TSelf(wxFrame) _obj, TClass(wxMenuBar) menubar );
-void       wxFrame_SetStatusBar( TSelf(wxFrame) _obj, TClass(wxStatusBar) statBar );
-void       wxFrame_SetStatusText( TSelf(wxFrame) _obj, TString _txt, int _number );
-void       wxFrame_SetStatusWidths( TSelf(wxFrame) _obj, int _n, void* _widths_field );
-void       wxFrame_SetToolBar( TSelf(wxFrame) _obj, TClass(wxToolBar) _toolbar );
-
-/* wxFrameLayout */
-TClassDefExtend(wxFrameLayout,wxEvtHandler)
-void       wxFrameLayout_Activate( TSelf(wxFrameLayout) _obj );
-void       wxFrameLayout_AddBar( TSelf(wxFrameLayout) _obj, void* pBarWnd, void* dimInfo, int alignment, int rowNo, int columnPos, TStringVoid name, int spyEvents, int state );
-void       wxFrameLayout_AddPlugin( TSelf(wxFrameLayout) _obj, void* pPlInfo, int paneMask );
-void       wxFrameLayout_AddPluginBefore( TSelf(wxFrameLayout) _obj, void* pNextPlInfo, void* pPlInfo, int paneMask );
-void       wxFrameLayout_ApplyBarProperties( TSelf(wxFrameLayout) _obj, void* pBar );
-void       wxFrameLayout_CaptureEventsForPane( TSelf(wxFrameLayout) _obj, void* toPane );
-void       wxFrameLayout_CaptureEventsForPlugin( TSelf(wxFrameLayout) _obj, void* pPlugin );
-TClass(wxFrameLayout) wxFrameLayout_Create( void* pParentFrame, void* pFrameClient, int activateNow );
-void       wxFrameLayout_Deactivate( TSelf(wxFrameLayout) _obj );
-void       wxFrameLayout_Delete( TSelf(wxFrameLayout) _obj );
-void       wxFrameLayout_DestroyBarWindows( TSelf(wxFrameLayout) _obj );
-void       wxFrameLayout_EnableFloating( TSelf(wxFrameLayout) _obj, TBool enable );
-void*      wxFrameLayout_FindBarByName( TSelf(wxFrameLayout) _obj, TStringVoid name );
-void*      wxFrameLayout_FindBarByWindow( TSelf(wxFrameLayout) _obj, void* pWnd );
-void*      wxFrameLayout_FindPlugin( TSelf(wxFrameLayout) _obj, void* pPlInfo );
-void       wxFrameLayout_FirePluginEvent( TSelf(wxFrameLayout) _obj, TClass(wxEvent) event );
-int        wxFrameLayout_GetBars( TSelf(wxFrameLayout) _obj, void* _ref );
-int        wxFrameLayout_GetClientHeight( TSelf(wxFrameLayout) _obj );
-void       wxFrameLayout_GetClientRect( TSelf(wxFrameLayout) _obj, TRectOutVoid(_x,_y,_w,_h) );
-int        wxFrameLayout_GetClientWidth( TSelf(wxFrameLayout) _obj );
-void*      wxFrameLayout_GetFrameClient( TSelf(wxFrameLayout) _obj );
-void*      wxFrameLayout_GetPane( TSelf(wxFrameLayout) _obj, int alignment );
-void       wxFrameLayout_GetPaneProperties( TSelf(wxFrameLayout) _obj, void* props, int alignment );
-void*      wxFrameLayout_GetParentFrame( TSelf(wxFrameLayout) _obj );
-void*      wxFrameLayout_GetTopPlugin( TSelf(wxFrameLayout) _obj );
-void*      wxFrameLayout_GetUpdatesManager( TSelf(wxFrameLayout) _obj );
-TBool      wxFrameLayout_HasTopPlugin( TSelf(wxFrameLayout) _obj );
-void       wxFrameLayout_HideBarWindows( TSelf(wxFrameLayout) _obj );
-void       wxFrameLayout_InverseVisibility( TSelf(wxFrameLayout) _obj, void* pBar );
-void       wxFrameLayout_OnLButtonDown( TSelf(wxFrameLayout) _obj, TClass(wxEvent) event );
-void       wxFrameLayout_OnLButtonUp( TSelf(wxFrameLayout) _obj, TClass(wxEvent) event );
-void       wxFrameLayout_OnLDblClick( TSelf(wxFrameLayout) _obj, TClass(wxEvent) event );
-void       wxFrameLayout_OnMouseMove( TSelf(wxFrameLayout) _obj, TClass(wxEvent) event );
-void       wxFrameLayout_OnRButtonDown( TSelf(wxFrameLayout) _obj, TClass(wxEvent) event );
-void       wxFrameLayout_OnRButtonUp( TSelf(wxFrameLayout) _obj, TClass(wxEvent) event );
-void       wxFrameLayout_OnSize( TSelf(wxFrameLayout) _obj, TClass(wxEvent) event );
-void       wxFrameLayout_PopAllPlugins( TSelf(wxFrameLayout) _obj );
-void       wxFrameLayout_PopPlugin( TSelf(wxFrameLayout) _obj );
-void       wxFrameLayout_PushDefaultPlugins( TSelf(wxFrameLayout) _obj );
-void       wxFrameLayout_PushPlugin( TSelf(wxFrameLayout) _obj, void* pPugin );
-void       wxFrameLayout_RecalcLayout( TSelf(wxFrameLayout) _obj, int repositionBarsNow );
-int        wxFrameLayout_RedockBar( TSelf(wxFrameLayout) _obj, void* pBar, TRect(x,y,w,h), void* pToPane, int updateNow );
-void       wxFrameLayout_RefreshNow( TSelf(wxFrameLayout) _obj, int recalcLayout );
-void       wxFrameLayout_ReleaseEventsFromPane( TSelf(wxFrameLayout) _obj, void* fromPane );
-void       wxFrameLayout_ReleaseEventsFromPlugin( TSelf(wxFrameLayout) _obj, void* pPlugin );
-void       wxFrameLayout_RemoveBar( TSelf(wxFrameLayout) _obj, void* pBar );
-void       wxFrameLayout_RemovePlugin( TSelf(wxFrameLayout) _obj, void* pPlInfo );
-void       wxFrameLayout_SetBarState( TSelf(wxFrameLayout) _obj, void* pBar, int newStatem, int updateNow );
-void       wxFrameLayout_SetFrameClient( TSelf(wxFrameLayout) _obj, void* pFrameClient );
-void       wxFrameLayout_SetMargins( TSelf(wxFrameLayout) _obj, int top, int bottom, int left, int right, int paneMask );
-void       wxFrameLayout_SetPaneBackground( TSelf(wxFrameLayout) _obj, TClass(wxColour) colour );
-void       wxFrameLayout_SetPaneProperties( TSelf(wxFrameLayout) _obj, void* props, int paneMask );
-void       wxFrameLayout_SetTopPlugin( TSelf(wxFrameLayout) _obj, void* pPlugin );
-void       wxFrameLayout_SetUpdatesManager( TSelf(wxFrameLayout) _obj, void* pUMgr );
-
-/* wxGDIObject */
-TClassDefExtend(wxGDIObject,wxObject)
-
-/* wxGLCanvas */
-TClassDefExtend(wxGLCanvas,wxScrolledWindow)
-
-/* wxGauge */
-TClassDefExtend(wxGauge,wxControl)
-TClass(wxGauge) wxGauge_Create( TClass(wxWindow) _prt, int _id, int _rng, TRect(_lft,_top,_wdt,_hgt), int _stl );
-int        wxGauge_GetBezelFace( TSelf(wxGauge) _obj );
-int        wxGauge_GetRange( TSelf(wxGauge) _obj );
-int        wxGauge_GetShadowWidth( TSelf(wxGauge) _obj );
-int        wxGauge_GetValue( TSelf(wxGauge) _obj );
-void       wxGauge_SetBezelFace( TSelf(wxGauge) _obj, int w );
-void       wxGauge_SetRange( TSelf(wxGauge) _obj, int r );
-void       wxGauge_SetShadowWidth( TSelf(wxGauge) _obj, int w );
-void       wxGauge_SetValue( TSelf(wxGauge) _obj, int pos );
-
-/* wxGenericDirCtrl */
-TClassDefExtend(wxGenericDirCtrl,wxControl)
-
-/* wxGenericValidator */
-TClassDefExtend(wxGenericValidator,wxValidator)
-
-/* wxGrid */
-TClassDefExtend(wxGrid,wxScrolledWindow)
-TBoolInt   wxGrid_AppendCols( TSelf(wxGrid) _obj, int numCols, TBoolInt updateLabels );
-TBoolInt   wxGrid_AppendRows( TSelf(wxGrid) _obj, int numRows, TBoolInt updateLabels );
-void       wxGrid_AutoSize( TSelf(wxGrid) _obj );
-void       wxGrid_AutoSizeColumn( TSelf(wxGrid) _obj, int col, TBoolInt setAsMin );
-void       wxGrid_AutoSizeColumns( TSelf(wxGrid) _obj, TBoolInt setAsMin );
-void       wxGrid_AutoSizeRow( TSelf(wxGrid) _obj, int row, TBoolInt setAsMin );
-void       wxGrid_AutoSizeRows( TSelf(wxGrid) _obj, TBoolInt setAsMin );
-void       wxGrid_BeginBatch( TSelf(wxGrid) _obj );
-void       wxGrid_BlockToDeviceRect( TSelf(wxGrid) _obj, int top, int left, int bottom, int right, TRectOut(_x,_y,_w,_h) );
-void       wxGrid_CalcCellsExposed( TSelf(wxGrid) _obj, TClass(wxRegion) reg );
-void       wxGrid_CalcColLabelsExposed( TSelf(wxGrid) _obj, TClass(wxRegion) reg );
-void       wxGrid_CalcRowLabelsExposed( TSelf(wxGrid) _obj, TClass(wxRegion) reg );
-TBool      wxGrid_CanDragColSize( TSelf(wxGrid) _obj );
-TBool      wxGrid_CanDragGridSize( TSelf(wxGrid) _obj );
-TBool      wxGrid_CanDragRowSize( TSelf(wxGrid) _obj );
-TBool      wxGrid_CanEnableCellControl( TSelf(wxGrid) _obj );
-void       wxGrid_CellToRect( TSelf(wxGrid) _obj, int row, int col, TRectOut(_x,_y,_w,_h) );
-void       wxGrid_ClearGrid( TSelf(wxGrid) _obj );
-void       wxGrid_ClearSelection( TSelf(wxGrid) _obj );
-TClass(wxGrid) wxGrid_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
-void       wxGrid_CreateGrid( TSelf(wxGrid) _obj, int rows, int cols, int selmode );
-TBoolInt   wxGrid_DeleteCols( TSelf(wxGrid) _obj, int pos, int numCols, TBoolInt updateLabels );
-TBoolInt   wxGrid_DeleteRows( TSelf(wxGrid) _obj, int pos, int numRows, TBoolInt updateLabels );
-void       wxGrid_DisableCellEditControl( TSelf(wxGrid) _obj );
-void       wxGrid_DisableDragColSize( TSelf(wxGrid) _obj );
-void       wxGrid_DisableDragGridSize( TSelf(wxGrid) _obj );
-void       wxGrid_DisableDragRowSize( TSelf(wxGrid) _obj );
-void       wxGrid_DoEndDragResizeCol( TSelf(wxGrid) _obj );
-void       wxGrid_DoEndDragResizeRow( TSelf(wxGrid) _obj );
-void       wxGrid_DrawAllGridLines( TSelf(wxGrid) _obj, TClass(wxDC) dc, TClass(wxRegion) reg );
-void       wxGrid_DrawCell( TSelf(wxGrid) _obj, TClass(wxDC) dc, int _row, int _col );
-void       wxGrid_DrawCellBorder( TSelf(wxGrid) _obj, TClass(wxDC) dc, int _row, int _col );
-void       wxGrid_DrawCellHighlight( TSelf(wxGrid) _obj, TClass(wxDC) dc, TClass(wxGridCellAttr) attr );
-void       wxGrid_DrawColLabel( TSelf(wxGrid) _obj, TClass(wxDC) dc, int col );
-void       wxGrid_DrawColLabels( TSelf(wxGrid) _obj, TClass(wxDC) dc );
-void       wxGrid_DrawGridCellArea( TSelf(wxGrid) _obj, TClass(wxDC) dc );
-void       wxGrid_DrawGridSpace( TSelf(wxGrid) _obj, TClass(wxDC) dc );
-void       wxGrid_DrawHighlight( TSelf(wxGrid) _obj, TClass(wxDC) dc );
-void       wxGrid_DrawRowLabel( TSelf(wxGrid) _obj, TClass(wxDC) dc, int row );
-void       wxGrid_DrawRowLabels( TSelf(wxGrid) _obj, TClass(wxDC) dc );
-void       wxGrid_DrawTextRectangle( TSelf(wxGrid) _obj, TClass(wxDC) dc, TString txt, TRect(x,y,w,h), int horizontalAlignment, int verticalAlignment );
-void       wxGrid_EnableCellEditControl( TSelf(wxGrid) _obj, TBool enable );
-void       wxGrid_EnableDragColSize( TSelf(wxGrid) _obj, TBool enable );
-void       wxGrid_EnableDragGridSize( TSelf(wxGrid) _obj, TBool enable );
-void       wxGrid_EnableDragRowSize( TSelf(wxGrid) _obj, TBool enable );
-void       wxGrid_EnableEditing( TSelf(wxGrid) _obj, TBoolInt edit );
-void       wxGrid_EnableGridLines( TSelf(wxGrid) _obj, TBool enable );
-void       wxGrid_EndBatch( TSelf(wxGrid) _obj );
-int        wxGrid_GetBatchCount( TSelf(wxGrid) _obj );
-void       wxGrid_GetCellAlignment( TSelf(wxGrid) _obj, int row, int col, TSizeOut(horiz, vert) );
-void       wxGrid_GetCellBackgroundColour( TSelf(wxGrid) _obj, int row, int col, TClass(wxColour) colour );
-TClass(wxGridCellEditor) wxGrid_GetCellEditor( TSelf(wxGrid) _obj, int row, int col );
-void       wxGrid_GetCellFont( TSelf(wxGrid) _obj, int row, int col, TClass(wxFont) font );
-void       wxGrid_GetCellHighlightColour( TSelf(wxGrid) _obj, TClassRef(wxColour) _ref );
-TClass(wxGridCellRenderer) wxGrid_GetCellRenderer( TSelf(wxGrid) _obj, int row, int col );
-void       wxGrid_GetCellTextColour( TSelf(wxGrid) _obj, int row, int col, TClass(wxColour) colour );
-TStringLen wxGrid_GetCellValue( TSelf(wxGrid) _obj, int row, int col, TStringOutVoid _buf );
-void       wxGrid_GetColLabelAlignment( TSelf(wxGrid) _obj, TSizeOut(horiz, vert)  );
-int        wxGrid_GetColLabelSize( TSelf(wxGrid) _obj );
-TStringLen wxGrid_GetColLabelValue( TSelf(wxGrid) _obj, int col, TStringOutVoid _buf );
-int        wxGrid_GetColSize( TSelf(wxGrid) _obj, int col );
-void       wxGrid_GetDefaultCellAlignment( TSelf(wxGrid) _obj, TSizeOut(horiz, vert)  );
-void       wxGrid_GetDefaultCellBackgroundColour( TSelf(wxGrid) _obj, TClassRef(wxColour) _ref );
-void       wxGrid_GetDefaultCellFont( TSelf(wxGrid) _obj, TClassRef(wxFont) _ref );
-void       wxGrid_GetDefaultCellTextColour( TSelf(wxGrid) _obj, TClassRef(wxColour) _ref );
-int        wxGrid_GetDefaultColLabelSize( TSelf(wxGrid) _obj );
-int        wxGrid_GetDefaultColSize( TSelf(wxGrid) _obj );
-TClass(wxGridCellEditor) wxGrid_GetDefaultEditor( TSelf(wxGrid) _obj );
-TClass(wxGridCellEditor) wxGrid_GetDefaultEditorForCell( TSelf(wxGrid) _obj, int row, int col );
-TClass(wxGridCellEditor) wxGrid_GetDefaultEditorForType( TSelf(wxGrid) _obj, TString typeName );
-TClass(wxGridCellRenderer) wxGrid_GetDefaultRenderer( TSelf(wxGrid) _obj );
-TClass(wxGridCellRenderer) wxGrid_GetDefaultRendererForCell( TSelf(wxGrid) _obj, int row, int col );
-TClass(wxGridCellRenderer) wxGrid_GetDefaultRendererForType( TSelf(wxGrid) _obj, TString typeName );
-int        wxGrid_GetDefaultRowLabelSize( TSelf(wxGrid) _obj );
-int        wxGrid_GetDefaultRowSize( TSelf(wxGrid) _obj );
-int        wxGrid_GetGridCursorCol( TSelf(wxGrid) _obj );
-int        wxGrid_GetGridCursorRow( TSelf(wxGrid) _obj );
-void       wxGrid_GetGridLineColour( TSelf(wxGrid) _obj, TClassRef(wxColour) _ref );
-void       wxGrid_GetLabelBackgroundColour( TSelf(wxGrid) _obj, TClassRef(wxColour) _ref );
-void       wxGrid_GetLabelFont( TSelf(wxGrid) _obj, TClassRef(wxFont) _ref );
-void       wxGrid_GetLabelTextColour( TSelf(wxGrid) _obj, TClassRef(wxColour) _ref );
-int        wxGrid_GetNumberCols( TSelf(wxGrid) _obj );
-int        wxGrid_GetNumberRows( TSelf(wxGrid) _obj );
-void       wxGrid_GetRowLabelAlignment( TSelf(wxGrid) _obj, TSizeOut(horiz,vert) );
-int        wxGrid_GetRowLabelSize( TSelf(wxGrid) _obj );
-TStringLen wxGrid_GetRowLabelValue( TSelf(wxGrid) _obj, int row, TStringOutVoid _buf );
-int        wxGrid_GetRowSize( TSelf(wxGrid) _obj, int row );
-void       wxGrid_GetSelectionBackground( TSelf(wxGrid) _obj, TClassRef(wxColour) _ref );
-void       wxGrid_GetSelectionForeground( TSelf(wxGrid) _obj, TClassRef(wxColour) _ref );
-TClass(wxGridTableBase) wxGrid_GetTable( TSelf(wxGrid) _obj );
-void       wxGrid_GetTextBoxSize( TSelf(wxGrid) _obj, TClass(wxDC) dc, TArrayString(count,lines), TSizeOutVoid(_w,_h) );
-int        wxGrid_GridLinesEnabled( TSelf(wxGrid) _obj );
-void       wxGrid_HideCellEditControl( TSelf(wxGrid) _obj );
-TBoolInt   wxGrid_InsertCols( TSelf(wxGrid) _obj, int pos, int numCols, TBoolInt updateLabels );
-TBoolInt   wxGrid_InsertRows( TSelf(wxGrid) _obj, int pos, int numRows, TBoolInt updateLabels );
-TBool      wxGrid_IsCellEditControlEnabled( TSelf(wxGrid) _obj );
-TBool      wxGrid_IsCellEditControlShown( TSelf(wxGrid) _obj );
-TBool      wxGrid_IsCurrentCellReadOnly( TSelf(wxGrid) _obj );
-TBool      wxGrid_IsEditable( TSelf(wxGrid) _obj );
-TBool      wxGrid_IsInSelection( TSelf(wxGrid) _obj, int row, int col );
-TBool      wxGrid_IsReadOnly( TSelf(wxGrid) _obj, int row, int col );
-TBool      wxGrid_IsSelection( TSelf(wxGrid) _obj );
-TBool      wxGrid_IsVisible( TSelf(wxGrid) _obj, int row, int col, TBoolInt wholeCellVisible );
-void       wxGrid_MakeCellVisible( TSelf(wxGrid) _obj, int row, int col );
-TBoolInt   wxGrid_MoveCursorDown( TSelf(wxGrid) _obj, TBoolInt expandSelection );
-TBoolInt   wxGrid_MoveCursorDownBlock( TSelf(wxGrid) _obj, TBoolInt expandSelection );
-TBoolInt   wxGrid_MoveCursorLeft( TSelf(wxGrid) _obj, TBoolInt expandSelection );
-TBoolInt   wxGrid_MoveCursorLeftBlock( TSelf(wxGrid) _obj, TBoolInt expandSelection );
-TBoolInt   wxGrid_MoveCursorRight( TSelf(wxGrid) _obj, TBoolInt expandSelection );
-TBoolInt   wxGrid_MoveCursorRightBlock( TSelf(wxGrid) _obj, TBoolInt expandSelection );
-TBoolInt   wxGrid_MoveCursorUp( TSelf(wxGrid) _obj, TBoolInt expandSelection );
-TBoolInt   wxGrid_MoveCursorUpBlock( TSelf(wxGrid) _obj, TBoolInt expandSelection );
-TBoolInt   wxGrid_MovePageDown( TSelf(wxGrid) _obj );
-TBoolInt   wxGrid_MovePageUp( TSelf(wxGrid) _obj );
-void       wxGrid_ProcessColLabelMouseEvent( TSelf(wxGrid) _obj, TClass(wxMouseEvent) event );
-void       wxGrid_ProcessCornerLabelMouseEvent( TSelf(wxGrid) _obj, TClass(wxMouseEvent) event );
-void       wxGrid_ProcessGridCellMouseEvent( TSelf(wxGrid) _obj, TClass(wxMouseEvent) event );
-void       wxGrid_ProcessRowLabelMouseEvent( TSelf(wxGrid) _obj, TClass(wxMouseEvent) event );
-int        wxGrid_ProcessTableMessage( TSelf(wxGrid) _obj, TClass(wxEvent) evt );
-void       wxGrid_RegisterDataType( TSelf(wxGrid) _obj, TString typeName, TClass(wxGridCellRenderer) renderer, TClass(wxGridCellEditor) editor );
-void       wxGrid_SaveEditControlValue( TSelf(wxGrid) _obj );
-void       wxGrid_SelectAll( TSelf(wxGrid) _obj );
-void       wxGrid_SelectBlock( TSelf(wxGrid) _obj, int topRow, int leftCol, int bottomRow, int rightCol, TBoolInt addToSelected );
-void       wxGrid_SelectCol( TSelf(wxGrid) _obj, int col, TBoolInt addToSelected );
-void       wxGrid_SelectRow( TSelf(wxGrid) _obj, int row, TBoolInt addToSelected );
-void       wxGrid_SetCellAlignment( TSelf(wxGrid) _obj, int row, int col, int horiz, int vert );
-void       wxGrid_SetCellBackgroundColour( TSelf(wxGrid) _obj, int row, int col, TClass(wxColour) colour );
-void       wxGrid_SetCellEditor( TSelf(wxGrid) _obj, int row, int col, TClass(wxGridCellEditor) editor );
-void       wxGrid_SetCellFont( TSelf(wxGrid) _obj, int row, int col, TClass(wxFont) font );
-void       wxGrid_SetCellHighlightColour( TSelf(wxGrid) _obj, TClass(wxColour) col );
-void       wxGrid_SetCellRenderer( TSelf(wxGrid) _obj, int row, int col, TClass(wxGridCellRenderer) renderer );
-void       wxGrid_SetCellTextColour( TSelf(wxGrid) _obj, int row, int col, TClass(wxColour) colour );
-void       wxGrid_SetCellValue( TSelf(wxGrid) _obj, int row, int col, TString s );
-void       wxGrid_SetColAttr( TSelf(wxGrid) _obj, int col, TClass(wxGridCellAttr) attr );
-void       wxGrid_SetColFormatBool( TSelf(wxGrid) _obj, int col );
-void       wxGrid_SetColFormatCustom( TSelf(wxGrid) _obj, int col, TString typeName );
-void       wxGrid_SetColFormatFloat( TSelf(wxGrid) _obj, int col, int width, int precision );
-void       wxGrid_SetColFormatNumber( TSelf(wxGrid) _obj, int col );
-void       wxGrid_SetColLabelAlignment( TSelf(wxGrid) _obj, int horiz, int vert );
-void       wxGrid_SetColLabelSize( TSelf(wxGrid) _obj, int height );
-void       wxGrid_SetColLabelValue( TSelf(wxGrid) _obj, int col, TString label );
-void       wxGrid_SetColMinimalWidth( TSelf(wxGrid) _obj, int col, int width );
-void       wxGrid_SetColSize( TSelf(wxGrid) _obj, int col, int width );
-void       wxGrid_SetDefaultCellAlignment( TSelf(wxGrid) _obj, int horiz, int vert );
-void       wxGrid_SetDefaultCellBackgroundColour( TSelf(wxGrid) _obj, TClass(wxColour) colour );
-void       wxGrid_SetDefaultCellFont( TSelf(wxGrid) _obj, TClass(wxFont) font );
-void       wxGrid_SetDefaultCellTextColour( TSelf(wxGrid) _obj, TClass(wxColour) colour );
-void       wxGrid_SetDefaultColSize( TSelf(wxGrid) _obj, int width, TBoolInt resizeExistingCols );
-void       wxGrid_SetDefaultEditor( TSelf(wxGrid) _obj, TClass(wxGridCellEditor) editor );
-void       wxGrid_SetDefaultRenderer( TSelf(wxGrid) _obj, TClass(wxGridCellRenderer) renderer );
-void       wxGrid_SetDefaultRowSize( TSelf(wxGrid) _obj, int height, TBoolInt resizeExistingRows );
-void       wxGrid_SetGridCursor( TSelf(wxGrid) _obj, int row, int col );
-void       wxGrid_SetGridLineColour( TSelf(wxGrid) _obj, TClass(wxColour) col );
-void       wxGrid_SetLabelBackgroundColour( TSelf(wxGrid) _obj, TClass(wxColour) colour );
-void       wxGrid_SetLabelFont( TSelf(wxGrid) _obj, TClass(wxFont) font );
-void       wxGrid_SetLabelTextColour( TSelf(wxGrid) _obj, TClass(wxColour) colour );
-void       wxGrid_SetMargins( TSelf(wxGrid) _obj, int extraWidth, int extraHeight );
-void       wxGrid_SetReadOnly( TSelf(wxGrid) _obj, int row, int col, TBool isReadOnly );
-void       wxGrid_SetRowAttr( TSelf(wxGrid) _obj, int row, TClass(wxGridCellAttr) attr );
-void       wxGrid_SetRowLabelAlignment( TSelf(wxGrid) _obj, int horiz, int vert );
-void       wxGrid_SetRowLabelSize( TSelf(wxGrid) _obj, int width );
-void       wxGrid_SetRowLabelValue( TSelf(wxGrid) _obj, int row, TString label );
-void       wxGrid_SetRowMinimalHeight( TSelf(wxGrid) _obj, int row, int width );
-void       wxGrid_SetRowSize( TSelf(wxGrid) _obj, int row, int height );
-void       wxGrid_SetSelectionBackground( TSelf(wxGrid) _obj, TClass(wxColour) c );
-void       wxGrid_SetSelectionForeground( TSelf(wxGrid) _obj, TClass(wxColour) c );
-void       wxGrid_SetSelectionMode( TSelf(wxGrid) _obj, int selmode );
-TBoolInt   wxGrid_SetTable( TSelf(wxGrid) _obj, TClass(wxGridTableBase) table, TBoolInt takeOwnership, int selmode );
-void       wxGrid_ShowCellEditControl( TSelf(wxGrid) _obj );
-int        wxGrid_StringToLines( TSelf(wxGrid) _obj, TStringVoid value, void* lines );
-int        wxGrid_XToCol( TSelf(wxGrid) _obj, int x );
-int        wxGrid_XToEdgeOfCol( TSelf(wxGrid) _obj, int x );
-void       wxGrid_XYToCell( TSelf(wxGrid) _obj, TPoint(x,y), TPointOut(row,col) );
-int        wxGrid_YToEdgeOfRow( TSelf(wxGrid) _obj, int y );
-int        wxGrid_YToRow( TSelf(wxGrid) _obj, int y );
-void       wxGrid_NewCalcCellsExposed( TSelf(wxGrid) _obj, TClass(wxRegion) reg, TClassRef(wxGridCellCoordsArray) arr );
-void       wxGrid_NewDrawGridCellArea( TSelf(wxGrid) _obj, TClass(wxDC) dc, TClass(wxGridCellCoordsArray) arr );
-void       wxGrid_NewDrawHighlight( TSelf(wxGrid) _obj, TClass(wxDC) dc, TClass(wxGridCellCoordsArray) arr );
-void       wxGrid_GetSelectedCells(TSelf(wxGrid) _obj, TClassRef(wxGridCellCoordsArray) _arr);
-void       wxGrid_GetSelectionBlockTopLeft(TSelf(wxGrid) _obj, TClassRef(wxGridCellCoordsArray) _arr);
-void       wxGrid_GetSelectionBlockBottomRight(TSelf(wxGrid) _obj, TClassRef(wxGridCellCoordsArray) _arr);
-TArrayLen  wxGrid_GetSelectedRows(TSelf(wxGrid) _obj, TArrayIntOutVoid _arr);
-TArrayLen  wxGrid_GetSelectedCols(TSelf(wxGrid) _obj, TArrayIntOutVoid _arr);
-
-/* wxGridCellAttr */
-TClassDef(wxGridCellAttr)
-TClass(wxGridCellAttr)    wxGridCellAttr_Ctor(  );
-void       wxGridCellAttr_DecRef( TSelf(wxGridCellAttr) _obj );
-void       wxGridCellAttr_GetAlignment( TSelf(wxGridCellAttr) _obj, TSizeOut(hAlign, vAlign) );
-void       wxGridCellAttr_GetBackgroundColour( TSelf(wxGridCellAttr) _obj, TClassRef(wxColour) _ref );
-TClass(wxGridCellEditor) wxGridCellAttr_GetEditor( TSelf(wxGridCellAttr) _obj, TClass(wxGrid) grid, int row, int col );
-void       wxGridCellAttr_GetFont( TSelf(wxGridCellAttr) _obj, TClassRef(wxFont) _ref );
-TClass(wxGridCellRenderer)  wxGridCellAttr_GetRenderer( TSelf(wxGridCellAttr) _obj, TClass(wxGrid) grid, int row, int col );
-void       wxGridCellAttr_GetTextColour( TSelf(wxGridCellAttr) _obj, TClassRef(wxColour) _ref );
-TBool      wxGridCellAttr_HasAlignment( TSelf(wxGridCellAttr) _obj );
-TBool      wxGridCellAttr_HasBackgroundColour( TSelf(wxGridCellAttr) _obj );
-TBool      wxGridCellAttr_HasEditor( TSelf(wxGridCellAttr) _obj );
-TBool      wxGridCellAttr_HasFont( TSelf(wxGridCellAttr) _obj );
-TBool      wxGridCellAttr_HasRenderer( TSelf(wxGridCellAttr) _obj );
-TBool      wxGridCellAttr_HasTextColour( TSelf(wxGridCellAttr) _obj );
-void       wxGridCellAttr_IncRef( TSelf(wxGridCellAttr) _obj );
-TBool      wxGridCellAttr_IsReadOnly( TSelf(wxGridCellAttr) _obj );
-void       wxGridCellAttr_SetAlignment( TSelf(wxGridCellAttr) _obj, int hAlign, int vAlign );
-void       wxGridCellAttr_SetBackgroundColour( TSelf(wxGridCellAttr) _obj, TClass(wxColour) colBack );
-void       wxGridCellAttr_SetDefAttr( TSelf(wxGridCellAttr) _obj, TClass(wxGridCellAttr) defAttr );
-void       wxGridCellAttr_SetEditor( TSelf(wxGridCellAttr) _obj, TClass(wxGridCellEditor) editor );
-void       wxGridCellAttr_SetFont( TSelf(wxGridCellAttr) _obj, TClass(wxFont) font );
-void       wxGridCellAttr_SetReadOnly( TSelf(wxGridCellAttr) _obj, TBool isReadOnly );
-void       wxGridCellAttr_SetRenderer( TSelf(wxGridCellAttr) _obj, TClass(wxGridCellRenderer) renderer );
-void       wxGridCellAttr_SetTextColour( TSelf(wxGridCellAttr) _obj, TClass(wxColour) colText );
-
-/* wxGridCellBoolEditor */
-TClassDefExtend(wxGridCellBoolEditor,wxGridCellEditor)
-TClass(wxGridCellBoolEditor)   wxGridCellBoolEditor_Ctor(  );
-
-/* wxGridCellBoolRenderer */
-TClassDefExtend(wxGridCellBoolRenderer,wxGridCellRenderer)
-
-/* wxGridCellChoiceEditor */
-TClassDefExtend(wxGridCellChoiceEditor,wxGridCellEditor)
-TClass(wxGridCellChoiceEditor) wxGridCellChoiceEditor_Ctor( TArrayString(count,choices), TBoolInt allowOthers );
-
-/* wxGridCellCoordsArray */
-TClassDef(wxGridCellCoordsArray)
-TClass(wxGridCellCoordsArray) wxGridCellCoordsArray_Create();
-void       wxGridCellCoordsArray_Delete(TSelf(wxGridCellCoordsArray) _obj);
-int        wxGridCellCoordsArray_GetCount(TSelf(wxGridCellCoordsArray) _obj);
-void       wxGridCellCoordsArray_Item(TSelf(wxGridCellCoordsArray) _obj, int _idx, TPointOut(_c,_r));
-
-/* wxGridCellEditor */
-TClassDefExtend(wxGridCellEditor,wxGridCellWorker)
-void       wxGridCellEditor_BeginEdit( TSelf(wxGridCellEditor) _obj, int row, int col, TClass(wxGrid) grid );
-void       wxGridCellEditor_Create( TSelf(wxGridCellEditor) _obj, TClass(wxWindow) parent, int id, TClass(wxEvtHandler) evtHandler );
-void       wxGridCellEditor_Destroy( TSelf(wxGridCellEditor) _obj );
-int        wxGridCellEditor_EndEdit( TSelf(wxGridCellEditor) _obj, int row, int col, TClass(wxGrid) grid );
-TClass(wxControl) wxGridCellEditor_GetControl( TSelf(wxGridCellEditor) _obj );
-void       wxGridCellEditor_HandleReturn( TSelf(wxGridCellEditor) _obj, TClass(wxEvent) event );
-TBool      wxGridCellEditor_IsAcceptedKey( TSelf(wxGridCellEditor) _obj, TClass(wxEvent) event );
-TBool      wxGridCellEditor_IsCreated( TSelf(wxGridCellEditor) _obj );
-void       wxGridCellEditor_PaintBackground( TSelf(wxGridCellEditor) _obj, TRect(x,y,w,h), TClass(wxGridCellAttr) attr );
-void       wxGridCellEditor_Reset( TSelf(wxGridCellEditor) _obj );
-void       wxGridCellEditor_SetControl( TSelf(wxGridCellEditor) _obj, TClass(wxControl) control );
-void       wxGridCellEditor_SetParameters( TSelf(wxGridCellEditor) _obj, TString params );
-void       wxGridCellEditor_SetSize( TSelf(wxGridCellEditor) _obj, TRect(x,y,w,h) );
-void       wxGridCellEditor_Show( TSelf(wxGridCellEditor) _obj, TBoolInt show, TClass(wxGridCellAttr) attr );
-void       wxGridCellEditor_StartingClick( TSelf(wxGridCellEditor) _obj );
-void       wxGridCellEditor_StartingKey( TSelf(wxGridCellEditor) _obj, TClass(wxEvent) event );
-
-/* wxGridCellFloatEditor */
-TClassDefExtend(wxGridCellFloatEditor,wxGridCellTextEditor)
-TClass(wxGridCellFloatEditor) wxGridCellFloatEditor_Ctor( int width, int precision );
-
-/* wxGridCellFloatRenderer */
-TClassDefExtend(wxGridCellFloatRenderer,wxGridCellStringRenderer)
-
-/* wxGridCellNumberEditor */
-TClassDefExtend(wxGridCellNumberEditor,wxGridCellTextEditor)
-TClass(wxGridCellNumberEditor)  wxGridCellNumberEditor_Ctor( int min, int max );
-
-/* wxGridCellNumberRenderer */
-TClassDefExtend(wxGridCellNumberRenderer,wxGridCellStringRenderer)
-
-/* wxGridCellRenderer */
-TClassDefExtend(wxGridCellRenderer,wxGridCellWorker)
-
-/* wxGridCellStringRenderer */
-TClassDefExtend(wxGridCellStringRenderer,wxGridCellRenderer)
-
-/* wxGridCellTextEditor */
-TClassDefExtend(wxGridCellTextEditor,wxGridCellEditor)
-TClass(wxGridCellTextEditor) wxGridCellTextEditor_Ctor(  );
-
-/* wxGridCellWorker */
-TClassDef(wxGridCellWorker)
-
-/* wxGridEditorCreatedEvent */
-TClassDefExtend(wxGridEditorCreatedEvent,wxCommandEvent)
-int        wxGridEditorCreatedEvent_GetCol (TSelf(wxGridEditorCreatedEvent) _obj);
-TClass(wxControl) wxGridEditorCreatedEvent_GetControl (TSelf(wxGridEditorCreatedEvent) _obj);
-int        wxGridEditorCreatedEvent_GetRow (TSelf(wxGridEditorCreatedEvent) _obj);
-void       wxGridEditorCreatedEvent_SetCol (TSelf(wxGridEditorCreatedEvent) _obj, int col);
-void       wxGridEditorCreatedEvent_SetControl (TSelf(wxGridEditorCreatedEvent) _obj, TClass(wxControl) ctrl);
-void       wxGridEditorCreatedEvent_SetRow (TSelf(wxGridEditorCreatedEvent) _obj, int row);
-
-/* wxGridEvent */
-TClassDefExtend(wxGridEvent,wxNotifyEvent)
-TBool      wxGridEvent_AltDown (TSelf(wxGridEvent) _obj);
-TBool      wxGridEvent_ControlDown (TSelf(wxGridEvent) _obj);
-int        wxGridEvent_GetCol (TSelf(wxGridEvent) _obj);
-void       wxGridEvent_GetPosition (TSelf(wxGridEvent) _obj, TPointOutVoid(x,y));
-int        wxGridEvent_GetRow (TSelf(wxGridEvent) _obj);
-TBool      wxGridEvent_MetaDown (TSelf(wxGridEvent) _obj);
-TBool      wxGridEvent_Selecting (TSelf(wxGridEvent) _obj);
-TBool      wxGridEvent_ShiftDown (TSelf(wxGridEvent) _obj);
-
-/* wxGridRangeSelectEvent */
-TClassDefExtend(wxGridRangeSelectEvent,wxNotifyEvent)
-void       wxGridRangeSelectEvent_GetTopLeftCoords (TSelf(wxGridRangeSelectEvent) _obj, TPointOutVoid(col,row));
-void       wxGridRangeSelectEvent_GetBottomRightCoords (TSelf(wxGridRangeSelectEvent) _obj, TPointOutVoid(col,row));
-int        wxGridRangeSelectEvent_GetTopRow (TSelf(wxGridRangeSelectEvent) _obj);
-int        wxGridRangeSelectEvent_GetBottomRow (TSelf(wxGridRangeSelectEvent) _obj);
-int        wxGridRangeSelectEvent_GetLeftCol (TSelf(wxGridRangeSelectEvent) _obj);
-int        wxGridRangeSelectEvent_GetRightCol (TSelf(wxGridRangeSelectEvent) _obj);
-TBool      wxGridRangeSelectEvent_Selecting (TSelf(wxGridRangeSelectEvent) _obj);
-TBool      wxGridRangeSelectEvent_ControlDown (TSelf(wxGridRangeSelectEvent) _obj);
-TBool      wxGridRangeSelectEvent_MetaDown (TSelf(wxGridRangeSelectEvent) _obj);
-TBool      wxGridRangeSelectEvent_ShiftDown (TSelf(wxGridRangeSelectEvent) _obj);
-TBool      wxGridRangeSelectEvent_AltDown (TSelf(wxGridRangeSelectEvent) _obj);
-
-/* wxGridSizeEvent */
-TClassDefExtend(wxGridSizeEvent,wxNotifyEvent)
-int        wxGridSizeEvent_GetRowOrCol (TSelf(wxGridSizeEvent) _obj);
-void       wxGridSizeEvent_GetPosition (TSelf(wxGridSizeEvent) _obj, TPointOutVoid(x,y));
-TBool      wxGridSizeEvent_ControlDown (TSelf(wxGridSizeEvent) _obj);
-TBool      wxGridSizeEvent_MetaDown (TSelf(wxGridSizeEvent) _obj);
-TBool      wxGridSizeEvent_ShiftDown (TSelf(wxGridSizeEvent) _obj);
-TBool      wxGridSizeEvent_AltDown (TSelf(wxGridSizeEvent) _obj);
-
-
-/* wxGridSizer */
-TClassDefExtend(wxGridSizer,wxSizer)
-void       wxGridSizer_CalcMin( TSelf(wxGridSizer) _obj, TSizeOutVoid(_w,_h) );
-TClass(wxGridSizer) wxGridSizer_Create( int rows, int cols, int vgap, int hgap );
-int        wxGridSizer_GetCols( TSelf(wxGridSizer) _obj );
-int        wxGridSizer_GetHGap( TSelf(wxGridSizer) _obj );
-int        wxGridSizer_GetRows( TSelf(wxGridSizer) _obj );
-int        wxGridSizer_GetVGap( TSelf(wxGridSizer) _obj );
-void       wxGridSizer_RecalcSizes( TSelf(wxGridSizer) _obj );
-void       wxGridSizer_SetCols( TSelf(wxGridSizer) _obj, int cols );
-void       wxGridSizer_SetHGap( TSelf(wxGridSizer) _obj, int gap );
-void       wxGridSizer_SetRows( TSelf(wxGridSizer) _obj, int rows );
-void       wxGridSizer_SetVGap( TSelf(wxGridSizer) _obj, int gap );
-
-/* wxGridTableBase */
-TClassDefExtend(wxGridTableBase,wxObject)
-
-/* wxHTTP */
-TClassDefExtend(wxHTTP,wxProtocol)
-
-/* wxHashMap */
-TClassDef(wxHashMap)
-
-/* wxHelpController */
-TClassDefExtend(wxHelpController,wxHelpControllerBase)
-
-/* wxHelpControllerBase */
-TClassDefExtend(wxHelpControllerBase,wxObject)
-
-/* wxHelpControllerHelpProvider */
-TClassDefExtend(wxHelpControllerHelpProvider,wxSimpleHelpProvider)
-TClass(wxHelpControllerHelpProvider) wxHelpControllerHelpProvider_Create( void* ctr );
-TClass(wxHelpController) wxHelpControllerHelpProvider_GetHelpController( TSelf(wxHelpControllerHelpProvider) _obj );
-void       wxHelpControllerHelpProvider_SetHelpController( TSelf(wxHelpControllerHelpProvider) _obj, TClass(wxHelpController) hc );
-
-/* wxHelpEvent */
-TClassDefExtend(wxHelpEvent,wxCommandEvent)
-int        wxHelpEvent_GetLink( TSelf(wxHelpEvent) _obj, void* _ref );
-void       wxHelpEvent_GetPosition( TSelf(wxHelpEvent) _obj, TPointOutVoid(_x,_y) );
-int        wxHelpEvent_GetTarget( TSelf(wxHelpEvent) _obj, void* _ref );
-int        wxHelpEvent_SetLink( TSelf(wxHelpEvent) _obj, void* link );
-void       wxHelpEvent_SetPosition( TSelf(wxHelpEvent) _obj, TPoint(x,y) );
-void       wxHelpEvent_SetTarget( TSelf(wxHelpEvent) _obj, void* target );
-
-/* wxHelpProvider */
-TClassDef(wxHelpProvider)
-void       wxHelpProvider_AddHelp( TSelf(wxHelpProvider) _obj, TClass(wxWindow) window, TStringVoid text );
-void       wxHelpProvider_AddHelpById( TSelf(wxHelpProvider) _obj, int id, TStringVoid text );
-void       wxHelpProvider_Delete( TSelf(wxHelpProvider) _obj );
-void*      wxHelpProvider_Get(  );
-int        wxHelpProvider_GetHelp( TSelf(wxHelpProvider) _obj, TClass(wxWindow) window, void* _ref );
-void       wxHelpProvider_RemoveHelp( TSelf(wxHelpProvider) _obj, TClass(wxWindow) window );
-void*      wxHelpProvider_Set( TSelf(wxHelpProvider) helpProvider );
-int        wxHelpProvider_ShowHelp( TSelf(wxHelpProvider) _obj, TClass(wxWindow) window );
-
-/* wxHtmlCell */
-TClassDefExtend(wxHtmlCell,wxObject)
-
-/* wxHtmlColourCell */
-TClassDefExtend(wxHtmlColourCell,wxHtmlCell)
-
-/* wxHtmlContainerCell */
-TClassDefExtend(wxHtmlContainerCell,wxHtmlCell)
-
-/* wxHtmlDCRenderer */
-TClassDefExtend(wxHtmlDCRenderer,wxObject)
-
-/* wxHtmlEasyPrinting */
-TClassDefExtend(wxHtmlEasyPrinting,wxObject)
-
-/* wxHtmlFilter */
-TClassDefExtend(wxHtmlFilter,wxObject)
-
-/* wxHtmlHelpController */
-TClassDefExtend(wxHtmlHelpController,wxHelpControllerBase)
-int        wxHtmlHelpController_AddBook( TSelf(wxHtmlHelpController) _obj, void* book, int show_wait_msg );
-TClass(wxHtmlHelpController) wxHtmlHelpController_Create( int _style );
-void       wxHtmlHelpController_Delete( TSelf(wxHtmlHelpController) _obj );
-int        wxHtmlHelpController_Display( TSelf(wxHtmlHelpController) _obj, void* x );
-int        wxHtmlHelpController_DisplayBlock( TSelf(wxHtmlHelpController) _obj, int blockNo );
-int        wxHtmlHelpController_DisplayContents( TSelf(wxHtmlHelpController) _obj );
-int        wxHtmlHelpController_DisplayIndex( TSelf(wxHtmlHelpController) _obj );
-int        wxHtmlHelpController_DisplayNumber( TSelf(wxHtmlHelpController) _obj, int id );
-int        wxHtmlHelpController_DisplaySection( TSelf(wxHtmlHelpController) _obj, TStringVoid section );
-int        wxHtmlHelpController_DisplaySectionNumber( TSelf(wxHtmlHelpController) _obj, int sectionNo );
-TClass(wxFrame) wxHtmlHelpController_GetFrame( TSelf(wxHtmlHelpController) _obj );
-void*      wxHtmlHelpController_GetFrameParameters( TSelf(wxHtmlHelpController) _obj, void* title, int* width, int* height, int* pos_x, int* pos_y, int* newFrameEachTime );
-int        wxHtmlHelpController_Initialize( TSelf(wxHtmlHelpController) _obj, TStringVoid file );
-int        wxHtmlHelpController_KeywordSearch( TSelf(wxHtmlHelpController) _obj, TStringVoid keyword );
-int        wxHtmlHelpController_LoadFile( TSelf(wxHtmlHelpController) _obj, TStringVoid file );
-int        wxHtmlHelpController_Quit( TSelf(wxHtmlHelpController) _obj );
-void       wxHtmlHelpController_ReadCustomization( TSelf(wxHtmlHelpController) _obj, TClass(wxConfigBase) cfg, TStringVoid path );
-void       wxHtmlHelpController_SetFrameParameters( TSelf(wxHtmlHelpController) _obj, void* title, TSize(width,height), int pos_x, int pos_y, int newFrameEachTime );
-void       wxHtmlHelpController_SetTempDir( TSelf(wxHtmlHelpController) _obj, TStringVoid path );
-void       wxHtmlHelpController_SetTitleFormat( TSelf(wxHtmlHelpController) _obj, void* format );
-void       wxHtmlHelpController_SetViewer( TSelf(wxHtmlHelpController) _obj, TStringVoid viewer, int flags );
-void       wxHtmlHelpController_UseConfig( TSelf(wxHtmlHelpController) _obj, TClass(wxConfigBase) config, TStringVoid rootpath );
-void       wxHtmlHelpController_WriteCustomization( TSelf(wxHtmlHelpController) _obj, TClass(wxConfigBase) cfg, TStringVoid path );
-
-/* wxHtmlHelpData */
-TClassDefExtend(wxHtmlHelpData,wxObject)
-
-/* wxHtmlHelpFrame */
-TClassDefExtend(wxHtmlHelpFrame,wxFrame)
-
-/* wxHtmlLinkInfo */
-TClassDefExtend(wxHtmlLinkInfo,wxObject)
-
-/* wxHtmlParser */
-TClassDefExtend(wxHtmlParser,wxObject)
-
-/* wxHtmlPrintout */
-TClassDefExtend(wxHtmlPrintout,wxPrintout)
-
-/* wxHtmlTag */
-TClassDefExtend(wxHtmlTag,wxObject)
-
-/* wxHtmlTagHandler */
-TClassDefExtend(wxHtmlTagHandler,wxObject)
-
-/* wxHtmlTagsModule */
-TClassDefExtend(wxHtmlTagsModule,wxModule)
-
-/* wxHtmlWidgetCell */
-TClassDefExtend(wxHtmlWidgetCell,wxHtmlCell)
-
-/* wxHtmlWinParser */
-TClassDefExtend(wxHtmlWinParser,wxHtmlParser)
-
-/* wxHtmlWinTagHandler */
-TClassDefExtend(wxHtmlWinTagHandler,wxHtmlTagHandler)
-
-/* wxHtmlWindow */
-TClassDefExtend(wxHtmlWindow,wxScrolledWindow)
-
-/* wxIPV4address */
-TClassDefExtend(wxIPV4address,wxSockAddress)
-
-/* wxIcon */
-TClassDefExtend(wxIcon,wxBitmap)
-void       wxIcon_Assign( TSelf(wxIcon) _obj, void* other );
-void       wxIcon_CopyFromBitmap( TSelf(wxIcon) _obj, TClass(wxBitmap) bmp );
-TClass(wxIcon) wxIcon_CreateDefault(  );
-TClass(wxIcon) wxIcon_CreateLoad( TStringVoid name, long type, TSize(width,height) );
-void       wxIcon_Delete( TSelf(wxIcon) _obj );
-TClass(wxIcon) wxIcon_FromRaw( TSelf(wxIcon) data, TSize(width,height) );
-TClass(wxIcon) wxIcon_FromXPM( TSelf(wxIcon) data );
-int        wxIcon_GetDepth( TSelf(wxIcon) _obj );
-int        wxIcon_GetHeight( TSelf(wxIcon) _obj );
-int        wxIcon_GetWidth( TSelf(wxIcon) _obj );
-TBool      wxIcon_IsEqual( TSelf(wxIcon) _obj, void* other );
-int        wxIcon_Load( TSelf(wxIcon) _obj, TStringVoid name, long type, TSize(width,height) );
-TBool      wxIcon_Ok( TSelf(wxIcon) _obj );
-void       wxIcon_SetDepth( TSelf(wxIcon) _obj, int depth );
-void       wxIcon_SetHeight( TSelf(wxIcon) _obj, int height );
-void       wxIcon_SetWidth( TSelf(wxIcon) _obj, int width );
-
-/* wxIconBundle */
-TClassDef(wxIconBundle)
-void       wxIconBundle_AddIcon( TSelf(wxIconBundle) _obj, TClass(wxIcon) icon );
-void       wxIconBundle_AddIconFromFile( TSelf(wxIconBundle) _obj, TStringVoid file, int type );
-void       wxIconBundle_Assign( TSelf(wxIconBundle) _obj, TClassRef(wxIconBundle) _ref );
-TClass(wxIconBundle) wxIconBundle_CreateDefault(  );
-TClass(wxIconBundle) wxIconBundle_CreateFromFile( TStringVoid file, int type );
-TClass(wxIconBundle) wxIconBundle_CreateFromIcon( TClass(wxIcon) icon );
-void       wxIconBundle_Delete( TSelf(wxIconBundle) _obj );
-void       wxIconBundle_GetIcon( TSelf(wxIconBundle) _obj, TSize(w,h), TClassRef(wxIcon) _ref );
-
-/* wxIconizeEvent */
-TClassDefExtend(wxIconizeEvent,wxEvent)
-
-/* wxIdleEvent */
-TClassDefExtend(wxIdleEvent,wxEvent)
-void       wxIdleEvent_CopyObject( TSelf(wxIdleEvent) _obj, void* object_dest );
-TBool      wxIdleEvent_MoreRequested( TSelf(wxIdleEvent) _obj );
-void       wxIdleEvent_RequestMore( TSelf(wxIdleEvent) _obj, TBool needMore );
-
-/* wxImage */
-TClassDefExtend(wxImage,wxObject)
-TBool      wxImage_CanRead( TStringVoid name );
-void       wxImage_ConvertToBitmap( TSelf(wxImage) _obj, TClassRef(wxBitmap) bitmap );
-TByteStringLen wxImage_ConvertToByteString( TSelf(wxImage) _obj, int type, TByteStringOut data  );
-TByteStringLen wxImage_ConvertToLazyByteString( TSelf(wxImage) _obj, int type, TByteStringLazyOut data );
-int        wxImage_CountColours( TSelf(wxImage) _obj, int stopafter );
-TClass(wxImage) wxImage_CreateDefault(  );
-TClass(wxImage) wxImage_CreateFromBitmap( TClass(wxBitmap) bitmap );
-TClass(wxImage) wxImage_CreateFromByteString( TByteString(data,length), int type );
-TClass(wxImage) wxImage_CreateFromLazyByteString( TByteStringLazy(data,length), int type );
-TClass(wxImage) wxImage_CreateFromData( TSize(width,height), void* data );
-TClass(wxImage) wxImage_CreateFromFile( TStringVoid name );
-TClass(wxImage) wxImage_CreateSized( TSize(width,height) );
-void       wxImage_Destroy( TSelf(wxImage) _obj );
-TChar      wxImage_GetBlue( TSelf(wxImage) _obj, TPoint(x,y) );
-void*      wxImage_GetData( TSelf(wxImage) _obj );
-TChar      wxImage_GetGreen( TSelf(wxImage) _obj, TPoint(x,y) );
-int        wxImage_GetHeight( TSelf(wxImage) _obj );
-TChar      wxImage_GetMaskBlue( TSelf(wxImage) _obj );
-TChar      wxImage_GetMaskGreen( TSelf(wxImage) _obj );
-TChar      wxImage_GetMaskRed( TSelf(wxImage) _obj );
-TChar      wxImage_GetRed( TSelf(wxImage) _obj, TPoint(x,y) );
-void       wxImage_GetSubImage( TSelf(wxImage) _obj, TRect(x,y,w,h), TClassRef(wxImage) image );
-int        wxImage_GetWidth( TSelf(wxImage) _obj );
-TBool      wxImage_HasMask( TSelf(wxImage) _obj );
-TStringLen wxImage_GetOption( TSelf(wxImage) _obj, TClass(wxString) name, TStringOutVoid _buf );
-TBool      wxImage_GetOptionInt( TSelf(wxImage) _obj, TClass(wxString) name );
-TBool      wxImage_HasOption( TSelf(wxImage) _obj, TClass(wxString) name );
-void       wxImage_Initialize( TSelf(wxImage) _obj, TSize(width,height) );
-void       wxImage_InitializeFromData( TSelf(wxImage) _obj, TSize(width,height), void* data );
-TBoolInt   wxImage_LoadFile( TSelf(wxImage) _obj, TStringVoid name, int type );
-void       wxImage_Mirror( TSelf(wxImage) _obj, TBoolInt horizontally, TClassRef(wxImage) image );
-TBool      wxImage_Ok( TSelf(wxImage) _obj );
-void       wxImage_Paste( TSelf(wxImage) _obj, TClass(wxImage) image, TPoint(x,y) );
-void       wxImage_Replace( TSelf(wxImage) _obj, TColorRGB(r1,g1,b1), TColorRGB(r2,g2,b2) );
-void       wxImage_Rescale( TSelf(wxImage) _obj, TSize(width,height) );
-void       wxImage_Rotate( TSelf(wxImage) _obj, double angle, TPoint(c_x,c_y), TBoolInt interpolating, void* offset_after_rotation, TClassRef(wxImage) image );
-void       wxImage_Rotate90( TSelf(wxImage) _obj, TBoolInt clockwise, TClassRef(wxImage) image );
-TBoolInt   wxImage_SaveFile( TSelf(wxImage) _obj, TStringVoid name, int type );
-void       wxImage_Scale( TSelf(wxImage) _obj, TSize(width,height), TClassRef(wxImage) image );
-void       wxImage_SetData( TSelf(wxImage) _obj, void* data );
-void       wxImage_SetDataAndSize( TSelf(wxImage) _obj, void* data, TSize(new_width,new_height) );
-void       wxImage_SetMask( TSelf(wxImage) _obj, int mask );
-void       wxImage_SetMaskColour( TSelf(wxImage) _obj, TColorRGB(r,g,b) );
-void       wxImage_SetOption( TSelf(wxImage) _obj, TClass(wxString) name, TClass(wxString) value );
-void       wxImage_SetOptionInt( TSelf(wxImage) _obj, TClass(wxString) name, int value );
-void       wxImage_SetRGB( TSelf(wxImage) _obj, TPoint(x,y), TColorRGB(r,g,b) );
-
-/* wxImageHandler */
-TClassDefExtend(wxImageHandler,wxObject)
-
-/* wxImageList */
-TClassDefExtend(wxImageList,wxObject)
-int        wxImageList_AddBitmap( TSelf(wxImageList) _obj, TClass(wxBitmap) bitmap, TClass(wxBitmap) mask );
-int        wxImageList_AddIcon( TSelf(wxImageList) _obj, TClass(wxIcon) icon );
-int        wxImageList_AddMasked( TSelf(wxImageList) _obj, TClass(wxBitmap) bitmap, TClass(wxColour) maskColour );
-TClass(wxImageList) wxImageList_Create( TSize(width,height), TBoolInt mask, int initialCount );
-void       wxImageList_Delete( TSelf(wxImageList) _obj );
-TBoolInt   wxImageList_Draw( TSelf(wxImageList) _obj, int index, TClass(wxDC) dc, TPoint(x,y), int flags, TBoolInt solidBackground );
-int        wxImageList_GetImageCount( TSelf(wxImageList) _obj );
-void       wxImageList_GetSize( TSelf(wxImageList) _obj, int index, TSizeOut(width,height) );
-TBoolInt   wxImageList_Remove( TSelf(wxImageList) _obj, int index );
-TBoolInt   wxImageList_RemoveAll( TSelf(wxImageList) _obj );
-TBoolInt   wxImageList_Replace( TSelf(wxImageList) _obj, int index, TClass(wxBitmap) bitmap, TClass(wxBitmap) mask );
-TBoolInt   wxImageList_ReplaceIcon( TSelf(wxImageList) _obj, int index, TClass(wxIcon) icon );
-
-/* wxIndividualLayoutConstraint */
-TClassDefExtend(wxIndividualLayoutConstraint,wxObject)
-void       wxIndividualLayoutConstraint_Above( TSelf(wxIndividualLayoutConstraint) _obj, TClass(wxWindow) sibling, int marg );
-void       wxIndividualLayoutConstraint_Absolute( TSelf(wxIndividualLayoutConstraint) _obj, int val );
-void       wxIndividualLayoutConstraint_AsIs( TSelf(wxIndividualLayoutConstraint) _obj );
-void       wxIndividualLayoutConstraint_Below( TSelf(wxIndividualLayoutConstraint) _obj, TClass(wxWindow) sibling, int marg );
-int        wxIndividualLayoutConstraint_GetDone( TSelf(wxIndividualLayoutConstraint) _obj );
-int        wxIndividualLayoutConstraint_GetEdge( TSelf(wxIndividualLayoutConstraint) _obj, int which, void* thisWin, void* other );
-int        wxIndividualLayoutConstraint_GetMargin( TSelf(wxIndividualLayoutConstraint) _obj );
-int        wxIndividualLayoutConstraint_GetMyEdge( TSelf(wxIndividualLayoutConstraint) _obj );
-int        wxIndividualLayoutConstraint_GetOtherEdge( TSelf(wxIndividualLayoutConstraint) _obj );
-void*      wxIndividualLayoutConstraint_GetOtherWindow( TSelf(wxIndividualLayoutConstraint) _obj );
-int        wxIndividualLayoutConstraint_GetPercent( TSelf(wxIndividualLayoutConstraint) _obj );
-int        wxIndividualLayoutConstraint_GetRelationship( TSelf(wxIndividualLayoutConstraint) _obj );
-int        wxIndividualLayoutConstraint_GetValue( TSelf(wxIndividualLayoutConstraint) _obj );
-void       wxIndividualLayoutConstraint_LeftOf( TSelf(wxIndividualLayoutConstraint) _obj, TClass(wxWindow) sibling, int marg );
-void       wxIndividualLayoutConstraint_PercentOf( TSelf(wxIndividualLayoutConstraint) _obj, TClass(wxWindow) otherW, int wh, int per );
-int        wxIndividualLayoutConstraint_ResetIfWin( TSelf(wxIndividualLayoutConstraint) _obj, TClass(wxWindow) otherW );
-void       wxIndividualLayoutConstraint_RightOf( TSelf(wxIndividualLayoutConstraint) _obj, TClass(wxWindow) sibling, int marg );
-void       wxIndividualLayoutConstraint_SameAs( TSelf(wxIndividualLayoutConstraint) _obj, TClass(wxWindow) otherW, int edge, int marg );
-int        wxIndividualLayoutConstraint_SatisfyConstraint( TSelf(wxIndividualLayoutConstraint) _obj, void* constraints, TClass(wxWindow) win );
-void       wxIndividualLayoutConstraint_Set( TSelf(wxIndividualLayoutConstraint) _obj, int rel, TClass(wxWindow) otherW, int otherE, int val, int marg );
-void       wxIndividualLayoutConstraint_SetDone( TSelf(wxIndividualLayoutConstraint) _obj, int d );
-void       wxIndividualLayoutConstraint_SetEdge( TSelf(wxIndividualLayoutConstraint) _obj, int which );
-void       wxIndividualLayoutConstraint_SetMargin( TSelf(wxIndividualLayoutConstraint) _obj, int m );
-void       wxIndividualLayoutConstraint_SetRelationship( TSelf(wxIndividualLayoutConstraint) _obj, int r );
-void       wxIndividualLayoutConstraint_SetValue( TSelf(wxIndividualLayoutConstraint) _obj, int v );
-void       wxIndividualLayoutConstraint_Unconstrained( TSelf(wxIndividualLayoutConstraint) _obj );
-
-/* wxInitDialogEvent */
-TClassDefExtend(wxInitDialogEvent,wxEvent)
-
-/* wxInputStream */
-TClassDefExtend(wxInputStream,wxStreamBase)
-void       wxInputStream_Delete( TSelf(wxInputStream) _obj );
-TBool      wxInputStream_Eof( TSelf(wxInputStream) _obj );
-TChar      wxInputStream_GetC( TSelf(wxInputStream) _obj );
-int        wxInputStream_LastRead( TSelf(wxInputStream) _obj );
-TChar      wxInputStream_Peek( TSelf(wxInputStream) _obj );
-void       wxInputStream_Read( TSelf(wxInputStream) _obj, void* buffer, int size );
-int        wxInputStream_SeekI( TSelf(wxInputStream) _obj, int pos, int mode );
-int        wxInputStream_Tell( TSelf(wxInputStream) _obj );
-int        wxInputStream_UngetBuffer( TSelf(wxInputStream) _obj, void* buffer, int size );
-int        wxInputStream_Ungetch( TSelf(wxInputStream) _obj, TChar c );
-
-/* wxJoystick */
-TClassDefExtend(wxJoystick,wxObject)
-TClass(wxJoystick) wxJoystick_Create( int joystick );
-void       wxJoystick_Delete( TSelf(wxJoystick) _obj );
-int        wxJoystick_GetButtonState( TSelf(wxJoystick) _obj );
-int        wxJoystick_GetManufacturerId( TSelf(wxJoystick) _obj );
-int        wxJoystick_GetMaxAxes( TSelf(wxJoystick) _obj );
-int        wxJoystick_GetMaxButtons( TSelf(wxJoystick) _obj );
-int        wxJoystick_GetMovementThreshold( TSelf(wxJoystick) _obj );
-int        wxJoystick_GetNumberAxes( TSelf(wxJoystick) _obj );
-int        wxJoystick_GetNumberButtons( TSelf(wxJoystick) _obj );
-int        wxJoystick_GetNumberJoysticks( TSelf(wxJoystick) _obj );
-int        wxJoystick_GetPOVCTSPosition( TSelf(wxJoystick) _obj );
-int        wxJoystick_GetPOVPosition( TSelf(wxJoystick) _obj );
-int        wxJoystick_GetPollingMax( TSelf(wxJoystick) _obj );
-int        wxJoystick_GetPollingMin( TSelf(wxJoystick) _obj );
-void       wxJoystick_GetPosition( TSelf(wxJoystick) _obj, TPointOutVoid(_x,_y) );
-int        wxJoystick_GetProductId( TSelf(wxJoystick) _obj );
-TStringLen wxJoystick_GetProductName( TSelf(wxJoystick) _obj, TStringOutVoid _buf );
-int        wxJoystick_GetRudderMax( TSelf(wxJoystick) _obj );
-int        wxJoystick_GetRudderMin( TSelf(wxJoystick) _obj );
-int        wxJoystick_GetRudderPosition( TSelf(wxJoystick) _obj );
-int        wxJoystick_GetUMax( TSelf(wxJoystick) _obj );
-int        wxJoystick_GetUMin( TSelf(wxJoystick) _obj );
-int        wxJoystick_GetUPosition( TSelf(wxJoystick) _obj );
-int        wxJoystick_GetVMax( TSelf(wxJoystick) _obj );
-int        wxJoystick_GetVMin( TSelf(wxJoystick) _obj );
-int        wxJoystick_GetVPosition( TSelf(wxJoystick) _obj );
-int        wxJoystick_GetXMax( TSelf(wxJoystick) _obj );
-int        wxJoystick_GetXMin( TSelf(wxJoystick) _obj );
-int        wxJoystick_GetYMax( TSelf(wxJoystick) _obj );
-int        wxJoystick_GetYMin( TSelf(wxJoystick) _obj );
-int        wxJoystick_GetZMax( TSelf(wxJoystick) _obj );
-int        wxJoystick_GetZMin( TSelf(wxJoystick) _obj );
-int        wxJoystick_GetZPosition( TSelf(wxJoystick) _obj );
-TBool      wxJoystick_HasPOV( TSelf(wxJoystick) _obj );
-TBool      wxJoystick_HasPOV4Dir( TSelf(wxJoystick) _obj );
-TBool      wxJoystick_HasPOVCTS( TSelf(wxJoystick) _obj );
-TBool      wxJoystick_HasRudder( TSelf(wxJoystick) _obj );
-TBool      wxJoystick_HasU( TSelf(wxJoystick) _obj );
-TBool      wxJoystick_HasV( TSelf(wxJoystick) _obj );
-TBool      wxJoystick_HasZ( TSelf(wxJoystick) _obj );
-TBool      wxJoystick_IsOk( TSelf(wxJoystick) _obj );
-int        wxJoystick_ReleaseCapture( TSelf(wxJoystick) _obj );
-int        wxJoystick_SetCapture( TSelf(wxJoystick) _obj, TClass(wxWindow) win, int pollingFreq );
-void       wxJoystick_SetMovementThreshold( TSelf(wxJoystick) _obj, int threshold );
-
-/* wxJoystickEvent */
-TClassDefExtend(wxJoystickEvent,wxEvent)
-TBool      wxJoystickEvent_ButtonDown( TSelf(wxJoystickEvent) _obj, int but );
-TBool      wxJoystickEvent_ButtonIsDown( TSelf(wxJoystickEvent) _obj, int but );
-TBool      wxJoystickEvent_ButtonUp( TSelf(wxJoystickEvent) _obj, int but );
-void       wxJoystickEvent_CopyObject( TSelf(wxJoystickEvent) _obj, void* obj );
-int        wxJoystickEvent_GetButtonChange( TSelf(wxJoystickEvent) _obj );
-int        wxJoystickEvent_GetButtonState( TSelf(wxJoystickEvent) _obj );
-int        wxJoystickEvent_GetJoystick( TSelf(wxJoystickEvent) _obj );
-void       wxJoystickEvent_GetPosition( TSelf(wxJoystickEvent) _obj, TPointOut(_x,_y) );
-int        wxJoystickEvent_GetZPosition( TSelf(wxJoystickEvent) _obj );
-TBool      wxJoystickEvent_IsButton( TSelf(wxJoystickEvent) _obj );
-TBool      wxJoystickEvent_IsMove( TSelf(wxJoystickEvent) _obj );
-TBool      wxJoystickEvent_IsZMove( TSelf(wxJoystickEvent) _obj );
-void       wxJoystickEvent_SetButtonChange( TSelf(wxJoystickEvent) _obj, int change );
-void       wxJoystickEvent_SetButtonState( TSelf(wxJoystickEvent) _obj, int state );
-void       wxJoystickEvent_SetJoystick( TSelf(wxJoystickEvent) _obj, int stick );
-void       wxJoystickEvent_SetPosition( TSelf(wxJoystickEvent) _obj, void* pos );
-void       wxJoystickEvent_SetZPosition( TSelf(wxJoystickEvent) _obj, int zPos );
-
-/* wxKeyEvent */
-TClassDefExtend(wxKeyEvent,wxEvent)
-TBool      wxKeyEvent_AltDown( TSelf(wxKeyEvent) _obj );
-TBool      wxKeyEvent_ControlDown( TSelf(wxKeyEvent) _obj );
-void       wxKeyEvent_CopyObject( TSelf(wxKeyEvent) _obj, void* obj );
-int        wxKeyEvent_GetKeyCode( TSelf(wxKeyEvent) _obj );
-void       wxKeyEvent_GetPosition( TSelf(wxKeyEvent) _obj, TPointOut(_x,_y) );
-int        wxKeyEvent_GetX( TSelf(wxKeyEvent) _obj );
-int        wxKeyEvent_GetY( TSelf(wxKeyEvent) _obj );
-TBool      wxKeyEvent_HasModifiers( TSelf(wxKeyEvent) _obj );
-TBool      wxKeyEvent_MetaDown( TSelf(wxKeyEvent) _obj );
-void       wxKeyEvent_SetKeyCode( TSelf(wxKeyEvent) _obj, int code );
-TBool      wxKeyEvent_ShiftDown( TSelf(wxKeyEvent) _obj );
-
-/* wxLEDNumberCtrl */
-TClassDefExtend(wxLEDNumberCtrl,wxControl)
-TClass(wxLEDNumberCtrl) wxLEDNumberCtrl_Create( TClass(wxWindow) parent, int id, TRect(x,y,w,h), int style );
-int        wxLEDNumberCtrl_GetAlignment( TSelf(wxLEDNumberCtrl) _obj );
-int        wxLEDNumberCtrl_GetDrawFaded( TSelf(wxLEDNumberCtrl) _obj );
-int        wxLEDNumberCtrl_GetValue( TSelf(wxLEDNumberCtrl) _obj, void* _ref );
-void       wxLEDNumberCtrl_SetAlignment( TSelf(wxLEDNumberCtrl) _obj, int Alignment, int Redraw );
-void       wxLEDNumberCtrl_SetDrawFaded( TSelf(wxLEDNumberCtrl) _obj, int DrawFaded, int Redraw );
-void       wxLEDNumberCtrl_SetValue( TSelf(wxLEDNumberCtrl) _obj, void* Value, int Redraw );
-
-/* wxLayoutAlgorithm */
-TClassDefExtend(wxLayoutAlgorithm,wxObject)
-TClass(wxLayoutAlgorithm) wxLayoutAlgorithm_Create(  );
-void       wxLayoutAlgorithm_Delete( TSelf(wxLayoutAlgorithm) _obj );
-int        wxLayoutAlgorithm_LayoutFrame( TSelf(wxLayoutAlgorithm) _obj, TClass(wxFrame) frame, void* mainWindow );
-int        wxLayoutAlgorithm_LayoutMDIFrame( TSelf(wxLayoutAlgorithm) _obj, TClass(wxFrame) frame, TRect(x,y,w,h), int use );
-int        wxLayoutAlgorithm_LayoutWindow( TSelf(wxLayoutAlgorithm) _obj, TClass(wxFrame) frame, void* mainWindow );
-
-/* wxLayoutConstraints */
-TClassDefExtend(wxLayoutConstraints,wxObject)
-TClass(wxLayoutConstraints) wxLayoutConstraints_Create(  );
-void*      wxLayoutConstraints_bottom( TSelf(wxLayoutConstraints) _obj );
-void*      wxLayoutConstraints_centreX( TSelf(wxLayoutConstraints) _obj );
-void*      wxLayoutConstraints_centreY( TSelf(wxLayoutConstraints) _obj );
-void*      wxLayoutConstraints_height( TSelf(wxLayoutConstraints) _obj );
-void*      wxLayoutConstraints_left( TSelf(wxLayoutConstraints) _obj );
-void*      wxLayoutConstraints_right( TSelf(wxLayoutConstraints) _obj );
-void*      wxLayoutConstraints_top( TSelf(wxLayoutConstraints) _obj );
-void*      wxLayoutConstraints_width( TSelf(wxLayoutConstraints) _obj );
-
-/* wxList */
-TClassDefExtend(wxList,wxObject)
-
-/* wxListBox */
-TClassDefExtend(wxListBox,wxControl)
-void       wxListBox_Append( TSelf(wxListBox) _obj, TString item );
-void       wxListBox_AppendData( TSelf(wxListBox) _obj, TString item, void* data );
-void       wxListBox_Clear( TSelf(wxListBox) _obj );
-TClass(wxListBox) wxListBox_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), TArrayString(n,str), int _stl );
-void       wxListBox_Delete( TSelf(wxListBox) _obj, int n );
-int        wxListBox_FindString( TSelf(wxListBox) _obj, TString s );
-TClass(wxClientData) wxListBox_GetClientData( TSelf(wxListBox) _obj, int n );
-int        wxListBox_GetCount( TSelf(wxListBox) _obj );
-int        wxListBox_GetSelection( TSelf(wxListBox) _obj );
-int        wxListBox_GetSelections( TSelf(wxListBox) _obj, int* aSelections, int allocated );
-TStringLen wxListBox_GetString( TSelf(wxListBox) _obj, int n, TStringOutVoid _buf );
-void       wxListBox_InsertItems( TSelf(wxListBox) _obj, void* items, int pos, int count );
-TBool      wxListBox_IsSelected( TSelf(wxListBox) _obj, int n );
-void       wxListBox_SetClientData( TSelf(wxListBox) _obj, int n, TClass(wxClientData) clientData );
-void       wxListBox_SetFirstItem( TSelf(wxListBox) _obj, int n );
-void       wxListBox_SetSelection( TSelf(wxListBox) _obj, int n, TBoolInt select );
-void       wxListBox_SetString( TSelf(wxListBox) _obj, int n, TString s );
-void       wxListBox_SetStringSelection( TSelf(wxListBox) _obj, TString str, TBoolInt sel );
-
-/* wxListCtrl */
-TClassDefExtend(wxListCtrl,wxControl)
-TBoolInt   wxListCtrl_Arrange( TSelf(wxListCtrl) _obj, int flag );
-void       wxListCtrl_ClearAll( TSelf(wxListCtrl) _obj );
-TClass(wxListCtrl) wxListCtrl_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
-TBoolInt   wxListCtrl_DeleteAllColumns( TSelf(wxListCtrl) _obj );
-TBoolInt   wxListCtrl_DeleteAllItems( TSelf(wxListCtrl) _obj );
-TBoolInt   wxListCtrl_DeleteColumn( TSelf(wxListCtrl) _obj, int col );
-TBoolInt   wxListCtrl_DeleteItem( TSelf(wxListCtrl) _obj, int item );
-void       wxListCtrl_EditLabel( TSelf(wxListCtrl) _obj, int item );
-TBoolInt   wxListCtrl_EndEditLabel( TSelf(wxListCtrl) _obj, int cancel );
-TBoolInt   wxListCtrl_EnsureVisible( TSelf(wxListCtrl) _obj, int item );
-int        wxListCtrl_FindItem( TSelf(wxListCtrl) _obj, int start, TStringVoid str, TBoolInt partial );
-int        wxListCtrl_FindItemByData( TSelf(wxListCtrl) _obj, int start, int data );
-int        wxListCtrl_FindItemByPosition( TSelf(wxListCtrl) _obj, int start, TPoint(x,y), int direction );
-TBoolInt   wxListCtrl_GetColumn( TSelf(wxListCtrl) _obj, int col, TClass(wxListItem) item );
-int        wxListCtrl_GetColumnCount( TSelf(wxListCtrl) _obj );
-int        wxListCtrl_GetColumnWidth( TSelf(wxListCtrl) _obj, int col );
-int        wxListCtrl_GetCountPerPage( TSelf(wxListCtrl) _obj );
-TClass(wxTextCtrl)  wxListCtrl_GetEditControl( TSelf(wxListCtrl) _obj );
-TClass(wxImageList) wxListCtrl_GetImageList( TSelf(wxListCtrl) _obj, int which );
-TBoolInt   wxListCtrl_GetItem( TSelf(wxListCtrl) _obj, TClass(wxListItem) info );
-int        wxListCtrl_GetItemCount( TSelf(wxListCtrl) _obj );
-int        wxListCtrl_GetItemData( TSelf(wxListCtrl) _obj, int item );
-TBoolInt   wxListCtrl_GetItemPosition( TSelf(wxListCtrl) _obj, int item, int*x, int* y );
-int        wxListCtrl_GetItemRect( TSelf(wxListCtrl) _obj, int item, int code, TRectOutVoid(x,y,w,h) );
-void       wxListCtrl_GetItemSpacing( TSelf(wxListCtrl) _obj, TBool isSmall, TSizeOutVoid(w,h) );
-int        wxListCtrl_GetItemState( TSelf(wxListCtrl) _obj, int item, int stateMask );
-TStringLen wxListCtrl_GetItemText( TSelf(wxListCtrl) _obj, int item, TStringOutVoid buf );
-int        wxListCtrl_GetNextItem( TSelf(wxListCtrl) _obj, int item, int geometry, int state );
-int        wxListCtrl_GetSelectedItemCount( TSelf(wxListCtrl) _obj );
-void       wxListCtrl_GetTextColour( TSelf(wxListCtrl) _obj, TClassRef(wxColour) _ref );
-int        wxListCtrl_GetTopItem( TSelf(wxListCtrl) _obj );
-int        wxListCtrl_HitTest( TSelf(wxListCtrl) _obj, TPoint(x,y), void* flags );
-int        wxListCtrl_InsertColumn( TSelf(wxListCtrl) _obj, int col, TStringVoid heading, int format, int width );
-int        wxListCtrl_InsertColumnFromInfo( TSelf(wxListCtrl) _obj, int col, TClass(wxListItem) info );
-int        wxListCtrl_InsertItem( TSelf(wxListCtrl) _obj, TClass(wxListItem) info );
-int        wxListCtrl_InsertItemWithData( TSelf(wxListCtrl) _obj, int index, TStringVoid label );
-int        wxListCtrl_InsertItemWithImage( TSelf(wxListCtrl) _obj, int index, int imageIndex );
-int        wxListCtrl_InsertItemWithLabel( TSelf(wxListCtrl) _obj, int index, TStringVoid label, int imageIndex );
-TBoolInt   wxListCtrl_ScrollList( TSelf(wxListCtrl) _obj, TVector(dx,dy) );
-void       wxListCtrl_SetBackgroundColour( TSelf(wxListCtrl) _obj, TClass(wxColour) col );
-TBoolInt   wxListCtrl_SetColumn( TSelf(wxListCtrl) _obj, int col, TClass(wxListItem) item );
-TBoolInt   wxListCtrl_SetColumnWidth( TSelf(wxListCtrl) _obj, int col, int width );
-int        wxListCtrl_SetForegroundColour( TSelf(wxListCtrl) _obj, TClass(wxColour) col );
-void       wxListCtrl_SetImageList( TSelf(wxListCtrl) _obj, TClass(wxImageList) imageList, int which );
-TBoolInt   wxListCtrl_SetItem( TSelf(wxListCtrl) _obj, int index, int col, TStringVoid label, int imageId );
-TBoolInt   wxListCtrl_SetItemData( TSelf(wxListCtrl) _obj, int item, int data );
-TBoolInt   wxListCtrl_SetItemFromInfo( TSelf(wxListCtrl) _obj, TClass(wxListItem) info );
-TBoolInt   wxListCtrl_SetItemImage( TSelf(wxListCtrl) _obj, int item, int image, int selImage );
-TBoolInt   wxListCtrl_SetItemPosition( TSelf(wxListCtrl) _obj, int item, TPoint(x,y) );
-TBoolInt   wxListCtrl_SetItemState( TSelf(wxListCtrl) _obj, int item, int state, int stateMask );
-void       wxListCtrl_SetItemText( TSelf(wxListCtrl) _obj, int item, TStringVoid str );
-void       wxListCtrl_SetSingleStyle( TSelf(wxListCtrl) _obj, int style, TBoolInt add );
-void       wxListCtrl_SetTextColour( TSelf(wxListCtrl) _obj, TClass(wxColour) col );
-void       wxListCtrl_SetWindowStyleFlag( TSelf(wxListCtrl) _obj, int style );
-TBoolInt   wxListCtrl_SortItems( TSelf(wxListCtrl) _obj, void* fn, void* eif_obj );
-void       wxListCtrl_UpdateStyle( TSelf(wxListCtrl) _obj );
-
-/* wxListEvent */
-TClassDefExtend(wxListEvent,wxNotifyEvent)
-TBool      wxListEvent_Cancelled( TSelf(wxListEvent) _obj );
-int        wxListEvent_GetCode( TSelf(wxListEvent) _obj );
-int        wxListEvent_GetColumn( TSelf(wxListEvent) _obj );
-int        wxListEvent_GetData( TSelf(wxListEvent) _obj );
-int        wxListEvent_GetImage( TSelf(wxListEvent) _obj );
-int        wxListEvent_GetIndex( TSelf(wxListEvent) _obj );
-void       wxListEvent_GetItem( TSelf(wxListEvent) _obj, TClassRef(wxListItem) _ref );
-TStringLen wxListEvent_GetLabel( TSelf(wxListEvent) _obj, TStringOutVoid _buf );
-int        wxListEvent_GetMask( TSelf(wxListEvent) _obj );
-/*
-int        wxListEvent_GetOldIndex( TSelf(wxListEvent) _obj );
-int        wxListEvent_GetOldItem( TSelf(wxListEvent) _obj );
-*/
-void       wxListEvent_GetPoint( TSelf(wxListEvent) _obj, TPointOutVoid(_x,_y) );
-TStringLen wxListEvent_GetText( TSelf(wxListEvent) _obj, TStringOutVoid _buf );
-
-/* wxListItem */
-TClassDefExtend(wxListItem,wxObject)
-void       wxListItem_Clear( TSelf(wxListItem) _obj );
-void       wxListItem_ClearAttributes( TSelf(wxListItem) _obj );
-TClass(wxListItem) wxListItem_Create(  );
-void       wxListItem_Delete( TSelf(wxListItem) _obj );
-int        wxListItem_GetAlign( TSelf(wxListItem) _obj );
-void*      wxListItem_GetAttributes( TSelf(wxListItem) _obj );
-void       wxListItem_GetBackgroundColour( TSelf(wxListItem) _obj, TClassRef(wxColour) _ref );
-int        wxListItem_GetColumn( TSelf(wxListItem) _obj );
-int        wxListItem_GetData( TSelf(wxListItem) _obj );
-void       wxListItem_GetFont( TSelf(wxListItem) _obj, TClassRef(wxFont) _ref );
-int        wxListItem_GetId( TSelf(wxListItem) _obj );
-int        wxListItem_GetImage( TSelf(wxListItem) _obj );
-int        wxListItem_GetMask( TSelf(wxListItem) _obj );
-int        wxListItem_GetState( TSelf(wxListItem) _obj );
-TStringLen wxListItem_GetText( TSelf(wxListItem) _obj, TStringOutVoid _buf );
-void       wxListItem_GetTextColour( TSelf(wxListItem) _obj, TClassRef(wxColour) _ref );
-int        wxListItem_GetWidth( TSelf(wxListItem) _obj );
-TBool      wxListItem_HasAttributes( TSelf(wxListItem) _obj );
-void       wxListItem_SetAlign( TSelf(wxListItem) _obj, int align );
-void       wxListItem_SetBackgroundColour( TSelf(wxListItem) _obj, TClass(wxColour) colBack );
-void       wxListItem_SetColumn( TSelf(wxListItem) _obj, int col );
-void       wxListItem_SetData( TSelf(wxListItem) _obj, int data );
-void       wxListItem_SetDataPointer( TSelf(wxListItem) _obj, void* data );
-void       wxListItem_SetFont( TSelf(wxListItem) _obj, TClass(wxFont) font );
-void       wxListItem_SetId( TSelf(wxListItem) _obj, int id );
-void       wxListItem_SetImage( TSelf(wxListItem) _obj, int image );
-void       wxListItem_SetMask( TSelf(wxListItem) _obj, int mask );
-void       wxListItem_SetState( TSelf(wxListItem) _obj, int state );
-void       wxListItem_SetStateMask( TSelf(wxListItem) _obj, int stateMask );
-void       wxListItem_SetText( TSelf(wxListItem) _obj, TStringVoid text );
-void       wxListItem_SetTextColour( TSelf(wxListItem) _obj, TClass(wxColour) colText );
-void       wxListItem_SetWidth( TSelf(wxListItem) _obj, int width );
-
-/* wxLocale */
-TClassDef(wxLocale)
-int        wxLocale_AddCatalog( TSelf(wxLocale) _obj, void* szDomain );
-void       wxLocale_AddCatalogLookupPathPrefix( TSelf(wxLocale) _obj, void* prefix );
-TClass(wxLocale) wxLocale_Create( int _name, int _flags );
-void       wxLocale_Delete( TSelf(wxLocale) _obj );
-TClass(wxLocale) wxLocale_GetLocale( TSelf(wxLocale) _obj );
-int        wxLocale_GetName( TSelf(wxLocale) _obj, void* _ref );
-TClass(wxString) wxLocale_GetString( TSelf(wxLocale) _obj, void* szOrigString, void* szDomain );
-TBool      wxLocale_IsLoaded( TSelf(wxLocale) _obj, void* szDomain );
-TBool      wxLocale_IsOk( TSelf(wxLocale) _obj );
-
-/* wxLog */
-TClassDef(wxLog)
-
-/* wxLogChain */
-TClassDefExtend(wxLogChain,wxLog)
-TClass(wxLogChain) wxLogChain_Create( TClass(wxLog) logger );
-void       wxLogChain_Delete( TSelf(wxLogChain) _obj );
-TClass(wxLog) wxLogChain_GetOldLog( TSelf(wxLogChain) _obj );
-TBool      wxLogChain_IsPassingMessages( TSelf(wxLogChain) _obj );
-void       wxLogChain_PassMessages( TSelf(wxLogChain) _obj, TBoolInt bDoPass );
-void       wxLogChain_SetLog( TSelf(wxLogChain) _obj, TClass(wxLog) logger );
-
-/* wxLogGUI */
-TClassDefExtend(wxLogGUI,wxLog)
-
-/* wxLogNull */
-TClassDefExtend(wxLogNull,wxLog)
-
-/* wxLogPassThrough */
-TClassDefExtend(wxLogPassThrough,wxLogChain)
-
-/* wxLogStderr */
-TClassDefExtend(wxLogStderr,wxLog)
-
-/* wxLogStream */
-TClassDefExtend(wxLogStream,wxLog)
-
-/* wxLogTextCtrl */
-TClassDefExtend(wxLogTextCtrl,wxLog)
-
-/* wxLogWindow */
-TClassDefExtend(wxLogWindow,wxLogPassThrough)
-
-/* wxLongLong */
-TClassDef(wxLongLong)
-
-/* wxMBConv */
-TClassDef(wxMBConv)
-
-/* wxMBConvFile */
-TClassDefExtend(wxMBConvFile,wxMBConv)
-
-/* wxMBConvUTF7 */
-TClassDefExtend(wxMBConvUTF7,wxMBConv)
-
-/* wxMBConvUTF8 */
-TClassDefExtend(wxMBConvUTF8,wxMBConv)
-
-/* wxMDIChildFrame */
-TClassDefExtend(wxMDIChildFrame,wxFrame)
-void       wxMDIChildFrame_Activate( TSelf(wxMDIChildFrame) _obj );
-TClass(wxMDIChildFrame) wxMDIChildFrame_Create( TClass(wxWindow) _prt, int _id, TString _txt, TRect(_lft,_top,_wdt,_hgt), int _stl );
-
-/* wxMDIClientWindow */
-TClassDefExtend(wxMDIClientWindow,wxWindow)
-
-/* wxMDIParentFrame */
-TClassDefExtend(wxMDIParentFrame,wxFrame)
-void       wxMDIParentFrame_ActivateNext( TSelf(wxMDIParentFrame) _obj );
-void       wxMDIParentFrame_ActivatePrevious( TSelf(wxMDIParentFrame) _obj );
-void       wxMDIParentFrame_ArrangeIcons( TSelf(wxMDIParentFrame) _obj );
-void       wxMDIParentFrame_Cascade( TSelf(wxMDIParentFrame) _obj );
-TClass(wxMDIParentFrame)  wxMDIParentFrame_Create( TClass(wxWindow) _prt, int _id, TString _txt, TRect(_lft,_top,_wdt,_hgt), int _stl );
-TClass(wxMDIChildFrame)   wxMDIParentFrame_GetActiveChild( TSelf(wxMDIParentFrame) _obj );
-TClass(wxMDIClientWindow) wxMDIParentFrame_GetClientWindow( TSelf(wxMDIParentFrame) _obj );
-TClass(wxMenu)            wxMDIParentFrame_GetWindowMenu( TSelf(wxMDIParentFrame) _obj );
-TClass(wxMDIClientWindow) wxMDIParentFrame_OnCreateClient( TSelf(wxMDIParentFrame) _obj );
-void       wxMDIParentFrame_SetWindowMenu( TSelf(wxMDIParentFrame) _obj, TClass(wxMenu) menu );
-void       wxMDIParentFrame_Tile( TSelf(wxMDIParentFrame) _obj );
-
-/* wxMask */
-TClassDefExtend(wxMask,wxObject)
-TClass(wxMask) wxMask_Create( TClass(wxBitmap) bitmap );
-void*      wxMask_CreateColoured( TClass(wxBitmap) bitmap, TClass(wxColour) colour );
-
-/* wxMaximizeEvent */
-TClassDefExtend(wxMaximizeEvent,wxEvent)
-
-/* wxMemoryDC */
-TClassDefExtend(wxMemoryDC,wxDC)
-TClass(wxMemoryDC) wxMemoryDC_Create(  );
-TClass(wxMemoryDC) wxMemoryDC_CreateCompatible( TClass(wxDC) dc );
-TClass(wxMemoryDC) wxMemoryDC_CreateWithBitmap( TClass(wxBitmap) bitmap );
-void       wxMemoryDC_Delete( TSelf(wxMemoryDC) _obj );
-void       wxMemoryDC_SelectObject( TSelf(wxMemoryDC) _obj, TClass(wxBitmap) bitmap );
-
-/* wxMemoryFSHandler */
-TClassDefExtend(wxMemoryFSHandler,wxFileSystemHandler)
-
-/* wxMemoryInputStream */
-TClassDefExtend(wxMemoryInputStream,wxInputStream)
-
-/* wxMemoryOutputStream */
-TClassDefExtend(wxMemoryOutputStream,wxOutputStream)
-
-/* wxMenu */
-TClassDefExtend(wxMenu,wxEvtHandler)
-void       wxMenu_Append( TSelf(wxMenu) _obj, int id, TString text, TString help, TBool isCheckable );
-void       wxMenu_AppendItem( TSelf(wxMenu) _obj, TClass(wxMenuItem) _itm );
-void       wxMenu_AppendSeparator( TSelf(wxMenu) _obj );
-void       wxMenu_AppendSub( TSelf(wxMenu) _obj, int id, TString text, TClass(wxMenu) submenu, TString help );
-void       wxMenu_Break( TSelf(wxMenu) _obj );
-void       wxMenu_Check( TSelf(wxMenu) _obj, int id, TBool check );
-TClass(wxMenu) wxMenu_Create( TString title, long style );
-void       wxMenu_DeleteById( TSelf(wxMenu) _obj, int id );
-void       wxMenu_DeleteByItem( TSelf(wxMenu) _obj, TClass(wxMenuItem) _itm );
-void       wxMenu_DeletePointer( TSelf(wxMenu) _obj );
-void       wxMenu_DestroyById( TSelf(wxMenu) _obj, int id );
-void       wxMenu_DestroyByItem( TSelf(wxMenu) _obj, TClass(wxMenuItem) _itm );
-void       wxMenu_Enable( TSelf(wxMenu) _obj, int id, TBool enable );
-TClass(wxMenuItem)  wxMenu_FindItem( TSelf(wxMenu) _obj, int id);
-int        wxMenu_FindItemByLabel( TSelf(wxMenu) _obj, TString itemString );
-TClass(wxClientData) wxMenu_GetClientData( TSelf(wxMenu) _obj );
-TStringLen wxMenu_GetHelpString( TSelf(wxMenu) _obj, int id, TStringOutVoid _buf );
-TClass(wxWindow) wxMenu_GetInvokingWindow( TSelf(wxMenu) _obj );
-TStringLen wxMenu_GetLabel( TSelf(wxMenu) _obj, int id, TStringOutVoid _buf );
-size_t     wxMenu_GetMenuItemCount( TSelf(wxMenu) _obj );
-int        wxMenu_GetMenuItems( TSelf(wxMenu) _obj, TClass(wxList) _lst );
-TClass(wxMenu) wxMenu_GetParent( TSelf(wxMenu) _obj );
-int        wxMenu_GetStyle( TSelf(wxMenu) _obj );
-TStringLen wxMenu_GetTitle( TSelf(wxMenu) _obj, TStringOutVoid _buf );
-void       wxMenu_Insert( TSelf(wxMenu) _obj, size_t pos, int id, TString text, TString help, TBool isCheckable );
-void       wxMenu_InsertItem( TSelf(wxMenu) _obj, size_t pos, TClass(wxMenuItem) _itm );
-void       wxMenu_InsertSub( TSelf(wxMenu) _obj, size_t pos, int id, TString text, TClass(wxMenu) submenu, TString help );
-TBool      wxMenu_IsAttached( TSelf(wxMenu) _obj );
-TBool      wxMenu_IsChecked( TSelf(wxMenu) _obj, int id );
-TBool      wxMenu_IsEnabled( TSelf(wxMenu) _obj, int id );
-void       wxMenu_Prepend( TSelf(wxMenu) _obj, int id, TString text, TString help, TBool isCheckable );
-void       wxMenu_PrependItem( TSelf(wxMenu) _obj, TClass(wxMenuItem) _itm );
-void       wxMenu_PrependSub( TSelf(wxMenu) _obj, int id, TString text, TClass(wxMenu) submenu, TString help );
-void       wxMenu_RemoveById( TSelf(wxMenu) _obj, int id, TClass(wxMenuItem) _itm );
-void       wxMenu_RemoveByItem( TSelf(wxMenu) _obj, void* item );
-void       wxMenu_SetClientData( TSelf(wxMenu) _obj, TClass(wxClientData) clientData );
-void       wxMenu_SetEventHandler( TSelf(wxMenu) _obj, TClass(wxEvtHandler) handler );
-void       wxMenu_SetHelpString( TSelf(wxMenu) _obj, int id, TString helpString );
-void       wxMenu_SetInvokingWindow( TSelf(wxMenu) _obj, TClass(wxWindow) win );
-void       wxMenu_SetLabel( TSelf(wxMenu) _obj, int id, TString label );
-void       wxMenu_SetParent( TSelf(wxMenu) _obj, TClass(wxWindow) parent );
-void       wxMenu_SetTitle( TSelf(wxMenu) _obj, TString title );
-void       wxMenu_UpdateUI( TSelf(wxMenu) _obj, void* source );
-
-/* wxMenuBar */
-TClassDefExtend(wxMenuBar,wxEvtHandler)
-int        wxMenuBar_Append( TSelf(wxMenuBar) _obj, TClass(wxMenu) menu, TString title );
-void       wxMenuBar_Check( TSelf(wxMenuBar) _obj, int id, TBool check );
-TClass(wxMenuBar) wxMenuBar_Create( int _style );
-void       wxMenuBar_DeletePointer( TSelf(wxMenuBar) _obj );
-int        wxMenuBar_Enable( TSelf(wxMenuBar) _obj, TBool enable );
-void       wxMenuBar_EnableItem( TSelf(wxMenuBar) _obj, int id, TBool enable );
-void       wxMenuBar_EnableTop( TSelf(wxMenuBar) _obj, int pos, TBool enable );
-TClass(wxMenuItem) wxMenuBar_FindItem( TSelf(wxMenuBar) _obj, int id);
-int        wxMenuBar_FindMenu( TSelf(wxMenuBar) _obj, TString title );
-int        wxMenuBar_FindMenuItem( TSelf(wxMenuBar) _obj, TString menuString, TString itemString );
-TStringLen wxMenuBar_GetHelpString( TSelf(wxMenuBar) _obj, int id, TStringOutVoid _buf );
-TStringLen wxMenuBar_GetLabel( TSelf(wxMenuBar) _obj, int id, TStringOutVoid _buf );
-TStringLen wxMenuBar_GetLabelTop( TSelf(wxMenuBar) _obj, int pos, TStringOutVoid _buf );
-TClass(wxMenu) wxMenuBar_GetMenu( TSelf(wxMenuBar) _obj, int pos );
-int        wxMenuBar_GetMenuCount( TSelf(wxMenuBar) _obj );
-int        wxMenuBar_Insert( TSelf(wxMenuBar) _obj, int pos, TClass(wxMenu) menu, TString title );
-TBool      wxMenuBar_IsChecked( TSelf(wxMenuBar) _obj, int id );
-TBool      wxMenuBar_IsEnabled( TSelf(wxMenuBar) _obj, int id );
-TClass(wxMenu) wxMenuBar_Remove( TSelf(wxMenuBar) _obj, int pos );
-TClass(wxMenu) wxMenuBar_Replace( TSelf(wxMenuBar) _obj, int pos, TClass(wxMenu) menu, TString title );
-void       wxMenuBar_SetHelpString( TSelf(wxMenuBar) _obj, int id, TString helpString );
-void       wxMenuBar_SetItemLabel( TSelf(wxMenuBar) _obj, int id, TString label );
-void       wxMenuBar_SetLabel( TSelf(wxMenuBar) _obj, TString s );
-void       wxMenuBar_SetLabelTop( TSelf(wxMenuBar) _obj, int pos, TString label );
-
-/* wxMenuEvent */
-TClassDefExtend(wxMenuEvent,wxEvent)
-void       wxMenuEvent_CopyObject( TSelf(wxMenuEvent) _obj, void* obj );
-int        wxMenuEvent_GetMenuId( TSelf(wxMenuEvent) _obj );
-
-/* wxMenuItem */
-TClassDefExtend(wxMenuItem,wxObject)
-void       wxMenuItem_Check( TSelf(wxMenuItem) _obj, TBool check );
-TClass(wxMenuItem) wxMenuItem_Create(  );
-void       wxMenuItem_Delete( TSelf(wxMenuItem) _obj );
-void       wxMenuItem_Enable( TSelf(wxMenuItem) _obj, TBool enable );
-TStringLen wxMenuItem_GetHelp( TSelf(wxMenuItem) _obj, TStringOutVoid _buf );
-int        wxMenuItem_GetId( TSelf(wxMenuItem) _obj );
-TStringLen wxMenuItem_GetLabel( TSelf(wxMenuItem) _obj, TStringOutVoid _buf );
-TStringLen wxMenuItem_GetLabelFromText( TStringVoid text, TStringOutVoid _buf );
-TClass(wxMenu) wxMenuItem_GetMenu( TSelf(wxMenuItem) _obj );
-TClass(wxMenu) wxMenuItem_GetSubMenu( TSelf(wxMenuItem) _obj );
-TStringLen wxMenuItem_GetText( TSelf(wxMenuItem) _obj, TStringOutVoid _buf );
-TBool      wxMenuItem_IsCheckable( TSelf(wxMenuItem) _obj );
-TBool      wxMenuItem_IsChecked( TSelf(wxMenuItem) _obj );
-TBool      wxMenuItem_IsEnabled( TSelf(wxMenuItem) _obj );
-TBool      wxMenuItem_IsSeparator( TSelf(wxMenuItem) _obj );
-TBool      wxMenuItem_IsSubMenu( TSelf(wxMenuItem) _obj );
-void       wxMenuItem_SetCheckable( TSelf(wxMenuItem) _obj, int checkable );
-void       wxMenuItem_SetHelp( TSelf(wxMenuItem) _obj, TStringVoid str );
-void       wxMenuItem_SetId( TSelf(wxMenuItem) _obj, int id );
-void       wxMenuItem_SetSubMenu( TSelf(wxMenuItem) _obj, TClass(wxMenu) menu );
-void       wxMenuItem_SetText( TSelf(wxMenuItem) _obj, TStringVoid str );
-
-/* wxMessageDialog */
-TClassDefExtend(wxMessageDialog,wxDialog)
-TClass(wxMessageDialog) wxMessageDialog_Create( TClass(wxWindow) _prt, TStringVoid _msg, TStringVoid _cap, int _stl );
-void       wxMessageDialog_Delete( TSelf(wxMessageDialog) _obj );
-int        wxMessageDialog_ShowModal( TSelf(wxMessageDialog) _obj );
-
-/* wxMetafile */
-TClassDefExtend(wxMetafile,wxObject)
-TClass(wxMetafile) wxMetafile_Create( TStringVoid _file );
-void       wxMetafile_Delete( TSelf(wxMetafile) _obj );
-TBool      wxMetafile_Ok( TSelf(wxMetafile) _obj );
-TBool      wxMetafile_Play( TSelf(wxMetafile) _obj, TClass(wxDC) _dc );
-TBool      wxMetafile_SetClipboard( TSelf(wxMetafile) _obj, TSize(width,height) );
-
-/* wxMetafileDC */
-TClassDefExtend(wxMetafileDC,wxDC)
-void*      wxMetafileDC_Close( TSelf(wxMetafileDC) _obj );
-TClass(wxMetafileDC) wxMetafileDC_Create( TStringVoid _file );
-void       wxMetafileDC_Delete( TSelf(wxMetafileDC) _obj );
-
-/* wxMimeTypesManager */
-TClassDef(wxMimeTypesManager)
-void       wxMimeTypesManager_AddFallbacks( TSelf(wxMimeTypesManager) _obj, void* _types );
-TClass(wxMimeTypesManager) wxMimeTypesManager_Create(  );
-int        wxMimeTypesManager_EnumAllFileTypes( TSelf(wxMimeTypesManager) _obj, TClass(wxList) _lst );
-void*      wxMimeTypesManager_GetFileTypeFromExtension( TSelf(wxMimeTypesManager) _obj, void* _ext );
-void*      wxMimeTypesManager_GetFileTypeFromMimeType( TSelf(wxMimeTypesManager) _obj, TStringVoid _name );
-TBool      wxMimeTypesManager_IsOfType( TSelf(wxMimeTypesManager) _obj, void* _type, void* _wildcard );
-int        wxMimeTypesManager_ReadMailcap( TSelf(wxMimeTypesManager) _obj, void* _file, int _fb );
-int        wxMimeTypesManager_ReadMimeTypes( TSelf(wxMimeTypesManager) _obj, void* _file );
-
-/* wxMiniFrame */
-TClassDefExtend(wxMiniFrame,wxFrame)
-TClass(wxMiniFrame) wxMiniFrame_Create( TClass(wxWindow) _prt, int _id, TStringVoid _txt, TRect(_lft,_top,_wdt,_hgt), int _stl );
-
-/* wxMirrorDC */
-TClassDefExtend(wxMirrorDC,wxDC)
-TClass(wxMirrorDC) wxMirrorDC_Create( TClass(wxDC) dc );
-void       wxMirrorDC_Delete( TSelf(wxMemoryDC) _obj );
-
-/* wxModule */
-TClassDefExtend(wxModule,wxObject)
-
-/* wxMouseCaptureChangedEvent */
-TClassDefExtend(wxMouseCaptureChangedEvent,wxEvent)
-
-/* wxMouseEvent */
-TClassDefExtend(wxMouseEvent,wxEvent)
-TBool      wxMouseEvent_AltDown( TSelf(wxMouseEvent) _obj );
-int        wxMouseEvent_Button( TSelf(wxMouseEvent) _obj, int but );
-TBool      wxMouseEvent_ButtonDClick( TSelf(wxMouseEvent) _obj, int but );
-TBool      wxMouseEvent_ButtonDown( TSelf(wxMouseEvent) _obj, int but );
-TBool      wxMouseEvent_ButtonIsDown( TSelf(wxMouseEvent) _obj, int but );
-TBool      wxMouseEvent_ButtonUp( TSelf(wxMouseEvent) _obj, int but );
-TBool      wxMouseEvent_ControlDown( TSelf(wxMouseEvent) _obj );
-void       wxMouseEvent_CopyObject( TSelf(wxMouseEvent) _obj, void* object_dest );
-TBool      wxMouseEvent_Dragging( TSelf(wxMouseEvent) _obj );
-TBool      wxMouseEvent_Entering( TSelf(wxMouseEvent) _obj );
-void       wxMouseEvent_GetLogicalPosition( TSelf(wxMouseEvent) _obj, TClass(wxDC) dc, TPointOut(_x,_y) );
-void       wxMouseEvent_GetPosition( TSelf(wxMouseEvent) _obj, TPointOut(_x,_y) );
-int        wxMouseEvent_GetX( TSelf(wxMouseEvent) _obj );
-int        wxMouseEvent_GetY( TSelf(wxMouseEvent) _obj );
-TBool      wxMouseEvent_IsButton( TSelf(wxMouseEvent) _obj );
-TBool      wxMouseEvent_Leaving( TSelf(wxMouseEvent) _obj );
-TBool      wxMouseEvent_LeftDClick( TSelf(wxMouseEvent) _obj );
-TBool      wxMouseEvent_LeftDown( TSelf(wxMouseEvent) _obj );
-TBool      wxMouseEvent_LeftIsDown( TSelf(wxMouseEvent) _obj );
-TBool      wxMouseEvent_LeftUp( TSelf(wxMouseEvent) _obj );
-TBool      wxMouseEvent_MetaDown( TSelf(wxMouseEvent) _obj );
-TBool      wxMouseEvent_MiddleDClick( TSelf(wxMouseEvent) _obj );
-TBool      wxMouseEvent_MiddleDown( TSelf(wxMouseEvent) _obj );
-TBool      wxMouseEvent_MiddleIsDown( TSelf(wxMouseEvent) _obj );
-TBool      wxMouseEvent_MiddleUp( TSelf(wxMouseEvent) _obj );
-TBool      wxMouseEvent_Moving( TSelf(wxMouseEvent) _obj );
-TBool      wxMouseEvent_RightDClick( TSelf(wxMouseEvent) _obj );
-TBool      wxMouseEvent_RightDown( TSelf(wxMouseEvent) _obj );
-TBool      wxMouseEvent_RightIsDown( TSelf(wxMouseEvent) _obj );
-TBool      wxMouseEvent_RightUp( TSelf(wxMouseEvent) _obj );
-TBool      wxMouseEvent_ShiftDown( TSelf(wxMouseEvent) _obj );
-
-/* wxMoveEvent */
-TClassDefExtend(wxMoveEvent,wxEvent)
-void       wxMoveEvent_CopyObject( TSelf(wxMoveEvent) _obj, void* obj );
-void       wxMoveEvent_GetPosition( TSelf(wxMoveEvent) _obj, TPointOut(_x,_y) );
-
-/* wxMultiCellCanvas */
-TClassDefExtend(wxMultiCellCanvas,wxFlexGridSizer)
-void       wxMultiCellCanvas_Add( TSelf(wxMultiCellCanvas) _obj, TClass(wxWindow) win, int row, int col );
-void       wxMultiCellCanvas_CalculateConstraints( TSelf(wxMultiCellCanvas) _obj );
-TClass(wxMultiCellCanvas) wxMultiCellCanvas_Create( TClass(wxWindow) parent, int numRows, int numCols );
-int        wxMultiCellCanvas_MaxCols( TSelf(wxMultiCellCanvas) _obj );
-int        wxMultiCellCanvas_MaxRows( TSelf(wxMultiCellCanvas) _obj );
-void       wxMultiCellCanvas_SetMinCellSize( TSelf(wxMultiCellCanvas) _obj, TSize(w,h) );
-
-/* wxMultiCellItemHandle */
-TClassDefExtend(wxMultiCellItemHandle,wxObject)
-TClass(wxMultiCellItemHandle) wxMultiCellItemHandle_Create( int row, int column, int height, int width, int sx, int sy, int style, int wx, int wy, int align );
-void*      wxMultiCellItemHandle_CreateWithSize( TSelf(wxMultiCellItemHandle) _obj, int row, int column, int sx, int sy, int style, int wx, int wy, int align );
-void*      wxMultiCellItemHandle_CreateWithStyle( TSelf(wxMultiCellItemHandle) _obj, int row, int column, int style, int wx, int wy, int align );
-int        wxMultiCellItemHandle_GetAlignment( TSelf(wxMultiCellItemHandle) _obj );
-int        wxMultiCellItemHandle_GetColumn( TSelf(wxMultiCellItemHandle) _obj );
-int        wxMultiCellItemHandle_GetHeight( TSelf(wxMultiCellItemHandle) _obj );
-void       wxMultiCellItemHandle_GetLocalSize( TSelf(wxMultiCellItemHandle) _obj, TSizeOutVoid(_w,_h) );
-int        wxMultiCellItemHandle_GetRow( TSelf(wxMultiCellItemHandle) _obj );
-int        wxMultiCellItemHandle_GetStyle( TSelf(wxMultiCellItemHandle) _obj );
-void       wxMultiCellItemHandle_GetWeight( TSelf(wxMultiCellItemHandle) _obj, TSizeOutVoid(_w,_h) );
-int        wxMultiCellItemHandle_GetWidth( TSelf(wxMultiCellItemHandle) _obj );
-
-/* wxMultiCellSizer */
-TClassDefExtend(wxMultiCellSizer,wxSizer)
-void       wxMultiCellSizer_CalcMin( TSelf(wxMultiCellSizer) _obj, TSizeOutVoid(_w,_h) );
-TClass(wxMultiCellSizer) wxMultiCellSizer_Create( int rows, int cols );
-void       wxMultiCellSizer_Delete( TSelf(wxMultiCellSizer) _obj );
-int        wxMultiCellSizer_EnableGridLines( TSelf(wxMultiCellSizer) _obj, TClass(wxWindow) win );
-void       wxMultiCellSizer_RecalcSizes( TSelf(wxMultiCellSizer) _obj );
-int        wxMultiCellSizer_SetColumnWidth( TSelf(wxMultiCellSizer) _obj, int column, int colSize, int expandable );
-int        wxMultiCellSizer_SetDefaultCellSize( TSelf(wxMultiCellSizer) _obj, TSize(w,h) );
-int        wxMultiCellSizer_SetGridPen( TSelf(wxMultiCellSizer) _obj, TClass(wxPen) pen );
-int        wxMultiCellSizer_SetRowHeight( TSelf(wxMultiCellSizer) _obj, int row, int rowSize, int expandable );
-
-/* wxMutex */
-TClassDef(wxMutex)
-TClass(wxMutex) wxMutex_Create(  );
-void       wxMutex_Delete( TSelf(wxMutex) _obj );
-TBool      wxMutex_IsLocked( TSelf(wxMutex) _obj );
-int        wxMutex_Lock( TSelf(wxMutex) _obj );
-int        wxMutex_TryLock( TSelf(wxMutex) _obj );
-int        wxMutex_Unlock( TSelf(wxMutex) _obj );
-
-/* wxMutexLocker */
-TClassDef(wxMutexLocker)
-
-/* wxNavigationKeyEvent */
-TClassDefExtend(wxNavigationKeyEvent,wxEvent)
-void*      wxNavigationKeyEvent_GetCurrentFocus( TSelf(wxNavigationKeyEvent) _obj );
-int        wxNavigationKeyEvent_GetDirection( TSelf(wxNavigationKeyEvent) _obj );
-TBool      wxNavigationKeyEvent_IsWindowChange( TSelf(wxNavigationKeyEvent) _obj );
-void       wxNavigationKeyEvent_SetCurrentFocus( TSelf(wxNavigationKeyEvent) _obj, TClass(wxWindow) win );
-void       wxNavigationKeyEvent_SetDirection( TSelf(wxNavigationKeyEvent) _obj, int bForward );
-/* void       wxNavigationKeyEvent_SetPropagate( TSelf(wxNavigationKeyEvent) _obj, int bDoIt );*/
-void       wxNavigationKeyEvent_SetWindowChange( TSelf(wxNavigationKeyEvent) _obj, int bIs );
-int        wxNavigationKeyEvent_ShouldPropagate( TSelf(wxNavigationKeyEvent) _obj );
-
-/* wxNewBitmapButton */
-TClassDefExtend(wxNewBitmapButton,wxPanel)
-TClass(wxNewBitmapButton) wxNewBitmapButton_Create( void* labelBitmap, void* labelText, int alignText, TBool isFlat, int firedEventType, int marginX, int marginY, int textToLabelGap, TBool isSticky );
-TClass(wxNewBitmapButton) wxNewBitmapButton_CreateFromFile( TSelf(wxNewBitmapButton) bitmapFileName, int bitmapFileType, void* labelText, int alignText, TBool isFlat, int firedEventType, int marginX, int marginY, int textToLabelGap, TBool isSticky );
-void       wxNewBitmapButton_Delete( TSelf(wxNewBitmapButton) _obj );
-void       wxNewBitmapButton_DrawDecorations( TSelf(wxNewBitmapButton) _obj, TClass(wxDC) dc );
-void       wxNewBitmapButton_DrawLabel( TSelf(wxNewBitmapButton) _obj, TClass(wxDC) dc );
-int        wxNewBitmapButton_Enable( TSelf(wxNewBitmapButton) _obj, TBool enable );
-void       wxNewBitmapButton_Realize( TSelf(wxNewBitmapButton) _obj, TClass(wxWindow) _prt, int _id, TRect(_x,_y,_w,_h) );
-void       wxNewBitmapButton_RenderAllLabelImages( TSelf(wxNewBitmapButton) _obj );
-void       wxNewBitmapButton_RenderLabelImage( TSelf(wxNewBitmapButton) _obj, void* destBmp, void* srcBmp, TBool isEnabled, TBool isPressed );
-void       wxNewBitmapButton_RenderLabelImages( TSelf(wxNewBitmapButton) _obj );
-void       wxNewBitmapButton_Reshape( TSelf(wxNewBitmapButton) _obj );
-void       wxNewBitmapButton_SetAlignments( TSelf(wxNewBitmapButton) _obj, int alignText, int marginX, int marginY, int textToLabelGap );
-void       wxNewBitmapButton_SetLabel( TSelf(wxNewBitmapButton) _obj, void* labelBitmap, void* labelText );
-
-/* wxNodeBase */
-TClassDef(wxNodeBase)
-
-/* wxNotebook */
-TClassDefExtend(wxNotebook,wxControl)
-int        wxNotebook_AddPage( TSelf(wxNotebook) _obj, TClass(wxWindow) pPage, TStringVoid strText, TBoolInt bSelect, int imageId );
-void       wxNotebook_AdvanceSelection( TSelf(wxNotebook) _obj, TBoolInt bForward );
-TClass(wxNotebook) wxNotebook_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
-int        wxNotebook_DeleteAllPages( TSelf(wxNotebook) _obj );
-int        wxNotebook_DeletePage( TSelf(wxNotebook) _obj, int nPage );
-TClass(wxImageList) wxNotebook_GetImageList( TSelf(wxNotebook) _obj );
-TClass(wxWindow)    wxNotebook_GetPage( TSelf(wxNotebook) _obj, int nPage );
-int        wxNotebook_GetPageCount( TSelf(wxNotebook) _obj );
-int        wxNotebook_GetPageImage( TSelf(wxNotebook) _obj, int nPage );
-TStringLen wxNotebook_GetPageText( TSelf(wxNotebook) _obj, int nPage, TStringOutVoid _buf );
-int        wxNotebook_GetRowCount( TSelf(wxNotebook) _obj );
-int        wxNotebook_GetSelection( TSelf(wxNotebook) _obj );
-int        wxNotebook_HitTest( TSelf(wxNotebook) _obj, TPoint(x,y), long* flags );
-int        wxNotebook_InsertPage( TSelf(wxNotebook) _obj, int nPage, TClass(wxWindow) pPage, TStringVoid strText, TBoolInt bSelect, int imageId );
-int        wxNotebook_RemovePage( TSelf(wxNotebook) _obj, int nPage );
-void       wxNotebook_SetImageList( TSelf(wxNotebook) _obj, TClass(wxImageList) imageList );
-void       wxNotebook_SetPadding( TSelf(wxNotebook) _obj, TSize(_w,_h) );
-int        wxNotebook_SetPageImage( TSelf(wxNotebook) _obj, int nPage, int nImage );
-void       wxNotebook_SetPageSize( TSelf(wxNotebook) _obj, TSize(_w,_h) );
-int        wxNotebook_SetPageText( TSelf(wxNotebook) _obj, int nPage, TStringVoid strText );
-int        wxNotebook_SetSelection( TSelf(wxNotebook) _obj, int nPage );
-
-int        expNB_TOP(  );
-int        expNB_BOTTOM(  );
-int        expNB_LEFT(  );
-int        expNB_RIGHT(  );
-
-int        expBK_HITTEST_NOWHERE(  );
-int        expBK_HITTEST_ONICON(  );
-int        expBK_HITTEST_ONLABEL(  );
-int        expBK_HITTEST_ONITEM(  );
-int        expBK_HITTEST_ONPAGE(  );
-
-/* wxNotebookEvent */
-TClassDefExtend(wxNotebookEvent,wxNotifyEvent)
-
-/* wxNotebookSizer */
-/* Class removed from wxWidgets >= 2.8 */
-
-/* wxNotifyEvent */
-TClassDefExtend(wxNotifyEvent,wxCommandEvent)
-void       wxNotifyEvent_Allow( TSelf(wxNotifyEvent) _obj );
-void       wxNotifyEvent_CopyObject( TSelf(wxNotifyEvent) _obj, void* object_dest );
-TBool      wxNotifyEvent_IsAllowed( TSelf(wxNotifyEvent) _obj );
-void       wxNotifyEvent_Veto( TSelf(wxNotifyEvent) _obj );
-
-/* wxObject */
-TClassDef(wxObject)
-
-/* wxObjectRefData */
-TClassDef(wxObjectRefData)
-
-/* wxOutputStream */
-TClassDefExtend(wxOutputStream,wxStreamBase)
-void       wxOutputStream_Delete( TSelf(wxOutputStream) _obj );
-int        wxOutputStream_LastWrite( TSelf(wxOutputStream) _obj );
-void       wxOutputStream_PutC( TSelf(wxOutputStream) _obj, TChar c );
-int        wxOutputStream_Seek( TSelf(wxOutputStream) _obj, int pos, int mode );
-void       wxOutputStream_Sync( TSelf(wxOutputStream) _obj );
-int        wxOutputStream_Tell( TSelf(wxOutputStream) _obj );
-void       wxOutputStream_Write( TSelf(wxOutputStream) _obj, void* buffer, int size );
-
-/* wxPageSetupDialog */
-TClassDefExtend(wxPageSetupDialog,wxDialog)
-TClass(wxPageSetupDialog) wxPageSetupDialog_Create( TClass(wxWindow) parent, TClass(wxPageSetupDialogData) data );
-void       wxPageSetupDialog_GetPageSetupData( TSelf(wxPageSetupDialog) _obj, TClassRef(wxPageSetupDialogData) _ref );
-
-/* wxPageSetupDialogData */
-TClassDefExtend(wxPageSetupDialogData,wxObject)
-void       wxPageSetupDialogData_Assign( TSelf(wxPageSetupDialogData) _obj, TClassRef(wxPageSetupDialogData) data );
-void       wxPageSetupDialogData_AssignData( TSelf(wxPageSetupDialogData) _obj, TClass(wxPrintData) printData );
-void       wxPageSetupDialogData_CalculateIdFromPaperSize( TSelf(wxPageSetupDialogData) _obj );
-void       wxPageSetupDialogData_CalculatePaperSizeFromId( TSelf(wxPageSetupDialogData) _obj );
-TClass(wxPageSetupDialogData) wxPageSetupDialogData_Create(  );
-TClass(wxPageSetupDialogData) wxPageSetupDialogData_CreateFromData( TClass(wxPrintData) printData );
-void       wxPageSetupDialogData_Delete( TSelf(wxPageSetupDialogData) _obj );
-void       wxPageSetupDialogData_EnableHelp( TSelf(wxPageSetupDialogData) _obj, TBool flag );
-void       wxPageSetupDialogData_EnableMargins( TSelf(wxPageSetupDialogData) _obj, TBool flag );
-void       wxPageSetupDialogData_EnableOrientation( TSelf(wxPageSetupDialogData) _obj, TBool flag );
-void       wxPageSetupDialogData_EnablePaper( TSelf(wxPageSetupDialogData) _obj, TBool flag );
-void       wxPageSetupDialogData_EnablePrinter( TSelf(wxPageSetupDialogData) _obj, TBool flag );
-TBool      wxPageSetupDialogData_GetDefaultInfo( TSelf(wxPageSetupDialogData) _obj );
-TBool      wxPageSetupDialogData_GetDefaultMinMargins( TSelf(wxPageSetupDialogData) _obj );
-TBool      wxPageSetupDialogData_GetEnableHelp( TSelf(wxPageSetupDialogData) _obj );
-TBool      wxPageSetupDialogData_GetEnableMargins( TSelf(wxPageSetupDialogData) _obj );
-TBool      wxPageSetupDialogData_GetEnableOrientation( TSelf(wxPageSetupDialogData) _obj );
-TBool      wxPageSetupDialogData_GetEnablePaper( TSelf(wxPageSetupDialogData) _obj );
-TBool      wxPageSetupDialogData_GetEnablePrinter( TSelf(wxPageSetupDialogData) _obj );
-void       wxPageSetupDialogData_GetMarginBottomRight( TSelf(wxPageSetupDialogData) _obj, TPointOutVoid(_x,_y) );
-void       wxPageSetupDialogData_GetMarginTopLeft( TSelf(wxPageSetupDialogData) _obj, TPointOutVoid(_x,_y) );
-void       wxPageSetupDialogData_GetMinMarginBottomRight( TSelf(wxPageSetupDialogData) _obj, TPointOutVoid(_x,_y) );
-void       wxPageSetupDialogData_GetMinMarginTopLeft( TSelf(wxPageSetupDialogData) _obj, TPointOutVoid(_x,_y) );
-int        wxPageSetupDialogData_GetPaperId( TSelf(wxPageSetupDialogData) _obj );
-void       wxPageSetupDialogData_GetPaperSize( TSelf(wxPageSetupDialogData) _obj, TSizeOutVoid(_w,_h) );
-void       wxPageSetupDialogData_GetPrintData( TSelf(wxPageSetupDialogData) _obj, TClassRef(wxPrintData) _ref );
-void       wxPageSetupDialogData_SetDefaultInfo( TSelf(wxPageSetupDialogData) _obj, TBool flag );
-void       wxPageSetupDialogData_SetDefaultMinMargins( TSelf(wxPageSetupDialogData) _obj, int flag );
-void       wxPageSetupDialogData_SetMarginBottomRight( TSelf(wxPageSetupDialogData) _obj, TPoint(x,y) );
-void       wxPageSetupDialogData_SetMarginTopLeft( TSelf(wxPageSetupDialogData) _obj, TPoint(x,y) );
-void       wxPageSetupDialogData_SetMinMarginBottomRight( TSelf(wxPageSetupDialogData) _obj, TPoint(x,y) );
-void       wxPageSetupDialogData_SetMinMarginTopLeft( TSelf(wxPageSetupDialogData) _obj, TPoint(x,y) );
-void       wxPageSetupDialogData_SetPaperId( TSelf(wxPageSetupDialogData) _obj, void* id );
-void       wxPageSetupDialogData_SetPaperSize( TSelf(wxPageSetupDialogData) _obj, TSize(w,h) );
-void       wxPageSetupDialogData_SetPaperSizeId( TSelf(wxPageSetupDialogData) _obj, int id );
-void       wxPageSetupDialogData_SetPrintData( TSelf(wxPageSetupDialogData) _obj, TClass(wxPrintData) printData );
-
-/* wxPaintDC */
-TClassDefExtend(wxPaintDC,wxWindowDC)
-TClass(wxPaintDC) wxPaintDC_Create( TClass(wxWindow) win );
-void       wxPaintDC_Delete( TSelf(wxPaintDC) _obj );
-
-/* wxPaintEvent */
-TClassDefExtend(wxPaintEvent,wxEvent)
-
-/* wxPalette */
-TClassDefExtend(wxPalette,wxGDIObject)
-void       wxPalette_Assign( TSelf(wxPalette) _obj, TClass(wxPalette) palette );
-TClass(wxPalette) wxPalette_CreateDefault(  );
-TClass(wxPalette) wxPalette_CreateRGB( int n, void* red, void* green, void* blue );
-void       wxPalette_Delete( TSelf(wxPalette) _obj );
-int        wxPalette_GetPixel( TSelf(wxPalette) _obj, TColorRGB(red,green,blue) );
-TBoolInt   wxPalette_GetRGB( TSelf(wxPalette) _obj, int pixel, void* red, void* green, void* blue );
-TBool      wxPalette_IsEqual( TSelf(wxPalette) _obj, TClass(wxPalette) palette );
-TBool      wxPalette_Ok( TSelf(wxPalette) _obj );
-
-/* wxPaletteChangedEvent */
-TClassDefExtend(wxPaletteChangedEvent,wxEvent)
-void       wxPaletteChangedEvent_CopyObject( TSelf(wxPaletteChangedEvent) _obj, void* obj );
-void*      wxPaletteChangedEvent_GetChangedWindow( TSelf(wxPaletteChangedEvent) _obj );
-void       wxPaletteChangedEvent_SetChangedWindow( TSelf(wxPaletteChangedEvent) _obj, TClass(wxWindow) win );
-
-/* wxPanel */
-TClassDefExtend(wxPanel,wxWindow)
-TClass(wxPanel)  wxPanel_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
-void       wxPanel_InitDialog( TSelf(wxPanel) _obj );
-void       wxPanel_SetFocus( TSelf(wxPanel) _obj);
-
-/* wxPathList */
-TClassDefExtend(wxPathList,wxList)
-
-/* wxPen */
-TClassDefExtend(wxPen,wxGDIObject)
-void       wxPen_Assign( TSelf(wxPen) _obj, TClass(wxPen) pen );
-TClass(wxPen) wxPen_CreateDefault(  );
-TClass(wxPen) wxPen_CreateFromBitmap( TClass(wxBitmap) stipple, int width );
-TClass(wxPen) wxPen_CreateFromColour( TClass(wxColour) col, int width, int style );
-TClass(wxPen) wxPen_CreateFromStock( int id );
-void       wxPen_Delete( TSelf(wxPen) _obj );
-int        wxPen_GetCap( TSelf(wxPen) _obj );
-void       wxPen_GetColour( TSelf(wxPen) _obj, TClassRef(wxColour) _ref );
-int        wxPen_GetDashes( TSelf(wxPen) _obj, void* ptr );
-int        wxPen_GetJoin( TSelf(wxPen) _obj );
-void       wxPen_GetStipple( TSelf(wxPen) _obj, TClassRef(wxBitmap) _ref );
-int        wxPen_GetStyle( TSelf(wxPen) _obj );
-int        wxPen_GetWidth( TSelf(wxPen) _obj );
-TBool      wxPen_IsEqual( TSelf(wxPen) _obj, TClass(wxPen) pen );
-TBool      wxPen_Ok( TSelf(wxPen) _obj );
-void       wxPen_SetCap( TSelf(wxPen) _obj, int cap );
-void       wxPen_SetColour( TSelf(wxPen) _obj, TClass(wxColour) col );
-void       wxPen_SetColourSingle( TSelf(wxPen) _obj, TChar r, TChar g, TChar b );
-void       wxPen_SetDashes( TSelf(wxPen) _obj, int nb_dashes, void* dash );
-void       wxPen_SetJoin( TSelf(wxPen) _obj, int join );
-void       wxPen_SetStipple( TSelf(wxPen) _obj, TClass(wxBitmap) stipple );
-void       wxPen_SetStyle( TSelf(wxPen) _obj, int style );
-void       wxPen_SetWidth( TSelf(wxPen) _obj, int width );
-
-/* wxPenList */
-TClassDefExtend(wxPenList,wxList)
-
-/* wxPlotCurve */
-TClassDefExtend(wxPlotCurve,wxObject)
-
-/* wxPlotEvent */
-TClassDefExtend(wxPlotEvent,wxNotifyEvent)
-void*      wxPlotEvent_GetCurve( TSelf(wxPlotEvent) _obj );
-int        wxPlotEvent_GetPosition( TSelf(wxPlotEvent) _obj );
-double     wxPlotEvent_GetZoom( TSelf(wxPlotEvent) _obj );
-void       wxPlotEvent_SetPosition( TSelf(wxPlotEvent) _obj, int pos );
-void       wxPlotEvent_SetZoom( TSelf(wxPlotEvent) _obj, double zoom );
-
-/* wxPlotOnOffCurve */
-TClassDefExtend(wxPlotOnOffCurve,wxObject)
-void       wxPlotOnOffCurve_Add( TSelf(wxPlotOnOffCurve) _obj, int on, int off, TClass(wxClientData) clientData );
-TClass(wxPlotOnOffCurve) wxPlotOnOffCurve_Create( int offsetY );
-void       wxPlotOnOffCurve_Delete( TSelf(wxPlotOnOffCurve) _obj );
-void       wxPlotOnOffCurve_DrawOffLine( TSelf(wxPlotOnOffCurve) _obj, TClass(wxDC) dc, int y, int start, int end );
-void       wxPlotOnOffCurve_DrawOnLine( TSelf(wxPlotOnOffCurve) _obj, TClass(wxDC) dc, int y, int start, int end, TClass(wxClientData) clientData );
-void*      wxPlotOnOffCurve_GetAt( TSelf(wxPlotOnOffCurve) _obj, int index );
-TClass(wxClientData) wxPlotOnOffCurve_GetClientData( TSelf(wxPlotOnOffCurve) _obj, int index );
-int        wxPlotOnOffCurve_GetCount( TSelf(wxPlotOnOffCurve) _obj );
-int        wxPlotOnOffCurve_GetEndX( TSelf(wxPlotOnOffCurve) _obj );
-int        wxPlotOnOffCurve_GetOff( TSelf(wxPlotOnOffCurve) _obj, int index );
-int        wxPlotOnOffCurve_GetOffsetY( TSelf(wxPlotOnOffCurve) _obj );
-int        wxPlotOnOffCurve_GetOn( TSelf(wxPlotOnOffCurve) _obj, int index );
-int        wxPlotOnOffCurve_GetStartX( TSelf(wxPlotOnOffCurve) _obj );
-void       wxPlotOnOffCurve_SetOffsetY( TSelf(wxPlotOnOffCurve) _obj, int offsetY );
-
-/* wxPlotWindow */
-TClassDefExtend(wxPlotWindow,wxScrolledWindow)
-void       wxPlotWindow_Add( TSelf(wxPlotWindow) _obj, TClass(wxPlotCurve) curve );
-void       wxPlotWindow_AddOnOff( TSelf(wxPlotWindow) _obj, TClass(wxPlotCurve) curve );
-TClass(wxPlotWindow) wxPlotWindow_Create( TClass(wxWindow) parent, int id, TRect(x,y,w,h), int flags );
-void       wxPlotWindow_Delete( TSelf(wxPlotWindow) _obj, TClass(wxPlotCurve) curve );
-void       wxPlotWindow_DeleteOnOff( TSelf(wxPlotWindow) _obj, TClass(wxPlotOnOffCurve) curve );
-void       wxPlotWindow_Enlarge( TSelf(wxPlotWindow) _obj, TClass(wxPlotCurve) curve, double factor );
-TClass(wxPlotCurve) wxPlotWindow_GetAt( TSelf(wxPlotWindow) _obj, int n );
-int        wxPlotWindow_GetCount( TSelf(wxPlotWindow) _obj );
-TClass(wxPlotCurve) wxPlotWindow_GetCurrent( TSelf(wxPlotWindow) _obj );
-int        wxPlotWindow_GetEnlargeAroundWindowCentre( TSelf(wxPlotWindow) _obj );
-TClass(wxPlotOnOffCurve)      wxPlotWindow_GetOnOffCurveAt( TSelf(wxPlotWindow) _obj, int n );
-int        wxPlotWindow_GetOnOffCurveCount( TSelf(wxPlotWindow) _obj );
-int        wxPlotWindow_GetScrollOnThumbRelease( TSelf(wxPlotWindow) _obj );
-double     wxPlotWindow_GetUnitsPerValue( TSelf(wxPlotWindow) _obj );
-double     wxPlotWindow_GetZoom( TSelf(wxPlotWindow) _obj );
-void       wxPlotWindow_Move( TSelf(wxPlotWindow) _obj, TClass(wxPlotCurve) curve, int pixels_up );
-void       wxPlotWindow_RedrawEverything( TSelf(wxPlotWindow) _obj );
-void       wxPlotWindow_RedrawXAxis( TSelf(wxPlotWindow) _obj );
-void       wxPlotWindow_RedrawYAxis( TSelf(wxPlotWindow) _obj );
-void       wxPlotWindow_ResetScrollbar( TSelf(wxPlotWindow) _obj );
-void       wxPlotWindow_SetCurrent( TSelf(wxPlotWindow) _obj, TClass(wxPlotCurve) current );
-void       wxPlotWindow_SetEnlargeAroundWindowCentre( TSelf(wxPlotWindow) _obj, int enlargeAroundWindowCentre );
-void       wxPlotWindow_SetScrollOnThumbRelease( TSelf(wxPlotWindow) _obj, int scrollOnThumbRelease );
-void       wxPlotWindow_SetUnitsPerValue( TSelf(wxPlotWindow) _obj, double upv );
-void       wxPlotWindow_SetZoom( TSelf(wxPlotWindow) _obj, double zoom );
-
-/* wxPoint */
-TClassDef(wxPoint)
-TClass(wxPoint) wxPoint_Create( TPoint(xx,yy) );
-void       wxPoint_Destroy( TSelf(wxPoint) _obj );
-int        wxPoint_GetX( TSelf(wxPoint) _obj );
-int        wxPoint_GetY( TSelf(wxPoint) _obj );
-void       wxPoint_SetX( TSelf(wxPoint) _obj, int w );
-void       wxPoint_SetY( TSelf(wxPoint) _obj, int h );
-
-/* wxPopupTransientWindow */
-TClassDefExtend(wxPopupTransientWindow,wxPopupWindow)
-
-/* wxPopupWindow */
-TClassDefExtend(wxPopupWindow,wxWindow)
-
-/* wxPostScriptDC */
-TClassDefExtend(wxPostScriptDC,wxDC)
-TClass(wxPostScriptDC) wxPostScriptDC_Create( TClass(wxPrintData) data );
-void       wxPostScriptDC_Delete( TSelf(wxPostScriptDC) self );
-void       wxPostScriptDC_SetResolution( TSelf(wxPostScriptDC) self, int ppi );
-int        wxPostScriptDC_GetResolution( TSelf(wxPostScriptDC) self );
-
-/* wxPreviewCanvas */
-TClassDefExtend(wxPreviewCanvas,wxScrolledWindow)
-TClass(wxPreviewCanvas) wxPreviewCanvas_Create( TClass(wxPrintPreview) preview, TClass(wxWindow) parent, TRect(x,y,w,h), int style );
-
-/* wxPreviewControlBar */
-TClassDefExtend(wxPreviewControlBar,wxPanel)
-
-/* wxPreviewFrame */
-TClassDefExtend(wxPreviewFrame,wxFrame)
-
-/* wxPrintData */
-TClassDefExtend(wxPrintData,wxObject)
-void       wxPrintData_Assign( TSelf(wxPrintData) _obj, TClass(wxPrintData) data );
-TClass(wxPrintData) wxPrintData_Create(  );
-void       wxPrintData_Delete( TSelf(wxPrintData) _obj );
-TBool      wxPrintData_GetCollate( TSelf(wxPrintData) _obj );
-TBool      wxPrintData_GetColour( TSelf(wxPrintData) _obj );
-int        wxPrintData_GetDuplex( TSelf(wxPrintData) _obj );
-TStringLen wxPrintData_GetFilename( TSelf(wxPrintData) _obj, TStringOutVoid _ref );
-TStringLen wxPrintData_GetFontMetricPath( TSelf(wxPrintData) _obj, TStringOutVoid _ref );
-int        wxPrintData_GetNoCopies( TSelf(wxPrintData) _obj );
-int        wxPrintData_GetOrientation( TSelf(wxPrintData) _obj );
-int        wxPrintData_GetPaperId( TSelf(wxPrintData) _obj );
-void       wxPrintData_GetPaperSize( TSelf(wxPrintData) _obj, TSizeOutVoid(_w,_h) );
-TStringLen wxPrintData_GetPreviewCommand( TSelf(wxPrintData) _obj, TStringOutVoid _ref );
-int        wxPrintData_GetPrintMode( TSelf(wxPrintData) _obj );
-TStringLen wxPrintData_GetPrinterCommand( TSelf(wxPrintData) _obj, TStringOutVoid  _ref );
-TStringLen wxPrintData_GetPrinterName( TSelf(wxPrintData) _obj, TStringOutVoid _ref );
-TStringLen wxPrintData_GetPrinterOptions( TSelf(wxPrintData) _obj, TStringOutVoid _ref );
-double     wxPrintData_GetPrinterScaleX( TSelf(wxPrintData) _obj );
-double     wxPrintData_GetPrinterScaleY( TSelf(wxPrintData) _obj );
-int        wxPrintData_GetPrinterTranslateX( TSelf(wxPrintData) _obj );
-int        wxPrintData_GetPrinterTranslateY( TSelf(wxPrintData) _obj );
-int        wxPrintData_GetQuality( TSelf(wxPrintData) _obj );
-void       wxPrintData_SetCollate( TSelf(wxPrintData) _obj, TBoolInt flag );
-void       wxPrintData_SetColour( TSelf(wxPrintData) _obj, TBoolInt colour );
-void       wxPrintData_SetDuplex( TSelf(wxPrintData) _obj, int duplex );
-void       wxPrintData_SetFilename( TSelf(wxPrintData) _obj, TStringVoid filename );
-void       wxPrintData_SetFontMetricPath( TSelf(wxPrintData) _obj, TStringVoid path );
-void       wxPrintData_SetNoCopies( TSelf(wxPrintData) _obj, int v );
-void       wxPrintData_SetOrientation( TSelf(wxPrintData) _obj, int orient );
-void       wxPrintData_SetPaperId( TSelf(wxPrintData) _obj, int sizeId );
-void       wxPrintData_SetPaperSize( TSelf(wxPrintData) _obj, TSize(w,h) );
-void       wxPrintData_SetPreviewCommand( TSelf(wxPrintData) _obj, TClass(wxCommand) command );
-void       wxPrintData_SetPrintMode( TSelf(wxPrintData) _obj, int printMode );
-void       wxPrintData_SetPrinterCommand( TSelf(wxPrintData) _obj, TClass(wxCommand) command );
-void       wxPrintData_SetPrinterName( TSelf(wxPrintData) _obj, TStringVoid name );
-void       wxPrintData_SetPrinterOptions( TSelf(wxPrintData) _obj, TStringVoid options );
-void       wxPrintData_SetPrinterScaleX( TSelf(wxPrintData) _obj, double x );
-void       wxPrintData_SetPrinterScaleY( TSelf(wxPrintData) _obj, double y );
-void       wxPrintData_SetPrinterScaling( TSelf(wxPrintData) _obj, double x, double y );
-void       wxPrintData_SetPrinterTranslateX( TSelf(wxPrintData) _obj, int x );
-void       wxPrintData_SetPrinterTranslateY( TSelf(wxPrintData) _obj, int y );
-void       wxPrintData_SetPrinterTranslation( TSelf(wxPrintData) _obj, TPoint(x,y) );
-void       wxPrintData_SetQuality( TSelf(wxPrintData) _obj, int quality );
-
-/* wxPostScriptPrintNativeData */
-TClassDefExtend(wxPostScriptPrintNativeData,wxObject)
-TClass(wxPostScriptPrintNativeData) wxPostScriptPrintNativeData_Create(  );
-void       wxPostScriptPrintNativeData_Delete( TSelf(wxPostScriptPrintNativeData) _obj );
-
-/* wxPrintDialog */
-TClassDefExtend(wxPrintDialog,wxDialog)
-TClass(wxPrintDialog) wxPrintDialog_Create( TClass(wxWindow) parent, TClass(wxPrintDialogData) data );
-TClass(wxDC)         wxPrintDialog_GetPrintDC( TSelf(wxPrintDialog) _obj );
-void       wxPrintDialog_GetPrintData( TSelf(wxPrintDialog) _obj, TClassRef(wxPrintData) _ref );
-TClass(wxPrintDialogData) wxPrintDialog_GetPrintDialogData( TSelf(wxPrintDialog) _obj );
-
-/* wxPrintDialogData */
-TClassDefExtend(wxPrintDialogData,wxObject)
-void       wxPrintDialogData_Assign( TSelf(wxPrintDialogData) _obj, TClass(wxPrintDialogData) data );
-void       wxPrintDialogData_AssignData( TSelf(wxPrintDialogData) _obj, TClass(wxPrintData) data );
-TClass(wxPrintDialogData) wxPrintDialogData_CreateDefault(  );
-TClass(wxPrintDialogData) wxPrintDialogData_CreateFromData( TClass(wxPrintData) printData );
-void       wxPrintDialogData_Delete( TSelf(wxPrintDialogData) _obj );
-void       wxPrintDialogData_EnableHelp( TSelf(wxPrintDialogData) _obj, TBoolInt flag );
-void       wxPrintDialogData_EnablePageNumbers( TSelf(wxPrintDialogData) _obj, TBoolInt flag );
-void       wxPrintDialogData_EnablePrintToFile( TSelf(wxPrintDialogData) _obj, TBoolInt flag );
-void       wxPrintDialogData_EnableSelection( TSelf(wxPrintDialogData) _obj, TBoolInt flag );
-int        wxPrintDialogData_GetAllPages( TSelf(wxPrintDialogData) _obj );
-TBoolInt   wxPrintDialogData_GetCollate( TSelf(wxPrintDialogData) _obj );
-TBoolInt   wxPrintDialogData_GetEnableHelp( TSelf(wxPrintDialogData) _obj );
-TBoolInt   wxPrintDialogData_GetEnablePageNumbers( TSelf(wxPrintDialogData) _obj );
-TBoolInt   wxPrintDialogData_GetEnablePrintToFile( TSelf(wxPrintDialogData) _obj );
-TBoolInt   wxPrintDialogData_GetEnableSelection( TSelf(wxPrintDialogData) _obj );
-int        wxPrintDialogData_GetFromPage( TSelf(wxPrintDialogData) _obj );
-int        wxPrintDialogData_GetMaxPage( TSelf(wxPrintDialogData) _obj );
-int        wxPrintDialogData_GetMinPage( TSelf(wxPrintDialogData) _obj );
-int        wxPrintDialogData_GetNoCopies( TSelf(wxPrintDialogData) _obj );
-void       wxPrintDialogData_GetPrintData( TSelf(wxPrintDialogData) _obj, TClassRef(wxPrintData) _ref );
-TBoolInt   wxPrintDialogData_GetPrintToFile( TSelf(wxPrintDialogData) _obj );
-TBoolInt   wxPrintDialogData_GetSelection( TSelf(wxPrintDialogData) _obj );
-int        wxPrintDialogData_GetToPage( TSelf(wxPrintDialogData) _obj );
-void       wxPrintDialogData_SetAllPages( TSelf(wxPrintDialogData) _obj, TBoolInt flag );
-void       wxPrintDialogData_SetCollate( TSelf(wxPrintDialogData) _obj, TBoolInt flag );
-void       wxPrintDialogData_SetFromPage( TSelf(wxPrintDialogData) _obj, int v );
-void       wxPrintDialogData_SetMaxPage( TSelf(wxPrintDialogData) _obj, int v );
-void       wxPrintDialogData_SetMinPage( TSelf(wxPrintDialogData) _obj, int v );
-void       wxPrintDialogData_SetNoCopies( TSelf(wxPrintDialogData) _obj, int v );
-void       wxPrintDialogData_SetPrintData( TSelf(wxPrintDialogData) _obj, TClass(wxPrintData) printData );
-void       wxPrintDialogData_SetPrintToFile( TSelf(wxPrintDialogData) _obj, TBoolInt flag );
-void       wxPrintDialogData_SetSelection( TSelf(wxPrintDialogData) _obj, TBoolInt flag );
-void       wxPrintDialogData_SetToPage( TSelf(wxPrintDialogData) _obj, int v );
-
-/* wxPrintPreview */
-TClassDefExtend(wxPrintPreview,wxObject)
-TClass(wxPrintPreview) wxPrintPreview_CreateFromData( TClass(wxPrintout) printout, TClass(wxPrintout) printoutForPrinting, TClass(wxPrintData) data );
-TClass(wxPrintPreview) wxPrintPreview_CreateFromDialogData( TClass(wxPrintout) printout, TClass(wxPrintout) printoutForPrinting, TClass(wxPrintDialogData) data );
-void       wxPrintPreview_Delete( TSelf(wxPrintPreview) _obj );
-void       wxPrintPreview_DetermineScaling( TSelf(wxPrintPreview) _obj );
-TBoolInt   wxPrintPreview_DrawBlankPage( TSelf(wxPrintPreview) _obj, TClass(wxPreviewCanvas) canvas, TClass(wxDC) dc );
-TClass(wxPreviewCanvas)  wxPrintPreview_GetCanvas( TSelf(wxPrintPreview) _obj );
-int        wxPrintPreview_GetCurrentPage( TSelf(wxPrintPreview) _obj );
-TClass(wxFrame) wxPrintPreview_GetFrame( TSelf(wxPrintPreview) _obj );
-int        wxPrintPreview_GetMaxPage( TSelf(wxPrintPreview) _obj );
-int        wxPrintPreview_GetMinPage( TSelf(wxPrintPreview) _obj );
-void       wxPrintPreview_GetPrintDialogData( TSelf(wxPrintPreview) _obj, TClassRef(wxPrintDialogData) _ref );
-TClass(wxPrintout) wxPrintPreview_GetPrintout( TSelf(wxPrintPreview) _obj );
-TClass(wxPrintout) wxPrintPreview_GetPrintoutForPrinting( TSelf(wxPrintPreview) _obj );
-int        wxPrintPreview_GetZoom( TSelf(wxPrintPreview) _obj );
-TBool      wxPrintPreview_Ok( TSelf(wxPrintPreview) _obj );
-TBoolInt   wxPrintPreview_PaintPage( TSelf(wxPrintPreview) _obj, TClass(wxPrintPreview) canvas, TClass(wxDC) dc );
-TBoolInt   wxPrintPreview_Print( TSelf(wxPrintPreview) _obj, TBoolInt interactive );
-TBoolInt   wxPrintPreview_RenderPage( TSelf(wxPrintPreview) _obj, int pageNum );
-void       wxPrintPreview_SetCanvas( TSelf(wxPrintPreview) _obj, TClass(wxPreviewCanvas) canvas );
-TBoolInt   wxPrintPreview_SetCurrentPage( TSelf(wxPrintPreview) _obj, int pageNum );
-void       wxPrintPreview_SetFrame( TSelf(wxPrintPreview) _obj, TClass(wxFrame) frame );
-void       wxPrintPreview_SetOk( TSelf(wxPrintPreview) _obj, TBoolInt ok );
-void       wxPrintPreview_SetPrintout( TSelf(wxPrintPreview) _obj, TClass(wxPrintout) printout );
-void       wxPrintPreview_SetZoom( TSelf(wxPrintPreview) _obj, int percent );
-
-/* wxPrinter */
-TClassDefExtend(wxPrinter,wxObject)
-TClass(wxPrinter) wxPrinter_Create( TClass(wxPrintDialogData) data );
-TClass(wxWindow)  wxPrinter_CreateAbortWindow( TSelf(wxPrinter) _obj, TClass(wxWindow) parent, TClass(wxPrintout) printout );
-void       wxPrinter_Delete( TSelf(wxPrinter) _obj );
-TBoolInt   wxPrinter_GetAbort( TSelf(wxPrinter) _obj );
-int        wxPrinter_GetLastError( TSelf(wxPrinter) _obj );
-void       wxPrinter_GetPrintDialogData( TSelf(wxPrinter) _obj, TClassRef(wxPrintDialogData) _ref );
-TBoolInt   wxPrinter_Print( TSelf(wxPrinter) _obj, TClass(wxWindow) parent, TClass(wxPrintout) printout, TBoolInt prompt );
-TClass(wxDC)  wxPrinter_PrintDialog( TSelf(wxPrinter) _obj, TClass(wxWindow) parent );
-void       wxPrinter_ReportError( TSelf(wxPrinter) _obj, TClass(wxWindow) parent, TClass(wxPrintout) printout, TStringVoid message );
-TBoolInt   wxPrinter_Setup( TSelf(wxPrinter) _obj, TClass(wxWindow) parent );
-
-/* wxPrinterDC */
-TClassDefExtend(wxPrinterDC,wxDC)
-TClass(wxPrinterDC) wxPrinterDC_Create( TClass(wxPrintData) data );
-void       wxPrinterDC_Delete( TSelf(wxPrinterDC) self );
-void       wxPrinterDC_GetPaperRect( TSelf(wxPrinterDC) self, TRectOut(_x,_y,_w,_h) );
-
-/* wxPrintout */
-TClassDefExtend(wxPrintout,wxObject)
-
-/* wxPrivateDropTarget */
-TClassDefExtend(wxPrivateDropTarget,wxDropTarget)
-
-/* wxProcess */
-TClassDefExtend(wxProcess,wxEvtHandler)
-void       wxProcess_CloseOutput( TSelf(wxProcess) _obj );
-TClass(wxProcess) wxProcess_CreateDefault( TClass(wxWindow) _prt, int _id );
-TClass(wxProcess) wxProcess_CreateRedirect( TClass(wxWindow) _prt, TBool _rdr );
-void       wxProcess_Delete( TSelf(wxProcess) _obj );
-void       wxProcess_Detach( TSelf(wxProcess) _obj );
-TClass(wxInputStream) wxProcess_GetErrorStream( TSelf(wxProcess) _obj );
-TClass(wxInputStream) wxProcess_GetInputStream( TSelf(wxProcess) _obj );
-TClass(wxOutputStream) wxProcess_GetOutputStream( TSelf(wxProcess) _obj );
-TBool      wxProcess_IsRedirected( TSelf(wxProcess) _obj );
-void       wxProcess_Redirect( TSelf(wxProcess) _obj );
-
-/* wxProcessEvent */
-TClassDefExtend(wxProcessEvent,wxEvent)
-int        wxProcessEvent_GetExitCode( TSelf(wxProcessEvent) _obj );
-int        wxProcessEvent_GetPid( TSelf(wxProcessEvent) _obj );
-
-/* wxProgressDialog */
-TClassDefExtend(wxProgressDialog,wxFrame)
-
-/* wxProtocol */
-TClassDefExtend(wxProtocol,wxSocketClient)
-
-/* wxQuantize */
-TClassDefExtend(wxQuantize,wxObject)
-
-/* wxQueryCol */
-TClassDefExtend(wxQueryCol,wxObject)
-
-/* wxQueryField */
-TClassDefExtend(wxQueryField,wxObject)
-
-/* wxQueryLayoutInfoEvent */
-TClassDefExtend(wxQueryLayoutInfoEvent,wxEvent)
-TClass(wxQueryLayoutInfoEvent) wxQueryLayoutInfoEvent_Create( int id );
-int        wxQueryLayoutInfoEvent_GetAlignment( TSelf(wxQueryLayoutInfoEvent) _obj );
-int        wxQueryLayoutInfoEvent_GetFlags( TSelf(wxQueryLayoutInfoEvent) _obj );
-int        wxQueryLayoutInfoEvent_GetOrientation( TSelf(wxQueryLayoutInfoEvent) _obj );
-int        wxQueryLayoutInfoEvent_GetRequestedLength( TSelf(wxQueryLayoutInfoEvent) _obj );
-void       wxQueryLayoutInfoEvent_GetSize( TSelf(wxQueryLayoutInfoEvent) _obj, TSizeOutVoid(_w,_h) );
-void       wxQueryLayoutInfoEvent_SetAlignment( TSelf(wxQueryLayoutInfoEvent) _obj, int align );
-void       wxQueryLayoutInfoEvent_SetFlags( TSelf(wxQueryLayoutInfoEvent) _obj, int flags );
-void       wxQueryLayoutInfoEvent_SetOrientation( TSelf(wxQueryLayoutInfoEvent) _obj, int orient );
-void       wxQueryLayoutInfoEvent_SetRequestedLength( TSelf(wxQueryLayoutInfoEvent) _obj, int length );
-void       wxQueryLayoutInfoEvent_SetSize( TSelf(wxQueryLayoutInfoEvent) _obj, TSize(w,h) );
-
-/* wxQueryNewPaletteEvent */
-TClassDefExtend(wxQueryNewPaletteEvent,wxEvent)
-void       wxQueryNewPaletteEvent_CopyObject( TSelf(wxQueryNewPaletteEvent) _obj, void* obj );
-int        wxQueryNewPaletteEvent_GetPaletteRealized( TSelf(wxQueryNewPaletteEvent) _obj );
-void       wxQueryNewPaletteEvent_SetPaletteRealized( TSelf(wxQueryNewPaletteEvent) _obj, int realized );
-
-/* wxRadioBox */
-TClassDefExtend(wxRadioBox,wxControl)
-TClass(wxRadioBox) wxRadioBox_Create( TClass(wxWindow) _prt, int _id, TString _txt, TRect(_lft,_top,_wdt,_hgt), TArrayString(n, _str), int _dim, int _stl );
-void       wxRadioBox_EnableItem( TSelf(wxRadioBox) _obj, int item, TBoolInt enable );
-int        wxRadioBox_FindString( TSelf(wxRadioBox) _obj, TStringVoid s );
-TStringLen wxRadioBox_GetItemLabel( TSelf(wxRadioBox) _obj, int item, TStringOutVoid _buf );
-int        wxRadioBox_GetNumberOfRowsOrCols( TSelf(wxRadioBox) _obj );
-int        wxRadioBox_GetSelection( TSelf(wxRadioBox) _obj );
-TStringLen wxRadioBox_GetStringSelection( TSelf(wxRadioBox) _obj, TStringOutVoid _buf );
-int        wxRadioBox_Number( TSelf(wxRadioBox) _obj );
-void       wxRadioBox_SetItemBitmap( TSelf(wxRadioBox) _obj, int item, TClass(wxBitmap) bitmap );
-void       wxRadioBox_SetItemLabel( TSelf(wxRadioBox) _obj, int item, TStringVoid label );
-void       wxRadioBox_SetNumberOfRowsOrCols( TSelf(wxRadioBox) _obj, int n );
-void       wxRadioBox_SetSelection( TSelf(wxRadioBox) _obj, int _n );
-void       wxRadioBox_SetStringSelection( TSelf(wxRadioBox) _obj, TStringVoid s );
-void       wxRadioBox_ShowItem( TSelf(wxRadioBox) _obj, int item, TBoolInt show );
-
-/* wxRadioButton */
-TClassDefExtend(wxRadioButton,wxControl)
-TClass(wxRadioButton) wxRadioButton_Create( TClass(wxWindow) _prt, int _id, TString _txt, TRect(_lft,_top,_wdt,_hgt), int _stl );
-int        wxRadioButton_GetValue( TSelf(wxRadioButton) _obj );
-void       wxRadioButton_SetValue( TSelf(wxRadioButton) _obj, int value );
-
-/* wxRealPoint */
-TClassDef(wxRealPoint)
-
-/* wxRecordSet */
-TClassDefExtend(wxRecordSet,wxObject)
-
-/* wxRect */
-TClassDef(wxRect)
-
-/* wxRegEx */
-TClassDef(wxRegEx)
-
-/* wxRegion */
-TClassDefExtend(wxRegion,wxGDIObject)
-void       wxRegion_Assign( TSelf(wxRegion) _obj, TClass(wxRegion) region );
-void       wxRegion_Clear( TSelf(wxRegion) _obj );
-TBool      wxRegion_ContainsPoint( TSelf(wxRegion) _obj, TPoint(x,y) );
-TBool      wxRegion_ContainsRect( TSelf(wxRegion) _obj, TRect(x,y,width,height) );
-TClass(wxRegion) wxRegion_CreateDefault(  );
-TClass(wxRegion) wxRegion_CreateFromRect( TRect(x,y,w,h) );
-void       wxRegion_Delete( TSelf(wxRegion) _obj );
-int        wxRegion_Empty( TSelf(wxRegion) _obj );
-void       wxRegion_GetBox( TSelf(wxRegion) _obj, TRectOutVoid(_x,_y,_w,_h) );
-int        wxRegion_IntersectRect( TSelf(wxRegion) _obj, TRect(x,y,width,height) );
-int        wxRegion_IntersectRegion( TSelf(wxRegion) _obj, TClass(wxRegion) region );
-int        wxRegion_SubtractRect( TSelf(wxRegion) _obj, TRect(x,y,width,height) );
-int        wxRegion_SubtractRegion( TSelf(wxRegion) _obj, TClass(wxRegion) region );
-int        wxRegion_UnionRect( TSelf(wxRegion) _obj, TRect(x,y,width,height) );
-int        wxRegion_UnionRegion( TSelf(wxRegion) _obj, TClass(wxRegion) region );
-int        wxRegion_XorRect( TSelf(wxRegion) _obj, TRect(x,y,width,height) );
-int        wxRegion_XorRegion( TSelf(wxRegion) _obj, TClass(wxRegion) region );
-
-/* wxRegionIterator */
-TClassDefExtend(wxRegionIterator,wxObject)
-TClass(wxRegionIterator) wxRegionIterator_Create(  );
-TClass(wxRegionIterator) wxRegionIterator_CreateFromRegion( TClass(wxRegion) region );
-void       wxRegionIterator_Delete( TSelf(wxRegionIterator) _obj );
-int        wxRegionIterator_GetHeight( TSelf(wxRegionIterator) _obj );
-int        wxRegionIterator_GetWidth( TSelf(wxRegionIterator) _obj );
-int        wxRegionIterator_GetX( TSelf(wxRegionIterator) _obj );
-int        wxRegionIterator_GetY( TSelf(wxRegionIterator) _obj );
-int        wxRegionIterator_HaveRects( TSelf(wxRegionIterator) _obj );
-void       wxRegionIterator_Next( TSelf(wxRegionIterator) _obj );
-void       wxRegionIterator_Reset( TSelf(wxRegionIterator) _obj );
-void       wxRegionIterator_ResetToRegion( TSelf(wxRegionIterator) _obj, TClass(wxRegion) region );
-
-/* wxRemotelyScrolledTreeCtrl */
-TClassDefExtend(wxRemotelyScrolledTreeCtrl,wxTreeCtrl)
-void       wxRemotelyScrolledTreeCtrl_AdjustRemoteScrollbars( TSelf(wxRemotelyScrolledTreeCtrl) _obj );
-void       wxRemotelyScrolledTreeCtrl_CalcTreeSize( TSelf(wxRemotelyScrolledTreeCtrl) _obj, TRectOutVoid(_x,_y,_w,_h) );
-void       wxRemotelyScrolledTreeCtrl_CalcTreeSizeItem( TSelf(wxRemotelyScrolledTreeCtrl) _obj, void* id, TRectOutVoid(_x,_y,_w,_h) );
-TClass(wxRemotelyScrolledTreeCtrl) wxRemotelyScrolledTreeCtrl_Create( void* _obj, void* _cmp, TClass(wxWindow) parent, int id, TRect(x,y,w,h), int style );
-void       wxRemotelyScrolledTreeCtrl_Delete( TSelf(wxRemotelyScrolledTreeCtrl) _obj );
-void*      wxRemotelyScrolledTreeCtrl_GetCompanionWindow( TSelf(wxRemotelyScrolledTreeCtrl) _obj );
-int        wxRemotelyScrolledTreeCtrl_GetScrollPos( TSelf(wxRemotelyScrolledTreeCtrl) _obj, int orient );
-TClass(wxScrolledWindow) wxRemotelyScrolledTreeCtrl_GetScrolledWindow( TSelf(wxRemotelyScrolledTreeCtrl) _obj );
-void       wxRemotelyScrolledTreeCtrl_GetViewStart( TSelf(wxRemotelyScrolledTreeCtrl) _obj, TPointOutVoid(_x,_y) );
-void       wxRemotelyScrolledTreeCtrl_HideVScrollbar( TSelf(wxRemotelyScrolledTreeCtrl) _obj );
-void       wxRemotelyScrolledTreeCtrl_PrepareDC( TSelf(wxRemotelyScrolledTreeCtrl) _obj, TClass(wxDC) dc );
-void       wxRemotelyScrolledTreeCtrl_ScrollToLine( TSelf(wxRemotelyScrolledTreeCtrl) _obj, int posHoriz, int posVert );
-void       wxRemotelyScrolledTreeCtrl_SetCompanionWindow( TSelf(wxRemotelyScrolledTreeCtrl) _obj, void* companion );
-void       wxRemotelyScrolledTreeCtrl_SetScrollbars( TSelf(wxRemotelyScrolledTreeCtrl) _obj, int pixelsPerUnitX, int pixelsPerUnitY, int noUnitsX, int noUnitsY, int xPos, int yPos, int noRefresh );
-
-/* wxSVGFileDC */
-TClassDefExtend(wxSVGFileDC,wxDC)
-TClass(wxSVGFileDC) wxSVGFileDC_Create( TString fileName );
-TClass(wxSVGFileDC) wxSVGFileDC_CreateWithSize( TString fileName, TSize(w,h) );
-TClass(wxSVGFileDC) wxSVGFileDC_CreateWithSizeAndResolution( TString fileName, TSize(w,h), float a_dpi );
-void       wxSVGFileDC_Delete( TSelf(wxSVGFileDC) obj );
-
-/* wxSashEvent */
-TClassDefExtend(wxSashEvent,wxEvent)
-TClass(wxSashEvent) wxSashEvent_Create( int id, int edge );
-void       wxSashEvent_GetDragRect( TSelf(wxSashEvent) _obj, TRectOutVoid(_x,_y,_w,_h) );
-int        wxSashEvent_GetDragStatus( TSelf(wxSashEvent) _obj );
-int        wxSashEvent_GetEdge( TSelf(wxSashEvent) _obj );
-void       wxSashEvent_SetDragRect( TSelf(wxSashEvent) _obj, TRect(x,y,w,h) );
-void       wxSashEvent_SetDragStatus( TSelf(wxSashEvent) _obj, int status );
-void       wxSashEvent_SetEdge( TSelf(wxSashEvent) _obj, int edge );
-
-/* wxSashLayoutWindow */
-TClassDefExtend(wxSashLayoutWindow,wxSashWindow)
-TClass(wxSashLayoutWindow) wxSashLayoutWindow_Create( TClass(wxWindow) _par, int _id, TRect(_x,_y,_w,_h), int _stl );
-int        wxSashLayoutWindow_GetAlignment( TSelf(wxSashLayoutWindow) _obj );
-int        wxSashLayoutWindow_GetOrientation( TSelf(wxSashLayoutWindow) _obj );
-void       wxSashLayoutWindow_SetAlignment( TSelf(wxSashLayoutWindow) _obj, int align );
-void       wxSashLayoutWindow_SetDefaultSize( TSelf(wxSashLayoutWindow) _obj, TSize(w,h) );
-void       wxSashLayoutWindow_SetOrientation( TSelf(wxSashLayoutWindow) _obj, int orient );
-
-/* wxSashWindow */
-TClassDefExtend(wxSashWindow,wxWindow)
-TClass(wxSashWindow) wxSashWindow_Create( TClass(wxWindow) _par, int _id, TRect(_x,_y,_w,_h), int _stl );
-int        wxSashWindow_GetDefaultBorderSize( TSelf(wxSashWindow) _obj );
-int        wxSashWindow_GetEdgeMargin( TSelf(wxSashWindow) _obj, int edge );
-int        wxSashWindow_GetExtraBorderSize( TSelf(wxSashWindow) _obj );
-int        wxSashWindow_GetMaximumSizeX( TSelf(wxSashWindow) _obj );
-int        wxSashWindow_GetMaximumSizeY( TSelf(wxSashWindow) _obj );
-int        wxSashWindow_GetMinimumSizeX( TSelf(wxSashWindow) _obj );
-int        wxSashWindow_GetMinimumSizeY( TSelf(wxSashWindow) _obj );
-int        wxSashWindow_GetSashVisible( TSelf(wxSashWindow) _obj, int edge );
-TBool      wxSashWindow_HasBorder( TSelf(wxSashWindow) _obj, int edge );
-void       wxSashWindow_SetDefaultBorderSize( TSelf(wxSashWindow) _obj, int width );
-void       wxSashWindow_SetExtraBorderSize( TSelf(wxSashWindow) _obj, int width );
-void       wxSashWindow_SetMaximumSizeX( TSelf(wxSashWindow) _obj, int max );
-void       wxSashWindow_SetMaximumSizeY( TSelf(wxSashWindow) _obj, int max );
-void       wxSashWindow_SetMinimumSizeX( TSelf(wxSashWindow) _obj, int min );
-void       wxSashWindow_SetMinimumSizeY( TSelf(wxSashWindow) _obj, int min );
-void       wxSashWindow_SetSashBorder( TSelf(wxSashWindow) _obj, int edge, int border );
-void       wxSashWindow_SetSashVisible( TSelf(wxSashWindow) _obj, int edge, int sash );
-
-/* wxScopedArray */
-TClassDef(wxScopedArray)
-
-/* wxScopedPtr */
-TClassDef(wxScopedPtr)
-
-/* wxScreenDC */
-TClassDefExtend(wxScreenDC,wxDC)
-TClass(wxScreenDC) wxScreenDC_Create(  );
-void       wxScreenDC_Delete( TSelf(wxScreenDC) _obj );
-TBool      wxScreenDC_EndDrawingOnTop( TSelf(wxScreenDC) _obj );
-TBool      wxScreenDC_StartDrawingOnTop( TSelf(wxScreenDC) _obj, TRect(x,y,w,h) );
-TBool      wxScreenDC_StartDrawingOnTopOfWin( TSelf(wxScreenDC) _obj, TClass(wxWindow) win );
-
-/* wxScrollBar */
-TClassDefExtend(wxScrollBar,wxControl)
-TClass(wxScrollBar) wxScrollBar_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
-int        wxScrollBar_GetPageSize( TSelf(wxScrollBar) _obj );
-int        wxScrollBar_GetRange( TSelf(wxScrollBar) _obj );
-int        wxScrollBar_GetThumbPosition( TSelf(wxScrollBar) _obj );
-int        wxScrollBar_GetThumbSize( TSelf(wxScrollBar) _obj );
-void       wxScrollBar_SetScrollbar( TSelf(wxScrollBar) _obj, int position, int thumbSize, int range, int pageSize, TBool refresh );
-void       wxScrollBar_SetThumbPosition( TSelf(wxScrollBar) _obj, int viewStart );
-
-/* wxScrollEvent */
-TClassDefExtend(wxScrollEvent,wxEvent)
-int        wxScrollEvent_GetOrientation( TSelf(wxScrollEvent) _obj );
-int        wxScrollEvent_GetPosition( TSelf(wxScrollEvent) _obj );
-
-/* wxScrollWinEvent */
-TClassDefExtend(wxScrollWinEvent,wxEvent)
-int        wxScrollWinEvent_GetOrientation( TSelf(wxScrollWinEvent) _obj );
-int        wxScrollWinEvent_GetPosition( TSelf(wxScrollWinEvent) _obj );
-void       wxScrollWinEvent_SetOrientation( TSelf(wxScrollWinEvent) _obj, int orient );
-void       wxScrollWinEvent_SetPosition( TSelf(wxScrollWinEvent) _obj, int pos );
-
-/* wxScrolledWindow */
-TClassDefExtend(wxScrolledWindow,wxPanel)
-void       wxScrolledWindow_AdjustScrollbars( TSelf(wxScrolledWindow) _obj );
-void       wxScrolledWindow_CalcScrolledPosition( TSelf(wxScrolledWindow) _obj, TPoint(x,y), TPointOutVoid(xx,yy) );
-void       wxScrolledWindow_CalcUnscrolledPosition( TSelf(wxScrolledWindow) _obj, TPoint(x,y), TPointOutVoid(xx,yy) );
-TClass(wxScrolledWindow) wxScrolledWindow_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
-void       wxScrolledWindow_EnableScrolling( TSelf(wxScrolledWindow) _obj, TBool x_scrolling, TBool y_scrolling );
-double     wxScrolledWindow_GetScaleX( TSelf(wxScrolledWindow) _obj );
-double     wxScrolledWindow_GetScaleY( TSelf(wxScrolledWindow) _obj );
-int        wxScrolledWindow_GetScrollPageSize( TSelf(wxScrolledWindow) _obj, int orient );
-void       wxScrolledWindow_GetScrollPixelsPerUnit( TSelf(wxScrolledWindow) _obj, TPointOutVoid(_x,_y) );
-TClass(wxWindow) wxScrolledWindow_GetTargetWindow( TSelf(wxScrolledWindow) _obj );
-void       wxScrolledWindow_GetViewStart( TSelf(wxScrolledWindow) _obj, TPointOutVoid(_x,_y) );
-void       wxScrolledWindow_GetVirtualSize( TSelf(wxScrolledWindow) _obj, TSizeOutVoid(_x,_y) );
-void       wxScrolledWindow_OnDraw( TSelf(wxScrolledWindow) _obj, TClass(wxDC) dc );
-void       wxScrolledWindow_PrepareDC( TSelf(wxScrolledWindow) _obj, TClass(wxDC) dc );
-void       wxScrolledWindow_Scroll( TSelf(wxScrolledWindow) _obj, TPoint(x_pos,y_pos) );
-void       wxScrolledWindow_SetScale( TSelf(wxScrolledWindow) _obj, double xs, double ys );
-void       wxScrolledWindow_SetScrollPageSize( TSelf(wxScrolledWindow) _obj, int orient, int pageSize );
-void       wxScrolledWindow_SetScrollbars( TSelf(wxScrolledWindow) _obj, int pixelsPerUnitX, int pixelsPerUnitY, int noUnitsX, int noUnitsY, int xPos, int yPos, TBoolInt noRefresh );
-void       wxScrolledWindow_SetTargetWindow( TSelf(wxScrolledWindow) _obj, TClass(wxWindow) target );
-void       wxScrolledWindow_ViewStart( TSelf(wxScrolledWindow) _obj, TPointOutVoid(_x,_y) );
-
-/* wxSemaphore */
-TClassDef(wxSemaphore)
-
-/* wxServer */
-TClassDefExtend(wxServer,wxServerBase)
-
-/* wxServerBase */
-TClassDefExtend(wxServerBase,wxObject)
-
-/* wxSetCursorEvent */
-TClassDefExtend(wxSetCursorEvent,wxEvent)
-TClass(wxCursor) wxSetCursorEvent_GetCursor( TSelf(wxSetCursorEvent) _obj );
-int        wxSetCursorEvent_GetX( TSelf(wxSetCursorEvent) _obj );
-int        wxSetCursorEvent_GetY( TSelf(wxSetCursorEvent) _obj );
-TBool      wxSetCursorEvent_HasCursor( TSelf(wxSetCursorEvent) _obj );
-void       wxSetCursorEvent_SetCursor( TSelf(wxSetCursorEvent) _obj, TClass(wxCursor) cursor );
-
-/* wxShowEvent */
-TClassDefExtend(wxShowEvent,wxEvent)
-void       wxShowEvent_CopyObject( TSelf(wxShowEvent) _obj, void* obj );
-int        wxShowEvent_GetShow( TSelf(wxShowEvent) _obj );
-void       wxShowEvent_SetShow( TSelf(wxShowEvent) _obj, int show );
-
-/* wxSimpleHelpProvider */
-TClassDefExtend(wxSimpleHelpProvider,wxHelpProvider)
-TClass(wxSimpleHelpProvider) wxSimpleHelpProvider_Create(  );
-
-/* wxSingleChoiceDialog */
-TClassDefExtend(wxSingleChoiceDialog,wxDialog)
-
-/* wxSingleInstanceChecker */
-TClassDef(wxSingleInstanceChecker)
-int        wxSingleInstanceChecker_Create( void* _obj, TStringVoid name, TStringVoid path );
-TClass(wxSingleInstanceChecker) wxSingleInstanceChecker_CreateDefault(  );
-void       wxSingleInstanceChecker_Delete( TSelf(wxSingleInstanceChecker) _obj );
-TBool      wxSingleInstanceChecker_IsAnotherRunning( TSelf(wxSingleInstanceChecker) _obj );
-
-/* wxSize */
-TClassDef(wxSize)
-TClass(wxSize) wxSize_Create( TSize(w,h) );
-void       wxSize_Destroy( TSelf(wxSize) _obj );
-int        wxSize_GetHeight( TSelf(wxSize) _obj );
-int        wxSize_GetWidth( TSelf(wxSize) _obj );
-void       wxSize_SetHeight( TSelf(wxSize) _obj, int h );
-void       wxSize_SetWidth( TSelf(wxSize) _obj, int w );
-
-/* wxSizeEvent */
-TClassDefExtend(wxSizeEvent,wxEvent)
-void       wxSizeEvent_CopyObject( TSelf(wxSizeEvent) _obj, void* obj );
-void       wxSizeEvent_GetSize( TSelf(wxSizeEvent) _obj, TSizeOut(_w,_h) );
-
-/* wxSizer */
-TClassDefExtend(wxSizer,wxObject)
-void       wxSizer_Add( TSelf(wxSizer) _obj, TSize(width,height), int option, int flag, int border, void* userData );
-void       wxSizer_AddSizer( TSelf(wxSizer) _obj, TClass(wxSizer) sizer, int option, int flag, int border, void* userData );
-void       wxSizer_AddWindow( TSelf(wxSizer) _obj, TClass(wxWindow) window, int option, int flag, int border, void* userData );
-void       wxSizer_CalcMin( TSelf(wxSizer) _obj, TSizeOutVoid(_w,_h) );
-void       wxSizer_Fit( TSelf(wxSizer) _obj, TClass(wxWindow) window );
-int        wxSizer_GetChildren( TSelf(wxSizer) _obj, void* _res, int _cnt );
-void       wxSizer_GetMinSize( TSelf(wxSizer) _obj, TSizeOutVoid(_w,_h) );
-void       wxSizer_GetPosition( TSelf(wxSizer) _obj, TPointOutVoid(_x,_y) );
-void       wxSizer_GetSize( TSelf(wxSizer) _obj, TSizeOutVoid(_w,_h) );
-void       wxSizer_Insert( TSelf(wxSizer) _obj, int before, TSize(width,height), int option, int flag, int border, void* userData );
-void       wxSizer_InsertSizer( TSelf(wxSizer) _obj, int before, TClass(wxSizer) sizer, int option, int flag, int border, void* userData );
-void       wxSizer_InsertWindow( TSelf(wxSizer) _obj, int before, TClass(wxWindow) window, int option, int flag, int border, void* userData );
-void       wxSizer_Layout( TSelf(wxSizer) _obj );
-void       wxSizer_Prepend( TSelf(wxSizer) _obj, TSize(width,height), int option, int flag, int border, void* userData );
-void       wxSizer_PrependSizer( TSelf(wxSizer) _obj, TClass(wxSizer) sizer, int option, int flag, int border, void* userData );
-void       wxSizer_PrependWindow( TSelf(wxSizer) _obj, TClass(wxWindow) window, int option, int flag, int border, void* userData );
-void       wxSizer_RecalcSizes( TSelf(wxSizer) _obj );
-void       wxSizer_SetDimension( TSelf(wxSizer) _obj, TRect(x,y,width,height) );
-void       wxSizer_SetItemMinSize( TSelf(wxSizer) _obj, int pos, TSize(width,height) );
-void       wxSizer_SetItemMinSizeSizer( TSelf(wxSizer) _obj, TClass(wxSizer) sizer, TSize(width,height) );
-void       wxSizer_SetItemMinSizeWindow( TSelf(wxSizer) _obj, TClass(wxWindow) window, TSize(width,height) );
-void       wxSizer_SetMinSize( TSelf(wxSizer) _obj, TSize(width,height) );
-void       wxSizer_SetSizeHints( TSelf(wxSizer) _obj, TClass(wxWindow) window );
-void       wxSizer_AddSpacer( TSelf(wxSizer) _obj, int size );
-void       wxSizer_AddStretchSpacer( TSelf(wxSizer) _obj, int size );
-void       wxSizer_Clear( TSelf(wxSizer) _obj, int delete_windows );
-TBool      wxSizer_DetachWindow( TSelf(wxSizer) _obj, TClass(wxWindow) window );
-TBool      wxSizer_DetachSizer( TSelf(wxSizer) _obj, TClass(wxSizer) sizer );
-TBool      wxSizer_Detach( TSelf(wxSizer) _obj, int index );
-void       wxSizer_FitInside( TSelf(wxSizer) _obj, TClass(wxWindow) window );
-TClass(wxWindow)    wxSizer_GetContainingWindow( TSelf(wxSizer) _obj );
-TClass(wxSizerItem) wxSizer_GetItemWindow( TSelf(wxSizer) _obj, TClass(wxWindow) window, int recursive );
-TClass(wxSizerItem) wxSizer_GetItemSizer( TSelf(wxSizer) _obj, TClass(wxSizer) window, int recursive );
-TClass(wxSizerItem) wxSizer_GetItem( TSelf(wxSizer) _obj, int index );
-TBool      wxSizer_HideWindow( TSelf(wxWindow) _obj, TClass(wxWindow) window );
-TBool      wxSizer_HideSizer( TSelf(wxWindow) _obj, TClass(wxSizer) sizer );
-TBool      wxSizer_Hide( TSelf(wxWindow) _obj, int index );
-TClass(wxSizerItem) wxSizer_InsertSpacer( TSelf(wxSizer) _obj, int index, int size );
-TClass(wxSizerItem) wxSizer_InsertStretchSpacer( TSelf(wxSizer) _obj, int index, int prop );
-TBool      wxSizer_IsShownWindow( TSelf(wxSizer) _obj, TClass(wxWindow) *window );
-TBool      wxSizer_IsShownSizer( TSelf(wxSizer) _obj, TClass(wxSizer) *sizer );
-TBool      wxSizer_IsShown( TSelf(wxSizer) _obj, int index );
-TClass(wxSizerItem) wxSizer_PrependSpacer( TSelf(wxSizer) _obj, int size );
-TClass(wxSizerItem) wxSizer_PrependStretchSpacer( TSelf(wxSizer) _obj, int prop );
-TClass(wxWindow)    wxSizer_ReplaceWindow( TSelf(wxSizer) _obj, TClass(wxWindow) oldwin, TClass(wxWindow) newwin, int recursive );
-TClass(wxWindow)    wxSizer_ReplaceSizer( TSelf(wxSizer) _obj, TClass(wxSizer) oldsz, TClass(wxSizer) newsz, int recursive );
-TClass(wxWindow)    wxSizer_Replace( TSelf(wxSizer) _obj, int oldindex, TClass(wxSizerItem) newitem );
-void       wxSizer_SetVirtualSizeHints( TSelf(wxSizer) _obj, TClass(wxWindow) window );
-TBool      wxSizer_ShowWindow( TSelf(wxSizer) _obj, TClass(wxWindow) window, int show, int recursive );
-TBool      wxSizer_ShowSizer( TSelf(wxSizer) _obj, TClass(wxSizer) sizer, int show, int recursive );
-TBool      wxSizer_Show( TSelf(wxSizer) _obj, TClass(wxSizer) sizer, int index, int show );
-/* wxSizerItem */
-TClassDefExtend(wxSizerItem,wxObject)
-void       wxSizerItem_CalcMin( TSelf(wxSizerItem) _obj, TSizeOutVoid(_w,_h) );
-TClass(wxSizerItem) wxSizerItem_Create( TSize(width,height), int option, int flag, int border, void* userData );
-void*      wxSizerItem_CreateInSizer( TClass(wxSizer) sizer, int option, int flag, int border, void* userData );
-void*      wxSizerItem_CreateInWindow( TClass(wxWindow) window, int option, int flag, int border, void* userData );
-int        wxSizerItem_GetBorder( TSelf(wxSizerItem) _obj );
-int        wxSizerItem_GetFlag( TSelf(wxSizerItem) _obj );
-void       wxSizerItem_GetMinSize( TSelf(wxSizerItem) _obj, TSizeOutVoid(_w,_h) );
-void       wxSizerItem_GetPosition( TSelf(wxSizerItem) _obj, TPointOutVoid(_x,_y) );
-float      wxSizerItem_GetRatio( TSelf(wxSizerItem) _obj );
-void       wxSizerItem_GetSize( TSelf(wxSizerItem) _obj, TSizeOutVoid(_w,_h) );
-TClass(wxSizer) wxSizerItem_GetSizer( TSelf(wxSizerItem) _obj );
-void*      wxSizerItem_GetUserData( TSelf(wxSizerItem) _obj );
-TClass(wxWindow) wxSizerItem_GetWindow( TSelf(wxSizerItem) _obj );
-TBool      wxSizerItem_IsSizer( TSelf(wxSizerItem) _obj );
-TBool      wxSizerItem_IsSpacer( TSelf(wxSizerItem) _obj );
-TBool      wxSizerItem_IsWindow( TSelf(wxSizerItem) _obj );
-void       wxSizerItem_SetBorder( TSelf(wxSizerItem) _obj, int border );
-void       wxSizerItem_SetDimension( TSelf(wxSizerItem) _obj, TRect(_x,_y,_w,_h) );
-void       wxSizerItem_SetFlag( TSelf(wxSizerItem) _obj, int flag );
-void       wxSizerItem_SetFloatRatio( TSelf(wxSizerItem) _obj, float ratio );
-void       wxSizerItem_SetInitSize( TSelf(wxSizerItem) _obj, TPoint(x,y) );
-void       wxSizerItem_SetRatio( TSelf(wxSizerItem) _obj, TSize(width,height) );
-void       wxSizerItem_SetSizer( TSelf(wxSizerItem) _obj, TClass(wxSizer) sizer );
-void       wxSizerItem_SetWindow( TSelf(wxSizerItem) _obj, TClass(wxWindow) window );
-void       wxSizerItem_Delete( TSelf(wxSizerItem) _obj );
-void       wxSizerItem_DeleteWindows( TSelf(wxSizerItem) _obj );
-void       wxSizerItem_DetachSizer( TSelf(wxSizerItem) _obj );
-int        wxSizerItem_GetProportion( TSelf(wxSizerItem) _obj );
-void       wxSizerItem_GetRect( TSelf(wxSizerItem) _obj, TRectOutVoid(_x,_y,_w,_h) );
-void       wxSizerItem_GetSpacer( TSelf(wxSizerItem) _obj, TSizeOutVoid(_w,_h) );
-int        wxSizerItem_IsShown( TSelf(wxSizerItem) _obj );
-void       wxSizerItem_SetProportion( TSelf(wxSizerItem) _obj, int proportion );
-void       wxSizerItem_SetSpacer( TSelf(wxSizerItem) _obj, TSize(width,height) );
-void       wxSizerItem_Show( TSelf(wxSizerItem) _obj, int show );
-
-
-/* wxSlider */
-TClassDefExtend(wxSlider,wxControl)
-void       wxSlider_ClearSel( TSelf(wxSlider) _obj );
-void       wxSlider_ClearTicks( TSelf(wxSlider) _obj );
-TClass(wxSlider) wxSlider_Create( TClass(wxWindow) _prt, int _id, int _init, int _min, int _max, TRect(_lft,_top,_wdt,_hgt), long _stl );
-int        wxSlider_GetLineSize( TSelf(wxSlider) _obj );
-int        wxSlider_GetMax( TSelf(wxSlider) _obj );
-int        wxSlider_GetMin( TSelf(wxSlider) _obj );
-int        wxSlider_GetPageSize( TSelf(wxSlider) _obj );
-int        wxSlider_GetSelEnd( TSelf(wxSlider) _obj );
-int        wxSlider_GetSelStart( TSelf(wxSlider) _obj );
-int        wxSlider_GetThumbLength( TSelf(wxSlider) _obj );
-int        wxSlider_GetTickFreq( TSelf(wxSlider) _obj );
-int        wxSlider_GetValue( TSelf(wxSlider) _obj );
-void       wxSlider_SetLineSize( TSelf(wxSlider) _obj, int lineSize );
-void       wxSlider_SetPageSize( TSelf(wxSlider) _obj, int pageSize );
-void       wxSlider_SetRange( TSelf(wxSlider) _obj, int minValue, int maxValue );
-void       wxSlider_SetSelection( TSelf(wxSlider) _obj, int minPos, int maxPos );
-void       wxSlider_SetThumbLength( TSelf(wxSlider) _obj, int len );
-void       wxSlider_SetTick( TSelf(wxSlider) _obj, int tickPos );
-void       wxSlider_SetTickFreq( TSelf(wxSlider) _obj, int n, int pos );
-void       wxSlider_SetValue( TSelf(wxSlider) _obj, int value );
-
-/* wxSockAddress */
-TClassDefExtend(wxSockAddress,wxObject)
-
-/* wxSocketBase */
-TClassDefExtend(wxSocketBase,wxObject)
-
-/* wxSocketClient */
-TClassDefExtend(wxSocketClient,wxSocketBase)
-
-/* wxSocketEvent */
-TClassDefExtend(wxSocketEvent,wxEvent)
-
-/* wxSocketInputStream */
-TClassDefExtend(wxSocketInputStream,wxInputStream)
-
-/* wxSocketOutputStream */
-TClassDefExtend(wxSocketOutputStream,wxOutputStream)
-
-/* wxSocketServer */
-TClassDefExtend(wxSocketServer,wxSocketBase)
-
-/* wxSpinButton */
-TClassDefExtend(wxSpinButton,wxControl)
-TClass(wxSpinButton) wxSpinButton_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), long _stl );
-int        wxSpinButton_GetMax( TSelf(wxSpinButton) _obj );
-int        wxSpinButton_GetMin( TSelf(wxSpinButton) _obj );
-int        wxSpinButton_GetValue( TSelf(wxSpinButton) _obj );
-void       wxSpinButton_SetRange( TSelf(wxSpinButton) _obj, int minVal, int maxVal );
-void       wxSpinButton_SetValue( TSelf(wxSpinButton) _obj, int val );
-
-/* wxSpinCtrl */
-TClassDefExtend(wxSpinCtrl,wxControl)
-TClass(wxSpinCtrl) wxSpinCtrl_Create( TClass(wxWindow) _prt, int _id, TString _txt, TRect(_lft,_top,_wdt,_hgt), long _stl, int _min, int _max, int _init );
-int        wxSpinCtrl_GetMax( TSelf(wxSpinCtrl) _obj );
-int        wxSpinCtrl_GetMin( TSelf(wxSpinCtrl) _obj );
-int        wxSpinCtrl_GetValue( TSelf(wxSpinCtrl) _obj );
-void       wxSpinCtrl_SetRange( TSelf(wxSpinCtrl) _obj, int min_val, int max_val );
-void       wxSpinCtrl_SetValue( TSelf(wxSpinCtrl) _obj, int val );
-
-/* wxSpinEvent */
-TClassDefExtend(wxSpinEvent,wxNotifyEvent)
-int        wxSpinEvent_GetPosition( TSelf(wxSpinEvent) _obj );
-void       wxSpinEvent_SetPosition( TSelf(wxSpinEvent) _obj, int pos );
-
-/* wxSplashScreen */
-TClassDefExtend(wxSplashScreen,wxFrame)
-
-/* wxSplitterEvent */
-TClassDefExtend(wxSplitterEvent,wxNotifyEvent)
-
-/* wxSplitterScrolledWindow */
-TClassDefExtend(wxSplitterScrolledWindow,wxScrolledWindow)
-TClass(wxSplitterScrolledWindow) wxSplitterScrolledWindow_Create( TClass(wxWindow) parent, int id, TRect(x,y,w,h), int style );
-
-/* wxSplitterWindow */
-TClassDefExtend(wxSplitterWindow,wxWindow)
-TClass(wxSplitterWindow) wxSplitterWindow_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
-int        wxSplitterWindow_GetBorderSize( TSelf(wxSplitterWindow) _obj );
-int        wxSplitterWindow_GetMinimumPaneSize( TSelf(wxSplitterWindow) _obj );
-int        wxSplitterWindow_GetSashPosition( TSelf(wxSplitterWindow) _obj );
-int        wxSplitterWindow_GetSashSize( TSelf(wxSplitterWindow) _obj );
-int        wxSplitterWindow_GetSplitMode( TSelf(wxSplitterWindow) _obj );
-TClass(wxWindow) wxSplitterWindow_GetWindow1( TSelf(wxSplitterWindow) _obj );
-TClass(wxWindow) wxSplitterWindow_GetWindow2( TSelf(wxSplitterWindow) _obj );
-void       wxSplitterWindow_Initialize( TSelf(wxSplitterWindow) _obj, TClass(wxWindow) window );
-TBool      wxSplitterWindow_IsSplit( TSelf(wxSplitterWindow) _obj );
-TBoolInt   wxSplitterWindow_ReplaceWindow( TSelf(wxSplitterWindow) _obj, TClass(wxWindow) winOld, TClass(wxWindow) winNew );
-void       wxSplitterWindow_SetBorderSize( TSelf(wxSplitterWindow) _obj, int width );
-void       wxSplitterWindow_SetMinimumPaneSize( TSelf(wxSplitterWindow) _obj, int min );
-void       wxSplitterWindow_SetSashPosition( TSelf(wxSplitterWindow) _obj, int position, TBoolInt redraw );
-void       wxSplitterWindow_SetSashSize( TSelf(wxSplitterWindow) _obj, int width );
-void       wxSplitterWindow_SetSplitMode( TSelf(wxSplitterWindow) _obj, int mode );
-TBool      wxSplitterWindow_SplitHorizontally( TSelf(wxSplitterWindow) _obj, TClass(wxWindow) window1, TClass(wxWindow) window2, int sashPosition );
-TBool      wxSplitterWindow_SplitVertically( TSelf(wxSplitterWindow) _obj, TClass(wxWindow) window1, TClass(wxWindow) window2, int sashPosition );
-TBool      wxSplitterWindow_Unsplit( TSelf(wxSplitterWindow) _obj, TClass(wxWindow) toRemove );
-
-/* wxStaticBitmap */
-TClassDefExtend(wxStaticBitmap,wxControl)
-TClass(wxStaticBitmap) wxStaticBitmap_Create( TClass(wxWindow) _prt, int _id, TClass(wxBitmap) bitmap, TRect(_lft,_top,_wdt,_hgt), int _stl );
-void       wxStaticBitmap_Delete( TSelf(wxStaticBitmap) _obj );
-void       wxStaticBitmap_GetBitmap( TSelf(wxStaticBitmap) _obj, TClassRef(wxBitmap) _ref );
-void       wxStaticBitmap_GetIcon( TSelf(wxStaticBitmap) _obj, TClassRef(wxIcon) _ref );
-void       wxStaticBitmap_SetBitmap( TSelf(wxStaticBitmap) _obj, TClass(wxBitmap) bitmap );
-void       wxStaticBitmap_SetIcon( TSelf(wxStaticBitmap) _obj, TClass(wxIcon) icon );
-
-/* wxStaticBox */
-TClassDefExtend(wxStaticBox,wxControl)
-TClass(wxStaticBox) wxStaticBox_Create( TClass(wxWindow) _prt, int _id, TString _txt, TRect(_lft,_top,_wdt,_hgt), int _stl );
-
-/* wxStaticBoxSizer */
-TClassDefExtend(wxStaticBoxSizer,wxBoxSizer)
-void       wxStaticBoxSizer_CalcMin( TSelf(wxStaticBoxSizer) _obj, TSizeOutVoid(_w,_h) );
-TClass(wxStaticBoxSizer) wxStaticBoxSizer_Create( TClass(wxStaticBox) box, int orient );
-TClass(wxStaticBox) wxStaticBoxSizer_GetStaticBox( TSelf(wxStaticBoxSizer) _obj );
-void       wxStaticBoxSizer_RecalcSizes( TSelf(wxStaticBoxSizer) _obj );
-
-/* wxStaticLine */
-TClassDefExtend(wxStaticLine,wxControl)
-TClass(wxStaticLine) wxStaticLine_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
-int        wxStaticLine_GetDefaultSize( TSelf(wxStaticLine) _obj );
-TBool      wxStaticLine_IsVertical( TSelf(wxStaticLine) _obj );
-
-/* wxStaticText */
-TClassDefExtend(wxStaticText,wxControl)
-TClass(wxStaticText) wxStaticText_Create( TClass(wxWindow) _prt, int _id, TString _txt, TRect(_lft,_top,_wdt,_hgt), int _stl );
-
-/* wxStatusBar */
-TClassDefExtend(wxStatusBar,wxWindow)
-TClass(wxStatusBar) wxStatusBar_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
-int        wxStatusBar_GetBorderX( TSelf(wxStatusBar) _obj );
-int        wxStatusBar_GetBorderY( TSelf(wxStatusBar) _obj );
-int        wxStatusBar_GetFieldsCount( TSelf(wxStatusBar) _obj );
-TStringLen wxStatusBar_GetStatusText( TSelf(wxStatusBar) _obj, int number, TStringOutVoid _buf );
-void       wxStatusBar_SetFieldsCount( TSelf(wxStatusBar) _obj, int number, int* widths );
-void       wxStatusBar_SetMinHeight( TSelf(wxStatusBar) _obj, int height );
-void       wxStatusBar_SetStatusText( TSelf(wxStatusBar) _obj, TStringVoid text, int number );
-void       wxStatusBar_SetStatusWidths( TSelf(wxStatusBar) _obj, int n, int* widths );
-
-/* wxStopWatch */
-TClassDef(wxStopWatch)
-TClass(wxStopWatch) wxStopWatch_Create();
-void      wxStopWatch_Delete(TSelf(wxStopWatch) _obj);
-void      wxStopWatch_Start(TSelf(wxStopWatch) _obj, int msec);
-void      wxStopWatch_Pause(TSelf(wxStopWatch) _obj);
-void      wxStopWatch_Resume(TSelf(wxStopWatch) _obj);
-int       wxStopWatch_Time(TSelf(wxStopWatch) _obj);
-
-
-/* wxStreamBase */
-TClassDef(wxStreamBase)
-int        wxStreamBase_GetLastError( TSelf(wxStreamBase) _obj );
-int        wxStreamBase_GetSize( TSelf(wxStreamBase) _obj );
-TBool      wxStreamBase_IsOk( TSelf(wxStreamBase) _obj );
-
-/* wxStreamBuffer */
-TClassDef(wxStreamBuffer)
-
-/* wxStreamToTextRedirector */
-TClassDef(wxStreamToTextRedirector)
-
-/* wxString */
-TClassDef(wxString)
-
-/* wxStringBuffer */
-TClassDef(wxStringBuffer)
-
-/* wxStringClientData */
-TClassDefExtend(wxStringClientData,wxClientData)
-
-/* wxStringList */
-TClassDefExtend(wxStringList,wxList)
-
-/* wxStringTokenizer */
-TClassDefExtend(wxStringTokenizer,wxObject)
-
-/* wxSysColourChangedEvent */
-TClassDefExtend(wxSysColourChangedEvent,wxEvent)
-
-/* wxSystemOptions */
-TClassDefExtend(wxSystemOptions,wxObject)
-
-/* wxSystemSettings */
-TClassDefExtend(wxSystemSettings,wxObject)
-void       wxSystemSettings_GetColour( int index, TClassRef(wxColour) _ref );
-void       wxSystemSettings_GetFont( int index, TClassRef(wxFont) _ref );
-int        wxSystemSettings_GetMetric( int index );
-int        wxSystemSettings_GetScreenType( );
-
-/* wxTabCtrl */
-TClassDefExtend(wxTabCtrl,wxControl)
-
-/* wxTabEvent */
-TClassDefExtend(wxTabEvent,wxCommandEvent)
-
-/* wxTablesInUse */
-TClassDefExtend(wxTablesInUse,wxObject)
-
-/* wxTaskBarIcon */
-TClassDefExtend(wxTaskBarIcon,wxEvtHandler)
-TClass(wxTaskBarIcon) wxTaskBarIcon_Create();
-void       wxTaskBarIcon_Delete( TSelf(wxTaskBarIcon) _obj );
-/* TClass(wxMenu)  wxTaskBarIcon_CreatePopupMenu( TSelf(wxTaskBarIcon) _obj ); */
-TBool      wxTaskBarIcon_IsIconInstalled( TSelf(wxTaskBarIcon) _obj );
-TBool      wxTaskBarIcon_IsOk( TSelf(wxTaskBarIcon) _obj );
-TBool      wxTaskBarIcon_PopupMenu( TSelf(wxTaskBarIcon) _obj, TClass(wxMenu) menu );
-TBool      wxTaskBarIcon_RemoveIcon( TSelf(wxTaskBarIcon) _obj );
-TBool      wxTaskBarIcon_SetIcon( TSelf(wxTaskBarIcon) _obj, TClass(wxIcon) icon, TString text );
-
-/* wxTempFile */
-TClassDef(wxTempFile)
-
-/* wxTextAttr */
-TClassDef(wxTextAttr)
-
-/* wxTextCtrl */
-TClassDefExtend(wxTextCtrl,wxControl)
-void       wxTextCtrl_AppendText( TSelf(wxTextCtrl) _obj, TString text );
-TBool      wxTextCtrl_CanCopy( TSelf(wxTextCtrl) _obj );
-TBool      wxTextCtrl_CanCut( TSelf(wxTextCtrl) _obj );
-TBool      wxTextCtrl_CanPaste( TSelf(wxTextCtrl) _obj );
-TBool      wxTextCtrl_CanRedo( TSelf(wxTextCtrl) _obj );
-TBool      wxTextCtrl_CanUndo( TSelf(wxTextCtrl) _obj );
-void       wxTextCtrl_Clear( TSelf(wxTextCtrl) _obj );
-void       wxTextCtrl_Copy( TSelf(wxTextCtrl) _obj );
-TClass(wxTextCtrl) wxTextCtrl_Create( TClass(wxWindow) _prt, int _id, TString _txt, TRect(_lft,_top,_wdt,_hgt), long _stl );
-void       wxTextCtrl_Cut( TSelf(wxTextCtrl) _obj );
-void       wxTextCtrl_DiscardEdits( TSelf(wxTextCtrl) _obj );
-long       wxTextCtrl_GetInsertionPoint( TSelf(wxTextCtrl) _obj );
-long       wxTextCtrl_GetLastPosition( TSelf(wxTextCtrl) _obj );
-int        wxTextCtrl_GetLineLength( TSelf(wxTextCtrl) _obj, long lineNo );
-TStringLen wxTextCtrl_GetLineText( TSelf(wxTextCtrl) _obj, long lineNo, TStringOutVoid _buf );
-int        wxTextCtrl_GetNumberOfLines( TSelf(wxTextCtrl) _obj );
-void       wxTextCtrl_GetSelection( TSelf(wxTextCtrl) _obj, void* from, void* to );
-TStringLen wxTextCtrl_GetValue( TSelf(wxTextCtrl) _obj, TStringOutVoid _buf );
-TBool      wxTextCtrl_IsEditable( TSelf(wxTextCtrl) _obj );
-TBool      wxTextCtrl_IsModified( TSelf(wxTextCtrl) _obj );
-int        wxTextCtrl_LoadFile( TSelf(wxTextCtrl) _obj, TString file );
-void       wxTextCtrl_Paste( TSelf(wxTextCtrl) _obj );
-int        wxTextCtrl_PositionToXY( TSelf(wxTextCtrl) _obj, long pos, long* x, long* y );
-void       wxTextCtrl_Redo( TSelf(wxTextCtrl) _obj );
-void       wxTextCtrl_Remove( TSelf(wxTextCtrl) _obj, long from, long to );
-void       wxTextCtrl_Replace( TSelf(wxTextCtrl) _obj, long from, long to, TString value );
-int        wxTextCtrl_SaveFile( TSelf(wxTextCtrl) _obj, TString file );
-void       wxTextCtrl_SetEditable( TSelf(wxTextCtrl) _obj, TBool editable );
-void       wxTextCtrl_SetInsertionPoint( TSelf(wxTextCtrl) _obj, long pos );
-void       wxTextCtrl_SetInsertionPointEnd( TSelf(wxTextCtrl) _obj );
-void       wxTextCtrl_SetSelection( TSelf(wxTextCtrl) _obj, long from, long to );
-void       wxTextCtrl_SetValue( TSelf(wxTextCtrl) _obj, TString value );
-void       wxTextCtrl_ShowPosition( TSelf(wxTextCtrl) _obj, long pos );
-void       wxTextCtrl_Undo( TSelf(wxTextCtrl) _obj );
-void       wxTextCtrl_WriteText( TSelf(wxTextCtrl) _obj, TString text );
-long       wxTextCtrl_XYToPosition( TSelf(wxTextCtrl) _obj, TPointLong(x,y) );
-
-/* wxTextDataObject */
-TClassDefExtend(wxTextDataObject,wxDataObjectSimple)
-TClass(TextDataObject) TextDataObject_Create( TStringVoid _txt );
-void       TextDataObject_Delete( TSelf(TextDataObject) _obj );
-size_t TextDataObject_GetTextLength( TSelf(TextDataObject) _obj );
-TStringLen       TextDataObject_GetText( TSelf(TextDataObject) _obj, TStringOutVoid _buf );
-void       TextDataObject_SetText( TSelf(TextDataObject) _obj, TString text );
-
-/* wxTextDropTarget */
-TClassDefExtend(wxTextDropTarget,wxDropTarget)
-
-/* wxTextEntryDialog */
-TClassDefExtend(wxTextEntryDialog,wxDialog)
-
-/* wxTextFile */
-TClassDef(wxTextFile)
-
-/* wxTextInputStream */
-TClassDef(wxTextInputStream)
-
-/* wxTextOutputStream */
-TClassDef(wxTextOutputStream)
-
-/* wxTextValidator */
-TClassDefExtend(wxTextValidator,wxValidator)
-TClass(wxTextValidator) wxTextValidator_Create( int style, void* val );
-TArrayLen  wxTextValidator_GetExcludes( TSelf(wxTextValidator) _obj, TArrayStringOutVoid _ref );
-TArrayLen  wxTextValidator_GetIncludes( TSelf(wxTextValidator) _obj, TArrayStringOutVoid _ref );
-void       wxTextValidator_SetExcludes( TSelf(wxTextValidator) _obj, TStringVoid list, int count );
-void       wxTextValidator_SetIncludes( TSelf(wxTextValidator) _obj, TStringVoid list, int count );
-TClass(wxValidator) wxTextValidator_Clone( TSelf(wxTextValidator) _obj );
-TBool      wxTextValidator_TransferToWindow( TSelf(wxTextValidator) _obj );
-TBool      wxTextValidator_TransferFromWindow( TSelf(wxTextValidator) _obj );
-int        wxTextValidator_GetStyle( TSelf(wxTextValidator) _obj );
-void       wxTextValidator_OnChar( TSelf(wxTextValidator) _obj, TClass(wxEvent) event );
-void       wxTextValidator_SetStyle( TSelf(wxTextValidator) _obj, int style );
-
-/* wxThinSplitterWindow */
-TClassDefExtend(wxThinSplitterWindow,wxSplitterWindow)
-TClass(wxThinSplitterWindow) wxThinSplitterWindow_Create( TClass(wxWindow) parent, int id, TRect(x,y,w,h), int style );
-void       wxThinSplitterWindow_DrawSash( TSelf(wxThinSplitterWindow) _obj, TClass(wxDC) dc );
-int        wxThinSplitterWindow_SashHitTest( TSelf(wxThinSplitterWindow) _obj, TPoint(x,y), int tolerance );
-void       wxThinSplitterWindow_SizeWindows( TSelf(wxThinSplitterWindow) _obj );
-
-/* wxThread */
-TClassDef(wxThread)
-
-/* wxTime */
-TClassDefExtend(wxTime,wxObject)
-
-/* wxTimeSpan */
-TClassDef(wxTimeSpan)
-
-/* wxTimer */
-TClassDefExtend(wxTimer,wxObject)
-TClass(wxTimer) wxTimer_Create( TClass(wxWindow) _prt, int _id );
-void       wxTimer_Delete( TSelf(wxTimer) _obj );
-int        wxTimer_GetInterval( TSelf(wxTimer) _obj );
-TBool      wxTimer_IsOneShot( TSelf(wxTimer) _obj );
-TBool      wxTimer_IsRuning( TSelf(wxTimer) _obj );
-TBool      wxTimer_Start( TSelf(wxTimer) _obj, int _int, TBool _one );
-void       wxTimer_Stop( TSelf(wxTimer) _obj );
-
-/* wxTimerBase */
-TClassDefExtend(wxTimerBase,wxObject)
-
-/* wxTimerEvent */
-TClassDefExtend(wxTimerEvent,wxEvent)
-int        wxTimerEvent_GetInterval( TSelf(wxTimerEvent) _obj );
-
-/* wxTimerEx */
-TClassDefExtend(wxTimerEx,wxTimer)
-
-/* wxTimerRunner */
-TClassDef(wxTimerRunner)
-
-/* wxTipProvider */
-TClassDef(wxTipProvider)
-
-/* wxTipWindow */
-TClassDefExtend(wxTipWindow,wxPopupTransientWindow)
-void       wxTipWindow_Close( TSelf(wxTipWindow) _obj );
-TClass(wxTipWindow) wxTipWindow_Create( TClass(wxWindow) parent, TStringVoid text, int maxLength );
-void       wxTipWindow_SetBoundingRect( TSelf(wxTipWindow) _obj, TRect(x,y,w,h) );
-void       wxTipWindow_SetTipWindowPtr( TSelf(wxTipWindow) _obj, void* windowPtr );
-
-/* wxToggleButton */
-TClassDefExtend(wxToggleButton,wxControl)
-TClass(wxToggleButton) wxToggleButton_Create( TClass(wxWindow) parent, int id, void* label, TRect(x,y,w,h), int style );
-int        wxToggleButton_Enable( TSelf(wxToggleButton) _obj, TBool enable );
-int        wxToggleButton_GetValue( TSelf(wxToggleButton) _obj );
-void       wxToggleButton_SetLabel( TSelf(wxToggleButton) _obj, void* label );
-void       wxToggleButton_SetValue( TSelf(wxToggleButton) _obj, int state );
-
-/* wxToolBar */
-TClassDefExtend(wxToolBar,wxToolBarBase)
-TBoolInt   wxToolBar_AddControl( TSelf(wxToolBar) _obj, TClass(wxControl) ctrl );
-void       wxToolBar_AddSeparator( TSelf(wxToolBar) _obj );
-void       wxToolBar_AddTool( TSelf(wxToolBar) _obj, int id, TClass(wxBitmap) bmp, TStringVoid shelp, TStringVoid lhelp );
-void       wxToolBar_AddToolEx( TSelf(wxToolBar) _obj, int id, TClass(wxBitmap) bmp1, TClass(wxBitmap) bmp2, TBoolInt isToggle, TPoint(x,y), TClass(wxObject) data, TStringVoid shelp, TStringVoid lhelp );
-TClass(wxToolBar) wxToolBar_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
-void       wxToolBar_Delete( TSelf(wxToolBar) _obj );
-TBoolInt   wxToolBar_DeleteTool( TSelf(wxToolBar) _obj, int id );
-TBoolInt   wxToolBar_DeleteToolByPos( TSelf(wxToolBar) _obj, int pos );
-void       wxToolBar_EnableTool( TSelf(wxToolBar) _obj, int id, TBool enable );
-void       wxToolBar_GetMargins( TSelf(wxToolBar) _obj, TPointOutVoid(x,y) );
-void       wxToolBar_GetToolBitmapSize( TSelf(wxToolBar) _obj, TSizeOutVoid(_x,_y) );
-TClass(wxObject) wxToolBar_GetToolClientData( TSelf(wxToolBar) _obj, int id );
-TBool      wxToolBar_GetToolEnabled( TSelf(wxToolBar) _obj, int id );
-TStringLen wxToolBar_GetToolLongHelp( TSelf(wxToolBar) _obj, int id, TStringOutVoid _buf );
-int        wxToolBar_GetToolPacking( TSelf(wxToolBar) _obj );
-TStringLen wxToolBar_GetToolShortHelp( TSelf(wxToolBar) _obj, int id, TStringOutVoid _buf );
-void       wxToolBar_GetToolSize( TSelf(wxToolBar) _obj, TPointOutVoid(_x,_y) );
-TBoolInt   wxToolBar_GetToolState( TSelf(wxToolBar) _obj, int id );
-void       wxToolBar_InsertControl( TSelf(wxToolBar) _obj, int pos, TClass(wxControl) ctrl );
-void       wxToolBar_InsertSeparator( TSelf(wxToolBar) _obj, int pos );
-void       wxToolBar_InsertTool( TSelf(wxToolBar) _obj, int pos, int id, TClass(wxBitmap) bmp1, TClass(wxBitmap) bmp2, TBoolInt isToggle, TClass(wxObject) data, TStringVoid shelp, TStringVoid lhelp );
-TBoolInt   wxToolBar_Realize( TSelf(wxToolBar) _obj );
-void       wxToolBar_RemoveTool( TSelf(wxToolBar) _obj, int id );
-void       wxToolBar_SetMargins( TSelf(wxToolBar) _obj, TPoint(x,y) );
-void       wxToolBar_SetToolBitmapSize( TSelf(wxToolBar) _obj, TSize(x,y) );
-void       wxToolBar_SetToolClientData( TSelf(wxToolBar) _obj, int id, TClass(wxObject) data );
-void       wxToolBar_SetToolLongHelp( TSelf(wxToolBar) _obj, int id, TStringVoid str );
-void       wxToolBar_SetToolPacking( TSelf(wxToolBar) _obj, int packing );
-void       wxToolBar_SetToolSeparation( TSelf(wxToolBar) _obj, int separation );
-void       wxToolBar_SetToolShortHelp( TSelf(wxToolBar) _obj, int id, TStringVoid str );
-void       wxToolBar_ToggleTool( TSelf(wxToolBar) _obj, int id, TBoolInt toggle );
-
-/* wxToolBarBase */
-TClassDefExtend(wxToolBarBase,wxControl)
-
-/* wxToolLayoutItem */
-TClassDefExtend(wxToolLayoutItem,wxObject)
-TBool      wxToolLayoutItem_IsSeparator( TSelf(wxToolLayoutItem) _obj );
-void       wxToolLayoutItem_Rect( TSelf(wxToolLayoutItem) _obj, TRectOutVoid(_x,_y,_w,_h) );
-
-/* wxToolTip */
-TClassDefExtend(wxToolTip,wxObject)
-
-/* wxToolWindow */
-TClassDefExtend(wxToolWindow,wxFrame)
-void       wxToolWindow_AddMiniButton( TSelf(wxToolWindow) _obj, void* _btn );
-TClass(wxToolWindow) wxToolWindow_Create( void* _obj, void* _btn, void* _ttl );
-TClass(wxClient) wxToolWindow_GetClient( TSelf(wxToolWindow) _obj );
-void       wxToolWindow_SetClient( TSelf(wxToolWindow) _obj, TClass(wxWindow) _wnd );
-void       wxToolWindow_SetTitleFont( TSelf(wxToolWindow) _obj, void* _fnt );
-
-/* wxTopLevelWindow */
-TClassDefExtend(wxTopLevelWindow,wxWindow)
-TBool      wxTopLevelWindow_EnableCloseButton( TSelf(wxTopLevelWindow) _obj, TBoolInt enable );
-TClass(wxButton) wxTopLevelWindow_GetDefaultButton( TSelf(wxTopLevelWindow) _obj );
-TClass(wxWindow) wxTopLevelWindow_GetDefaultItem( TSelf(wxTopLevelWindow) _obj );
-TClass(wxIcon) wxTopLevelWindow_GetIcon( TSelf(wxTopLevelWindow) _obj );
-TStringLen wxTopLevelWindow_GetTitle( TSelf(wxTopLevelWindow) _obj, TStringOutVoid _buf );
-TBool      wxTopLevelWindow_Iconize( TSelf(wxTopLevelWindow) _obj, TBoolInt iconize );
-TBool      wxTopLevelWindow_IsActive( TSelf(wxTopLevelWindow) _obj );
-TBool      wxTopLevelWindow_IsIconized( TSelf(wxTopLevelWindow) _obj );
-TBool      wxTopLevelWindow_IsMaximized( TSelf(wxTopLevelWindow) _obj );
-void       wxTopLevelWindow_Maximize( TSelf(wxTopLevelWindow) _obj, TBoolInt maximize );
-void       wxTopLevelWindow_RequestUserAttention( TSelf(wxTopLevelWindow) _obj, int flags );
-void       wxTopLevelWindow_SetDefaultButton( TSelf(wxTopLevelWindow) _obj, TClass(wxButton) pBut );
-void       wxTopLevelWindow_SetDefaultItem( TSelf(wxTopLevelWindow) _obj, TClass(wxWindow) pBut );
-void       wxTopLevelWindow_SetIcon( TSelf(wxTopLevelWindow) _obj, TClass(wxIcon) pIcon );
-void       wxTopLevelWindow_SetIcons( TSelf(wxTopLevelWindow) _obj, void* _icons );
-void       wxTopLevelWindow_SetMaxSize( TSelf(wxTopLevelWindow) _obj, TSize(w,h) );
-void       wxTopLevelWindow_SetMinSize( TSelf(wxTopLevelWindow) _obj, TSize(w,h) );
-void       wxTopLevelWindow_SetTitle( TSelf(wxTopLevelWindow) _obj, TStringVoid pString );
-
-/* wxTreeCompanionWindow */
-TClassDefExtend(wxTreeCompanionWindow,wxWindow)
-TClass(wxTreeCompanionWindow) wxTreeCompanionWindow_Create( TClass(wxWindow) parent, int id, TRect(x,y,w,h), int style );
-void       wxTreeCompanionWindow_DrawItem( TSelf(wxTreeCompanionWindow) _obj, TClass(wxDC) dc, void* id, TRect(x,y,w,h));
-TClass(wxTreeCtrl) wxTreeCompanionWindow_GetTreeCtrl( TSelf(wxTreeCompanionWindow) _obj );
-void       wxTreeCompanionWindow_SetTreeCtrl( TSelf(wxTreeCompanionWindow) _obj, TClass(wxTreeCtrl) treeCtrl );
-
-/* wxTreeCtrl */
-TClassDefExtend(wxTreeCtrl,wxControl)
-void       wxTreeCtrl_AddRoot( TSelf(wxTreeCtrl) _obj, TStringVoid text, int image, int selectedImage, TClass(wxTreeItemData) data, TClassRef(wxTreeItemId) _item );
-void       wxTreeCtrl_AppendItem( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) parent, TStringVoid text, int image, int selectedImage, TClass(wxTreeItemData)  data, TClassRef(wxTreeItemId) _item );
-void       wxTreeCtrl_Collapse( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
-void       wxTreeCtrl_CollapseAndReset( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
-TClass(wxTreeCtrl) wxTreeCtrl_Create( void* _obj, void* _cmp, TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
-void       wxTreeCtrl_Delete( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
-void       wxTreeCtrl_DeleteAllItems( TSelf(wxTreeCtrl) _obj );
-void       wxTreeCtrl_DeleteChildren( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
-void       wxTreeCtrl_EditLabel( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
-void       wxTreeCtrl_EndEditLabel( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TBoolInt discardChanges );
-void       wxTreeCtrl_EnsureVisible( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
-void       wxTreeCtrl_Expand( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
-int        wxTreeCtrl_GetBoundingRect( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TBoolInt textOnly, TRectOutVoid(x,y,w,h) );
-int        wxTreeCtrl_GetChildrenCount( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TBoolInt recursively );
-int        wxTreeCtrl_GetCount( TSelf(wxTreeCtrl) _obj );
-TClass(wxTextCtrl) wxTreeCtrl_GetEditControl( TSelf(wxTreeCtrl) _obj );
-void       wxTreeCtrl_GetFirstChild( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, int* cookie, TClassRef(wxTreeItemId) _item );
-void       wxTreeCtrl_GetFirstVisibleItem( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TClassRef(wxTreeItemId) _item );
-TClass(wxImageList) wxTreeCtrl_GetImageList( TSelf(wxTreeCtrl) _obj );
-int        wxTreeCtrl_GetIndent( TSelf(wxTreeCtrl) _obj );
-void*      wxTreeCtrl_GetItemData( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
-int        wxTreeCtrl_GetItemImage( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, int which );
-TStringLen wxTreeCtrl_GetItemText( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TStringOutVoid _buf );
-void       wxTreeCtrl_GetLastChild( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TClassRef(wxTreeItemId) _item );
-void       wxTreeCtrl_GetNextChild( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, int* cookie, TClassRef(wxTreeItemId) _item );
-void       wxTreeCtrl_GetNextSibling( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TClassRef(wxTreeItemId) _item );
-void       wxTreeCtrl_GetNextVisible( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TClassRef(wxTreeItemId) _item );
-void       wxTreeCtrl_GetParent( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TClassRef(wxTreeItemId) _item );
-void       wxTreeCtrl_GetPrevSibling( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TClassRef(wxTreeItemId) _item );
-void       wxTreeCtrl_GetPrevVisible( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TClassRef(wxTreeItemId) _item );
-void       wxTreeCtrl_GetRootItem( TSelf(wxTreeCtrl) _obj, TClassRef(wxTreeItemId) _item );
-void       wxTreeCtrl_GetSelection( TSelf(wxTreeCtrl) _obj, TClassRef(wxTreeItemId) _item );
-TArrayLen  wxTreeCtrl_GetSelections( TSelf(wxTreeCtrl) _obj, TArrayIntOutVoid selections );
-int        wxTreeCtrl_GetSpacing( TSelf(wxTreeCtrl) _obj );
-TClass(wxImageList)  wxTreeCtrl_GetStateImageList( TSelf(wxTreeCtrl) _obj );
-void       wxTreeCtrl_HitTest( TSelf(wxTreeCtrl) _obj, TPoint(_x,_y), int* flags, TClassRef(wxTreeItemId) _item );
-void       wxTreeCtrl_InsertItem( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) parent, TClass(wxTreeItemId) idPrevious, TStringVoid text, int image, int selectedImage, void* data, TClassRef(wxTreeItemId) _item );
-void       wxTreeCtrl_InsertItemByIndex( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) parent, int index, TStringVoid text, int image, int selectedImage, void* data, TClassRef(wxTreeItemId) _item );
-TBool      wxTreeCtrl_IsBold( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
-TBool      wxTreeCtrl_IsExpanded( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
-TBool      wxTreeCtrl_IsSelected( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
-TBool      wxTreeCtrl_IsVisible( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
-int        wxTreeCtrl_ItemHasChildren( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
-int        wxTreeCtrl_OnCompareItems( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item1, TClass(wxTreeItemId) item2 );
-void       wxTreeCtrl_PrependItem( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) parent, TStringVoid text, int image, int selectedImage, void* data, TClassRef(wxTreeItemId) _item );
-void       wxTreeCtrl_ScrollTo( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
-void       wxTreeCtrl_SelectItem( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
-void       wxTreeCtrl_SetImageList( TSelf(wxTreeCtrl) _obj, TClass(wxImageList) imageList );
-void       wxTreeCtrl_SetIndent( TSelf(wxTreeCtrl) _obj, int indent );
-void       wxTreeCtrl_SetItemBackgroundColour( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TClass(wxColour) col );
-void       wxTreeCtrl_SetItemBold( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TBoolInt bold );
-void       wxTreeCtrl_SetItemData( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, void* data );
-void       wxTreeCtrl_SetItemDropHighlight( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TBoolInt highlight );
-void       wxTreeCtrl_SetItemFont( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TClass(wxFont) font );
-void       wxTreeCtrl_SetItemHasChildren( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TBoolInt hasChildren );
-void       wxTreeCtrl_SetItemImage( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, int image, int which );
-void       wxTreeCtrl_SetItemText( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TStringVoid text );
-void       wxTreeCtrl_SetItemTextColour( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TClass(wxColour) col );
-void       wxTreeCtrl_SetSpacing( TSelf(wxTreeCtrl) _obj, int spacing );
-void       wxTreeCtrl_SetStateImageList( TSelf(wxTreeCtrl) _obj, TClass(wxImageList) imageList );
-void       wxTreeCtrl_SortChildren( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
-void       wxTreeCtrl_Toggle( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
-void       wxTreeCtrl_Unselect( TSelf(wxTreeCtrl) _obj );
-void       wxTreeCtrl_UnselectAll( TSelf(wxTreeCtrl) _obj );
-
-/* wxTreeEvent */
-TClassDefExtend(wxTreeEvent,wxNotifyEvent)
-int        wxTreeEvent_GetCode( TSelf(wxTreeEvent) _obj );
-void       wxTreeEvent_GetItem( TSelf(wxTreeEvent) _obj, TClassRef(wxTreeItemId) _ref );
-TStringLen wxTreeEvent_GetLabel( TSelf(wxTreeEvent) _obj, TStringOutVoid _buf );
-void       wxTreeEvent_GetOldItem( TSelf(wxTreeEvent) _obj, TClassRef(wxTreeItemId) _ref );
-void       wxTreeEvent_GetPoint( TSelf(wxTreeEvent) _obj, TPointOutVoid(_x,_y) );
-
-/* wxTreeItemData */
-TClassDefExtend(wxTreeItemData,wxClientData)
-
-/* wxTreeItemId */
-TClassDef(wxTreeItemId)
-TClass(wxTreeItemId) wxTreeItemId_Create(  );
-void       wxTreeItemId_Delete( TSelf(wxTreeItemId) _obj );
-TBool      wxTreeItemId_IsOk( TSelf(wxTreeItemId) _obj );
-
-/* wxTreeLayout */
-TClassDefExtend(wxTreeLayout,wxObject)
-
-/* wxTreeLayoutStored */
-TClassDefExtend(wxTreeLayoutStored,wxTreeLayout)
-
-/* wxURL */
-TClassDefExtend(wxURL,wxObject)
-
-/* wxUpdateUIEvent */
-TClassDefExtend(wxUpdateUIEvent,wxEvent)
-void       wxUpdateUIEvent_Check( TSelf(wxUpdateUIEvent) _obj, TBool check );
-void       wxUpdateUIEvent_CopyObject( TSelf(wxUpdateUIEvent) _obj, void* obj );
-void       wxUpdateUIEvent_Enable( TSelf(wxUpdateUIEvent) _obj, TBool enable );
-TBool      wxUpdateUIEvent_GetChecked( TSelf(wxUpdateUIEvent) _obj );
-TBool      wxUpdateUIEvent_GetEnabled( TSelf(wxUpdateUIEvent) _obj );
-int        wxUpdateUIEvent_GetSetChecked( TSelf(wxUpdateUIEvent) _obj );
-int        wxUpdateUIEvent_GetSetEnabled( TSelf(wxUpdateUIEvent) _obj );
-int        wxUpdateUIEvent_GetSetText( TSelf(wxUpdateUIEvent) _obj );
-TStringLen wxUpdateUIEvent_GetText( TSelf(wxUpdateUIEvent) _obj, TStringOutVoid _buf );
-void       wxUpdateUIEvent_SetText( TSelf(wxUpdateUIEvent) _obj, TString text );
-
-/* wxValidator */
-TClassDefExtend(wxValidator,wxEvtHandler)
-TClass(wxValidator) wxValidator_Create(  );
-void       wxValidator_Delete( TSelf(wxValidator) _obj );
-TClass(wxWindow) wxValidator_GetWindow( TSelf(wxValidator) _obj );
-void       wxValidator_SetBellOnError( TBool doIt );
-void       wxValidator_SetWindow( TSelf(wxValidator) _obj, TClass(wxWindow) win );
-int        wxValidator_TransferFromWindow( TSelf(wxValidator) _obj );
-int        wxValidator_TransferToWindow( TSelf(wxValidator) _obj );
-TBool      wxValidator_Validate( TSelf(wxValidator) _obj, TClass(wxWindow) parent );
-
-/* wxVariant */
-TClassDefExtend(wxVariant,wxObject)
-
-/* wxVariantData */
-TClassDefExtend(wxVariantData,wxObject)
-
-/* wxView */
-TClassDefExtend(wxView,wxEvtHandler)
-
-/* wxSound */
-TClassDefExtend(wxSound,wxEvtHandler)
-
-/* wxWindow */
-TClassDefExtend(wxWindow,wxEvtHandler)
-void       wxWindow_AddChild( TSelf(wxWindow) _obj, TClass(wxWindow) child );
-void       wxWindow_AddConstraintReference( TSelf(wxWindow) _obj, TClass(wxWindow) otherWin );
-void       wxWindow_CaptureMouse( TSelf(wxWindow) _obj );
-void       wxWindow_Center( TSelf(wxWindow) _obj, int direction );
-void       wxWindow_CenterOnParent( TSelf(wxWindow) _obj, int dir );
-void       wxWindow_ClearBackground( TSelf(wxWindow) _obj );
-void       wxWindow_ClientToScreen( TSelf(wxWindow) _obj, TPoint(x,y), TPointOut(sx,sy) );
-TBool      wxWindow_Close( TSelf(wxWindow) _obj, TBool _force );
-void       wxWindow_ConvertDialogToPixels( TSelf(wxWindow) _obj, TPointOut(_x,_y) );
-void       wxWindow_ConvertPixelsToDialog( TSelf(wxWindow) _obj, TPointOut(_x,_y) );
-TClass(wxWindow) wxWindow_Create( TClass(wxWindow) _prt, int _id, TRect(_x,_y,_w,_h), int _stl );
-void       wxWindow_DeleteRelatedConstraints( TSelf(wxWindow) _obj );
-TBool      wxWindow_Destroy( TSelf(wxWindow) _obj );
-TBool      wxWindow_DestroyChildren( TSelf(wxWindow) _obj );
-TBool      wxWindow_Disable( TSelf(wxWindow) _obj );
-int        wxWindow_DoPhase( TSelf(wxWindow) _obj, int phase );
-TBoolInt   wxWindow_Enable( TSelf(wxWindow) _obj );
-TClass(wxWindow) wxWindow_FindFocus( TSelf(wxWindow) _obj );
-TClass(wxWindow) wxWindow_FindWindow( TSelf(wxWindow) _obj, TString name );
-void       wxWindow_Fit( TSelf(wxWindow) _obj );
-void       wxWindow_FitInside( TSelf(wxWindow) _obj );
-void       wxWindow_Freeze( TSelf(wxWindow) _obj );
-void       wxWindow_GetEffectiveMinSize( TSelf(wxWindow) _obj, TSizeOutVoid(_w,_h) );
-int        wxWindow_GetAutoLayout( TSelf(wxWindow) _obj );
-void       wxWindow_GetBackgroundColour( TSelf(wxWindow) _obj, TClassRef(wxColour) _ref );
-void       wxWindow_GetBestSize( TSelf(wxWindow) _obj, TSizeOutVoid(_w,_h) );
-TClass(wxCaret) wxWindow_GetCaret( TSelf(wxWindow) _obj );
-int        wxWindow_GetCharHeight( TSelf(wxWindow) _obj );
-int        wxWindow_GetCharWidth( TSelf(wxWindow) _obj );
-int        wxWindow_GetChildren( TSelf(wxWindow) _obj, void* _res, int _cnt );
-TClass(wxClientData) wxWindow_GetClientData( TSelf(wxWindow) _obj );
-void       wxWindow_GetClientSize( TSelf(wxWindow) _obj, TSizeOutVoid(_w,_h) );
-void       wxWindow_GetClientSizeConstraint( TSelf(wxWindow) _obj, TSizeOut(_w,_h) );
-TClass(wxLayoutConstraints) wxWindow_GetConstraints( TSelf(wxWindow) _obj );
-void*      wxWindow_GetConstraintsInvolvedIn( TSelf(wxWindow) _obj );
-TClass(wxCursor) wxWindow_GetCursor( TSelf(wxWindow) _obj );
-TClass(wxDropTarget) wxWindow_GetDropTarget( TSelf(wxWindow) _obj );
-TClass(wxEvtHandler) wxWindow_GetEventHandler( TSelf(wxWindow) _obj );
-void       wxWindow_GetFont( TSelf(wxWindow) _obj, TClassRef(wxFont) _ref );
-void       wxWindow_GetForegroundColour( TSelf(wxWindow) _obj, TClassRef(wxColour) _ref );
-void*      wxWindow_GetHandle( TSelf(wxWindow) _obj );
-int        wxWindow_GetId( TSelf(wxWindow) _obj );
-TStringLen wxWindow_GetLabel( TSelf(wxWindow) _obj, TStringOutVoid _buf );
-int        wxWindow_GetLabelEmpty( TSelf(wxWindow) _obj );
-int        wxWindow_GetMaxHeight( TSelf(wxWindow) _obj );
-int        wxWindow_GetMaxWidth( TSelf(wxWindow) _obj );
-int        wxWindow_GetMinHeight( TSelf(wxWindow) _obj );
-int        wxWindow_GetMinWidth( TSelf(wxWindow) _obj );
-TStringLen wxWindow_GetName( TSelf(wxWindow) _obj, TStringOutVoid _buf );
-TClass(wxWindow) wxWindow_GetParent( TSelf(wxWindow) _obj );
-void       wxWindow_GetPosition( TSelf(wxWindow) _obj, TPointOutVoid(_x,_y) );
-void       wxWindow_GetPositionConstraint( TSelf(wxWindow) _obj, TPointOut(_x,_y) );
-void       wxWindow_GetRect( TSelf(wxWindow) _obj, TRectOutVoid(_x,_y,_w,_h) );
-int        wxWindow_GetScrollPos( TSelf(wxWindow) _obj, int orient );
-int        wxWindow_GetScrollRange( TSelf(wxWindow) _obj, int orient );
-int        wxWindow_GetScrollThumb( TSelf(wxWindow) _obj, int orient );
-void       wxWindow_GetSize( TSelf(wxWindow) _obj, TSizeOutVoid(_w,_h) );
-void       wxWindow_GetSizeConstraint( TSelf(wxWindow) _obj, TSizeOut(_w,_h) );
-TClass(wxSizer) wxWindow_GetSizer( TSelf(wxWindow) _obj );
-void       wxWindow_GetTextExtent( TSelf(wxWindow) _obj, TString string, int* x, int* y, int* descent, int* externalLeading, TClass(wxFont) theFont );
-TStringLen wxWindow_GetToolTip( TSelf(wxWindow) _obj, TStringOutVoid _buf );
-TClass(wxRegion) wxWindow_GetUpdateRegion( TSelf(wxWindow) _obj );
-TClass(wxValidator) wxWindow_GetValidator( TSelf(wxWindow) _obj );
-void       wxWindow_GetVirtualSize( TSelf(wxWindow) _obj, TSizeOut(w,h) );
-int        wxWindow_GetWindowStyleFlag( TSelf(wxWindow) _obj );
-TBool      wxWindow_HasFlag( TSelf(wxWindow) _obj, int flag );
-TBool      wxWindow_Hide( TSelf(wxWindow) _obj );
-void       wxWindow_InitDialog( TSelf(wxWindow) _obj );
-TBool      wxWindow_IsBeingDeleted( TSelf(wxWindow) _obj );
-TBool      wxWindow_IsEnabled( TSelf(wxWindow) _obj );
-TBool      wxWindow_IsExposed( TSelf(wxWindow) _obj, TRect(x,y,w,h) );
-TBool      wxWindow_IsShown( TSelf(wxWindow) _obj );
-TBool      wxWindow_IsTopLevel( TSelf(wxWindow) _obj );
-int        wxWindow_Layout( TSelf(wxWindow) _obj );
-int        wxWindow_LayoutPhase1( TSelf(wxWindow) _obj, int* noChanges );
-int        wxWindow_LayoutPhase2( TSelf(wxWindow) _obj, int* noChanges );
-void       wxWindow_Lower( TSelf(wxWindow) _obj );
-void       wxWindow_MakeModal( TSelf(wxWindow) _obj, TBool modal );
-void       wxWindow_Move( TSelf(wxWindow) _obj, TPoint(x,y) );
-void       wxWindow_MoveConstraint( TSelf(wxWindow) _obj, TPoint(x,y) );
-void*      wxWindow_PopEventHandler( TSelf(wxWindow) _obj, TBool deleteHandler );
-int        wxWindow_PopupMenu( TSelf(wxWindow) _obj, TClass(wxMenu) menu, TPoint(x,y) );
-void       wxWindow_PrepareDC( TSelf(wxWindow) _obj, TClass(wxDC) dc );
-void       wxWindow_PushEventHandler( TSelf(wxWindow) _obj, TClass(wxEvtHandler) handler );
-void       wxWindow_Raise( TSelf(wxWindow) _obj );
-void       wxWindow_Refresh( TSelf(wxWindow) _obj, TBool eraseBackground );
-void       wxWindow_RefreshRect( TSelf(wxWindow) _obj, TBool eraseBackground, TRect(x,y,w,h) );
-void       wxWindow_ReleaseMouse( TSelf(wxWindow) _obj );
-void       wxWindow_RemoveChild( TSelf(wxWindow) _obj, TClass(wxWindow) child );
-void       wxWindow_RemoveConstraintReference( TSelf(wxWindow) _obj, TClass(wxWindow) otherWin );
-int        wxWindow_Reparent( TSelf(wxWindow) _obj, TClass(wxWindow) _par );
-void       wxWindow_ResetConstraints( TSelf(wxWindow) _obj );
-void       wxWindow_ScreenToClient( TSelf(wxWindow) _obj, int* x, int* y );
-void       wxWindow_ScrollWindow( TSelf(wxWindow) _obj, TVector(dx,dy) );
-void       wxWindow_ScrollWindowRect( TSelf(wxWindow) _obj, TVector(dx,dy), TRect(x,y,w,h) );
-void       wxWindow_SetAcceleratorTable( TSelf(wxWindow) _obj, TClass(wxAcceleratorTable) accel );
-void       wxWindow_SetAutoLayout( TSelf(wxWindow) _obj, TBool autoLayout );
-int        wxWindow_SetBackgroundColour( TSelf(wxWindow) _obj, TClass(wxColour) colour );
-void       wxWindow_SetCaret( TSelf(wxWindow) _obj, TClass(wxCaret) caret );
-void       wxWindow_SetClientData( TSelf(wxWindow) _obj, TClass(wxClientData) data );
-void       wxWindow_SetClientObject( TSelf(wxWindow) _obj, TClass(wxClientData) data );
-void       wxWindow_SetClientSize( TSelf(wxWindow) _obj, TSize(width,height) );
-void       wxWindow_SetConstraintSizes( TSelf(wxWindow) _obj, int recurse );
-void       wxWindow_SetConstraints( TSelf(wxWindow) _obj, TClass(wxLayoutConstraints) constraints );
-int        wxWindow_SetCursor( TSelf(wxWindow) _obj, TClass(wxCursor) cursor );
-void       wxWindow_SetDropTarget( TSelf(wxWindow) _obj, TClass(wxDropTarget) dropTarget );
-void       wxWindow_SetExtraStyle( TSelf(wxWindow) _obj, long exStyle );
-void       wxWindow_SetFocus( TSelf(wxWindow) _obj );
-int        wxWindow_SetFont( TSelf(wxWindow) _obj, TClass(wxFont) font );
-int        wxWindow_SetForegroundColour( TSelf(wxWindow) _obj, TClass(wxColour) colour );
-void       wxWindow_SetId( TSelf(wxWindow) _obj, int _id );
-void       wxWindow_SetLabel( TSelf(wxWindow) _obj, TString _title );
-void       wxWindow_SetName( TSelf(wxWindow) _obj, TString _name );
-void       wxWindow_SetScrollPos( TSelf(wxWindow) _obj, int orient, int pos, TBool refresh );
-void       wxWindow_SetScrollbar( TSelf(wxWindow) _obj, int orient, int pos, int thumbVisible, int range, TBool refresh );
-void       wxWindow_SetSize( TSelf(wxWindow) _obj, TRect(x,y,width,height), int sizeFlags );
-void       wxWindow_SetSizeConstraint( TSelf(wxWindow) _obj, TRect(x,y,w,h) );
-void       wxWindow_SetSizeHints( TSelf(wxWindow) _obj, int minW, int minH, int maxW, int maxH, int incW, int incH );
-void       wxWindow_SetSizer( TSelf(wxWindow) _obj, TClass(wxSizer) sizer );
-void       wxWindow_SetToolTip( TSelf(wxWindow) _obj, TString tip );
-void       wxWindow_SetValidator( TSelf(wxWindow) _obj, TClass(wxValidator) validator );
-void       wxWindow_SetWindowStyleFlag( TSelf(wxWindow) _obj, long style );
-TBool      wxWindow_Show( TSelf(wxWindow) _obj );
-void       wxWindow_Thaw( TSelf(wxWindow) _obj );
-TBoolInt   wxWindow_TransferDataFromWindow( TSelf(wxWindow) _obj );
-TBoolInt   wxWindow_TransferDataToWindow( TSelf(wxWindow) _obj );
-void       wxWindow_UnsetConstraints( TSelf(wxWindow) _obj, void* c );
-void       wxWindow_UpdateWindowUI( TSelf(wxWindow) _obj );
-TBool      wxWindow_Validate( TSelf(wxWindow) _obj );
-void       wxWindow_SetVirtualSize( TSelf(wxWindow) _obj, TSize(w,h) );
-void       wxWindow_WarpPointer( TSelf(wxWindow) _obj, TPoint(x,y) );
-
-/* wxWindowCreateEvent */
-TClassDefExtend(wxWindowCreateEvent,wxCommandEvent)
-TClass(wxWindow) wxWindowCreateEvent_GetWindow( TSelf(wxWindowCreateEvent) _obj );
-
-/* wxWindowDC */
-TClassDefExtend(wxWindowDC,wxDC)
-TClass(wxWindowDC) wxWindowDC_Create( TClass(wxWindow) win );
-void       wxWindowDC_Delete( TSelf(wxWindowDC) _obj );
-
-/* wxWindowDestroyEvent */
-TClassDefExtend(wxWindowDestroyEvent,wxCommandEvent)
-TClass(wxWindow) wxWindowDestroyEvent_GetWindow( TSelf(wxWindowDestroyEvent) _obj );
-
-/* wxWindowDisabler */
-TClassDef(wxWindowDisabler)
-
-/* wxWizard */
-TClassDefExtend(wxWizard,wxDialog)
-void       wxWizard_Chain( TClass(wxWizardPageSimple) f, TClass(wxWizardPageSimple) s );
-TClass(wxWizard) wxWizard_Create( TClass(wxWindow) _prt, int _id, TStringVoid _txt, TClass(wxBitmap) _bmp, TRect(_lft,_top,_wdt,_hgt) );
-TClass(wxWizardPage) wxWizard_GetCurrentPage( TSelf(wxWizard) _obj );
-void       wxWizard_GetPageSize( TSelf(wxWizard) _obj, TSizeOutVoid(_w,_h) );
-int        wxWizard_RunWizard( TSelf(wxWizard) _obj, TClass(wxWizardPage) firstPage );
-void       wxWizard_SetPageSize( TSelf(wxWizard) _obj, TSize(w,h) );
-
-/* wxWizardEvent */
-TClassDefExtend(wxWizardEvent,wxNotifyEvent)
-int        wxWizardEvent_GetDirection( TSelf(wxWizardEvent) _obj );
-
-/* wxWizardPage */
-TClassDefExtend(wxWizardPage,wxPanel)
-
-/* wxWizardPageSimple */
-TClassDefExtend(wxWizardPageSimple,wxWizardPage)
-TClass(wxWizardPageSimple) wxWizardPageSimple_Create( TClass(wxWizard) _prt );
-void       wxWizardPageSimple_GetBitmap( TSelf(wxWizardPageSimple) _obj, TClassRef(wxBitmap) _ref );
-TClass(wxWizardPageSimple) wxWizardPageSimple_GetNext( TSelf(wxWizardPageSimple) _obj );
-TClass(wxWizardPageSimple) wxWizardPageSimple_GetPrev( TSelf(wxWizardPageSimple) _obj );
-void       wxWizardPageSimple_SetNext( TSelf(wxWizardPageSimple) _obj, TClass(wxWizardPageSimple) next );
-void       wxWizardPageSimple_SetPrev( TSelf(wxWizardPageSimple) _obj, TClass(wxWizardPageSimple) prev );
-
-/* wxXmlResource */
-TClassDefExtend(wxXmlResource,wxObject)
-void       wxXmlResource_AddHandler( TSelf(wxXmlResource) _obj, TClass(wxEvtHandler) handler );
-void       wxXmlResource_AddSubclassFactory( TSelf(wxXmlResource) _obj, void* factory );
-int        wxXmlResource_AttachUnknownControl( TSelf(wxXmlResource) _obj, TClass(wxControl) control, TClass(wxWindow) parent );
-void       wxXmlResource_ClearHandlers( TSelf(wxXmlResource) _obj );
-int        wxXmlResource_CompareVersion( TSelf(wxXmlResource) _obj, int major, int minor, int release, int revision );
-TClass(wxXmlResource) wxXmlResource_Create( int flags );
-TClass(wxXmlResource) wxXmlResource_CreateFromFile( TClass(wxString) filemask, int flags );
-void       wxXmlResource_Delete( TSelf(wxXmlResource) _obj );
-TClass(wxXmlResource) wxXmlResource_Get(  );
-TStringLen wxXmlResource_GetDomain( TSelf(wxXmlResource) _obj, TStringOut domain );
-int        wxXmlResource_GetFlags( TSelf(wxXmlResource) _obj );
-long       wxXmlResource_GetVersion( TSelf(wxXmlResource) _obj );
-int        wxXmlResource_GetXRCID( TSelf(wxXmlResource) _obj, TClass(wxString) str_id );
-void       wxXmlResource_InitAllHandlers( TSelf(wxXmlResource) _obj );
-void       wxXmlResource_InsertHandler( TSelf(wxXmlResource) _obj, TClass(wxEvtHandler) handler );
-TBool      wxXmlResource_Load( TSelf(wxXmlResource) _obj, TClass(wxString) filemask );
-void       wxXmlResource_LoadBitmap( TSelf(wxXmlResource) _obj, TClass(wxString) name, TClassRef(wxBitmap) _ref );
-TClass(wxDialog) wxXmlResource_LoadDialog( TSelf(wxXmlResource) _obj, TClass(wxWindow) parent, TClass(wxString) name );
-TClass(wxFrame) wxXmlResource_LoadFrame( TSelf(wxXmlResource) _obj, TClass(wxWindow) parent, TClass(wxString) name );
-void       wxXmlResource_LoadIcon( TSelf(wxXmlResource) _obj, TClass(wxString) name, TClassRef(wxIcon) _ref );
-TClass(wxMenu) wxXmlResource_LoadMenu( TSelf(wxXmlResource) _obj, TClass(wxString) name );
-TClass(wxMenuBar) wxXmlResource_LoadMenuBar( TSelf(wxXmlResource) _obj, TClass(wxWindow) parent, TClass(wxString) name );
-TClass(wxPanel) wxXmlResource_LoadPanel( TSelf(wxXmlResource) _obj, TClass(wxWindow) parent, TClass(wxString) name );
-TClass(wxToolBar) wxXmlResource_LoadToolBar( TSelf(wxXmlResource) _obj, TClass(wxWindow) parent, TClass(wxString) name );
-TClass(wxSizer) wxXmlResource_GetSizer( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxBoxSizer) wxXmlResource_GetBoxSizer( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxStaticBoxSizer) wxXmlResource_GetStaticBoxSizer( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxGridSizer) wxXmlResource_GetGridSizer( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxFlexGridSizer) wxXmlResource_GetFlexGridSizer( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxBitmapButton) wxXmlResource_GetBitmapButton( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxButton) wxXmlResource_GetButton( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxCalendarCtrl) wxXmlResource_GetCalendarCtrl( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxCheckBox) wxXmlResource_GetCheckBox( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxCheckListBox) wxXmlResource_GetCheckListBox( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxChoice) wxXmlResource_GetChoice( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxComboBox) wxXmlResource_GetComboBox( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxGauge) wxXmlResource_GetGauge( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxGrid) wxXmlResource_GetGrid( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxHtmlWindow) wxXmlResource_GetHtmlWindow( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxListBox) wxXmlResource_GetListBox( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxListCtrl) wxXmlResource_GetListCtrl( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxMDIChildFrame) wxXmlResource_GetMDIChildFrame( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxMDIParentFrame) wxXmlResource_GetMDIParentFrame( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxMenu) wxXmlResource_GetMenu( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxMenuBar) wxXmlResource_GetMenuBar( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxMenuItem) wxXmlResource_GetMenuItem( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxNotebook) wxXmlResource_GetNotebook( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxPanel) wxXmlResource_GetPanel( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxRadioButton) wxXmlResource_GetRadioButton( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxRadioBox) wxXmlResource_GetRadioBox( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxScrollBar) wxXmlResource_GetScrollBar( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxScrolledWindow) wxXmlResource_GetScrolledWindow( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxSlider) wxXmlResource_GetSlider( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxSpinButton) wxXmlResource_GetSpinButton( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxSpinCtrl) wxXmlResource_GetSpinCtrl( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxSplitterWindow) wxXmlResource_GetSplitterWindow( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxStaticBitmap) wxXmlResource_GetStaticBitmap( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxStaticBox) wxXmlResource_GetStaticBox( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxStaticLine) wxXmlResource_GetStaticLine( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxStaticText) wxXmlResource_GetStaticText( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxTextCtrl) wxXmlResource_GetTextCtrl( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TClass(wxTreeCtrl) wxXmlResource_GetTreeCtrl( TSelf(wxWindow) _obj, TClass(wxString) str_id );
-TBool      wxXmlResource_Unload( TSelf(wxXmlResource) _obj, TClass(wxString) filemask );
-TClass(wxXmlResource) wxXmlResource_Set( TSelf(wxXmlResource) _obj, TSelf(wxXmlResource) res );
-void       wxXmlResource_SetDomain( TSelf(wxXmlResource) _obj, TString domain );
+void       LogErrorMsg( TClass(wxString) _msg );
+void       LogFatalErrorMsg( TClass(wxString) _msg );
+void       LogMessageMsg( TClass(wxString) _msg );
+void       LogWarningMsg( TClass(wxString) _msg );
+TBool      Quantize( TClass(wxImage) src, TClass(wxImage) dest, int desiredNoColours, void* eightBitData, int flags );
+TBool      QuantizePalette( TClass(wxImage) src, TClass(wxImage) dest, void* pPalette, int desiredNoColours, void* eightBitData, int flags );
+void       wxCFree( void* _ptr );
+TClass(ELJLocale) wxGetELJLocale(  );
+void*      wxGetELJTranslation( TStringVoid sz );
+void       wxMutexGui_Enter(  );
+void       wxMutexGui_Leave(  );
+
+/* ELJApp */
+TClassDefExtend(ELJApp,wxApp)
+void       ELJApp_Bell(  );
+TClass(ELJLog) ELJApp_CreateLogTarget(  );
+void       ELJApp_Dispatch(  );
+void       ELJApp_DisplaySize( TSizeOutVoid(_w,_h) );
+void       ELJApp_EnableTooltips( TBool _enable );
+void       ELJApp_EnableTopLevelWindows( int _enb );
+int        ELJApp_ExecuteProcess( TClass(wxString) _cmd, int _snc, TClass(wxProcess) _prc );
+void       ELJApp_Exit(  );
+void       ELJApp_ExitMainLoop(  );
+void*      ELJApp_FindWindowById( int _id, TClass(wxWindow) _prt );
+TClass(wxWindow) ELJApp_FindWindowByLabel( TClass(wxString) _lbl, TClass(wxWindow) _prt );
+TClass(wxWindow) ELJApp_FindWindowByName( TClass(wxString) _lbl, TClass(wxWindow) _prt );
+TClass(wxApp) ELJApp_GetApp(  );
+TClass(wxString) ELJApp_GetAppName( );
+TClass(wxString) ELJApp_GetClassName( );
+int        ELJApp_GetExitOnFrameDelete( );
+TClass(wxString) ELJApp_GetOsDescription( );
+int        ELJApp_GetOsVersion( void* _maj, void* _min );
+TClass(wxWindow) ELJApp_GetTopWindow(  );
+int        ELJApp_GetUseBestVisual(  );
+TClass(wxString) ELJApp_GetUserHome( void* _usr );
+TClass(wxString) ELJApp_GetUserId( );
+TClass(wxString) ELJApp_GetUserName( );
+TClass(wxString) ELJApp_GetVendorName( );
+/* int        ELJApp_GetWantDebugOutput(  ); */
+void       ELJApp_InitAllImageHandlers(  );
+TBool      ELJApp_Initialized(  );
+int        ELJApp_MainLoop(  );
+void       ELJApp_MousePosition( TPointOutVoid(_x,_y) );
+int        ELJApp_Pending(  );
+int        ELJApp_SafeYield( TClass(wxWindow) _win );
+/* int        ELJApp_SendIdleEvents(  ); */
+/* int        ELJApp_SendIdleEventsToWindow( TClass(wxWindow) win ); */
+void       ELJApp_SetAppName( TClass(wxString) name );
+void       ELJApp_SetClassName( TClass(wxString) name );
+void       ELJApp_SetExitOnFrameDelete( int flag );
+void       ELJApp_SetPrintMode( int mode );
+void       ELJApp_SetTooltipDelay( int _ms );
+void       ELJApp_SetTopWindow( TClass(wxWindow) _wnd );
+void       ELJApp_SetUseBestVisual( int flag );
+void       ELJApp_SetVendorName( TClass(wxString) name );
+void       ELJApp_Sleep( int _scs );
+void       ELJApp_MilliSleep( int _mscs );
+int        ELJApp_Yield(  );
+TBoolInt   ELJApp_IsTerminating(  );
+
+
+/* ELJArtProv */
+TClassDefExtend(ELJArtProv,wxArtProvider)
+TClass(ELJArtProv) ELJArtProv_Create( void* _obj, void* _clb );
+void       ELJArtProv_Release( TSelf(ELJArtProv) _obj );
+
+/* ELJClient */
+TClassDefExtend(ELJClient,wxClient)
+TClass(ELJClient) ELJClient_Create( void* _eobj, void* _cnct );
+void       ELJClient_Delete( TSelf(ELJClient) _obj );
+void       ELJClient_MakeConnection( TSelf(ELJClient) _obj, TClass(wxString) host, TClass(wxServer) server, TClass(wxString) topic );
+
+/* ELJCommand */
+TClassDefExtend(ELJCommand,wxCommand)
+TBool      ELJCommand_CanUndo( TSelf(ELJCommand) _obj );
+TClass(ELJCommand) ELJCommand_Create( int _und, TClass(wxString) _nme, void* _obj, void* _clb );
+void       ELJCommand_Delete( TSelf(ELJCommand) _obj );
+TClass(wxString) ELJCommand_GetName( TSelf(ELJCommand) _obj );
+
+/* ELJConnection */
+TClassDefExtend(ELJConnection,wxConnection)
+int        ELJConnection_Advise( TSelf(ELJConnection) _obj, TClass(wxString) item, void* data, int size, int format );
+void       ELJConnection_Compress( TSelf(ELJConnection) _obj, int on );
+TClass(ELJConnection) ELJConnection_Create( void* _obj, void* buffer, int size );
+TClass(ELJConnection) ELJConnection_CreateDefault( TSelf(ELJConnection) _obj );
+void       ELJConnection_Delete( TSelf(ELJConnection) _obj );
+TBool      ELJConnection_Disconnect( TSelf(ELJConnection) _obj );
+TBool      ELJConnection_Execute( TSelf(ELJConnection) _obj, TClass(wxString) data, int size, int format );
+TBool      ELJConnection_Poke( TSelf(ELJConnection) _obj, TClass(wxString) item, void* data, int size, int format );
+void*      ELJConnection_Request( TSelf(ELJConnection) _obj, TClass(wxString) item, TClass(wxSize) size, int format );
+void       ELJConnection_SetOnAdvise( TSelf(ELJConnection) _obj, void* _fnc );
+void       ELJConnection_SetOnDisconnect( TSelf(ELJConnection) _obj, void* _fnc );
+void       ELJConnection_SetOnExecute( TSelf(ELJConnection) _obj, void* _fnc );
+void       ELJConnection_SetOnPoke( TSelf(ELJConnection) _obj, void* _fnc );
+void       ELJConnection_SetOnRequest( TSelf(ELJConnection) _obj, void* _fnc );
+void       ELJConnection_SetOnStartAdvise( TSelf(ELJConnection) _obj, void* _fnc );
+void       ELJConnection_SetOnStopAdvise( TSelf(ELJConnection) _obj, void* _fnc );
+TBool      ELJConnection_StartAdvise( TSelf(ELJConnection) _obj, TClass(wxString) item );
+TBool      ELJConnection_StopAdvise( TSelf(ELJConnection) _obj, TClass(wxString) item );
+
+/* ELJDragDataObject */
+TClassDef(ELJDragDataObject)
+TClass(ELJDragDataObject) ELJDragDataObject_Create( void* _obj, TClass(wxString) _fmt, void* _func1, void* _func2, void* _func3 );
+void       ELJDragDataObject_Delete( TSelf(ELJDragDataObject) _obj );
+
+/* ELJDropTarget */
+TClassDefExtend(ELJDropTarget,wxDropTarget)
+TClass(ELJDropTarget) ELJDropTarget_Create( void* _obj );
+void       ELJDropTarget_Delete( TSelf(ELJDropTarget) _obj );
+void       ELJDropTarget_SetOnData( TSelf(ELJDropTarget) _obj, void* _func );
+void       ELJDropTarget_SetOnDragOver( TSelf(ELJDropTarget) _obj, void* _func );
+void       ELJDropTarget_SetOnDrop( TSelf(ELJDropTarget) _obj, void* _func );
+void       ELJDropTarget_SetOnEnter( TSelf(ELJDropTarget) _obj, void* _func );
+void       ELJDropTarget_SetOnLeave( TSelf(ELJDropTarget) _obj, void* _func );
+
+/* ELJFileDropTarget */
+TClassDefExtend(ELJFileDropTarget,wxFileDropTarget)
+TClass(ELJFileDropTarget) ELJFileDropTarget_Create( void* _obj, void* _func );
+void       ELJFileDropTarget_Delete( TSelf(ELJFileDropTarget) _obj );
+void       ELJFileDropTarget_SetOnData( TSelf(ELJFileDropTarget) _obj, void* _func );
+void       ELJFileDropTarget_SetOnDragOver( TSelf(ELJFileDropTarget) _obj, void* _func );
+void       ELJFileDropTarget_SetOnDrop( TSelf(ELJFileDropTarget) _obj, void* _func );
+void       ELJFileDropTarget_SetOnEnter( TSelf(ELJFileDropTarget) _obj, void* _func );
+void       ELJFileDropTarget_SetOnLeave( TSelf(ELJFileDropTarget) _obj, void* _func );
+
+/* ELJGridTable */
+TClassDefExtend(ELJGridTable,wxGridTableBase)
+TClass(ELJGridTable) ELJGridTable_Create( void* _obj, void* _EifGetNumberRows, void* _EifGetNumberCols, void* _EifGetValue, void* _EifSetValue, void* _EifIsEmptyCell, void* _EifClear, void* _EifInsertRows, void* _EifAppendRows, void* _EifDeleteRows, void* _EifInsertCols, void* _EifAppendCols, void* _EifDeleteCols, void* _EifSetRowLabelValue, void* _EifSetColLabelValue, void* _EifGetRowLabelValue, void* _EifGetColLabelValue );
+void       ELJGridTable_Delete( TSelf(ELJGridTable) _obj );
+TClass(wxView) ELJGridTable_GetView( TSelf(ELJGridTable) _obj );
+void*      ELJGridTable_SendTableMessage( TSelf(ELJGridTable) _obj, int id, int val1, int val2 );
+
+/* ELJLocale */
+TClassDefExtend(ELJLocale,wxLocale)
+
+/* ELJLog */
+TClassDefExtend(ELJLog,wxLog)
+void       ELJLog_AddTraceMask( TSelf(ELJLog) _obj, TStringVoid str );
+TClass(ELJLog) ELJLog_Create( void* _obj, void* _fnc );
+void       ELJLog_Delete( TSelf(ELJLog) _obj );
+void       ELJLog_DontCreateOnDemand( TSelf(ELJLog) _obj );
+int        ELJLog_EnableLogging( TSelf(ELJLog) _obj, TBool doIt );
+void       ELJLog_Flush( TSelf(ELJLog) _obj );
+void       ELJLog_FlushActive( TSelf(ELJLog) _obj );
+void*      ELJLog_GetActiveTarget(  );
+void*      ELJLog_GetTimestamp( TSelf(ELJLog) _obj );
+int        ELJLog_GetTraceMask( TSelf(ELJLog) _obj );
+int        ELJLog_GetVerbose( TSelf(ELJLog) _obj );
+TBool      ELJLog_HasPendingMessages( TSelf(ELJLog) _obj );
+TBool      ELJLog_IsAllowedTraceMask( TSelf(ELJLog) _obj, TClass(wxMask) mask );
+TBool      ELJLog_IsEnabled( TSelf(ELJLog) _obj );
+void       ELJLog_OnLog( TSelf(ELJLog) _obj, int level, void* szString, int t );
+void       ELJLog_RemoveTraceMask( TSelf(ELJLog) _obj, TStringVoid str );
+void       ELJLog_Resume( TSelf(ELJLog) _obj );
+void*      ELJLog_SetActiveTarget( TSelf(ELJLog) pLogger );
+void       ELJLog_SetTimestamp( TSelf(ELJLog) _obj, void* ts );
+void       ELJLog_SetTraceMask( TSelf(ELJLog) _obj, int ulMask );
+void       ELJLog_SetVerbose( TSelf(ELJLog) _obj, int bVerbose );
+void       ELJLog_Suspend( TSelf(ELJLog) _obj );
+
+/* ELJMessageParameters */
+TClassDef(ELJMessageParameters)
+TClass(ELJMessageParameters) wxMessageParameters_Create( TStringVoid _file, TStringVoid _type, void* _object, void* _func );
+void       wxMessageParameters_Delete( TSelf(ELJMessageParameters) _obj );
+
+/* ELJPlotCurve */
+TClassDefExtend(ELJPlotCurve,wxPlotCurve)
+TClass(ELJPlotCurve) ELJPlotCurve_Create( void* _obj, void* _str, void* _end, void* _y, int offsetY, double startY, double endY );
+void       ELJPlotCurve_Delete( TSelf(ELJPlotCurve) _obj );
+double     ELJPlotCurve_GetEndY( TSelf(ELJPlotCurve) _obj );
+int        ELJPlotCurve_GetOffsetY( TSelf(ELJPlotCurve) _obj );
+double     ELJPlotCurve_GetStartY( TSelf(ELJPlotCurve) _obj );
+void       ELJPlotCurve_SetEndY( TSelf(ELJPlotCurve) _obj, double endY );
+void       ELJPlotCurve_SetOffsetY( TSelf(ELJPlotCurve) _obj, int offsetY );
+void       ELJPlotCurve_SetPenNormal( TSelf(ELJPlotCurve) _obj, TClass(wxPen) pen );
+void       ELJPlotCurve_SetPenSelected( TSelf(ELJPlotCurve) _obj, TClass(wxPen) pen );
+void       ELJPlotCurve_SetStartY( TSelf(ELJPlotCurve) _obj, double startY );
+
+/* ELJPreviewControlBar */
+TClassDefExtend(ELJPreviewControlBar,wxPreviewControlBar)
+TClass(ELJPreviewControlBar) ELJPreviewControlBar_Create( void* preview, int buttons, TClass(wxWindow) parent, void* title, TRect(x,y,w,h), int style );
+
+/* ELJPreviewFrame */
+TClassDefExtend(ELJPreviewFrame,wxPreviewFrame)
+TClass(ELJPreviewFrame) ELJPreviewFrame_Create( void* _obj, void* _init, void* _create_canvas, void* _create_toolbar, void* preview, TClass(wxWindow) parent, void* title, TRect(x,y,w,h), int style );
+void*      ELJPreviewFrame_GetControlBar( TSelf(ELJPreviewFrame) _obj );
+TClass(wxPreviewCanvas) ELJPreviewFrame_GetPreviewCanvas( TSelf(ELJPreviewFrame) _obj );
+TClass(wxPrintPreview) ELJPreviewFrame_GetPrintPreview( TSelf(ELJPreviewFrame) _obj );
+void       ELJPreviewFrame_Initialize( TSelf(ELJPreviewFrame) _obj );
+void       ELJPreviewFrame_SetControlBar( TSelf(ELJPreviewFrame) _obj, void* obj );
+void       ELJPreviewFrame_SetPreviewCanvas( TSelf(ELJPreviewFrame) _obj, TClass(wxPreviewCanvas) obj );
+void       ELJPreviewFrame_SetPrintPreview( TSelf(ELJPreviewFrame) _obj, TClass(wxPrintPreview) obj );
+
+/* ELJPrintout */
+/*
+TClassDefExtend(ELJPrintout,wxPrintout)
+TClass(ELJPrintout) ELJPrintout_Create( void* title, void* _obj, void* _DoOnBeginDocument, void* _DoOnEndDocument, void* _DoOnBeginPrinting, void* _DoOnEndPrinting, void* _DoOnPreparePrinting, void* _DoOnPrintPage, void* _DoOnHasPage, void* _DoOnPageInfo );
+void       ELJPrintout_Delete( TSelf(ELJPrintout) _obj );
+TClass(wxDC) ELJPrintout_GetDC( TSelf(ELJPrintout) _obj );
+void       ELJPrintout_GetPPIPrinter( TSelf(ELJPrintout) _obj, TPointOutVoid(_x,_y) );
+void       ELJPrintout_GetPPIScreen( TSelf(ELJPrintout) _obj, TPointOutVoid(_x,_y) );
+void       ELJPrintout_GetPageSizeMM( TSelf(ELJPrintout) _obj, TSizeOutVoid(_w,_h) );
+void       ELJPrintout_GetPageSizePixels( TSelf(ELJPrintout) _obj, TSizeOutVoid(_w,_h) );
+TClass(wxString) ELJPrintout_GetTitle( TSelf(ELJPrintout) _obj );
+TBool      ELJPrintout_IsPreview( TSelf(ELJPrintout) _obj );
+void       ELJPrintout_SetDC( TSelf(ELJPrintout) _obj, TClass(wxDC) dc );
+void       ELJPrintout_SetIsPreview( TSelf(ELJPrintout) _obj, int p );
+void       ELJPrintout_SetPPIPrinter( TSelf(ELJPrintout) _obj, TPoint(x,y) );
+void       ELJPrintout_SetPPIScreen( TSelf(ELJPrintout) _obj, TPoint(x,y) );
+void       ELJPrintout_SetPageSizeMM( TSelf(ELJPrintout) _obj, TSize(w,h) );
+void       ELJPrintout_SetPageSizePixels( TSelf(ELJPrintout) _obj, TSize(w,h) );
+*/
+
+/* ELJServer */
+TClassDefExtend(ELJServer,wxServer)
+TClass(ELJServer) ELJServer_Create( void* _eobj, void* _cnct );
+void       ELJServer_Delete( TSelf(ELJServer) _obj );
+int        ELJServer_Initialize( TSelf(ELJServer) _obj, TClass(wxString) name );
+
+/* ELJTextDropTarget */
+TClassDefExtend(ELJTextDropTarget,wxTextDropTarget)
+TClass(ELJTextDropTarget) ELJTextDropTarget_Create( void* _obj, void* _func );
+void       ELJTextDropTarget_Delete( TSelf(ELJTextDropTarget) _obj );
+void       ELJTextDropTarget_SetOnData( TSelf(ELJTextDropTarget) _obj, void* _func );
+void       ELJTextDropTarget_SetOnDragOver( TSelf(ELJTextDropTarget) _obj, void* _func );
+void       ELJTextDropTarget_SetOnDrop( TSelf(ELJTextDropTarget) _obj, void* _func );
+void       ELJTextDropTarget_SetOnEnter( TSelf(ELJTextDropTarget) _obj, void* _func );
+void       ELJTextDropTarget_SetOnLeave( TSelf(ELJTextDropTarget) _obj, void* _func );
+
+/* ELJTextValidator */
+TClassDefExtend(ELJTextValidator,wxTextValidator)
+TClass(ELJTextValidator) ELJTextValidator_Create( void* _obj, void* _fnc, TStringVoid _txt, int _stl );
+
+/* cbAntiflickerPlugin */
+TClassDefExtend(cbAntiflickerPlugin,cbPluginBase)
+TClass(cbAntiflickerPlugin) cbAntiflickerPlugin_Create( void* pPanel, int paneMask );
+TClass(cbAntiflickerPlugin) cbAntiflickerPlugin_CreateDefault(  );
+void       cbAntiflickerPlugin_Delete( TSelf(cbAntiflickerPlugin) _obj );
+
+/* cbBarDragPlugin */
+TClassDefExtend(cbBarDragPlugin,cbPluginBase)
+TClass(cbBarDragPlugin) cbBarDragPlugin_Create( void* pPanel, int paneMask );
+TClass(cbBarDragPlugin) cbBarDragPlugin_CreateDefault(  );
+void       cbBarDragPlugin_Delete( TSelf(cbBarDragPlugin) _obj );
+
+/* cbBarHintsPlugin */
+TClassDefExtend(cbBarHintsPlugin,cbPluginBase)
+TClass(cbBarHintsPlugin) cbBarHintsPlugin_Create( void* pPanel, int paneMask );
+TClass(cbBarHintsPlugin) cbBarHintsPlugin_CreateDefault(  );
+void       cbBarHintsPlugin_Delete( TSelf(cbBarHintsPlugin) _obj );
+void       cbBarHintsPlugin_SetGrooveCount( TSelf(cbBarHintsPlugin) _obj, int nGrooves );
+
+/* cbBarInfo */
+TClassDefExtend(cbBarInfo,wxObject)
+TClass(cbBarInfo) cbBarInfo_Create(  );
+void       cbBarInfo_Delete( TSelf(cbBarInfo) _obj );
+TBool      cbBarInfo_IsExpanded( TSelf(cbBarInfo) _obj );
+TBool      cbBarInfo_IsFixed( TSelf(cbBarInfo) _obj );
+
+/* cbBarSpy */
+TClassDefExtend(cbBarSpy,wxEvtHandler)
+TClass(cbBarSpy) cbBarSpy_Create( void* pPanel );
+TClass(cbBarSpy) cbBarSpy_CreateDefault(  );
+void       cbBarSpy_Delete( TSelf(cbBarSpy) _obj );
+int        cbBarSpy_ProcessEvent( TSelf(cbBarSpy) _obj, TClass(wxEvent) event );
+void       cbBarSpy_SetBarWindow( TSelf(cbBarSpy) _obj, void* pWnd );
+
+/* cbCloseBox */
+TClassDefExtend(cbCloseBox,cbMiniButton)
+TClass(cbCloseBox) cbCloseBox_Create(  );
+
+/* cbCollapseBox */
+TClassDefExtend(cbCollapseBox,cbMiniButton)
+TClass(cbCollapseBox) cbCollapseBox_Create(  );
+
+/* cbCommonPaneProperties */
+TClassDefExtend(cbCommonPaneProperties,wxObject)
+void       cbCommonPaneProperties_Assign( TSelf(cbCommonPaneProperties) _obj, void* _other );
+int        cbCommonPaneProperties_BarCollapseIconsOn( TSelf(cbCommonPaneProperties) _obj );
+int        cbCommonPaneProperties_BarDragHintsOn( TSelf(cbCommonPaneProperties) _obj );
+int        cbCommonPaneProperties_BarFloatingOn( TSelf(cbCommonPaneProperties) _obj );
+int        cbCommonPaneProperties_ColProportionsOn( TSelf(cbCommonPaneProperties) _obj );
+TClass(cbCommonPaneProperties) cbCommonPaneProperties_CreateDefault(  );
+void       cbCommonPaneProperties_Delete( TSelf(cbCommonPaneProperties) _obj );
+int        cbCommonPaneProperties_ExactDockPredictionOn( TSelf(cbCommonPaneProperties) _obj );
+void       cbCommonPaneProperties_MinCBarDim( TSelf(cbCommonPaneProperties) _obj, TSizeOutVoid(_w,_h) );
+int        cbCommonPaneProperties_NonDestructFrictionOn( TSelf(cbCommonPaneProperties) _obj );
+int        cbCommonPaneProperties_OutOfPaneDragOn( TSelf(cbCommonPaneProperties) _obj );
+int        cbCommonPaneProperties_RealTimeUpdatesOn( TSelf(cbCommonPaneProperties) _obj );
+int        cbCommonPaneProperties_ResizeHandleSize( TSelf(cbCommonPaneProperties) _obj );
+int        cbCommonPaneProperties_RowProportionsOn( TSelf(cbCommonPaneProperties) _obj );
+void       cbCommonPaneProperties_SetBarCollapseIconsOn( TSelf(cbCommonPaneProperties) _obj, int _val );
+void       cbCommonPaneProperties_SetBarDragHintsOn( TSelf(cbCommonPaneProperties) _obj, int _val );
+void       cbCommonPaneProperties_SetBarFloatingOn( TSelf(cbCommonPaneProperties) _obj, int _val );
+void       cbCommonPaneProperties_SetColProportionsOn( TSelf(cbCommonPaneProperties) _obj, int _val );
+void       cbCommonPaneProperties_SetExactDockPredictionOn( TSelf(cbCommonPaneProperties) _obj, int _val );
+void       cbCommonPaneProperties_SetMinCBarDim( TSelf(cbCommonPaneProperties) _obj, TSize(_w,_h) );
+void       cbCommonPaneProperties_SetNonDestructFrictionOn( TSelf(cbCommonPaneProperties) _obj, int _val );
+void       cbCommonPaneProperties_SetOutOfPaneDragOn( TSelf(cbCommonPaneProperties) _obj, int _val );
+void       cbCommonPaneProperties_SetRealTimeUpdatesOn( TSelf(cbCommonPaneProperties) _obj, int _val );
+void       cbCommonPaneProperties_SetResizeHandleSize( TSelf(cbCommonPaneProperties) _obj, int _val );
+void       cbCommonPaneProperties_SetRowProportionsOn( TSelf(cbCommonPaneProperties) _obj, int _val );
+void       cbCommonPaneProperties_SetShow3DPaneBorderOn( TSelf(cbCommonPaneProperties) _obj, int _val );
+int        cbCommonPaneProperties_Show3DPaneBorderOn( TSelf(cbCommonPaneProperties) _obj );
+
+/* cbCustomizeBarEvent */
+TClassDefExtend(cbCustomizeBarEvent,cbPluginEvent)
+void*      cbCustomizeBarEvent_Bar( TSelf(cbCustomizeBarEvent) _obj );
+void       cbCustomizeBarEvent_ClickPos( TSelf(cbCustomizeBarEvent) _obj, TPointOutVoid(_x,_y) );
+
+/* cbCustomizeLayoutEvent */
+TClassDefExtend(cbCustomizeLayoutEvent,cbPluginEvent)
+void       cbCustomizeLayoutEvent_ClickPos( TSelf(cbCustomizeLayoutEvent) _obj, TPointOutVoid(_x,_y) );
+
+/* cbDimHandlerBase */
+TClassDefExtend(cbDimHandlerBase,wxObject)
+
+/* cbDimInfo */
+TClassDefExtend(cbDimInfo,wxObject)
+void       cbDimInfo_Assign( TSelf(cbDimInfo) _obj, void* other );
+TClass(cbDimInfo) cbDimInfo_Create( TPoint(x,y), TBool isFixed, int gap, void* pDimHandler );
+TClass(cbDimInfo) cbDimInfo_CreateDefault(  );
+void*      cbDimInfo_CreateWithHandler( TSelf(cbDimInfo) pDimHandler, TBool isFixed );
+void*      cbDimInfo_CreateWithInfo( int dh_x, int dh_y, int dv_x, int dv_y, int f_x, int f_y, TBool isFixed, int horizGap, int vertGap, void* pDimHandler );
+void       cbDimInfo_Delete( TSelf(cbDimInfo) _obj );
+void*      cbDimInfo_GetDimHandler( TSelf(cbDimInfo) _obj );
+
+/* cbDockBox */
+TClassDefExtend(cbDockBox,cbMiniButton)
+TClass(cbDockBox) cbDockBox_Create(  );
+
+/* cbDockPane */
+TClassDefExtend(cbDockPane,wxObject)
+int        cbDockPane_BarPresent( TSelf(cbDockPane) _obj, void* pBar );
+TClass(cbDockPane) cbDockPane_Create( int alignment, void* pPanel );
+TClass(cbDockPane) cbDockPane_CreateDefault(  );
+void       cbDockPane_Delete( TSelf(cbDockPane) _obj );
+int        cbDockPane_GetAlignment( TSelf(cbDockPane) _obj );
+void*      cbDockPane_GetBarInfoByWindow( TSelf(cbDockPane) _obj, void* pBarWnd );
+void       cbDockPane_GetBarResizeRange( TSelf(cbDockPane) _obj, void* pBar, void* from, void* till, int forLeftHandle );
+int        cbDockPane_GetDockingState( TSelf(cbDockPane) _obj );
+void*      cbDockPane_GetFirstRow( TSelf(cbDockPane) _obj );
+int        cbDockPane_GetPaneHeight( TSelf(cbDockPane) _obj );
+void       cbDockPane_GetRealRect( TSelf(cbDockPane) _obj, TRectOutVoid(_x,_y,_w,_h) );
+int        cbDockPane_GetRowList( TSelf(cbDockPane) _obj, void* _ref );
+void       cbDockPane_GetRowResizeRange( TSelf(cbDockPane) _obj, void* pRow, void* from, void* till, int forUpperHandle );
+int        cbDockPane_HitTestPaneItems( TSelf(cbDockPane) _obj, TPoint(x,y), void* ppRow, void* ppBar );
+void       cbDockPane_InsertBarByCoord( TSelf(cbDockPane) _obj, void* pBar, TRect(x,y,w,h) );
+void       cbDockPane_InsertBarByInfo( TSelf(cbDockPane) _obj, void* pBarInfo );
+void       cbDockPane_InsertBarToRow( TSelf(cbDockPane) _obj, void* pBar, void* pIntoRow );
+void       cbDockPane_InsertRow( TSelf(cbDockPane) _obj, void* pRow, void* pBeforeRow );
+TBool      cbDockPane_IsHorizontal( TSelf(cbDockPane) _obj );
+int        cbDockPane_MatchesMask( TSelf(cbDockPane) _obj, int paneMask );
+void       cbDockPane_RemoveBar( TSelf(cbDockPane) _obj, void* pBar );
+void       cbDockPane_RemoveRow( TSelf(cbDockPane) _obj, void* pRow );
+void       cbDockPane_SetBoundsInParent( TSelf(cbDockPane) _obj, TRect(x,y,w,h));
+void       cbDockPane_SetMargins( TSelf(cbDockPane) _obj, int top, int bottom, int left, int right );
+void       cbDockPane_SetPaneWidth( TSelf(cbDockPane) _obj, int width );
+
+/* cbDrawBarDecorEvent */
+TClassDefExtend(cbDrawBarDecorEvent,cbPluginEvent)
+void*      cbDrawBarDecorEvent_Bar( TSelf(cbDrawBarDecorEvent) _obj );
+void       cbDrawBarDecorEvent_BoundsInParent( TSelf(cbDrawBarDecorEvent) _obj, TRectOutVoid(_x,_y,_w,_h) );
+void*      cbDrawBarDecorEvent_Dc( TSelf(cbDrawBarDecorEvent) _obj );
+
+/* cbDrawBarHandlesEvent */
+TClassDefExtend(cbDrawBarHandlesEvent,cbPluginEvent)
+void*      cbDrawBarHandlesEvent_Bar( TSelf(cbDrawBarHandlesEvent) _obj );
+void*      cbDrawBarHandlesEvent_Dc( TSelf(cbDrawBarHandlesEvent) _obj );
+
+/* cbDrawHintRectEvent */
+TClassDefExtend(cbDrawHintRectEvent,cbPluginEvent)
+int        cbDrawHintRectEvent_EraseRect( TSelf(cbDrawHintRectEvent) _obj );
+TBool      cbDrawHintRectEvent_IsInClient( TSelf(cbDrawHintRectEvent) _obj );
+int        cbDrawHintRectEvent_LastTime( TSelf(cbDrawHintRectEvent) _obj );
+void       cbDrawHintRectEvent_Rect( TSelf(cbDrawHintRectEvent) _obj, TRectOutVoid(_x,_y,_w,_h) );
+
+/* cbDrawPaneBkGroundEvent */
+TClassDefExtend(cbDrawPaneBkGroundEvent,cbPluginEvent)
+void*      cbDrawPaneBkGroundEvent_Dc( TSelf(cbDrawPaneBkGroundEvent) _obj );
+
+/* cbDrawPaneDecorEvent */
+TClassDefExtend(cbDrawPaneDecorEvent,cbPluginEvent)
+void*      cbDrawPaneDecorEvent_Dc( TSelf(cbDrawPaneDecorEvent) _obj );
+
+/* cbDrawRowBkGroundEvent */
+TClassDefExtend(cbDrawRowBkGroundEvent,cbPluginEvent)
+void*      cbDrawRowBkGroundEvent_Dc( TSelf(cbDrawRowBkGroundEvent) _obj );
+void*      cbDrawRowBkGroundEvent_Row( TSelf(cbDrawRowBkGroundEvent) _obj );
+
+/* cbDrawRowDecorEvent */
+TClassDefExtend(cbDrawRowDecorEvent,cbPluginEvent)
+void*      cbDrawRowDecorEvent_Dc( TSelf(cbDrawRowDecorEvent) _obj );
+void*      cbDrawRowDecorEvent_Row( TSelf(cbDrawRowDecorEvent) _obj );
+
+/* cbDrawRowHandlesEvent */
+TClassDefExtend(cbDrawRowHandlesEvent,cbPluginEvent)
+void*      cbDrawRowHandlesEvent_Dc( TSelf(cbDrawRowHandlesEvent) _obj );
+void*      cbDrawRowHandlesEvent_Row( TSelf(cbDrawRowHandlesEvent) _obj );
+
+/* cbDynToolBarDimHandler */
+TClassDefExtend(cbDynToolBarDimHandler,cbDimHandlerBase)
+TClass(cbDynToolBarDimHandler) cbDynToolBarDimHandler_Create(  );
+void       cbDynToolBarDimHandler_Delete( TSelf(cbDynToolBarDimHandler) _obj );
+
+/* cbFinishDrawInAreaEvent */
+TClassDefExtend(cbFinishDrawInAreaEvent,cbPluginEvent)
+void       cbFinishDrawInAreaEvent_Area( TSelf(cbFinishDrawInAreaEvent) _obj, TRectOutVoid(_x,_y,_w,_h) );
+
+/* cbFloatedBarWindow */
+TClassDefExtend(cbFloatedBarWindow,wxToolWindow)
+TClass(cbFloatedBarWindow) cbFloatedBarWindow_Create( void* _obj );
+void*      cbFloatedBarWindow_GetBar( TSelf(cbFloatedBarWindow) _obj );
+void       cbFloatedBarWindow_PositionFloatedWnd( TSelf(cbFloatedBarWindow) _obj, TRect(_x,_y,_w,_h) );
+void       cbFloatedBarWindow_SetBar( TSelf(cbFloatedBarWindow) _obj, void* _bar );
+void       cbFloatedBarWindow_SetLayout( TSelf(cbFloatedBarWindow) _obj, void* _layout );
+
+/* cbGCUpdatesMgr */
+TClassDefExtend(cbGCUpdatesMgr,cbSimpleUpdatesMgr)
+TClass(cbGCUpdatesMgr) cbGCUpdatesMgr_Create( void* pPanel );
+TClass(cbGCUpdatesMgr) cbGCUpdatesMgr_CreateDefault(  );
+void       cbGCUpdatesMgr_Delete( TSelf(cbGCUpdatesMgr) _obj );
+void       cbGCUpdatesMgr_UpdateNow( TSelf(cbGCUpdatesMgr) _obj );
+
+/* cbHintAnimationPlugin */
+TClassDefExtend(cbHintAnimationPlugin,cbPluginBase)
+TClass(cbHintAnimationPlugin) cbHintAnimationPlugin_Create( void* pPanel, int paneMask );
+TClass(cbHintAnimationPlugin) cbHintAnimationPlugin_CreateDefault(  );
+void       cbHintAnimationPlugin_Delete( TSelf(cbHintAnimationPlugin) _obj );
+
+/* cbInsertBarEvent */
+TClassDefExtend(cbInsertBarEvent,cbPluginEvent)
+void*      cbInsertBarEvent_Bar( TSelf(cbInsertBarEvent) _obj );
+void*      cbInsertBarEvent_Row( TSelf(cbInsertBarEvent) _obj );
+
+/* cbLayoutRowEvent */
+TClassDefExtend(cbLayoutRowEvent,cbPluginEvent)
+void*      cbLayoutRowEvent_Row( TSelf(cbLayoutRowEvent) _obj );
+
+/* cbLeftDClickEvent */
+TClassDefExtend(cbLeftDClickEvent,cbPluginEvent)
+void       cbLeftDClickEvent_Pos( TSelf(cbLeftDClickEvent) _obj, TPointOutVoid(_x,_y) );
+
+/* cbLeftDownEvent */
+TClassDefExtend(cbLeftDownEvent,cbPluginEvent)
+void       cbLeftDownEvent_Pos( TSelf(cbLeftDownEvent) _obj, TPointOutVoid(_x,_y) );
+
+/* cbLeftUpEvent */
+TClassDefExtend(cbLeftUpEvent,cbPluginEvent)
+void       cbLeftUpEvent_Pos( TSelf(cbLeftUpEvent) _obj, TPointOutVoid(_x,_y) );
+
+/* cbMiniButton */
+TClassDefExtend(cbMiniButton,wxObject)
+TClass(cbMiniButton) cbMiniButton_Create(  );
+void       cbMiniButton_Delete( TSelf(cbMiniButton) _obj );
+void       cbMiniButton_Dim( TSelf(cbMiniButton) _obj, TSizeOutVoid(_w,_h) );
+int        cbMiniButton_DragStarted( TSelf(cbMiniButton) _obj );
+void       cbMiniButton_Enable( TSelf(cbMiniButton) _obj, TBool enable );
+int        cbMiniButton_Enabled( TSelf(cbMiniButton) _obj );
+int        cbMiniButton_HitTest( TSelf(cbMiniButton) _obj, TPoint(x,y) );
+TBool      cbMiniButton_IsPressed( TSelf(cbMiniButton) _obj );
+void*      cbMiniButton_Layout( TSelf(cbMiniButton) _obj );
+void*      cbMiniButton_Pane( TSelf(cbMiniButton) _obj );
+void*      cbMiniButton_Plugin( TSelf(cbMiniButton) _obj );
+void       cbMiniButton_Pos( TSelf(cbMiniButton) _obj, TPointOutVoid(_x,_y) );
+int        cbMiniButton_Pressed( TSelf(cbMiniButton) _obj );
+void       cbMiniButton_Refresh( TSelf(cbMiniButton) _obj );
+void       cbMiniButton_Reset( TSelf(cbMiniButton) _obj );
+void       cbMiniButton_SetPos( TSelf(cbMiniButton) _obj, TPoint(x,y) );
+int        cbMiniButton_Visible( TSelf(cbMiniButton) _obj );
+int        cbMiniButton_WasClicked( TSelf(cbMiniButton) _obj );
+void*      cbMiniButton_Wnd( TSelf(cbMiniButton) _obj );
+
+/* cbMotionEvent */
+TClassDefExtend(cbMotionEvent,cbPluginEvent)
+void       cbMotionEvent_Pos( TSelf(cbMotionEvent) _obj, TPointOutVoid(_x,_y) );
+
+/* cbPaneDrawPlugin */
+TClassDefExtend(cbPaneDrawPlugin,cbPluginBase)
+TClass(cbPaneDrawPlugin) cbPaneDrawPlugin_Create( void* pPanel, int paneMask );
+TClass(cbPaneDrawPlugin) cbPaneDrawPlugin_CreateDefault(  );
+void       cbPaneDrawPlugin_Delete( TSelf(cbPaneDrawPlugin) _obj );
+
+/* cbPluginBase */
+TClassDefExtend(cbPluginBase,wxEvtHandler)
+void       cbPluginBase_Delete( TSelf(cbPluginBase) _obj );
+int        cbPluginBase_GetPaneMask( TSelf(cbPluginBase) _obj );
+TBool      cbPluginBase_IsReady( TSelf(cbPluginBase) _obj );
+void*      cbPluginBase_Plugin( int _swt );
+int        cbPluginBase_ProcessEvent( TSelf(cbPluginBase) _obj, TClass(wxEvent) event );
+
+/* cbPluginEvent */
+TClassDefExtend(cbPluginEvent,wxEvent)
+void*      cbPluginEvent_Pane( TSelf(cbPluginEvent) _obj );
+
+/* cbRemoveBarEvent */
+TClassDefExtend(cbRemoveBarEvent,cbPluginEvent)
+void*      cbRemoveBarEvent_Bar( TSelf(cbRemoveBarEvent) _obj );
+
+/* cbResizeBarEvent */
+TClassDefExtend(cbResizeBarEvent,cbPluginEvent)
+void*      cbResizeBarEvent_Bar( TSelf(cbResizeBarEvent) _obj );
+void*      cbResizeBarEvent_Row( TSelf(cbResizeBarEvent) _obj );
+
+/* cbResizeRowEvent */
+TClassDefExtend(cbResizeRowEvent,cbPluginEvent)
+int        cbResizeRowEvent_ForUpperHandle( TSelf(cbResizeRowEvent) _obj );
+int        cbResizeRowEvent_HandleOfs( TSelf(cbResizeRowEvent) _obj );
+void*      cbResizeRowEvent_Row( TSelf(cbResizeRowEvent) _obj );
+
+/* cbRightDownEvent */
+TClassDefExtend(cbRightDownEvent,cbPluginEvent)
+void       cbRightDownEvent_Pos( TSelf(cbRightDownEvent) _obj, TPointOutVoid(_x,_y) );
+
+/* cbRightUpEvent */
+TClassDefExtend(cbRightUpEvent,cbPluginEvent)
+void       cbRightUpEvent_Pos( TSelf(cbRightUpEvent) _obj, TPointOutVoid(_x,_y) );
+
+/* cbRowDragPlugin */
+TClassDefExtend(cbRowDragPlugin,cbPluginBase)
+TClass(cbRowDragPlugin) cbRowDragPlugin_Create( void* pPanel, int paneMask );
+TClass(cbRowDragPlugin) cbRowDragPlugin_CreateDefault(  );
+void       cbRowDragPlugin_Delete( TSelf(cbRowDragPlugin) _obj );
+
+/* cbRowInfo */
+TClassDefExtend(cbRowInfo,wxObject)
+TClass(cbRowInfo) cbRowInfo_Create(  );
+void       cbRowInfo_Delete( TSelf(cbRowInfo) _obj );
+void*      cbRowInfo_GetFirstBar( TSelf(cbRowInfo) _obj );
+
+/* cbRowLayoutPlugin */
+TClassDefExtend(cbRowLayoutPlugin,cbPluginBase)
+TClass(cbRowLayoutPlugin) cbRowLayoutPlugin_Create( void* pPanel, int paneMask );
+TClass(cbRowLayoutPlugin) cbRowLayoutPlugin_CreateDefault(  );
+void       cbRowLayoutPlugin_Delete( TSelf(cbRowLayoutPlugin) _obj );
+
+/* cbSimpleCustomizationPlugin */
+TClassDefExtend(cbSimpleCustomizationPlugin,cbPluginBase)
+TClass(cbSimpleCustomizationPlugin) cbSimpleCustomizationPlugin_Create( void* pPanel, int paneMask );
+TClass(cbSimpleCustomizationPlugin) cbSimpleCustomizationPlugin_CreateDefault(  );
+void       cbSimpleCustomizationPlugin_Delete( TSelf(cbSimpleCustomizationPlugin) _obj );
+
+/* cbSimpleUpdatesMgr */
+TClassDefExtend(cbSimpleUpdatesMgr,cbUpdatesManagerBase)
+
+/* cbSizeBarWndEvent */
+TClassDefExtend(cbSizeBarWndEvent,cbPluginEvent)
+void*      cbSizeBarWndEvent_Bar( TSelf(cbSizeBarWndEvent) _obj );
+void       cbSizeBarWndEvent_BoundsInParent( TSelf(cbSizeBarWndEvent) _obj, TRectOutVoid(_x,_y,_w,_h) );
+
+/* cbStartBarDraggingEvent */
+TClassDefExtend(cbStartBarDraggingEvent,cbPluginEvent)
+void*      cbStartBarDraggingEvent_Bar( TSelf(cbStartBarDraggingEvent) _obj );
+void       cbStartBarDraggingEvent_Pos( TSelf(cbStartBarDraggingEvent) _obj, TPointOutVoid(_x,_y) );
+
+/* cbStartDrawInAreaEvent */
+TClassDefExtend(cbStartDrawInAreaEvent,cbPluginEvent)
+void       cbStartDrawInAreaEvent_Area( TSelf(cbStartDrawInAreaEvent) _obj, TRectOutVoid(_x,_y,_w,_h) );
+
+/* cbUpdatesManagerBase */
+TClassDefExtend(cbUpdatesManagerBase,wxObject)
+
+/* wxAcceleratorEntry */
+TClassDef(wxAcceleratorEntry)
+TClass(wxAcceleratorEntry) wxAcceleratorEntry_Create( int flags, int keyCode, int cmd );
+void       wxAcceleratorEntry_Delete( TSelf(wxAcceleratorEntry) _obj );
+int        wxAcceleratorEntry_GetCommand( TSelf(wxAcceleratorEntry) _obj );
+int        wxAcceleratorEntry_GetFlags( TSelf(wxAcceleratorEntry) _obj );
+int        wxAcceleratorEntry_GetKeyCode( TSelf(wxAcceleratorEntry) _obj );
+void       wxAcceleratorEntry_Set( TSelf(wxAcceleratorEntry) _obj, int flags, int keyCode, int cmd );
+
+/* wxAcceleratorTable */
+TClassDef(wxAcceleratorTable)
+TClass(wxAcceleratorTable) wxAcceleratorTable_Create( int n, void* entries );
+void       wxAcceleratorTable_Delete( TSelf(wxAcceleratorTable) _obj );
+
+/* wxctivateEvent */
+TClassDefExtend(wxActivateEvent,wxEvent)
+void       wxActivateEvent_CopyObject( TSelf(wxActivateEvent) _obj, void* obj );
+TBool      wxActivateEvent_GetActive( TSelf(wxActivateEvent) _obj );
+
+/* wxApp */
+TClassDefExtend(wxApp,wxEvtHandler)
+
+/* wxArray */
+TClassDef(wxArray)
+
+/* wxArrayString */
+TClassDefExtend(wxArrayString,wxArray)
+
+/* wxArtProvider */
+TClassDefExtend(wxArtProvider,wxObject)
+TBool      PopProvider(  );
+void       PushProvider( TClass(wxArtProvider) provider );
+TBool      RemoveProvider( TClass(wxArtProvider) provider );
+
+/* wxAutoBufferedPaintDC */
+TClassDefExtend(wxAutoBufferedPaintDC,wxDC)
+TClass(wxAutoBufferedPaintDC) wxAutoBufferedPaintDC_Create( TClass(wxWindow) window );
+void       wxAutoBufferedPaintDC_Delete( TSelf(wxAutoBufferedPaintDC) self );
+
+/* wxAutomationObject */
+TClassDefExtend(wxAutomationObject,wxObject)
+
+/* wxBitmap */
+TClassDefExtend(wxBitmap,wxGDIObject)
+void       wxBitmap_AddHandler( TClass(wxEvtHandler) handler );
+void       wxBitmap_CleanUpHandlers(  );
+TClass(wxBitmap) wxBitmap_Create( void* _data, int _type, TSize(_width,_height), int _depth );
+TClass(wxBitmap) wxBitmap_CreateDefault(  );
+TClass(wxBitmap) wxBitmap_CreateEmpty( TSize(_width,_height), int _depth );
+TClass(wxBitmap) wxBitmap_CreateFromXPM( TSelf(wxBitmap) data );
+TClass(wxBitmap) wxBitmap_CreateLoad( TClass(wxString) name, int type );
+void       wxBitmap_Delete( TSelf(wxBitmap) _obj );
+void*      wxBitmap_FindHandlerByExtension( TSelf(wxBitmap) extension, int type );
+void*      wxBitmap_FindHandlerByName( TClass(wxString) name );
+void*      wxBitmap_FindHandlerByType( int type );
+int        wxBitmap_GetDepth( TSelf(wxBitmap) _obj );
+int        wxBitmap_GetHeight( TSelf(wxBitmap) _obj );
+TClass(wxMask) wxBitmap_GetMask( TSelf(wxBitmap) _obj );
+void       wxBitmap_GetSubBitmap( TSelf(wxBitmap) _obj, TRect(x,y,w,h), TClassRef(wxBitmap) _ref );
+int        wxBitmap_GetWidth( TSelf(wxBitmap) _obj );
+void       wxBitmap_InitStandardHandlers(  );
+void       wxBitmap_InsertHandler( TClass(wxEvtHandler) handler );
+int        wxBitmap_LoadFile( TSelf(wxBitmap) _obj, TClass(wxString) name, int type );
+TBool      wxBitmap_IsOk( TSelf(wxBitmap) _obj );
+TBool      wxBitmap_RemoveHandler( TClass(wxString) name );
+int        wxBitmap_SaveFile( TSelf(wxBitmap) _obj, TClass(wxString) name, int type, TClass(wxPalette) cmap );
+void       wxBitmap_SetDepth( TSelf(wxBitmap) _obj, int d );
+void       wxBitmap_SetHeight( TSelf(wxBitmap) _obj, int h );
+void       wxBitmap_SetMask( TSelf(wxBitmap) _obj, TClass(wxMask) mask );
+void       wxBitmap_SetWidth( TSelf(wxBitmap) _obj, int w );
+
+/* wxBitmapButton */
+TClassDefExtend(wxBitmapButton,wxButton)
+TClass(wxBitmapButton) wxBitmapButton_Create( TClass(wxWindow) _prt, int _id, TClass(wxBitmap) _bmp, TRect(_lft,_top,_wdt,_hgt), int _stl );
+void       wxBitmapButton_GetBitmapDisabled( TSelf(wxBitmapButton) _obj, TClassRef(wxBitmap) _ref );
+void       wxBitmapButton_GetBitmapFocus( TSelf(wxBitmapButton) _obj, TClassRef(wxBitmap) _ref );
+void       wxBitmapButton_GetBitmapLabel( TSelf(wxBitmapButton) _obj, TClassRef(wxBitmap) _ref );
+void       wxBitmapButton_GetBitmapSelected( TSelf(wxBitmapButton) _obj, TClassRef(wxBitmap) _ref );
+int        wxBitmapButton_GetMarginX( TSelf(wxBitmapButton) _obj );
+int        wxBitmapButton_GetMarginY( TSelf(wxBitmapButton) _obj );
+void       wxBitmapButton_SetBitmapDisabled( TSelf(wxBitmapButton) _obj, TClass(wxBitmap) disabled );
+void       wxBitmapButton_SetBitmapFocus( TSelf(wxBitmapButton) _obj, TClass(wxBitmap) focus );
+void       wxBitmapButton_SetBitmapLabel( TSelf(wxBitmapButton) _obj, TClass(wxBitmap) bitmap );
+void       wxBitmapButton_SetBitmapSelected( TSelf(wxBitmapButton) _obj, TClass(wxBitmap) sel );
+void       wxBitmapButton_SetMargins( TSelf(wxBitmapButton) _obj, TPoint(x,y) );
+
+/* wxBitmapDataObject */
+TClassDefExtend(wxBitmapDataObject,wxDataObjectSimple)
+TClass(wxBitmapDataObject) BitmapDataObject_Create( TClass(wxBitmap) _bmp );
+TClass(wxBitmapDataObject) BitmapDataObject_CreateEmpty(  );
+void       BitmapDataObject_Delete( TSelf(wxBitmapDataObject) _obj );
+void       BitmapDataObject_GetBitmap( TSelf(wxBitmapDataObject) _obj, TClassRef(wxBitmap) _bmp );
+void       BitmapDataObject_SetBitmap( TSelf(wxBitmapDataObject) _obj, TClass(wxBitmap) _bmp );
+
+/* wxBitmapHandler */
+TClassDefExtend(wxBitmapHandler,wxObject)
+
+/* wxBoxSizer */
+TClassDefExtend(wxBoxSizer,wxSizer)
+void       wxBoxSizer_CalcMin( TSelf(wxBoxSizer) _obj, TSizeOutVoid(_w,_h) );
+TClass(wxBoxSizer) wxBoxSizer_Create( int orient );
+int        wxBoxSizer_GetOrientation( TSelf(wxBoxSizer) _obj );
+void       wxBoxSizer_RecalcSizes( TSelf(wxBoxSizer) _obj );
+
+/* wxBrush */
+TClassDefExtend(wxBrush,wxGDIObject)
+void       wxBrush_Assign( TSelf(wxBrush) _obj, TClass(wxBrush) brush );
+TClass(wxBrush) wxBrush_CreateDefault(  );
+TClass(wxBrush) wxBrush_CreateFromBitmap( TClass(wxBitmap) bitmap );
+TClass(wxBrush) wxBrush_CreateFromColour( TClass(wxColour) col, int style );
+TClass(wxBrush) wxBrush_CreateFromStock( int id );
+void       wxBrush_Delete( TSelf(wxBrush) _obj );
+void       wxBrush_GetColour( TSelf(wxBrush) _obj, TClassRef(wxColour) _ref );
+void       wxBrush_GetStipple( TSelf(wxBrush) _obj, TClassRef(wxBitmap) _ref );
+int        wxBrush_GetStyle( TSelf(wxBrush) _obj );
+TBool      wxBrush_IsEqual( TSelf(wxBrush) _obj, TClass(wxBrush) brush );
+TBool      wxBrush_IsOk( TSelf(wxBrush) _obj );
+void       wxBrush_SetColour( TSelf(wxBrush) _obj, TClass(wxColour) col );
+void       wxBrush_SetColourSingle( TSelf(wxBrush) _obj, TChar r, TChar g, TChar b );
+void       wxBrush_SetStipple( TSelf(wxBrush) _obj, TClass(wxBitmap) stipple );
+void       wxBrush_SetStyle( TSelf(wxBrush) _obj, int style );
+
+/* wxBrushList */
+TClassDefExtend(wxBrushList,wxList)
+
+/* wxBufferedDC */
+TClassDefExtend(wxBufferedDC,wxDC)
+TClass(wxBufferedDC) wxBufferedDC_CreateByDCAndSize( TClass(wxDC) dc, TSize(width, hight), int style );
+TClass(wxBufferedDC) wxBufferedDC_CreateByDCAndBitmap( TClass(wxDC) dc, TClass(wxBitmap) bitmap, int style );
+void       wxBufferedDC_Delete( TSelf(wxBufferedDC) self );
+
+/* wxBufferedPaintDC */
+TClassDefExtend(wxBufferedPaintDC,wxDC)
+TClass(wxBufferedPaintDC) wxBufferedPaintDC_Create( TClass(wxWindow) window, int style );
+TClass(wxBufferedPaintDC) wxBufferedPaintDC_CreateWithBitmap( TClass(wxWindow) window, TClass(wxBitmap) bitmap, int style );
+void       wxBufferedPaintDC_Delete( TSelf(wxBufferedPaintDC) self );
+
+/* wxBufferedInputStream */
+TClassDefExtend(wxBufferedInputStream,wxFilterInputStream)
+
+/* wxBufferedOutputStream */
+TClassDefExtend(wxBufferedOutputStream,wxFilterOutputStream)
+
+/* wxBusyCursor */
+TClassDef(wxBusyCursor)
+TClass(wxBusyCursor) wxBusyCursor_Create(  );
+void*      wxBusyCursor_CreateWithCursor( TSelf(wxBusyCursor) _cur );
+void       wxBusyCursor_Delete( TSelf(wxBusyCursor) _obj );
+
+/* wxBusyInfo */
+TClassDef(wxBusyInfo)
+TClass(wxBusyInfo) wxBusyInfo_Create( TClass(wxString) _txt );
+void       wxBusyInfo_Delete( TSelf(wxBusyInfo) _obj );
+
+/* wxButton */
+TClassDefExtend(wxButton,wxControl)
+TClass(wxButton) wxButton_Create( TClass(wxWindow) _prt, int _id, TClass(wxString) _txt, TRect(_lft,_top,_wdt,_hgt), int _stl );
+int        wxButton_SetBackgroundColour( TSelf(wxButton) _obj, TClass(wxColour) colour );
+void       wxButton_SetDefault( TSelf(wxButton) _obj );
+
+/* wxCSConv */
+TClassDefExtend(wxCSConv,wxMBConv)
+
+/* wxCalculateLayoutEvent */
+TClassDefExtend(wxCalculateLayoutEvent,wxEvent)
+TClass(wxCalculateLayoutEvent) wxCalculateLayoutEvent_Create( int id );
+int        wxCalculateLayoutEvent_GetFlags( TSelf(wxCalculateLayoutEvent) _obj );
+void       wxCalculateLayoutEvent_GetRect( TSelf(wxCalculateLayoutEvent) _obj, TRectOutVoid(_x,_y,_w,_h) );
+void       wxCalculateLayoutEvent_SetFlags( TSelf(wxCalculateLayoutEvent) _obj, int flags );
+void       wxCalculateLayoutEvent_SetRect( TSelf(wxCalculateLayoutEvent) _obj, TRect(x,y,w,h) );
+
+/* wxCalendarCtrl */
+TClassDefExtend(wxCalendarCtrl,wxControl)
+TClass(wxCalendarCtrl) wxCalendarCtrl_Create( TClass(wxWindow) _prt, int _id, TClass(wxDateTime) _dat, TRect(_lft,_top,_wdt,_hgt), int _stl );
+void       wxCalendarCtrl_EnableHolidayDisplay( TSelf(wxCalendarCtrl) _obj, int display );
+void       wxCalendarCtrl_EnableMonthChange( TSelf(wxCalendarCtrl) _obj, TBool enable );
+void       wxCalendarCtrl_EnableYearChange( TSelf(wxCalendarCtrl) _obj, TBool enable );
+void*      wxCalendarCtrl_GetAttr( TSelf(wxCalendarCtrl) _obj, int day );
+void       wxCalendarCtrl_GetDate( TSelf(wxCalendarCtrl) _obj, void* date );
+void       wxCalendarCtrl_GetHeaderColourBg( TSelf(wxCalendarCtrl) _obj, TClassRef(wxColour) _ref );
+void       wxCalendarCtrl_GetHeaderColourFg( TSelf(wxCalendarCtrl) _obj, TClassRef(wxColour) _ref );
+void       wxCalendarCtrl_GetHighlightColourBg( TSelf(wxCalendarCtrl) _obj, TClassRef(wxColour) _ref );
+void       wxCalendarCtrl_GetHighlightColourFg( TSelf(wxCalendarCtrl) _obj, TClassRef(wxColour) _ref );
+void       wxCalendarCtrl_GetHolidayColourBg( TSelf(wxCalendarCtrl) _obj, TClassRef(wxColour) _ref );
+void       wxCalendarCtrl_GetHolidayColourFg( TSelf(wxCalendarCtrl) _obj, TClassRef(wxColour) _ref );
+int        wxCalendarCtrl_HitTest( TSelf(wxCalendarCtrl) _obj, TPoint(x,y), void* date, void* wd );
+void       wxCalendarCtrl_ResetAttr( TSelf(wxCalendarCtrl) _obj, int day );
+void       wxCalendarCtrl_SetAttr( TSelf(wxCalendarCtrl) _obj, int day, void* attr );
+void       wxCalendarCtrl_SetDate( TSelf(wxCalendarCtrl) _obj, void* date );
+void       wxCalendarCtrl_SetHeaderColours( TSelf(wxCalendarCtrl) _obj, void* colFg, void* colBg );
+void       wxCalendarCtrl_SetHighlightColours( TSelf(wxCalendarCtrl) _obj, void* colFg, void* colBg );
+void       wxCalendarCtrl_SetHoliday( TSelf(wxCalendarCtrl) _obj, int day );
+void       wxCalendarCtrl_SetHolidayColours( TSelf(wxCalendarCtrl) _obj, void* colFg, void* colBg );
+
+/* wxCalendarDateAttr */
+TClassDef(wxCalendarDateAttr)
+TClass(wxCalendarDateAttr) wxCalendarDateAttr_Create( void* _ctxt, void* _cbck, void* _cbrd, void* _fnt, int _brd );
+TClass(wxCalendarDateAttr) wxCalendarDateAttr_CreateDefault(  );
+void       wxCalendarDateAttr_Delete( TSelf(wxCalendarDateAttr) _obj );
+void       wxCalendarDateAttr_GetBackgroundColour( TSelf(wxCalendarDateAttr) _obj, TClassRef(wxColour) _ref );
+int        wxCalendarDateAttr_GetBorder( TSelf(wxCalendarDateAttr) _obj );
+void       wxCalendarDateAttr_GetBorderColour( TSelf(wxCalendarDateAttr) _obj, TClassRef(wxColour) _ref );
+void       wxCalendarDateAttr_GetFont( TSelf(wxCalendarDateAttr) _obj, TClassRef(wxFont) _ref );
+void       wxCalendarDateAttr_GetTextColour( TSelf(wxCalendarDateAttr) _obj, TClassRef(wxColour) _ref );
+TBool      wxCalendarDateAttr_HasBackgroundColour( TSelf(wxCalendarDateAttr) _obj );
+TBool      wxCalendarDateAttr_HasBorder( TSelf(wxCalendarDateAttr) _obj );
+TBool      wxCalendarDateAttr_HasBorderColour( TSelf(wxCalendarDateAttr) _obj );
+TBool      wxCalendarDateAttr_HasFont( TSelf(wxCalendarDateAttr) _obj );
+TBool      wxCalendarDateAttr_HasTextColour( TSelf(wxCalendarDateAttr) _obj );
+TBool      wxCalendarDateAttr_IsHoliday( TSelf(wxCalendarDateAttr) _obj );
+void       wxCalendarDateAttr_SetBackgroundColour( TSelf(wxCalendarDateAttr) _obj, TClass(wxColour) col );
+void       wxCalendarDateAttr_SetBorder( TSelf(wxCalendarDateAttr) _obj, int border );
+void       wxCalendarDateAttr_SetBorderColour( TSelf(wxCalendarDateAttr) _obj, TClass(wxColour) col );
+void       wxCalendarDateAttr_SetFont( TSelf(wxCalendarDateAttr) _obj, TClass(wxFont) font );
+void       wxCalendarDateAttr_SetHoliday( TSelf(wxCalendarDateAttr) _obj, int holiday );
+void       wxCalendarDateAttr_SetTextColour( TSelf(wxCalendarDateAttr) _obj, TClass(wxColour) col );
+
+/* wxCalendarEvent */
+TClassDefExtend(wxCalendarEvent,wxCommandEvent)
+void       wxCalendarEvent_GetDate( TSelf(wxCalendarEvent) _obj, void* _dte );
+int        wxCalendarEvent_GetWeekDay( TSelf(wxCalendarEvent) _obj );
+
+/* wxCaret */
+TClassDef(wxCaret)
+TClass(wxCaret) wxCaret_Create( TClass(wxWindow) _wnd, int _wth, int _hgt );
+int        wxCaret_GetBlinkTime(  );
+void       wxCaret_GetPosition( TSelf(wxCaret) _obj, TPointOutVoid(_x,_y) );
+void       wxCaret_GetSize( TSelf(wxCaret) _obj, TSizeOutVoid(_w,_h) );
+TClass(wxWindow) wxCaret_GetWindow( TSelf(wxCaret) _obj );
+void       wxCaret_Hide( TSelf(wxCaret) _obj );
+TBool      wxCaret_IsOk( TSelf(wxCaret) _obj );
+TBool      wxCaret_IsVisible( TSelf(wxCaret) _obj );
+void       wxCaret_Move( TSelf(wxCaret) _obj, TPoint(x,y) );
+void       wxCaret_SetBlinkTime( int milliseconds );
+void       wxCaret_SetSize( TSelf(wxCaret) _obj, TSize(width,height) );
+void       wxCaret_Show( TSelf(wxCaret) _obj );
+
+/* wxCheckBox */
+TClassDefExtend(wxCheckBox,wxControl)
+TClass(wxCheckBox) wxCheckBox_Create( TClass(wxWindow) _prt, int _id, TClass(wxString) _txt, TRect(_lft,_top,_wdt,_hgt), int _stl );
+void       wxCheckBox_Delete( TSelf(wxCheckBox) _obj );
+TBool      wxCheckBox_GetValue( TSelf(wxCheckBox) _obj );
+void       wxCheckBox_SetValue( TSelf(wxCheckBox) _obj, TBoolInt value );
+
+/* wxCheckListBox */
+TClassDefExtend(wxCheckListBox,wxListBox)
+void       wxCheckListBox_Check( TSelf(wxCheckListBox) _obj, int item, TBool check );
+TClass(wxCheckListBox) wxCheckListBox_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), TArrayString(n,str), int _stl );
+void       wxCheckListBox_Delete( TSelf(wxCheckListBox) _obj );
+TBool      wxCheckListBox_IsChecked( TSelf(wxCheckListBox) _obj, int item );
+
+/* wxChoice */
+TClassDefExtend(wxChoice,wxControl)
+void       wxChoice_Append( TSelf(wxChoice) _obj, TClass(wxString) item );
+void       wxChoice_Clear( TSelf(wxChoice) _obj );
+TClass(wxChoice) wxChoice_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), TArrayString(n,str), int _stl );
+void       wxChoice_Delete( TSelf(wxChoice) _obj, int n );
+int        wxChoice_FindString( TSelf(wxChoice) _obj, TClass(wxString) s );
+int        wxChoice_GetCount( TSelf(wxChoice) _obj );
+int        wxChoice_GetSelection( TSelf(wxChoice) _obj );
+TClass(wxString) wxChoice_GetString( TSelf(wxChoice) _obj, int n );
+void       wxChoice_SetSelection( TSelf(wxChoice) _obj, int n );
+void       wxChoice_SetString( TSelf(wxChoice) _obj, int n, TClass(wxString) s );
+
+/* wxClassInfo */
+TClassDef(wxClassInfo)
+void*      wxClassInfo_CreateClassByName( TSelf(wxClassInfo) _inf );
+void*      wxClassInfo_GetClassName( TSelf(wxClassInfo) _inf );
+TBool      wxClassInfo_IsKindOf( TSelf(wxClassInfo) _obj, TClass(wxString) _name );
+
+/* wxClient */
+TClassDefExtend(wxClient,wxClientBase)
+
+/* wxClientBase */
+TClassDefExtend(wxClientBase,wxObject)
+
+/* wxClientDC */
+TClassDefExtend(wxClientDC,wxWindowDC)
+TClass(wxClientDC) wxClientDC_Create( TClass(wxWindow) win );
+void       wxClientDC_Delete( TSelf(wxClientDC) _obj );
+
+/* wxClientData */
+TClassDef(wxClientData)
+
+/* wxClientDataContainer */
+TClassDef(wxClientDataContainer)
+
+/* wxClipboard */
+TClassDefExtend(wxClipboard,wxObject)
+TBool      wxClipboard_AddData( TSelf(wxClipboard) _obj, TClass(wxDataObject) data );
+void       wxClipboard_Clear( TSelf(wxClipboard) _obj );
+void       wxClipboard_Close( TSelf(wxClipboard) _obj );
+TClass(wxClipboard) wxClipboard_Create(  );
+TBool      wxClipboard_Flush( TSelf(wxClipboard) _obj );
+TBool      wxClipboard_GetData( TSelf(wxClipboard) _obj, TClass(wxDataObject) data );
+TBool      wxClipboard_IsOpened( TSelf(wxClipboard) _obj );
+TBool      wxClipboard_IsSupported( TSelf(wxClipboard) _obj, TClass(wxDataFormat) format );
+TBool      wxClipboard_Open( TSelf(wxClipboard) _obj );
+TBool      wxClipboard_SetData( TSelf(wxClipboard) _obj, TClass(wxDataObject) data );
+void       wxClipboard_UsePrimarySelection( TSelf(wxClipboard) _obj, TBool primary );
+
+/* wxCloseEvent */
+TClassDefExtend(wxCloseEvent,wxEvent)
+TBool      wxCloseEvent_CanVeto( TSelf(wxCloseEvent) _obj );
+void       wxCloseEvent_CopyObject( TSelf(wxCloseEvent) _obj, TClass(wxObject) obj );
+TBool      wxCloseEvent_GetLoggingOff( TSelf(wxCloseEvent) _obj );
+TBool      wxCloseEvent_GetVeto( TSelf(wxCloseEvent) _obj );
+void       wxCloseEvent_SetCanVeto( TSelf(wxCloseEvent) _obj, TBool canVeto );
+void       wxCloseEvent_SetLoggingOff( TSelf(wxCloseEvent) _obj, TBool logOff );
+void       wxCloseEvent_Veto( TSelf(wxCloseEvent) _obj, TBool veto );
+
+/* wxClosure */
+TClassDefExtend(wxClosure,wxObject)
+
+/* wxColour */
+TClassDefExtend(wxColour,wxObject)
+TUInt8     wxColour_Alpha( TSelf(wxColour) _obj );
+void       wxColour_Assign( TSelf(wxColour) _obj, void* other );
+TUInt8     wxColour_Blue( TSelf(wxColour) _obj );
+void       wxColour_Copy( TSelf(wxColour) _obj, void* _other );
+TClass(wxColour) wxColour_CreateByName( TClass(wxString) _name );
+TClass(wxColour) wxColour_CreateEmpty(  );
+TClass(wxColour) wxColour_CreateFromStock( int id );
+TClass(wxColour) wxColour_CreateRGB( TUInt8 _red, TUInt8 _green, TUInt8 _blue, TUInt8 _alpha );
+void       wxColour_Delete( TSelf(wxColour) _obj );
+//WXCOLORREF wxColour_GetPixel( TSelf(wxColour) _obj );
+TUInt8     wxColour_Green( TSelf(wxColour) _obj );
+TBool      wxColour_IsOk( TSelf(wxColour) _obj );
+TUInt8     wxColour_Red( TSelf(wxColour) _obj );
+void       wxColour_Set( TSelf(wxColour) _obj, TUInt8 _red, TUInt8 _green, TUInt8 _blue, TUInt8 _alpha );
+void       wxColour_SetByName( TSelf(wxColour) _obj, TClass(wxString) _name );
+TBool      wxColour_ValidName( TStringVoid _name );
+
+/* wxColourData */
+TClassDefExtend(wxColourData,wxObject)
+TClass(wxColourData) wxColourData_Create(  );
+void       wxColourData_Delete( TSelf(wxColourData) _obj );
+TBool      wxColourData_GetChooseFull( TSelf(wxColourData) _obj );
+void       wxColourData_GetColour( TSelf(wxColourData) _obj, TClassRef(wxColour) _ref );
+void       wxColourData_GetCustomColour( TSelf(wxColourData) _obj, int i, TClassRef(wxColour) _ref );
+void       wxColourData_SetChooseFull( TSelf(wxColourData) _obj, TBool flag );
+void       wxColourData_SetColour( TSelf(wxColourData) _obj, TClass(wxColour) colour );
+void       wxColourData_SetCustomColour( TSelf(wxColourData) _obj, int i, TClass(wxColour) colour );
+
+/* wxColourDatabase */
+TClassDefExtend(wxColourDatabase,wxList)
+
+/* wxColourDialog */
+TClassDefExtend(wxColourDialog,wxDialog)
+TClass(wxColourDialog) wxColourDialog_Create( TClass(wxWindow) _prt, TClass(wxColourData) col );
+void       wxColourDialog_GetColourData( TSelf(wxColourDialog) _obj, TClassRef(wxColourData) _ref );
+
+/* wxComboBox */
+TClassDefExtend(wxComboBox,wxChoice)
+void       wxComboBox_Append( TSelf(wxComboBox) _obj, TClass(wxString) item );
+void       wxComboBox_AppendData( TSelf(wxComboBox) _obj, TClass(wxString) item, void* d );
+void       wxComboBox_Clear( TSelf(wxComboBox) _obj );
+void       wxComboBox_Copy( TSelf(wxComboBox) _obj );
+TClass(wxComboBox) wxComboBox_Create( TClass(wxWindow) _prt, int _id, TClass(wxString) _txt, TRect(_lft,_top,_wdt,_hgt), TArrayString(n,str), int _stl );
+void       wxComboBox_Cut( TSelf(wxComboBox) _obj );
+void       wxComboBox_Delete( TSelf(wxComboBox) _obj, int n );
+int        wxComboBox_FindString( TSelf(wxComboBox) _obj, TClass(wxString) s );
+TClass(wxClientData) wxComboBox_GetClientData( TSelf(wxComboBox) _obj, int n );
+int        wxComboBox_GetCount( TSelf(wxComboBox) _obj );
+int        wxComboBox_GetInsertionPoint( TSelf(wxComboBox) _obj );
+int        wxComboBox_GetLastPosition( TSelf(wxComboBox) _obj );
+int        wxComboBox_GetSelection( TSelf(wxComboBox) _obj );
+TClass(wxString) wxComboBox_GetString( TSelf(wxComboBox) _obj, int n );
+TClass(wxString) wxComboBox_GetStringSelection( TSelf(wxComboBox) _obj );
+TClass(wxString) wxComboBox_GetValue( TSelf(wxComboBox) _obj );
+void       wxComboBox_Paste( TSelf(wxComboBox) _obj );
+void       wxComboBox_Remove( TSelf(wxComboBox) _obj, int from, int to );
+void       wxComboBox_Replace( TSelf(wxComboBox) _obj, int from, int to, TClass(wxString) value );
+void       wxComboBox_SetClientData( TSelf(wxComboBox) _obj, int n, TClass(wxClientData) clientData );
+void       wxComboBox_SetEditable( TSelf(wxComboBox) _obj, TBool editable );
+void       wxComboBox_SetInsertionPoint( TSelf(wxComboBox) _obj, int pos );
+void       wxComboBox_SetInsertionPointEnd( TSelf(wxComboBox) _obj );
+void       wxComboBox_SetSelection( TSelf(wxComboBox) _obj, int n );
+void       wxComboBox_SetTextSelection( TSelf(wxComboBox) _obj, int from, int to );
+
+/* wxCommand */
+TClassDefExtend(wxCommand,wxObject)
+
+/* wxCommandEvent */
+TClassDefExtend(wxCommandEvent,wxEvent)
+void       wxCommandEvent_CopyObject( TSelf(wxCommandEvent) _obj, void* object_dest );
+TClass(wxCommandEvent) wxCommandEvent_Create( int _typ, int _id );
+void       wxCommandEvent_Delete( TSelf(wxCommandEvent) _obj );
+TClass(wxClientData) wxCommandEvent_GetClientData( TSelf(wxCommandEvent) _obj );
+TClass(wxClientData) wxCommandEvent_GetClientObject( TSelf(wxCommandEvent) _obj );
+long       wxCommandEvent_GetExtraLong( TSelf(wxCommandEvent) _obj );
+long       wxCommandEvent_GetInt( TSelf(wxCommandEvent) _obj );
+int        wxCommandEvent_GetSelection( TSelf(wxCommandEvent) _obj );
+TClass(wxString) wxCommandEvent_GetString( TSelf(wxCommandEvent) _obj );
+TBool      wxCommandEvent_IsChecked( TSelf(wxCommandEvent) _obj );
+TBool      wxCommandEvent_IsSelection( TSelf(wxCommandEvent) _obj );
+void       wxCommandEvent_SetClientData( TSelf(wxCommandEvent) _obj, TClass(wxClientData) clientData );
+void       wxCommandEvent_SetClientObject( TSelf(wxCommandEvent) _obj, TClass(wxClientData) clientObject );
+void       wxCommandEvent_SetExtraLong( TSelf(wxCommandEvent) _obj, long extraLong );
+void       wxCommandEvent_SetInt( TSelf(wxCommandEvent) _obj, int i );
+void       wxCommandEvent_SetString( TSelf(wxCommandEvent) _obj, TClass(wxString) s );
+
+/* wxCommandLineParser */
+TClassDef(wxCommandLineParser)
+
+/* wxCommandProcessor */
+TClassDefExtend(wxCommandProcessor,wxObject)
+TBool      wxCommandProcessor_CanRedo( TSelf(wxCommandProcessor) _obj );
+TBool      wxCommandProcessor_CanUndo( TSelf(wxCommandProcessor) _obj );
+void       wxCommandProcessor_ClearCommands( TSelf(wxCommandProcessor) _obj );
+void       wxCommandProcessor_Delete( TSelf(wxCommandProcessor) _obj );
+int        wxCommandProcessor_GetCommands( TSelf(wxCommandProcessor) _obj, void* _ref );
+void*      wxCommandProcessor_GetEditMenu( TSelf(wxCommandProcessor) _obj );
+int        wxCommandProcessor_GetMaxCommands( TSelf(wxCommandProcessor) _obj );
+void       wxCommandProcessor_Initialize( TSelf(wxCommandProcessor) _obj );
+int        wxCommandProcessor_Redo( TSelf(wxCommandProcessor) _obj );
+void       wxCommandProcessor_SetEditMenu( TSelf(wxCommandProcessor) _obj, TClass(wxMenu) menu );
+void       wxCommandProcessor_SetMenuStrings( TSelf(wxCommandProcessor) _obj );
+int        wxCommandProcessor_Submit( TSelf(wxCommandProcessor) _obj, TClass(wxCommand) command, int storeIt );
+int        wxCommandProcessor_Undo( TSelf(wxCommandProcessor) _obj );
+void*      wxCommandProcessor_wxCommandProcessor( int maxCommands );
+
+/* wxCondition */
+TClassDef(wxCondition)
+void       wxCondition_Broadcast( TSelf(wxCondition) _obj );
+TClass(wxCondition) wxCondition_Create( void* _mut );
+void       wxCondition_Delete( TSelf(wxCondition) _obj );
+void       wxCondition_Signal( TSelf(wxCondition) _obj );
+void       wxCondition_Wait( TSelf(wxCondition) _obj );
+int        wxCondition_WaitFor( TSelf(wxCondition) _obj, int sec, int nsec );
+
+/* wxConfigBase */
+TClassDef(wxConfigBase)
+TClass(wxConfigBase) wxConfigBase_Create(  );
+void       wxConfigBase_Delete( TSelf(wxConfigBase) _obj );
+TBool      wxConfigBase_DeleteAll( TSelf(wxConfigBase) _obj );
+TBool      wxConfigBase_DeleteEntry( TSelf(wxConfigBase) _obj, TClass(wxString) key, TBool bDeleteGroupIfEmpty );
+TBool      wxConfigBase_DeleteGroup( TSelf(wxConfigBase) _obj, TClass(wxString) key );
+TBool      wxConfigBase_Exists( TSelf(wxConfigBase) _obj, TClass(wxString) strName );
+TClass(wxString) wxConfigBase_ExpandEnvVars( TSelf(wxConfigBase) _obj, TClass(wxString) str );
+TBool      wxConfigBase_Flush( TSelf(wxConfigBase) _obj, TBool bCurrentOnly );
+TClass(wxString) wxConfigBase_GetAppName( TSelf(wxConfigBase) _obj );
+int        wxConfigBase_GetEntryType( TSelf(wxConfigBase) _obj, TClass(wxString) name );
+TClass(wxString) wxConfigBase_GetFirstEntry( TSelf(wxConfigBase) _obj, void* lIndex );
+TClass(wxString) wxConfigBase_GetFirstGroup( TSelf(wxConfigBase) _obj, void* lIndex );
+TClass(wxString) wxConfigBase_GetNextEntry( TSelf(wxConfigBase) _obj, void* lIndex);
+TClass(wxString) wxConfigBase_GetNextGroup( TSelf(wxConfigBase) _obj, void* lIndex);
+int        wxConfigBase_GetNumberOfEntries( TSelf(wxConfigBase) _obj, TBool bRecursive );
+int        wxConfigBase_GetNumberOfGroups( TSelf(wxConfigBase) _obj, TBool bRecursive );
+TClass(wxString) wxConfigBase_GetPath( TSelf(wxConfigBase) _obj );
+int        wxConfigBase_GetStyle( TSelf(wxConfigBase) _obj );
+TClass(wxString) wxConfigBase_GetVendorName( TSelf(wxConfigBase) _obj );
+TBool      wxConfigBase_HasEntry( TSelf(wxConfigBase) _obj, TClass(wxString) strName );
+TBool      wxConfigBase_HasGroup( TSelf(wxConfigBase) _obj, TClass(wxString) strName );
+TBool      wxConfigBase_IsExpandingEnvVars( TSelf(wxConfigBase) _obj );
+TBool      wxConfigBase_IsRecordingDefaults( TSelf(wxConfigBase) _obj );
+TBool      wxConfigBase_ReadBool( TSelf(wxConfigBase) _obj, TClass(wxString) key, TBool defVal );
+double     wxConfigBase_ReadDouble( TSelf(wxConfigBase) _obj, TClass(wxString) key, double defVal );
+int        wxConfigBase_ReadInteger( TSelf(wxConfigBase) _obj, TClass(wxString) key, int defVal );
+TClass(wxString) wxConfigBase_ReadString( TSelf(wxConfigBase) _obj, TClass(wxString) key, TClass(wxString) defVal );
+TBool      wxConfigBase_RenameEntry( TSelf(wxConfigBase) _obj, TClass(wxString) oldName, TClass(wxString) newName );
+TBool      wxConfigBase_RenameGroup( TSelf(wxConfigBase) _obj, TClass(wxString) oldName, TClass(wxString) newName );
+void       wxConfigBase_SetAppName( TSelf(wxConfigBase) _obj, TClass(wxString) appName );
+void       wxConfigBase_SetExpandEnvVars( TSelf(wxConfigBase) _obj, TBool bDoIt );
+void       wxConfigBase_SetPath( TSelf(wxConfigBase) _obj, TClass(wxString) strPath );
+void       wxConfigBase_SetRecordDefaults( TSelf(wxConfigBase) _obj, TBool bDoIt );
+void       wxConfigBase_SetStyle( TSelf(wxConfigBase) _obj, int style );
+void       wxConfigBase_SetVendorName( TSelf(wxConfigBase) _obj, TClass(wxString) vendorName );
+TBool      wxConfigBase_WriteBool( TSelf(wxConfigBase) _obj, TClass(wxString) key, TBool value );
+TBool      wxConfigBase_WriteDouble( TSelf(wxConfigBase) _obj, TClass(wxString) key, double value );
+TBool      wxConfigBase_WriteInteger( TSelf(wxConfigBase) _obj, TClass(wxString) key, int value );
+TBool      wxConfigBase_WriteLong( TSelf(wxConfigBase) _obj, TClass(wxString) key, long value );
+TBool      wxConfigBase_WriteString( TSelf(wxConfigBase) _obj, TClass(wxString) key, TClass(wxString) value );
+
+/* wxConnection */
+TClassDefExtend(wxConnection,wxConnectionBase)
+
+/* wxConnectionBase */
+TClassDefExtend(wxConnectionBase,wxObject)
+
+/* wxContextHelp */
+TClassDefExtend(wxContextHelp,wxObject)
+TBool      wxContextHelp_BeginContextHelp( TSelf(wxContextHelp) _obj, TClass(wxWindow) win );
+TClass(wxContextHelp) wxContextHelp_Create( TClass(wxWindow) win, TBool beginHelp );
+void       wxContextHelp_Delete( TSelf(wxContextHelp) _obj );
+TBool      wxContextHelp_EndContextHelp( TSelf(wxContextHelp) _obj );
+
+/* wxContextHelpButton */
+TClassDefExtend(wxContextHelpButton,wxBitmapButton)
+TClass(wxContextHelpButton) wxContextHelpButton_Create( TClass(wxWindow) parent, int id, TRect(x,y,w,h), long style );
+
+/* wxControl */
+TClassDefExtend(wxControl,wxWindow)
+void       wxControl_Command( TSelf(wxControl) _obj, TClass(wxEvent) event );
+TClass(wxString) wxControl_GetLabel( TSelf(wxControl) _obj );
+void       wxControl_SetLabel( TSelf(wxControl) _obj, TClass(wxString) text );
+
+/* wxCountingOutputStream */
+TClassDefExtend(wxCountingOutputStream,wxOutputStream)
+
+/* wxCriticalSection */
+TClassDef(wxCriticalSection)
+TClass(wxCriticalSection) wxCriticalSection_Create(  );
+void       wxCriticalSection_Delete( TSelf(wxCriticalSection) _obj );
+void       wxCriticalSection_Enter( TSelf(wxCriticalSection) _obj );
+void       wxCriticalSection_Leave( TSelf(wxCriticalSection) _obj );
+
+/* wxCriticalSectionLocker */
+TClassDef(wxCriticalSectionLocker)
+
+/* wxCursor */
+TClassDefExtend(wxCursor,wxBitmap)
+TClass(wxCursor)  Cursor_CreateFromStock( int _id );
+TClass(wxCursor)  Cursor_CreateFromImage( TClass(wxImage) image );
+TClass(wxCursor)  Cursor_CreateLoad( TClass(wxString) name, long type, TSize(width,height) );
+
+/* wxCustomDataObject */
+TClassDefExtend(wxCustomDataObject,wxDataObjectSimple)
+
+/* wxDC */
+TClassDefExtend(wxDC,wxObject)
+void       wxDC_BeginDrawing( TSelf(wxDC) _obj );
+TBool      wxDC_Blit( TSelf(wxDC) _obj, TRect(xdest,ydest,width,height), TClass(wxDC) source, TPoint(xsrc,ysrc), int rop, TBool useMask );
+void       wxDC_CalcBoundingBox( TSelf(wxDC) _obj, TPoint(x,y) );
+TBool      wxDC_CanDrawBitmap( TSelf(wxDC) _obj );
+TBool      wxDC_CanGetTextExtent( TSelf(wxDC) _obj );
+void       wxDC_Clear( TSelf(wxDC) _obj );
+void       wxDC_ComputeScaleAndOrigin( TSelf(wxDC) obj );
+void       wxDC_CrossHair( TSelf(wxDC) _obj, TPoint(x,y) );
+void       wxDC_Delete( TSelf(wxDC) _obj );
+void       wxDC_DestroyClippingRegion( TSelf(wxDC) _obj );
+int        wxDC_DeviceToLogicalX( TSelf(wxDC) _obj, int x );
+int        wxDC_DeviceToLogicalXRel( TSelf(wxDC) _obj, int x );
+int        wxDC_DeviceToLogicalY( TSelf(wxDC) _obj, int y );
+int        wxDC_DeviceToLogicalYRel( TSelf(wxDC) _obj, int y );
+void       wxDC_DrawArc( TSelf(wxDC) _obj, TPoint(x1,y1), TPoint(x2,y2), TPoint(xc,yc) );
+void       wxDC_DrawBitmap( TSelf(wxDC) _obj, TClass(wxBitmap) bmp, TPoint(x,y), TBool useMask );
+void       wxDC_DrawCheckMark( TSelf(wxDC) _obj, TRect(x,y,width,height) );
+void       wxDC_DrawCircle( TSelf(wxDC) _obj, TPoint(x,y), int radius );
+void       wxDC_DrawEllipse( TSelf(wxDC) _obj, TRect(x,y,width,height) );
+void       wxDC_DrawEllipticArc( TSelf(wxDC) _obj, TRect(x,y,w,h), double sa, double ea );
+void       wxDC_DrawIcon( TSelf(wxDC) _obj, TClass(wxIcon) icon, TPoint(x,y) );
+void       wxDC_DrawLabel( TSelf(wxDC) _obj, TClass(wxString) str, TRect(x,y,w,h), int align, int indexAccel);
+void       wxDC_DrawLabelBitmap( TSelf(wxDC) _obj, TClass(wxString) str, TClass(wxBitmap) bmp, TRect(x,y,w,h), int align, int indexAccel, int *_x, int *_y, int *_w, int *_h );
+void       wxDC_DrawLine( TSelf(wxDC) _obj, TPoint(x1,y1), TPoint(x2,y2) );
+void       wxDC_DrawLines( TSelf(wxDC) _obj, int n, void* x, void* y, TPoint(xoffset,yoffset) );
+void       wxDC_DrawPoint( TSelf(wxDC) _obj, TPoint(x,y) );
+void       wxDC_DrawPolygon( TSelf(wxDC) _obj, int n, void* x, void* y, TPoint(xoffset,yoffset), int fillStyle );
+void       wxDC_DrawPolyPolygon( TSelf(wxDC) _obj, int n, void *count, void *x, void *y, TPoint(xoffset,yoffset), int fillStyle);
+void       wxDC_DrawRectangle( TSelf(wxDC) _obj, TRect(x,y,width,height) );
+void       wxDC_DrawRotatedText( TSelf(wxDC) _obj, TClass(wxString) text, TPoint(x,y), double angle );
+void       wxDC_DrawRoundedRectangle( TSelf(wxDC) _obj, TRect(x,y,width,height), double radius );
+void       wxDC_DrawText( TSelf(wxDC) _obj, TClass(wxString) text, TPoint(x,y) );
+void       wxDC_EndDoc( TSelf(wxDC) _obj );
+void       wxDC_EndDrawing( TSelf(wxDC) _obj );
+void       wxDC_EndPage( TSelf(wxDC) _obj );
+void       wxDC_FloodFill( TSelf(wxDC) _obj, TPoint(x,y), TClass(wxColour) col, int style );
+void       wxDC_GetBackground( TSelf(wxDC) _obj, TClassRef(wxBrush) _ref );
+int        wxDC_GetBackgroundMode( TSelf(wxDC) _obj );
+void       wxDC_GetBrush( TSelf(wxDC) _obj, TClassRef(wxBrush) _ref );
+int        wxDC_GetCharHeight( TSelf(wxDC) _obj );
+int        wxDC_GetCharWidth( TSelf(wxDC) _obj );
+void       wxDC_GetClippingBox( TSelf(wxDC) _obj, TRectOutVoid(_x,_y,_w,_h) );
+int        wxDC_GetDepth( TSelf(wxDC) _obj );
+void       wxDC_GetDeviceOrigin( TSelf(wxDC) _obj, TPointOutVoid(_x,_y) );
+void       wxDC_GetFont( TSelf(wxDC) _obj, TClassRef(wxFont) _ref );
+int        wxDC_GetLogicalFunction( TSelf(wxDC) _obj );
+void       wxDC_GetLogicalOrigin( TSelf(wxDC) _obj, TPointOutVoid(_x,_y) );
+void       wxDC_GetLogicalScale( TSelf(wxDC) _obj, TPointOutVoid(_x,_y) );
+int        wxDC_GetMapMode( TSelf(wxDC) _obj );
+void       wxDC_GetPPI( TSelf(wxDC) _obj, TSizeOutVoid(_w,_h) );
+void       wxDC_GetPen( TSelf(wxDC) _obj, TClassRef(wxPen) _ref );
+TBoolInt   wxDC_GetPixel( TSelf(wxDC) _obj, TPoint(x,y), TClass(wxColour) col );
+void       wxDC_GetSize( TSelf(wxDC) _obj, TSizeOutVoid(_w,_h) );
+void       wxDC_GetSizeMM( TSelf(wxDC) _obj, TSizeOutVoid(_w,_h) );
+void       wxDC_GetTextBackground( TSelf(wxDC) _obj, TClassRef(wxColour) _ref );
+void       wxDC_GetTextExtent( TSelf(wxDC) self, TClass(wxString) string, void* w, void* h, void* descent, void* externalLeading, TClass(wxFont) theFont );
+void       wxDC_GetMultiLineTextExtent( TSelf(wxDC) self, TClass(wxString) string, void* w, void* h, void* heightLine, TClass(wxFont) theFont );
+void       wxDC_GetTextForeground( TSelf(wxDC) _obj, TClassRef(wxColour) _ref );
+void       wxDC_GetUserScale( TSelf(wxDC) _obj, void* x, void* y );
+int        wxDC_LogicalToDeviceX( TSelf(wxDC) _obj, int x );
+int        wxDC_LogicalToDeviceXRel( TSelf(wxDC) _obj, int x );
+int        wxDC_LogicalToDeviceY( TSelf(wxDC) _obj, int y );
+int        wxDC_LogicalToDeviceYRel( TSelf(wxDC) _obj, int y );
+int        wxDC_MaxX( TSelf(wxDC) _obj );
+int        wxDC_MaxY( TSelf(wxDC) _obj );
+int        wxDC_MinX( TSelf(wxDC) _obj );
+int        wxDC_MinY( TSelf(wxDC) _obj );
+TBool      wxDC_IsOk( TSelf(wxDC) _obj );
+void       wxDC_ResetBoundingBox( TSelf(wxDC) _obj );
+void       wxDC_SetAxisOrientation( TSelf(wxDC) _obj, TBool xLeftRight, TBool yBottomUp );
+void       wxDC_SetBackground( TSelf(wxDC) _obj, TClass(wxBrush) brush );
+void       wxDC_SetBackgroundMode( TSelf(wxDC) _obj, int mode );
+void       wxDC_SetBrush( TSelf(wxDC) _obj, TClass(wxBrush) brush );
+void       wxDC_SetClippingRegion( TSelf(wxDC) _obj, TRect(x,y,width,height) );
+void       wxDC_SetClippingRegionFromRegion( TSelf(wxDC) _obj, TClass(wxRegion) region );
+void       wxDC_SetDeviceOrigin( TSelf(wxDC) _obj, TPoint(x,y) );
+void       wxDC_SetFont( TSelf(wxDC) _obj, TClass(wxFont) font );
+void       wxDC_SetLogicalFunction( TSelf(wxDC) _obj, int function );
+void       wxDC_SetLogicalOrigin( TSelf(wxDC) _obj, TPoint(x,y) );
+void       wxDC_SetLogicalScale( TSelf(wxDC) _obj, double x, double y );
+void       wxDC_SetMapMode( TSelf(wxDC) _obj, int mode );
+void       wxDC_SetPalette( TSelf(wxDC) _obj, TClass(wxPalette) palette );
+void       wxDC_SetPen( TSelf(wxDC) _obj, TClass(wxPen) pen );
+void       wxDC_SetTextBackground( TSelf(wxDC) _obj, TClass(wxColour) colour );
+void       wxDC_SetTextForeground( TSelf(wxDC) _obj, TClass(wxColour) colour );
+void       wxDC_SetUserScale( TSelf(wxDC) _obj, double x, double y );
+TBool      wxDC_StartDoc( TSelf(wxDC) _obj, TClass(wxString) msg );
+void       wxDC_StartPage( TSelf(wxDC) _obj );
+
+/* wxDCClipper */
+TClassDef(wxDCClipper)
+
+/* wxDDEClient */
+TClassDefExtend(wxDDEClient,wxClientBase)
+
+/* wxDDEConnection */
+TClassDefExtend(wxDDEConnection,wxConnectionBase)
+
+/* wxDDEServer */
+TClassDefExtend(wxDDEServer,wxServerBase)
+
+/* wxDataFormat */
+TClassDef(wxDataFormat)
+TClass(wxDataFormat) wxDataFormat_CreateFromId( TClass(wxString) name );
+TClass(wxDataFormat) wxDataFormat_CreateFromType( int typ );
+void       wxDataFormat_Delete( TSelf(wxDataFormat) _obj );
+TClass(wxString) wxDataFormat_GetId( TSelf(wxDataFormat) _obj );
+int        wxDataFormat_GetType( TSelf(wxDataFormat) _obj );
+TBool      wxDataFormat_IsEqual( TSelf(wxDataFormat) _obj, void* other );
+void       wxDataFormat_SetId( TSelf(wxDataFormat) _obj, void* id );
+void       wxDataFormat_SetType( TSelf(wxDataFormat) _obj, int typ );
+
+/* wxDataInputStream */
+TClassDef(wxDataInputStream)
+
+/* wxDataObject */
+TClassDef(wxDataObject)
+
+/* wxDataObjectComposite */
+TClassDefExtend(wxDataObjectComposite,wxDataObject)
+void       wxDataObjectComposite_Add( TSelf(wxDataObjectComposite) _obj, void* _dat, int _preferred );
+TClass(wxDataObjectComposite) wxDataObjectComposite_Create(  );
+void       wxDataObjectComposite_Delete( TSelf(wxDataObjectComposite) _obj );
+
+/* wxDataObjectSimple */
+TClassDefExtend(wxDataObjectSimple,wxDataObject)
+
+/* wxDataOutputStream */
+TClassDef(wxDataOutputStream)
+
+/* wxDatabase */
+TClassDefExtend(wxDatabase,wxObject)
+
+/* wxDateTime */
+TClassDef(wxDateTime)
+void       wxDateTime_AddDate( TSelf(wxDateTime) _obj, void* diff, TClassRef(wxDateTime) _ref );
+void       wxDateTime_AddDateValues( TSelf(wxDateTime) _obj, int _yrs, int _mnt, int _wek, int _day );
+void       wxDateTime_AddTime( TSelf(wxDateTime) _obj, void* diff, TClassRef(wxDateTime) _ref );
+void       wxDateTime_AddTimeValues( TSelf(wxDateTime) _obj, int _hrs, int _min, int _sec, int _mls );
+int        wxDateTime_ConvertYearToBC( int year );
+TClass(wxDateTime) wxDateTime_Create( );
+TClass(wxString) wxDateTime_Format( TSelf(wxDateTime) _obj, void* format, int tz );
+TClass(wxString) wxDateTime_FormatDate( TSelf(wxDateTime) _obj );
+TClass(wxString) wxDateTime_FormatISODate( TSelf(wxDateTime) _obj );
+TClass(wxString) wxDateTime_FormatISOTime( TSelf(wxDateTime) _obj );
+TClass(wxString) wxDateTime_FormatTime( TSelf(wxDateTime) _obj );
+TClass(wxString) wxDateTime_GetAmString( );
+void       wxDateTime_GetBeginDST( int year, int country, TClass(wxDateTime) dt );
+int        wxDateTime_GetCentury( int year );
+int        wxDateTime_GetCountry(  );
+int        wxDateTime_GetCurrentMonth( int cal );
+int        wxDateTime_GetCurrentYear( int cal );
+int        wxDateTime_GetDay( TSelf(wxDateTime) _obj, int tz );
+int        wxDateTime_GetDayOfYear( TSelf(wxDateTime) _obj, int tz );
+void       wxDateTime_GetEndDST( int year, int country, TClass(wxDateTime) dt );
+int        wxDateTime_GetHour( TSelf(wxDateTime) _obj, int tz );
+void       wxDateTime_GetLastMonthDay( TSelf(wxDateTime) _obj, int month, int year, TClassRef(wxDateTime) _ref );
+void       wxDateTime_GetLastWeekDay( TSelf(wxDateTime) _obj, int weekday, int month, int year, TClassRef(wxDateTime) _ref );
+int        wxDateTime_GetMillisecond( TSelf(wxDateTime) _obj, int tz );
+int        wxDateTime_GetMinute( TSelf(wxDateTime) _obj, int tz );
+int        wxDateTime_GetMonth( TSelf(wxDateTime) _obj, int tz );
+TClass(wxString) wxDateTime_GetMonthName( int month, int flags );
+void       wxDateTime_GetNextWeekDay( TSelf(wxDateTime) _obj, int weekday, TClassRef(wxDateTime) _ref );
+int        wxDateTime_GetNumberOfDays( int year, int cal );
+int        wxDateTime_GetNumberOfDaysMonth( int month, int year, int cal );
+TClass(wxString) wxDateTime_GetPmString( );
+void       wxDateTime_GetPrevWeekDay( TSelf(wxDateTime) _obj, int weekday, TClassRef(wxDateTime) _ref );
+int        wxDateTime_GetSecond( TSelf(wxDateTime) _obj, int tz );
+time_t     wxDateTime_GetTicks( TSelf(wxDateTime) _obj );
+int        wxDateTime_GetTimeNow(  );
+void       wxDateTime_GetValue( TSelf(wxDateTime) _obj, void* hi_long, void* lo_long );
+void       wxDateTime_GetWeekDay( TSelf(wxDateTime) _obj, int weekday, int n, int month, int year, TClassRef(wxDateTime) _ref );
+void       wxDateTime_GetWeekDayInSameWeek( TSelf(wxDateTime) _obj, int weekday, TClassRef(wxDateTime) _ref );
+TClass(wxString) wxDateTime_GetWeekDayName( int weekday, int flags );
+int        wxDateTime_GetWeekDayTZ( TSelf(wxDateTime) _obj, int tz );
+int        wxDateTime_GetWeekOfMonth( TSelf(wxDateTime) _obj, int flags, int tz );
+int        wxDateTime_GetWeekOfYear( TSelf(wxDateTime) _obj, int flags, int tz );
+int        wxDateTime_GetYear( TSelf(wxDateTime) _obj, int tz );
+TBool      wxDateTime_IsBetween( TSelf(wxDateTime) _obj, TClass(wxDateTime) t1, TClass(wxDateTime) t2 );
+TBool      wxDateTime_IsDST( TSelf(wxDateTime) _obj, int country );
+TBool      wxDateTime_IsDSTApplicable( int year, int country );
+TBool      wxDateTime_IsEarlierThan( TSelf(wxDateTime) _obj, void* datetime );
+TBool      wxDateTime_IsEqualTo( TSelf(wxDateTime) _obj, void* datetime );
+TBool      wxDateTime_IsEqualUpTo( TSelf(wxDateTime) _obj, TClass(wxDateTime) dt, void* ts );
+TBool      wxDateTime_IsGregorianDate( TSelf(wxDateTime) _obj, int country );
+TBool      wxDateTime_IsLaterThan( TSelf(wxDateTime) _obj, void* datetime );
+TBool      wxDateTime_IsLeapYear( int year, int cal );
+TBool      wxDateTime_IsSameDate( TSelf(wxDateTime) _obj, TClass(wxDateTime) dt );
+TBool      wxDateTime_IsSameTime( TSelf(wxDateTime) _obj, TClass(wxDateTime) dt );
+TBool      wxDateTime_IsStrictlyBetween( TSelf(wxDateTime) _obj, TClass(wxDateTime) t1, TClass(wxDateTime) t2 );
+TBool      wxDateTime_IsValid( TSelf(wxDateTime) _obj );
+TBool      wxDateTime_IsWestEuropeanCountry( int country );
+TBool      wxDateTime_IsWorkDay( TSelf(wxDateTime) _obj, int country );
+void       wxDateTime_MakeGMT( TSelf(wxDateTime) _obj, int noDST );
+void       wxDateTime_MakeTimezone( TSelf(wxDateTime) _obj, int tz, int noDST );
+void       wxDateTime_Now( TSelf(wxDateTime) dt );
+void*      wxDateTime_ParseDate( TSelf(wxDateTime) _obj, void* date );
+void*      wxDateTime_ParseDateTime( TSelf(wxDateTime) _obj, void* datetime );
+void*      wxDateTime_ParseFormat( TSelf(wxDateTime) _obj, void* date, void* format, void* dateDef );
+void*      wxDateTime_ParseRfc822Date( TSelf(wxDateTime) _obj, void* date );
+void*      wxDateTime_ParseTime( TSelf(wxDateTime) _obj, TClass(wxTime) time );
+void       wxDateTime_ResetTime( TSelf(wxDateTime) _obj );
+void       wxDateTime_Set( TSelf(wxDateTime) _obj, int day, int month, int year, int hour, int minute, int second, int millisec );
+void       wxDateTime_SetCountry( int country );
+void       wxDateTime_SetDay( TSelf(wxDateTime) _obj, int day );
+void       wxDateTime_SetHour( TSelf(wxDateTime) _obj, int hour );
+void       wxDateTime_SetMillisecond( TSelf(wxDateTime) _obj, int millisecond );
+void       wxDateTime_SetMinute( TSelf(wxDateTime) _obj, int minute );
+void       wxDateTime_SetMonth( TSelf(wxDateTime) _obj, int month );
+void       wxDateTime_SetSecond( TSelf(wxDateTime) _obj, int second );
+void       wxDateTime_SetTime( TSelf(wxDateTime) _obj, int hour, int minute, int second, int millisec );
+void       wxDateTime_SetToCurrent( TSelf(wxDateTime) _obj );
+void       wxDateTime_SetToLastMonthDay( TSelf(wxDateTime) _obj, int month, int year );
+TBool      wxDateTime_SetToLastWeekDay( TSelf(wxDateTime) _obj, int weekday, int month, int year );
+void       wxDateTime_SetToNextWeekDay( TSelf(wxDateTime) _obj, int weekday );
+void       wxDateTime_SetToPrevWeekDay( TSelf(wxDateTime) _obj, int weekday );
+TBool      wxDateTime_SetToWeekDay( TSelf(wxDateTime) _obj, int weekday, int n, int month, int year );
+void       wxDateTime_SetToWeekDayInSameWeek( TSelf(wxDateTime) _obj, int weekday );
+void       wxDateTime_SetYear( TSelf(wxDateTime) _obj, int year );
+void       wxDateTime_SubtractDate( TSelf(wxDateTime) _obj, void* diff, TClassRef(wxDateTime) _ref );
+void       wxDateTime_SubtractTime( TSelf(wxDateTime) _obj, void* diff, TClassRef(wxDateTime) _ref );
+void       wxDateTime_ToGMT( TSelf(wxDateTime) _obj, int noDST );
+void       wxDateTime_ToTimezone( TSelf(wxDateTime) _obj, int tz, int noDST );
+void       wxDateTime_Today( TSelf(wxDateTime) dt );
+void       wxDateTime_UNow( TSelf(wxDateTime) dt );
+void*      wxDateTime_wxDateTime( int hi_long, int lo_long );
+
+/* wxDb */
+TClassDef(wxDb)
+
+/* wxDbColDef */
+TClassDef(wxDbColDef)
+
+/* wxDbColFor */
+TClassDef(wxDbColFor)
+
+/* wxDbColInf */
+TClassDef(wxDbColInf)
+
+/* wxDbConnectInf */
+TClassDef(wxDbConnectInf)
+
+/* wxDbInf */
+TClassDef(wxDbInf)
+
+/* wxDbSqlTypeInfo */
+TClassDef(wxDbSqlTypeInfo)
+
+/* wxDbTable */
+TClassDef(wxDbTable)
+
+/* wxDbTableInfo */
+TClassDef(wxDbTableInfo)
+
+/* wxDebugContext */
+TClassDef(wxDebugContext)
+
+/* wxDialUpEvent */
+TClassDefExtend(wxDialUpEvent,wxEvent)
+TBool      wxDialUpEvent_IsConnectedEvent( TSelf(wxDialUpEvent) _obj );
+TBool      wxDialUpEvent_IsOwnEvent( TSelf(wxDialUpEvent) _obj );
+
+/* wxDialUpManager */
+TClassDef(wxDialUpManager)
+TBool      wxDialUpManager_CancelDialing( TSelf(wxDialUpManager) _obj );
+TClass(wxDialUpManager) wxDialUpManager_Create(  );
+void       wxDialUpManager_Delete( TSelf(wxDialUpManager) _obj );
+TBool      wxDialUpManager_Dial( TSelf(wxDialUpManager) _obj, TClass(wxString) nameOfISP, TClass(wxString) username, TClass(wxString) password, TBool async );
+void       wxDialUpManager_DisableAutoCheckOnlineStatus( TSelf(wxDialUpManager) _obj );
+TBool      wxDialUpManager_EnableAutoCheckOnlineStatus( TSelf(wxDialUpManager) _obj, int nSeconds );
+int        wxDialUpManager_GetISPNames( TSelf(wxDialUpManager) _obj, TClass(wxList) _lst );
+TBool      wxDialUpManager_HangUp( TSelf(wxDialUpManager) _obj );
+TBool      wxDialUpManager_IsAlwaysOnline( TSelf(wxDialUpManager) _obj );
+TBool      wxDialUpManager_IsDialing( TSelf(wxDialUpManager) _obj );
+TBool      wxDialUpManager_IsOk( TSelf(wxDialUpManager) _obj );
+TBool      wxDialUpManager_IsOnline( TSelf(wxDialUpManager) _obj );
+void       wxDialUpManager_SetConnectCommand( TSelf(wxDialUpManager) _obj, TClass(wxString) commandDial, TClass(wxString) commandHangup );
+void       wxDialUpManager_SetOnlineStatus( TSelf(wxDialUpManager) _obj, TBool isOnline );
+void       wxDialUpManager_SetWellKnownHost( TSelf(wxDialUpManager) _obj, TClass(wxString) hostname, int portno );
+
+/* wxDialog */
+TClassDefExtend(wxDialog,wxTopLevelWindow)
+TClass(wxDialog) wxDialog_Create( TClass(wxWindow) _prt, int _id, TClass(wxString) _txt, TRect(_lft,_top,_wdt,_hgt), int _stl );
+void       wxDialog_EndModal( TSelf(wxDialog) _obj, int retCode );
+int        wxDialog_GetReturnCode( TSelf(wxDialog) _obj );
+TBool      wxDialog_IsModal( TSelf(wxDialog) _obj );
+void       wxDialog_SetReturnCode( TSelf(wxDialog) _obj, int returnCode );
+int        wxDialog_ShowModal( TSelf(wxDialog) _obj );
+
+/* wxDirDialog */
+TClassDefExtend(wxDirDialog,wxDialog)
+TClass(wxDirDialog) wxDirDialog_Create( TClass(wxWindow) _prt, TClass(wxString) _msg, TClass(wxString) _dir, TPoint(_lft,_top), int _stl );
+TClass(wxString) wxDirDialog_GetMessage( TSelf(wxDirDialog) _obj );
+TClass(wxString) wxDirDialog_GetPath( TSelf(wxDirDialog) _obj );
+int        wxDirDialog_GetStyle( TSelf(wxDirDialog) _obj );
+void       wxDirDialog_SetMessage( TSelf(wxDirDialog) _obj, TClass(wxString) msg );
+void       wxDirDialog_SetPath( TSelf(wxDirDialog) _obj, TClass(wxString) pth );
+void       wxDirDialog_SetStyle( TSelf(wxDirDialog) _obj, int style );
+
+/* wxDirTraverser */
+TClassDef(wxDirTraverser)
+
+/* wxDllLoader */
+TClassDef(wxDllLoader)
+/*
+void*      wxDllLoader_GetSymbol( int _handle, TStringVoid _name );
+int        wxDllLoader_LoadLibrary( TStringVoid _name, void* _success );
+void       wxDllLoader_UnloadLibrary( int _handle );
+*/
+
+/* wxDocChildFrame */
+TClassDefExtend(wxDocChildFrame,wxFrame)
+
+/* wxDocMDIChildFrame */
+TClassDefExtend(wxDocMDIChildFrame,wxMDIChildFrame)
+
+/* wxDocMDIParentFrame */
+TClassDefExtend(wxDocMDIParentFrame,wxMDIParentFrame)
+
+/* wxDocManager */
+TClassDefExtend(wxDocManager,wxEvtHandler)
+
+/* wxDocParentFrame */
+TClassDefExtend(wxDocParentFrame,wxFrame)
+
+/* wxDocTemplate */
+TClassDefExtend(wxDocTemplate,wxObject)
+
+/* wxDocument */
+TClassDefExtend(wxDocument,wxEvtHandler)
+
+/* wxDragImage */
+TClassDefExtend(wxDragImage,wxObject)
+
+/* wxDrawControl */
+TClassDefExtend(wxDrawControl,wxControl)
+TClass(wxDrawControl) wxDrawControl_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
+
+/* wxDrawWindow */
+TClassDefExtend(wxDrawWindow,wxWindow)
+TClass(wxDrawWindow) wxDrawWindow_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
+
+/* wxDropFilesEvent */
+TClassDefExtend(wxDropFilesEvent,wxEvent)
+
+/* wxDropSource */
+TClassDef(wxDropSource)
+TClass(wxDropSource) DropSource_Create( TClass(wxDataObject) data, TClass(wxWindow) win, void* copy, void* move, void* none );
+void       DropSource_Delete( TSelf(wxDropSource) _obj );
+int        DropSource_DoDragDrop( TSelf(wxDropSource) _obj, int _move );
+
+/* wxDropTarget */
+TClassDef(wxDropTarget)
+void       wxDropTarget_GetData( TSelf(wxDropTarget) _obj );
+void       wxDropTarget_SetDataObject( TSelf(wxDropTarget) _obj, TClass(wxDataObject) _dat );
+
+/* wxDynToolInfo */
+TClassDefExtend(wxDynToolInfo,wxToolLayoutItem)
+int        wxDynToolInfo_Index( TSelf(wxDynToolInfo) _obj );
+void       wxDynToolInfo_RealSize( TSelf(wxDynToolInfo) _obj, TSizeOutVoid(_w,_h) );
+void*      wxDynToolInfo_pToolWnd( TSelf(wxDynToolInfo) _obj );
+
+/* wxDynamicLibrary */
+TClassDef(wxDynamicLibrary)
+
+/* wxDynamicSashWindow */
+TClassDefExtend(wxDynamicSashWindow,wxWindow)
+TClass(wxDynamicSashWindow) wxDynamicSashWindow_Create( TClass(wxWindow) parent, int id, TRect(x,y,w,h), int style );
+void       wxDynamicSashWindow_Delete( TSelf(wxDynamicSashWindow) _obj );
+void*      wxDynamicSashWindow_GetHScrollBar( TSelf(wxDynamicSashWindow) _obj, TClass(wxWindow) child );
+void*      wxDynamicSashWindow_GetVScrollBar( TSelf(wxDynamicSashWindow) _obj, TClass(wxWindow) child );
+
+/* wxDynamicToolBar */
+TClassDefExtend(wxDynamicToolBar,wxToolBarBase)
+void       wxDynamicToolBar_AddSeparator( TSelf(wxDynamicToolBar) _obj, void* pSepartorWnd );
+void       wxDynamicToolBar_AddTool( TSelf(wxDynamicToolBar) _obj, int toolIndex, void* pToolWindow, TSize(w,h) );
+void*      wxDynamicToolBar_AddToolBitmap( TSelf(wxDynamicToolBar) _obj, int toolIndex, TClass(wxBitmap) bitmap, void* pushedBitmap, int toggle, TPoint(x,y), TClass(wxClientData) clientData, void* helpString1, void* helpString2 );
+void       wxDynamicToolBar_AddToolImage( TSelf(wxDynamicToolBar) _obj, int toolIndex, void* imageFileName, int imageFileType, void* labelText, int alignTextRight, TBool isFlat );
+void       wxDynamicToolBar_AddToolLabel( TSelf(wxDynamicToolBar) _obj, int toolIndex, void* labelBmp, void* labelText, int alignTextRight, TBool isFlat );
+TClass(wxDynamicToolBar) wxDynamicToolBar_Create( TClass(wxWindow) parent, int id, TRect(x,y,w,h), int style, int orientation, int RowsOrColumns );
+TClass(wxDynamicToolBar) wxDynamicToolBar_CreateDefault(  );
+void*      wxDynamicToolBar_CreateDefaultLayout( TSelf(wxDynamicToolBar) _obj );
+int        wxDynamicToolBar_CreateParams( TSelf(wxDynamicToolBar) _obj, TClass(wxWindow) parent, int id, TRect(x,y,w,h), int style, int orientation, int RowsOrColumns );
+void*      wxDynamicToolBar_CreateTool( TSelf(wxDynamicToolBar) _obj, int id, void* label, void* bmpNormal, void* bmpDisabled, int kind, TClass(wxClientData) clientData, void* shortHelp, void* longHelp );
+void*      wxDynamicToolBar_CreateToolControl( TSelf(wxDynamicToolBar) _obj, TClass(wxControl) control );
+void       wxDynamicToolBar_Delete( TSelf(wxDynamicToolBar) _obj );
+int        wxDynamicToolBar_DoDeleteTool( TSelf(wxDynamicToolBar) _obj, int pos, void* tool );
+void       wxDynamicToolBar_DoEnableTool( TSelf(wxDynamicToolBar) _obj, void* tool, TBool enable );
+int        wxDynamicToolBar_DoInsertTool( TSelf(wxDynamicToolBar) _obj, int pos, void* tool );
+void       wxDynamicToolBar_DoSetToggle( TSelf(wxDynamicToolBar) _obj, void* tool, int toggle );
+void       wxDynamicToolBar_DoToggleTool( TSelf(wxDynamicToolBar) _obj, void* tool, int toggle );
+void       wxDynamicToolBar_DrawSeparator( TSelf(wxDynamicToolBar) _obj, void* info, TClass(wxDC) dc );
+void       wxDynamicToolBar_EnableTool( TSelf(wxDynamicToolBar) _obj, int toolIndex, TBool enable );
+void*      wxDynamicToolBar_FindToolForPosition( TSelf(wxDynamicToolBar) _obj, TPoint(x,y) );
+void       wxDynamicToolBar_GetPreferredDim( TSelf(wxDynamicToolBar) _obj, int gw, int gh, void* pw, void* ph );
+void*      wxDynamicToolBar_GetToolInfo( TSelf(wxDynamicToolBar) _obj, int toolIndex );
+int        wxDynamicToolBar_Layout( TSelf(wxDynamicToolBar) _obj );
+void       wxDynamicToolBar_RemoveTool( TSelf(wxDynamicToolBar) _obj, int toolIndex );
+void       wxDynamicToolBar_SetLayout( TSelf(wxDynamicToolBar) _obj, void* pLayout );
+
+/* wxEditableListBox */
+TClassDefExtend(wxEditableListBox,wxPanel)
+TClass(wxEditableListBox) wxEditableListBox_Create( TClass(wxWindow) parent, int id, TStringVoid label, TRect(x,y,w,h), int style );
+void*      wxEditableListBox_GetDelButton( TSelf(wxEditableListBox) _obj );
+void*      wxEditableListBox_GetDownButton( TSelf(wxEditableListBox) _obj );
+void*      wxEditableListBox_GetEditButton( TSelf(wxEditableListBox) _obj );
+TClass(wxListCtrl) wxEditableListBox_GetListCtrl( TSelf(wxEditableListBox) _obj );
+void*      wxEditableListBox_GetNewButton( TSelf(wxEditableListBox) _obj );
+TArrayLen  wxEditableListBox_GetStrings( TSelf(wxEditableListBox) _obj, TArrayStringOutVoid _ref );
+void*      wxEditableListBox_GetUpButton( TSelf(wxEditableListBox) _obj );
+void       wxEditableListBox_SetStrings( TSelf(wxEditableListBox) _obj, void* strings, int _n );
+
+/* wxEncodingConverter */
+TClassDefExtend(wxEncodingConverter,wxObject)
+void       wxEncodingConverter_Convert( TSelf(wxEncodingConverter) _obj, void* input, void* output );
+TClass(wxEncodingConverter) wxEncodingConverter_Create(  );
+void       wxEncodingConverter_Delete( TSelf(wxEncodingConverter) _obj );
+int        wxEncodingConverter_GetAllEquivalents( TSelf(wxEncodingConverter) _obj, int enc, TClass(wxList) _lst );
+int        wxEncodingConverter_GetPlatformEquivalents( TSelf(wxEncodingConverter) _obj, int enc, int platform, TClass(wxList) _lst );
+int        wxEncodingConverter_Init( TSelf(wxEncodingConverter) _obj, int input_enc, int output_enc, int method );
+
+/* wxEraseEvent */
+TClassDefExtend(wxEraseEvent,wxEvent)
+void       wxEraseEvent_CopyObject( TSelf(wxEraseEvent) _obj, void* obj );
+TClass(wxDC) wxEraseEvent_GetDC( TSelf(wxEraseEvent) _obj );
+
+/* wxEvent */
+TClassDefExtend(wxEvent,wxObject)
+void       wxEvent_CopyObject( TSelf(wxEvent) _obj, void* object_dest );
+TClass(wxObject) wxEvent_GetEventObject( TSelf(wxEvent) _obj );
+int        wxEvent_GetEventType( TSelf(wxEvent) _obj );
+int        wxEvent_GetId( TSelf(wxEvent) _obj );
+TBool      wxEvent_GetSkipped( TSelf(wxEvent) _obj );
+int        wxEvent_GetTimestamp( TSelf(wxEvent) _obj );
+TBool      wxEvent_IsCommandEvent( TSelf(wxEvent) _obj );
+int        wxEvent_NewEventType(  );
+void       wxEvent_SetEventObject( TSelf(wxEvent) _obj, TClass(wxObject) obj );
+void       wxEvent_SetEventType( TSelf(wxEvent) _obj, int typ );
+void       wxEvent_SetId( TSelf(wxEvent) _obj, int Id );
+void       wxEvent_SetTimestamp( TSelf(wxEvent) _obj, int ts );
+void       wxEvent_Skip( TSelf(wxEvent) _obj );
+
+/* wxEvtHandler */
+TClassDefExtend(wxEvtHandler,wxObject)
+void       wxEvtHandler_AddPendingEvent( TSelf(wxEvtHandler) _obj, TClass(wxEvent) event );
+int        wxEvtHandler_Connect( TSelf(wxEvtHandler) _obj, int first, int last, int type, void* data );
+TClass(wxEvtHandler) wxEvtHandler_Create(  );
+void       wxEvtHandler_Delete( TSelf(wxEvtHandler) _obj );
+int        wxEvtHandler_Disconnect( TSelf(wxEvtHandler) _obj, int first, int last, int type, int id );
+TBool      wxEvtHandler_GetEvtHandlerEnabled( TSelf(wxEvtHandler) _obj );
+TClass(wxEvtHandler) wxEvtHandler_GetNextHandler( TSelf(wxEvtHandler) _obj );
+TClass(wxEvtHandler) wxEvtHandler_GetPreviousHandler( TSelf(wxEvtHandler) _obj );
+int        wxEvtHandler_ProcessEvent( TSelf(wxEvtHandler) _obj, TClass(wxEvent) event );
+void       wxEvtHandler_ProcessPendingEvents( TSelf(wxEvtHandler) _obj );
+void       wxEvtHandler_SetEvtHandlerEnabled( TSelf(wxEvtHandler) _obj, TBool enabled );
+void       wxEvtHandler_SetNextHandler( TSelf(wxEvtHandler) _obj, TClass(wxEvtHandler) handler );
+void       wxEvtHandler_SetPreviousHandler( TSelf(wxEvtHandler) _obj, TClass(wxEvtHandler) handler );
+
+/* wxExpr */
+TClassDef(wxExpr)
+
+/* wxExprDatabase */
+TClassDefExtend(wxExprDatabase,wxList)
+
+/* wxFFile */
+TClassDef(wxFFile)
+
+/* wxFFileInputStream */
+TClassDefExtend(wxFFileInputStream,wxInputStream)
+
+/* wxFFileOutputStream */
+TClassDefExtend(wxFFileOutputStream,wxOutputStream)
+
+/* wxFSFile */
+TClassDefExtend(wxFSFile,wxObject)
+
+/* wxFTP */
+TClassDefExtend(wxFTP,wxProtocol)
+
+/* wxFileDataObject */
+TClassDefExtend(wxFileDataObject,wxDataObjectSimple)
+void       FileDataObject_AddFile( TSelf(wxFileDataObject) _obj, TClass(wxString) _fle );
+TClass(wxFileDataObject) FileDataObject_Create( TArrayString(_cnt, _lst) );
+void       FileDataObject_Delete( TSelf(wxFileDataObject) _obj );
+TArrayLen        FileDataObject_GetFilenames( TSelf(wxFileDataObject) _obj, TArrayStringOutVoid _lst );
+
+/* wxFileDialog */
+TClassDefExtend(wxFileDialog,wxDialog)
+TClass(wxFileDialog) wxFileDialog_Create( TClass(wxWindow) _prt, TClass(wxString) _msg, TClass(wxString) _dir, TClass(wxString) _fle, TClass(wxString) _wcd, TPoint(_lft,_top), int _stl );
+TClass(wxString) wxFileDialog_GetDirectory( TSelf(wxFileDialog) _obj );
+TClass(wxString) wxFileDialog_GetFilename( TSelf(wxFileDialog) _obj );
+TArrayLen  wxFileDialog_GetFilenames( TSelf(wxFileDialog) _obj, TArrayStringOutVoid paths );
+int        wxFileDialog_GetFilterIndex( TSelf(wxFileDialog) _obj );
+TClass(wxString) wxFileDialog_GetMessage( TSelf(wxFileDialog) _obj );
+TClass(wxString) wxFileDialog_GetPath( TSelf(wxFileDialog) _obj );
+TArrayLen  wxFileDialog_GetPaths( TSelf(wxFileDialog) _obj, TArrayStringOutVoid paths );
+int        wxFileDialog_GetStyle( TSelf(wxFileDialog) _obj );
+TClass(wxString) wxFileDialog_GetWildcard( TSelf(wxFileDialog) _obj );
+void       wxFileDialog_SetDirectory( TSelf(wxFileDialog) _obj, TClass(wxString) dir );
+void       wxFileDialog_SetFilename( TSelf(wxFileDialog) _obj, TClass(wxString) name );
+void       wxFileDialog_SetFilterIndex( TSelf(wxFileDialog) _obj, int filterIndex );
+void       wxFileDialog_SetMessage( TSelf(wxFileDialog) _obj, TClass(wxString) message );
+void       wxFileDialog_SetPath( TSelf(wxFileDialog) _obj, TClass(wxString) path );
+void       wxFileDialog_SetStyle( TSelf(wxFileDialog) _obj, int style );
+void       wxFileDialog_SetWildcard( TSelf(wxFileDialog) _obj, TClass(wxString) wildCard );
+
+/* wxFileDropTarget */
+TClassDefExtend(wxFileDropTarget,wxDropTarget)
+
+/* wxFileHistory */
+TClassDefExtend(wxFileHistory,wxObject)
+void       wxFileHistory_AddFileToHistory( TSelf(wxFileHistory) _obj, TClass(wxString) file );
+void       wxFileHistory_AddFilesToMenu( TSelf(wxFileHistory) _obj, TClass(wxMenu) menu );
+TClass(wxFileHistory) wxFileHistory_Create( int maxFiles );
+void       wxFileHistory_Delete( TSelf(wxFileHistory) _obj );
+int        wxFileHistory_GetCount( TSelf(wxFileHistory) _obj );
+TClass(wxString) wxFileHistory_GetHistoryFile( TSelf(wxFileHistory) _obj, int i );
+int        wxFileHistory_GetMaxFiles( TSelf(wxFileHistory) _obj );
+TArrayLen  wxFileHistory_GetMenus( TSelf(wxFileHistory) _obj, TArrayObjectOutVoid(wxMenu) _ref );
+void       wxFileHistory_Load( TSelf(wxFileHistory) _obj, TClass(wxConfigBase) config );
+void       wxFileHistory_RemoveFileFromHistory( TSelf(wxFileHistory) _obj, int i );
+void       wxFileHistory_RemoveMenu( TSelf(wxFileHistory) _obj, TClass(wxMenu) menu );
+void       wxFileHistory_Save( TSelf(wxFileHistory) _obj, TClass(wxConfigBase) config );
+void       wxFileHistory_UseMenu( TSelf(wxFileHistory) _obj, TClass(wxMenu) menu );
+
+/* wxFileInputStream */
+TClassDefExtend(wxFileInputStream,wxInputStream)
+
+/* wxFileName */
+TClassDef(wxFileName)
+
+/* wxFileOutputStream */
+TClassDefExtend(wxFileOutputStream,wxOutputStream)
+
+/* wxFileSystem */
+TClassDefExtend(wxFileSystem,wxObject)
+
+/* wxFileSystemHandler */
+TClassDefExtend(wxFileSystemHandler,wxObject)
+
+/* wxFileType */
+TClassDef(wxFileType)
+void       wxFileType_Delete( TSelf(wxFileType) _obj );
+TClass(wxString) wxFileType_ExpandCommand( TSelf(wxFileType) _obj, void* _cmd, void* _params );
+TClass(wxString) wxFileType_GetDescription( TSelf(wxFileType) _obj );
+int        wxFileType_GetExtensions( TSelf(wxFileType) _obj, TClass(wxList) _lst );
+int        wxFileType_GetIcon( TSelf(wxFileType) _obj, TClass(wxIcon) icon );
+TClass(wxString) wxFileType_GetMimeType( TSelf(wxFileType) _obj );
+int        wxFileType_GetMimeTypes( TSelf(wxFileType) _obj, TClass(wxList) _lst );
+int        wxFileType_GetOpenCommand( TSelf(wxFileType) _obj, void* _buf, void* _params );
+int        wxFileType_GetPrintCommand( TSelf(wxFileType) _obj, void* _buf, void* _params );
+
+/* wxFilterInputStream */
+TClassDefExtend(wxFilterInputStream,wxInputStream)
+
+/* wxFilterOutputStream */
+TClassDefExtend(wxFilterOutputStream,wxOutputStream)
+
+/* wxFindDialogEvent */
+TClassDefExtend(wxFindDialogEvent,wxCommandEvent)
+int        wxFindDialogEvent_GetFindString( TSelf(wxFindDialogEvent) _obj, void* _ref );
+int        wxFindDialogEvent_GetFlags( TSelf(wxFindDialogEvent) _obj );
+int        wxFindDialogEvent_GetReplaceString( TSelf(wxFindDialogEvent) _obj, void* _ref );
+
+/* wxFindReplaceData */
+TClassDefExtend(wxFindReplaceData,wxObject)
+TClass(wxFindReplaceData) wxFindReplaceData_Create( int flags );
+TClass(wxFindReplaceData) wxFindReplaceData_CreateDefault(  );
+void       wxFindReplaceData_Delete( TSelf(wxFindReplaceData) _obj );
+TClass(wxString) wxFindReplaceData_GetFindString( TSelf(wxFindReplaceData) _obj );
+int        wxFindReplaceData_GetFlags( TSelf(wxFindReplaceData) _obj );
+TClass(wxString) wxFindReplaceData_GetReplaceString( TSelf(wxFindReplaceData) _obj );
+void       wxFindReplaceData_SetFindString( TSelf(wxFindReplaceData) _obj, TClass(wxString) str );
+void       wxFindReplaceData_SetFlags( TSelf(wxFindReplaceData) _obj, int flags );
+void       wxFindReplaceData_SetReplaceString( TSelf(wxFindReplaceData) _obj, TClass(wxString) str );
+
+/* wxFindReplaceDialog */
+TClassDefExtend(wxFindReplaceDialog,wxDialog)
+TClass(wxFindReplaceDialog) wxFindReplaceDialog_Create( TClass(wxWindow) parent, TClass(wxFindReplaceData) data, TClass(wxString) title, int style );
+TClass(wxFindReplaceData)   wxFindReplaceDialog_GetData( TSelf(wxFindReplaceDialog) _obj );
+void       wxFindReplaceDialog_SetData( TSelf(wxFindReplaceDialog) _obj, TClass(wxFindReplaceData) data );
+
+/* wxFlexGridSizer */
+TClassDefExtend(wxFlexGridSizer,wxGridSizer)
+void       wxFlexGridSizer_AddGrowableCol( TSelf(wxFlexGridSizer) _obj, size_t idx );
+void       wxFlexGridSizer_AddGrowableRow( TSelf(wxFlexGridSizer) _obj, size_t idx );
+void       wxFlexGridSizer_CalcMin( TSelf(wxFlexGridSizer) _obj, TSizeOutVoid(_w,_h) );
+TClass(wxFlexGridSizer) wxFlexGridSizer_Create( int rows, int cols, int vgap, int hgap );
+void       wxFlexGridSizer_RecalcSizes( TSelf(wxFlexGridSizer) _obj );
+void       wxFlexGridSizer_RemoveGrowableCol( TSelf(wxFlexGridSizer) _obj, size_t idx );
+void       wxFlexGridSizer_RemoveGrowableRow( TSelf(wxFlexGridSizer) _obj, size_t idx );
+
+/* wxFocusEvent */
+TClassDefExtend(wxFocusEvent,wxEvent)
+
+/* wxFont */
+TClassDefExtend(wxFont,wxGDIObject)
+TClass(wxFont) wxFont_Create( int pointSize, int family, int style, int weight, TBool underlined, TClass(wxString) face, int enc );
+TClass(wxFont) wxFont_CreateFromStock( int id );
+TClass(wxFont) wxFont_CreateDefault(  );
+void       wxFont_Delete( TSelf(wxFont) _obj );
+int        wxFont_GetDefaultEncoding( TSelf(wxFont) _obj );
+int        wxFont_GetEncoding( TSelf(wxFont) _obj );
+TClass(wxString) wxFont_GetFaceName( TSelf(wxFont) _obj );
+int        wxFont_GetFamily( TSelf(wxFont) _obj );
+TClass(wxString) wxFont_GetFamilyString( TSelf(wxFont) _obj );
+int        wxFont_GetPointSize( TSelf(wxFont) _obj );
+int        wxFont_GetStyle( TSelf(wxFont) _obj );
+TClass(wxString) wxFont_GetStyleString( TSelf(wxFont) _obj );
+int        wxFont_GetUnderlined( TSelf(wxFont) _obj );
+int        wxFont_GetWeight( TSelf(wxFont) _obj );
+TClass(wxString) wxFont_GetWeightString( TSelf(wxFont) _obj );
+TBool      wxFont_IsOk( TSelf(wxFont) _obj );
+void       wxFont_SetDefaultEncoding( TSelf(wxFont) _obj, int encoding );
+void       wxFont_SetEncoding( TSelf(wxFont) _obj, int encoding );
+void       wxFont_SetFaceName( TSelf(wxFont) _obj, TClass(wxString) faceName );
+void       wxFont_SetFamily( TSelf(wxFont) _obj, int family );
+void       wxFont_SetPointSize( TSelf(wxFont) _obj, int pointSize );
+void       wxFont_SetStyle( TSelf(wxFont) _obj, int style );
+void       wxFont_SetUnderlined( TSelf(wxFont) _obj, int underlined );
+void       wxFont_SetWeight( TSelf(wxFont) _obj, int weight );
+
+/* wxFontData */
+TClassDefExtend(wxFontData,wxObject)
+TClass(wxFontData) wxFontData_Create(  );
+void       wxFontData_Delete( TSelf(wxFontData) _obj );
+void       wxFontData_EnableEffects( TSelf(wxFontData) _obj, TBool flag );
+TBool      wxFontData_GetAllowSymbols( TSelf(wxFontData) _obj );
+void       wxFontData_GetChosenFont( TSelf(wxFontData) _obj, TClassRef(wxFont) ref );
+void       wxFontData_GetColour( TSelf(wxFontData) _obj, TClassRef(wxColour) _ref );
+TBool      wxFontData_GetEnableEffects( TSelf(wxFontData) _obj );
+int        wxFontData_GetEncoding( TSelf(wxFontData) _obj );
+void       wxFontData_GetInitialFont( TSelf(wxFontData) _obj, TClassRef(wxFont) ref );
+int        wxFontData_GetShowHelp( TSelf(wxFontData) _obj );
+void       wxFontData_SetAllowSymbols( TSelf(wxFontData) _obj, TBool flag );
+void       wxFontData_SetChosenFont( TSelf(wxFontData) _obj, TClass(wxFont) font );
+void       wxFontData_SetColour( TSelf(wxFontData) _obj, TClass(wxColour) colour );
+void       wxFontData_SetEncoding( TSelf(wxFontData) _obj, int encoding );
+void       wxFontData_SetInitialFont( TSelf(wxFontData) _obj, TClass(wxFont) font );
+void       wxFontData_SetRange( TSelf(wxFontData) _obj, int minRange, int maxRange );
+void       wxFontData_SetShowHelp( TSelf(wxFontData) _obj, TBool flag );
+
+/* wxFontDialog */
+TClassDefExtend(wxFontDialog,wxDialog)
+TClass(wxFontDialog) wxFontDialog_Create( TClass(wxWindow) _prt, TClass(wxFontData) fnt );
+void       wxFontDialog_GetFontData( TSelf(wxFontDialog) _obj, TClassRef(wxFontData) _ref );
+
+/* wxFontEnumerator */
+TClassDef(wxFontEnumerator)
+TClass(wxFontEnumerator) wxFontEnumerator_Create( void* _obj, void* _fnc );
+void       wxFontEnumerator_Delete( TSelf(wxFontEnumerator) _obj );
+TBool      wxFontEnumerator_EnumerateEncodings( TSelf(wxFontEnumerator) _obj, TClass(wxString) facename );
+TBool      wxFontEnumerator_EnumerateFacenames( TSelf(wxFontEnumerator) _obj, int encoding, int fixedWidthOnly );
+
+/* wxFontList */
+TClassDefExtend(wxFontList,wxList)
+
+/* wxFontMapper */
+TClassDef(wxFontMapper)
+TClass(wxFontMapper) wxFontMapper_Create(  );
+TBool wxFontMapper_GetAltForEncoding( TSelf(wxFontMapper) _obj, int encoding, void* alt_encoding, TClass(wxString) _buf );
+TBool wxFontMapper_IsEncodingAvailable( TSelf(wxFontMapper) _obj, int encoding, TClass(wxString) _buf );
+
+/* wxFrame */
+TClassDefExtend(wxFrame,wxTopLevelWindow)
+TClass(wxFrame) wxFrame_Create( TClass(wxWindow) _prt, int _id, TClass(wxString) _txt, TRect(_lft,_top,_wdt,_hgt), int _stl );
+TClass(wxStatusBar) wxFrame_CreateStatusBar( TSelf(wxFrame) _obj, int number, int style );
+TClass(wxToolBar)   wxFrame_CreateToolBar( TSelf(wxFrame) _obj, long style );
+int        wxFrame_GetClientAreaOrigin_left( TSelf(wxFrame) _obj );
+int        wxFrame_GetClientAreaOrigin_top( TSelf(wxFrame) _obj );
+TClass(wxMenuBar) wxFrame_GetMenuBar( TSelf(wxFrame) _obj );
+TClass(wxStatusBar) wxFrame_GetStatusBar( TSelf(wxFrame) _obj );
+TClass(wxToolBar) wxFrame_GetToolBar( TSelf(wxFrame) _obj );
+void       wxFrame_Restore( TSelf(wxFrame) _obj );
+void       wxFrame_SetMenuBar( TSelf(wxFrame) _obj, TClass(wxMenuBar) menubar );
+void       wxFrame_SetStatusBar( TSelf(wxFrame) _obj, TClass(wxStatusBar) statBar );
+void       wxFrame_SetStatusText( TSelf(wxFrame) _obj, TClass(wxString) _txt, int _number );
+void       wxFrame_SetStatusWidths( TSelf(wxFrame) _obj, int _n, void* _widths_field );
+void       wxFrame_SetToolBar( TSelf(wxFrame) _obj, TClass(wxToolBar) _toolbar );
+
+/* wxFrameLayout */
+TClassDefExtend(wxFrameLayout,wxEvtHandler)
+void       wxFrameLayout_Activate( TSelf(wxFrameLayout) _obj );
+void       wxFrameLayout_AddBar( TSelf(wxFrameLayout) _obj, void* pBarWnd, void* dimInfo, int alignment, int rowNo, int columnPos, TStringVoid name, int spyEvents, int state );
+void       wxFrameLayout_AddPlugin( TSelf(wxFrameLayout) _obj, void* pPlInfo, int paneMask );
+void       wxFrameLayout_AddPluginBefore( TSelf(wxFrameLayout) _obj, void* pNextPlInfo, void* pPlInfo, int paneMask );
+void       wxFrameLayout_ApplyBarProperties( TSelf(wxFrameLayout) _obj, void* pBar );
+void       wxFrameLayout_CaptureEventsForPane( TSelf(wxFrameLayout) _obj, void* toPane );
+void       wxFrameLayout_CaptureEventsForPlugin( TSelf(wxFrameLayout) _obj, void* pPlugin );
+TClass(wxFrameLayout) wxFrameLayout_Create( void* pParentFrame, void* pFrameClient, int activateNow );
+void       wxFrameLayout_Deactivate( TSelf(wxFrameLayout) _obj );
+void       wxFrameLayout_Delete( TSelf(wxFrameLayout) _obj );
+void       wxFrameLayout_DestroyBarWindows( TSelf(wxFrameLayout) _obj );
+void       wxFrameLayout_EnableFloating( TSelf(wxFrameLayout) _obj, TBool enable );
+void*      wxFrameLayout_FindBarByName( TSelf(wxFrameLayout) _obj, TStringVoid name );
+void*      wxFrameLayout_FindBarByWindow( TSelf(wxFrameLayout) _obj, void* pWnd );
+void*      wxFrameLayout_FindPlugin( TSelf(wxFrameLayout) _obj, void* pPlInfo );
+void       wxFrameLayout_FirePluginEvent( TSelf(wxFrameLayout) _obj, TClass(wxEvent) event );
+int        wxFrameLayout_GetBars( TSelf(wxFrameLayout) _obj, void* _ref );
+int        wxFrameLayout_GetClientHeight( TSelf(wxFrameLayout) _obj );
+void       wxFrameLayout_GetClientRect( TSelf(wxFrameLayout) _obj, TRectOutVoid(_x,_y,_w,_h) );
+int        wxFrameLayout_GetClientWidth( TSelf(wxFrameLayout) _obj );
+void*      wxFrameLayout_GetFrameClient( TSelf(wxFrameLayout) _obj );
+void*      wxFrameLayout_GetPane( TSelf(wxFrameLayout) _obj, int alignment );
+void       wxFrameLayout_GetPaneProperties( TSelf(wxFrameLayout) _obj, void* props, int alignment );
+void*      wxFrameLayout_GetParentFrame( TSelf(wxFrameLayout) _obj );
+void*      wxFrameLayout_GetTopPlugin( TSelf(wxFrameLayout) _obj );
+void*      wxFrameLayout_GetUpdatesManager( TSelf(wxFrameLayout) _obj );
+TBool      wxFrameLayout_HasTopPlugin( TSelf(wxFrameLayout) _obj );
+void       wxFrameLayout_HideBarWindows( TSelf(wxFrameLayout) _obj );
+void       wxFrameLayout_InverseVisibility( TSelf(wxFrameLayout) _obj, void* pBar );
+void       wxFrameLayout_OnLButtonDown( TSelf(wxFrameLayout) _obj, TClass(wxEvent) event );
+void       wxFrameLayout_OnLButtonUp( TSelf(wxFrameLayout) _obj, TClass(wxEvent) event );
+void       wxFrameLayout_OnLDblClick( TSelf(wxFrameLayout) _obj, TClass(wxEvent) event );
+void       wxFrameLayout_OnMouseMove( TSelf(wxFrameLayout) _obj, TClass(wxEvent) event );
+void       wxFrameLayout_OnRButtonDown( TSelf(wxFrameLayout) _obj, TClass(wxEvent) event );
+void       wxFrameLayout_OnRButtonUp( TSelf(wxFrameLayout) _obj, TClass(wxEvent) event );
+void       wxFrameLayout_OnSize( TSelf(wxFrameLayout) _obj, TClass(wxEvent) event );
+void       wxFrameLayout_PopAllPlugins( TSelf(wxFrameLayout) _obj );
+void       wxFrameLayout_PopPlugin( TSelf(wxFrameLayout) _obj );
+void       wxFrameLayout_PushDefaultPlugins( TSelf(wxFrameLayout) _obj );
+void       wxFrameLayout_PushPlugin( TSelf(wxFrameLayout) _obj, void* pPugin );
+void       wxFrameLayout_RecalcLayout( TSelf(wxFrameLayout) _obj, int repositionBarsNow );
+int        wxFrameLayout_RedockBar( TSelf(wxFrameLayout) _obj, void* pBar, TRect(x,y,w,h), void* pToPane, int updateNow );
+void       wxFrameLayout_RefreshNow( TSelf(wxFrameLayout) _obj, int recalcLayout );
+void       wxFrameLayout_ReleaseEventsFromPane( TSelf(wxFrameLayout) _obj, void* fromPane );
+void       wxFrameLayout_ReleaseEventsFromPlugin( TSelf(wxFrameLayout) _obj, void* pPlugin );
+void       wxFrameLayout_RemoveBar( TSelf(wxFrameLayout) _obj, void* pBar );
+void       wxFrameLayout_RemovePlugin( TSelf(wxFrameLayout) _obj, void* pPlInfo );
+void       wxFrameLayout_SetBarState( TSelf(wxFrameLayout) _obj, void* pBar, int newStatem, int updateNow );
+void       wxFrameLayout_SetFrameClient( TSelf(wxFrameLayout) _obj, void* pFrameClient );
+void       wxFrameLayout_SetMargins( TSelf(wxFrameLayout) _obj, int top, int bottom, int left, int right, int paneMask );
+void       wxFrameLayout_SetPaneBackground( TSelf(wxFrameLayout) _obj, TClass(wxColour) colour );
+void       wxFrameLayout_SetPaneProperties( TSelf(wxFrameLayout) _obj, void* props, int paneMask );
+void       wxFrameLayout_SetTopPlugin( TSelf(wxFrameLayout) _obj, void* pPlugin );
+void       wxFrameLayout_SetUpdatesManager( TSelf(wxFrameLayout) _obj, void* pUMgr );
+
+/* wxGDIObject */
+TClassDefExtend(wxGDIObject,wxObject)
+
+/* wxGLCanvas */
+TClassDefExtend(wxGLCanvas,wxScrolledWindow)
+
+/* wxGauge */
+TClassDefExtend(wxGauge,wxControl)
+TClass(wxGauge) wxGauge_Create( TClass(wxWindow) _prt, int _id, int _rng, TRect(_lft,_top,_wdt,_hgt), int _stl );
+int        wxGauge_GetBezelFace( TSelf(wxGauge) _obj );
+int        wxGauge_GetRange( TSelf(wxGauge) _obj );
+int        wxGauge_GetShadowWidth( TSelf(wxGauge) _obj );
+int        wxGauge_GetValue( TSelf(wxGauge) _obj );
+void       wxGauge_SetBezelFace( TSelf(wxGauge) _obj, int w );
+void       wxGauge_SetRange( TSelf(wxGauge) _obj, int r );
+void       wxGauge_SetShadowWidth( TSelf(wxGauge) _obj, int w );
+void       wxGauge_SetValue( TSelf(wxGauge) _obj, int pos );
+
+/* wxGenericDirCtrl */
+TClassDefExtend(wxGenericDirCtrl,wxControl)
+
+/* wxGenericValidator */
+TClassDefExtend(wxGenericValidator,wxValidator)
+
+/* wxGrid */
+TClassDefExtend(wxGrid,wxScrolledWindow)
+TBool      wxGrid_AppendCols( TSelf(wxGrid) _obj, int numCols, TBool updateLabels );
+TBool      wxGrid_AppendRows( TSelf(wxGrid) _obj, int numRows, TBool updateLabels );
+void       wxGrid_AutoSize( TSelf(wxGrid) _obj );
+void       wxGrid_AutoSizeColumn( TSelf(wxGrid) _obj, int col, TBoolInt setAsMin );
+void       wxGrid_AutoSizeColumns( TSelf(wxGrid) _obj, TBoolInt setAsMin );
+void       wxGrid_AutoSizeRow( TSelf(wxGrid) _obj, int row, TBoolInt setAsMin );
+void       wxGrid_AutoSizeRows( TSelf(wxGrid) _obj, TBoolInt setAsMin );
+void       wxGrid_BeginBatch( TSelf(wxGrid) _obj );
+void       wxGrid_BlockToDeviceRect( TSelf(wxGrid) _obj, int top, int left, int bottom, int right, TRectOut(_x,_y,_w,_h) );
+void       wxGrid_CalcCellsExposed( TSelf(wxGrid) _obj, TClass(wxRegion) reg );
+void       wxGrid_CalcColLabelsExposed( TSelf(wxGrid) _obj, TClass(wxRegion) reg );
+void       wxGrid_CalcRowLabelsExposed( TSelf(wxGrid) _obj, TClass(wxRegion) reg );
+TBool      wxGrid_CanDragColSize( TSelf(wxGrid) _obj );
+TBool      wxGrid_CanDragGridSize( TSelf(wxGrid) _obj );
+TBool      wxGrid_CanDragRowSize( TSelf(wxGrid) _obj );
+TBool      wxGrid_CanEnableCellControl( TSelf(wxGrid) _obj );
+void       wxGrid_CellToRect( TSelf(wxGrid) _obj, int row, int col, TRectOut(_x,_y,_w,_h) );
+void       wxGrid_ClearGrid( TSelf(wxGrid) _obj );
+void       wxGrid_ClearSelection( TSelf(wxGrid) _obj );
+TClass(wxGrid) wxGrid_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
+void       wxGrid_CreateGrid( TSelf(wxGrid) _obj, int rows, int cols, int selmode );
+TBool      wxGrid_DeleteCols( TSelf(wxGrid) _obj, int pos, int numCols, TBool updateLabels );
+TBool      wxGrid_DeleteRows( TSelf(wxGrid) _obj, int pos, int numRows, TBool updateLabels );
+void       wxGrid_DisableCellEditControl( TSelf(wxGrid) _obj );
+void       wxGrid_DisableDragColSize( TSelf(wxGrid) _obj );
+void       wxGrid_DisableDragGridSize( TSelf(wxGrid) _obj );
+void       wxGrid_DisableDragRowSize( TSelf(wxGrid) _obj );
+void       wxGrid_DoEndDragResizeCol( TSelf(wxGrid) _obj );
+void       wxGrid_DoEndDragResizeRow( TSelf(wxGrid) _obj );
+void       wxGrid_DrawAllGridLines( TSelf(wxGrid) _obj, TClass(wxDC) dc, TClass(wxRegion) reg );
+void       wxGrid_DrawCell( TSelf(wxGrid) _obj, TClass(wxDC) dc, int _row, int _col );
+void       wxGrid_DrawCellBorder( TSelf(wxGrid) _obj, TClass(wxDC) dc, int _row, int _col );
+void       wxGrid_DrawCellHighlight( TSelf(wxGrid) _obj, TClass(wxDC) dc, TClass(wxGridCellAttr) attr );
+void       wxGrid_DrawColLabel( TSelf(wxGrid) _obj, TClass(wxDC) dc, int col );
+void       wxGrid_DrawColLabels( TSelf(wxGrid) _obj, TClass(wxDC) dc );
+void       wxGrid_DrawGridCellArea( TSelf(wxGrid) _obj, TClass(wxDC) dc );
+void       wxGrid_DrawGridSpace( TSelf(wxGrid) _obj, TClass(wxDC) dc );
+void       wxGrid_DrawHighlight( TSelf(wxGrid) _obj, TClass(wxDC) dc );
+void       wxGrid_DrawRowLabel( TSelf(wxGrid) _obj, TClass(wxDC) dc, int row );
+void       wxGrid_DrawRowLabels( TSelf(wxGrid) _obj, TClass(wxDC) dc );
+void       wxGrid_DrawTextRectangle( TSelf(wxGrid) _obj, TClass(wxDC) dc, TClass(wxString) txt, TRect(x,y,w,h), int horizontalAlignment, int verticalAlignment );
+void       wxGrid_EnableCellEditControl( TSelf(wxGrid) _obj, TBool enable );
+void       wxGrid_EnableDragColSize( TSelf(wxGrid) _obj, TBool enable );
+void       wxGrid_EnableDragGridSize( TSelf(wxGrid) _obj, TBool enable );
+void       wxGrid_EnableDragRowSize( TSelf(wxGrid) _obj, TBool enable );
+void       wxGrid_EnableEditing( TSelf(wxGrid) _obj, TBoolInt edit );
+void       wxGrid_EnableGridLines( TSelf(wxGrid) _obj, TBool enable );
+void       wxGrid_EndBatch( TSelf(wxGrid) _obj );
+int        wxGrid_GetBatchCount( TSelf(wxGrid) _obj );
+void       wxGrid_GetCellAlignment( TSelf(wxGrid) _obj, int row, int col, TSizeOut(horiz, vert) );
+void       wxGrid_GetCellBackgroundColour( TSelf(wxGrid) _obj, int row, int col, TClass(wxColour) colour );
+TClass(wxGridCellEditor) wxGrid_GetCellEditor( TSelf(wxGrid) _obj, int row, int col );
+void       wxGrid_GetCellFont( TSelf(wxGrid) _obj, int row, int col, TClass(wxFont) font );
+void       wxGrid_GetCellHighlightColour( TSelf(wxGrid) _obj, TClassRef(wxColour) _ref );
+TClass(wxGridCellRenderer) wxGrid_GetCellRenderer( TSelf(wxGrid) _obj, int row, int col );
+void       wxGrid_GetCellTextColour( TSelf(wxGrid) _obj, int row, int col, TClass(wxColour) colour );
+TClass(wxString) wxGrid_GetCellValue( TSelf(wxGrid) _obj, int row, int col );
+void       wxGrid_GetColLabelAlignment( TSelf(wxGrid) _obj, TSizeOut(horiz, vert)  );
+int        wxGrid_GetColLabelSize( TSelf(wxGrid) _obj );
+TClass(wxString) wxGrid_GetColLabelValue( TSelf(wxGrid) _obj, int col );
+int        wxGrid_GetColSize( TSelf(wxGrid) _obj, int col );
+void       wxGrid_GetDefaultCellAlignment( TSelf(wxGrid) _obj, TSizeOut(horiz, vert)  );
+void       wxGrid_GetDefaultCellBackgroundColour( TSelf(wxGrid) _obj, TClassRef(wxColour) _ref );
+void       wxGrid_GetDefaultCellFont( TSelf(wxGrid) _obj, TClassRef(wxFont) _ref );
+void       wxGrid_GetDefaultCellTextColour( TSelf(wxGrid) _obj, TClassRef(wxColour) _ref );
+int        wxGrid_GetDefaultColLabelSize( TSelf(wxGrid) _obj );
+int        wxGrid_GetDefaultColSize( TSelf(wxGrid) _obj );
+TClass(wxGridCellEditor) wxGrid_GetDefaultEditor( TSelf(wxGrid) _obj );
+TClass(wxGridCellEditor) wxGrid_GetDefaultEditorForCell( TSelf(wxGrid) _obj, int row, int col );
+TClass(wxGridCellEditor) wxGrid_GetDefaultEditorForType( TSelf(wxGrid) _obj, TClass(wxString) typeName );
+TClass(wxGridCellRenderer) wxGrid_GetDefaultRenderer( TSelf(wxGrid) _obj );
+TClass(wxGridCellRenderer) wxGrid_GetDefaultRendererForCell( TSelf(wxGrid) _obj, int row, int col );
+TClass(wxGridCellRenderer) wxGrid_GetDefaultRendererForType( TSelf(wxGrid) _obj, TClass(wxString) typeName );
+int        wxGrid_GetDefaultRowLabelSize( TSelf(wxGrid) _obj );
+int        wxGrid_GetDefaultRowSize( TSelf(wxGrid) _obj );
+int        wxGrid_GetGridCursorCol( TSelf(wxGrid) _obj );
+int        wxGrid_GetGridCursorRow( TSelf(wxGrid) _obj );
+void       wxGrid_GetGridLineColour( TSelf(wxGrid) _obj, TClassRef(wxColour) _ref );
+void       wxGrid_GetLabelBackgroundColour( TSelf(wxGrid) _obj, TClassRef(wxColour) _ref );
+void       wxGrid_GetLabelFont( TSelf(wxGrid) _obj, TClassRef(wxFont) _ref );
+void       wxGrid_GetLabelTextColour( TSelf(wxGrid) _obj, TClassRef(wxColour) _ref );
+int        wxGrid_GetNumberCols( TSelf(wxGrid) _obj );
+int        wxGrid_GetNumberRows( TSelf(wxGrid) _obj );
+void       wxGrid_GetRowLabelAlignment( TSelf(wxGrid) _obj, TSizeOut(horiz,vert) );
+int        wxGrid_GetRowLabelSize( TSelf(wxGrid) _obj );
+TClass(wxString) wxGrid_GetRowLabelValue( TSelf(wxGrid) _obj, int row );
+int        wxGrid_GetRowSize( TSelf(wxGrid) _obj, int row );
+void       wxGrid_GetSelectionBackground( TSelf(wxGrid) _obj, TClassRef(wxColour) _ref );
+void       wxGrid_GetSelectionForeground( TSelf(wxGrid) _obj, TClassRef(wxColour) _ref );
+TClass(wxGridTableBase) wxGrid_GetTable( TSelf(wxGrid) _obj );
+void       wxGrid_GetTextBoxSize( TSelf(wxGrid) _obj, TClass(wxDC) dc, TArrayString(count,lines), TSizeOutVoid(_w,_h) );
+int        wxGrid_GridLinesEnabled( TSelf(wxGrid) _obj );
+void       wxGrid_HideCellEditControl( TSelf(wxGrid) _obj );
+TBool      wxGrid_InsertCols( TSelf(wxGrid) _obj, int pos, int numCols, TBool updateLabels );
+TBool      wxGrid_InsertRows( TSelf(wxGrid) _obj, int pos, int numRows, TBool updateLabels );
+TBool      wxGrid_IsCellEditControlEnabled( TSelf(wxGrid) _obj );
+TBool      wxGrid_IsCellEditControlShown( TSelf(wxGrid) _obj );
+TBool      wxGrid_IsCurrentCellReadOnly( TSelf(wxGrid) _obj );
+TBool      wxGrid_IsEditable( TSelf(wxGrid) _obj );
+TBool      wxGrid_IsInSelection( TSelf(wxGrid) _obj, int row, int col );
+TBool      wxGrid_IsReadOnly( TSelf(wxGrid) _obj, int row, int col );
+TBool      wxGrid_IsSelection( TSelf(wxGrid) _obj );
+TBool      wxGrid_IsVisible( TSelf(wxGrid) _obj, int row, int col, TBool wholeCellVisible );
+void       wxGrid_MakeCellVisible( TSelf(wxGrid) _obj, int row, int col );
+TBool      wxGrid_MoveCursorDown( TSelf(wxGrid) _obj, TBool expandSelection );
+TBool      wxGrid_MoveCursorDownBlock( TSelf(wxGrid) _obj, TBool expandSelection );
+TBool      wxGrid_MoveCursorLeft( TSelf(wxGrid) _obj, TBool expandSelection );
+TBool      wxGrid_MoveCursorLeftBlock( TSelf(wxGrid) _obj, TBool expandSelection );
+TBool      wxGrid_MoveCursorRight( TSelf(wxGrid) _obj, TBool expandSelection );
+TBool      wxGrid_MoveCursorRightBlock( TSelf(wxGrid) _obj, TBool expandSelection );
+TBool      wxGrid_MoveCursorUp( TSelf(wxGrid) _obj, TBool expandSelection );
+TBool      wxGrid_MoveCursorUpBlock( TSelf(wxGrid) _obj, TBool expandSelection );
+TBool      wxGrid_MovePageDown( TSelf(wxGrid) _obj );
+TBool      wxGrid_MovePageUp( TSelf(wxGrid) _obj );
+void       wxGrid_ProcessColLabelMouseEvent( TSelf(wxGrid) _obj, TClass(wxMouseEvent) event );
+void       wxGrid_ProcessCornerLabelMouseEvent( TSelf(wxGrid) _obj, TClass(wxMouseEvent) event );
+void       wxGrid_ProcessGridCellMouseEvent( TSelf(wxGrid) _obj, TClass(wxMouseEvent) event );
+void       wxGrid_ProcessRowLabelMouseEvent( TSelf(wxGrid) _obj, TClass(wxMouseEvent) event );
+TBool      wxGrid_ProcessTableMessage( TSelf(wxGrid) _obj, TClass(wxEvent) evt );
+void       wxGrid_RegisterDataType( TSelf(wxGrid) _obj, TClass(wxString) typeName, TClass(wxGridCellRenderer) renderer, TClass(wxGridCellEditor) editor );
+void       wxGrid_SaveEditControlValue( TSelf(wxGrid) _obj );
+void       wxGrid_SelectAll( TSelf(wxGrid) _obj );
+void       wxGrid_SelectBlock( TSelf(wxGrid) _obj, int topRow, int leftCol, int bottomRow, int rightCol, TBoolInt addToSelected );
+void       wxGrid_SelectCol( TSelf(wxGrid) _obj, int col, TBoolInt addToSelected );
+void       wxGrid_SelectRow( TSelf(wxGrid) _obj, int row, TBoolInt addToSelected );
+void       wxGrid_SetCellAlignment( TSelf(wxGrid) _obj, int row, int col, int horiz, int vert );
+void       wxGrid_SetCellBackgroundColour( TSelf(wxGrid) _obj, int row, int col, TClass(wxColour) colour );
+void       wxGrid_SetCellEditor( TSelf(wxGrid) _obj, int row, int col, TClass(wxGridCellEditor) editor );
+void       wxGrid_SetCellFont( TSelf(wxGrid) _obj, int row, int col, TClass(wxFont) font );
+void       wxGrid_SetCellHighlightColour( TSelf(wxGrid) _obj, TClass(wxColour) col );
+void       wxGrid_SetCellRenderer( TSelf(wxGrid) _obj, int row, int col, TClass(wxGridCellRenderer) renderer );
+void       wxGrid_SetCellTextColour( TSelf(wxGrid) _obj, int row, int col, TClass(wxColour) colour );
+void       wxGrid_SetCellValue( TSelf(wxGrid) _obj, int row, int col, TClass(wxString) s );
+void       wxGrid_SetColAttr( TSelf(wxGrid) _obj, int col, TClass(wxGridCellAttr) attr );
+void       wxGrid_SetColFormatBool( TSelf(wxGrid) _obj, int col );
+void       wxGrid_SetColFormatCustom( TSelf(wxGrid) _obj, int col, TClass(wxString) typeName );
+void       wxGrid_SetColFormatFloat( TSelf(wxGrid) _obj, int col, int width, int precision );
+void       wxGrid_SetColFormatNumber( TSelf(wxGrid) _obj, int col );
+void       wxGrid_SetColLabelAlignment( TSelf(wxGrid) _obj, int horiz, int vert );
+void       wxGrid_SetColLabelSize( TSelf(wxGrid) _obj, int height );
+void       wxGrid_SetColLabelValue( TSelf(wxGrid) _obj, int col, TClass(wxString) label );
+void       wxGrid_SetColMinimalWidth( TSelf(wxGrid) _obj, int col, int width );
+void       wxGrid_SetColSize( TSelf(wxGrid) _obj, int col, int width );
+void       wxGrid_SetDefaultCellAlignment( TSelf(wxGrid) _obj, int horiz, int vert );
+void       wxGrid_SetDefaultCellBackgroundColour( TSelf(wxGrid) _obj, TClass(wxColour) colour );
+void       wxGrid_SetDefaultCellFont( TSelf(wxGrid) _obj, TClass(wxFont) font );
+void       wxGrid_SetDefaultCellTextColour( TSelf(wxGrid) _obj, TClass(wxColour) colour );
+void       wxGrid_SetDefaultColSize( TSelf(wxGrid) _obj, int width, TBoolInt resizeExistingCols );
+void       wxGrid_SetDefaultEditor( TSelf(wxGrid) _obj, TClass(wxGridCellEditor) editor );
+void       wxGrid_SetDefaultRenderer( TSelf(wxGrid) _obj, TClass(wxGridCellRenderer) renderer );
+void       wxGrid_SetDefaultRowSize( TSelf(wxGrid) _obj, int height, TBoolInt resizeExistingRows );
+void       wxGrid_SetGridCursor( TSelf(wxGrid) _obj, int row, int col );
+void       wxGrid_SetGridLineColour( TSelf(wxGrid) _obj, TClass(wxColour) col );
+void       wxGrid_SetLabelBackgroundColour( TSelf(wxGrid) _obj, TClass(wxColour) colour );
+void       wxGrid_SetLabelFont( TSelf(wxGrid) _obj, TClass(wxFont) font );
+void       wxGrid_SetLabelTextColour( TSelf(wxGrid) _obj, TClass(wxColour) colour );
+void       wxGrid_SetMargins( TSelf(wxGrid) _obj, int extraWidth, int extraHeight );
+void       wxGrid_SetReadOnly( TSelf(wxGrid) _obj, int row, int col, TBool isReadOnly );
+void       wxGrid_SetRowAttr( TSelf(wxGrid) _obj, int row, TClass(wxGridCellAttr) attr );
+void       wxGrid_SetRowLabelAlignment( TSelf(wxGrid) _obj, int horiz, int vert );
+void       wxGrid_SetRowLabelSize( TSelf(wxGrid) _obj, int width );
+void       wxGrid_SetRowLabelValue( TSelf(wxGrid) _obj, int row, TClass(wxString) label );
+void       wxGrid_SetRowMinimalHeight( TSelf(wxGrid) _obj, int row, int width );
+void       wxGrid_SetRowSize( TSelf(wxGrid) _obj, int row, int height );
+void       wxGrid_SetSelectionBackground( TSelf(wxGrid) _obj, TClass(wxColour) c );
+void       wxGrid_SetSelectionForeground( TSelf(wxGrid) _obj, TClass(wxColour) c );
+void       wxGrid_SetSelectionMode( TSelf(wxGrid) _obj, int selmode );
+TBool     wxGrid_SetTable( TSelf(wxGrid) _obj, TClass(wxGridTableBase) table, TBool takeOwnership, int selmode );
+void       wxGrid_ShowCellEditControl( TSelf(wxGrid) _obj );
+int        wxGrid_StringToLines( TSelf(wxGrid) _obj, TClass(wxString) value, void* lines );
+int        wxGrid_XToCol( TSelf(wxGrid) _obj, int x );
+int        wxGrid_XToEdgeOfCol( TSelf(wxGrid) _obj, int x );
+void       wxGrid_XYToCell( TSelf(wxGrid) _obj, TPoint(x,y), TPointOut(row,col) );
+int        wxGrid_YToEdgeOfRow( TSelf(wxGrid) _obj, int y );
+int        wxGrid_YToRow( TSelf(wxGrid) _obj, int y );
+void       wxGrid_NewCalcCellsExposed( TSelf(wxGrid) _obj, TClass(wxRegion) reg, TClassRef(wxGridCellCoordsArray) arr );
+void       wxGrid_NewDrawGridCellArea( TSelf(wxGrid) _obj, TClass(wxDC) dc, TClass(wxGridCellCoordsArray) arr );
+void       wxGrid_NewDrawHighlight( TSelf(wxGrid) _obj, TClass(wxDC) dc, TClass(wxGridCellCoordsArray) arr );
+void       wxGrid_GetSelectedCells(TSelf(wxGrid) _obj, TClassRef(wxGridCellCoordsArray) _arr);
+void       wxGrid_GetSelectionBlockTopLeft(TSelf(wxGrid) _obj, TClassRef(wxGridCellCoordsArray) _arr);
+void       wxGrid_GetSelectionBlockBottomRight(TSelf(wxGrid) _obj, TClassRef(wxGridCellCoordsArray) _arr);
+TArrayLen  wxGrid_GetSelectedRows(TSelf(wxGrid) _obj, TArrayIntOutVoid _arr);
+TArrayLen  wxGrid_GetSelectedCols(TSelf(wxGrid) _obj, TArrayIntOutVoid _arr);
+
+/* wxGridCellAttr */
+TClassDef(wxGridCellAttr)
+TClass(wxGridCellAttr)    wxGridCellAttr_Ctor(  );
+void       wxGridCellAttr_DecRef( TSelf(wxGridCellAttr) _obj );
+void       wxGridCellAttr_GetAlignment( TSelf(wxGridCellAttr) _obj, TSizeOut(hAlign, vAlign) );
+void       wxGridCellAttr_GetBackgroundColour( TSelf(wxGridCellAttr) _obj, TClassRef(wxColour) _ref );
+TClass(wxGridCellEditor) wxGridCellAttr_GetEditor( TSelf(wxGridCellAttr) _obj, TClass(wxGrid) grid, int row, int col );
+void       wxGridCellAttr_GetFont( TSelf(wxGridCellAttr) _obj, TClassRef(wxFont) _ref );
+TClass(wxGridCellRenderer)  wxGridCellAttr_GetRenderer( TSelf(wxGridCellAttr) _obj, TClass(wxGrid) grid, int row, int col );
+void       wxGridCellAttr_GetTextColour( TSelf(wxGridCellAttr) _obj, TClassRef(wxColour) _ref );
+TBool      wxGridCellAttr_HasAlignment( TSelf(wxGridCellAttr) _obj );
+TBool      wxGridCellAttr_HasBackgroundColour( TSelf(wxGridCellAttr) _obj );
+TBool      wxGridCellAttr_HasEditor( TSelf(wxGridCellAttr) _obj );
+TBool      wxGridCellAttr_HasFont( TSelf(wxGridCellAttr) _obj );
+TBool      wxGridCellAttr_HasRenderer( TSelf(wxGridCellAttr) _obj );
+TBool      wxGridCellAttr_HasTextColour( TSelf(wxGridCellAttr) _obj );
+void       wxGridCellAttr_IncRef( TSelf(wxGridCellAttr) _obj );
+TBool      wxGridCellAttr_IsReadOnly( TSelf(wxGridCellAttr) _obj );
+void       wxGridCellAttr_SetAlignment( TSelf(wxGridCellAttr) _obj, int hAlign, int vAlign );
+void       wxGridCellAttr_SetBackgroundColour( TSelf(wxGridCellAttr) _obj, TClass(wxColour) colBack );
+void       wxGridCellAttr_SetDefAttr( TSelf(wxGridCellAttr) _obj, TClass(wxGridCellAttr) defAttr );
+void       wxGridCellAttr_SetEditor( TSelf(wxGridCellAttr) _obj, TClass(wxGridCellEditor) editor );
+void       wxGridCellAttr_SetFont( TSelf(wxGridCellAttr) _obj, TClass(wxFont) font );
+void       wxGridCellAttr_SetReadOnly( TSelf(wxGridCellAttr) _obj, TBool isReadOnly );
+void       wxGridCellAttr_SetRenderer( TSelf(wxGridCellAttr) _obj, TClass(wxGridCellRenderer) renderer );
+void       wxGridCellAttr_SetTextColour( TSelf(wxGridCellAttr) _obj, TClass(wxColour) colText );
+
+/* wxGridCellBoolEditor */
+TClassDefExtend(wxGridCellBoolEditor,wxGridCellEditor)
+TClass(wxGridCellBoolEditor)   wxGridCellBoolEditor_Ctor(  );
+
+/* wxGridCellBoolRenderer */
+TClassDefExtend(wxGridCellBoolRenderer,wxGridCellRenderer)
+
+/* wxGridCellChoiceEditor */
+TClassDefExtend(wxGridCellChoiceEditor,wxGridCellEditor)
+TClass(wxGridCellChoiceEditor) wxGridCellChoiceEditor_Ctor( TArrayString(count,choices), TBoolInt allowOthers );
+
+/* wxGridCellCoordsArray */
+TClassDef(wxGridCellCoordsArray)
+TClass(wxGridCellCoordsArray) wxGridCellCoordsArray_Create();
+void       wxGridCellCoordsArray_Delete(TSelf(wxGridCellCoordsArray) _obj);
+int        wxGridCellCoordsArray_GetCount(TSelf(wxGridCellCoordsArray) _obj);
+void       wxGridCellCoordsArray_Item(TSelf(wxGridCellCoordsArray) _obj, int _idx, TPointOut(_c,_r));
+
+/* wxGridCellEditor */
+TClassDefExtend(wxGridCellEditor,wxGridCellWorker)
+void       wxGridCellEditor_BeginEdit( TSelf(wxGridCellEditor) _obj, int row, int col, TClass(wxGrid) grid );
+void       wxGridCellEditor_Create( TSelf(wxGridCellEditor) _obj, TClass(wxWindow) parent, int id, TClass(wxEvtHandler) evtHandler );
+void       wxGridCellEditor_Destroy( TSelf(wxGridCellEditor) _obj );
+int        wxGridCellEditor_EndEdit( TSelf(wxGridCellEditor) _obj, int row, int col, TClass(wxGrid) grid );
+TClass(wxControl) wxGridCellEditor_GetControl( TSelf(wxGridCellEditor) _obj );
+void       wxGridCellEditor_HandleReturn( TSelf(wxGridCellEditor) _obj, TClass(wxEvent) event );
+TBool      wxGridCellEditor_IsAcceptedKey( TSelf(wxGridCellEditor) _obj, TClass(wxEvent) event );
+TBool      wxGridCellEditor_IsCreated( TSelf(wxGridCellEditor) _obj );
+void       wxGridCellEditor_PaintBackground( TSelf(wxGridCellEditor) _obj, TRect(x,y,w,h), TClass(wxGridCellAttr) attr );
+void       wxGridCellEditor_Reset( TSelf(wxGridCellEditor) _obj );
+void       wxGridCellEditor_SetControl( TSelf(wxGridCellEditor) _obj, TClass(wxControl) control );
+void       wxGridCellEditor_SetParameters( TSelf(wxGridCellEditor) _obj, TClass(wxString) params );
+void       wxGridCellEditor_SetSize( TSelf(wxGridCellEditor) _obj, TRect(x,y,w,h) );
+void       wxGridCellEditor_Show( TSelf(wxGridCellEditor) _obj, TBoolInt show, TClass(wxGridCellAttr) attr );
+void       wxGridCellEditor_StartingClick( TSelf(wxGridCellEditor) _obj );
+void       wxGridCellEditor_StartingKey( TSelf(wxGridCellEditor) _obj, TClass(wxEvent) event );
+
+/* wxGridCellFloatEditor */
+TClassDefExtend(wxGridCellFloatEditor,wxGridCellTextEditor)
+TClass(wxGridCellFloatEditor) wxGridCellFloatEditor_Ctor( int width, int precision );
+
+/* wxGridCellFloatRenderer */
+TClassDefExtend(wxGridCellFloatRenderer,wxGridCellStringRenderer)
+
+/* wxGridCellNumberEditor */
+TClassDefExtend(wxGridCellNumberEditor,wxGridCellTextEditor)
+TClass(wxGridCellNumberEditor)  wxGridCellNumberEditor_Ctor( int min, int max );
+
+/* wxGridCellNumberRenderer */
+TClassDefExtend(wxGridCellNumberRenderer,wxGridCellStringRenderer)
+
+/* wxGridCellRenderer */
+TClassDefExtend(wxGridCellRenderer,wxGridCellWorker)
+
+/* wxGridCellStringRenderer */
+TClassDefExtend(wxGridCellStringRenderer,wxGridCellRenderer)
+
+/* wxGridCellTextEditor */
+TClassDefExtend(wxGridCellTextEditor,wxGridCellEditor)
+TClass(wxGridCellTextEditor) wxGridCellTextEditor_Ctor(  );
+
+/* wxGridCellWorker */
+TClassDef(wxGridCellWorker)
+
+/* wxGridEditorCreatedEvent */
+TClassDefExtend(wxGridEditorCreatedEvent,wxCommandEvent)
+int        wxGridEditorCreatedEvent_GetCol (TSelf(wxGridEditorCreatedEvent) _obj);
+TClass(wxControl) wxGridEditorCreatedEvent_GetControl (TSelf(wxGridEditorCreatedEvent) _obj);
+int        wxGridEditorCreatedEvent_GetRow (TSelf(wxGridEditorCreatedEvent) _obj);
+void       wxGridEditorCreatedEvent_SetCol (TSelf(wxGridEditorCreatedEvent) _obj, int col);
+void       wxGridEditorCreatedEvent_SetControl (TSelf(wxGridEditorCreatedEvent) _obj, TClass(wxControl) ctrl);
+void       wxGridEditorCreatedEvent_SetRow (TSelf(wxGridEditorCreatedEvent) _obj, int row);
+
+/* wxGridEvent */
+TClassDefExtend(wxGridEvent,wxNotifyEvent)
+TBool      wxGridEvent_AltDown (TSelf(wxGridEvent) _obj);
+TBool      wxGridEvent_ControlDown (TSelf(wxGridEvent) _obj);
+int        wxGridEvent_GetCol (TSelf(wxGridEvent) _obj);
+void       wxGridEvent_GetPosition (TSelf(wxGridEvent) _obj, TPointOutVoid(x,y));
+int        wxGridEvent_GetRow (TSelf(wxGridEvent) _obj);
+TBool      wxGridEvent_MetaDown (TSelf(wxGridEvent) _obj);
+TBool      wxGridEvent_Selecting (TSelf(wxGridEvent) _obj);
+TBool      wxGridEvent_ShiftDown (TSelf(wxGridEvent) _obj);
+
+/* wxGridRangeSelectEvent */
+TClassDefExtend(wxGridRangeSelectEvent,wxNotifyEvent)
+void       wxGridRangeSelectEvent_GetTopLeftCoords (TSelf(wxGridRangeSelectEvent) _obj, TPointOutVoid(col,row));
+void       wxGridRangeSelectEvent_GetBottomRightCoords (TSelf(wxGridRangeSelectEvent) _obj, TPointOutVoid(col,row));
+int        wxGridRangeSelectEvent_GetTopRow (TSelf(wxGridRangeSelectEvent) _obj);
+int        wxGridRangeSelectEvent_GetBottomRow (TSelf(wxGridRangeSelectEvent) _obj);
+int        wxGridRangeSelectEvent_GetLeftCol (TSelf(wxGridRangeSelectEvent) _obj);
+int        wxGridRangeSelectEvent_GetRightCol (TSelf(wxGridRangeSelectEvent) _obj);
+TBool      wxGridRangeSelectEvent_Selecting (TSelf(wxGridRangeSelectEvent) _obj);
+TBool      wxGridRangeSelectEvent_ControlDown (TSelf(wxGridRangeSelectEvent) _obj);
+TBool      wxGridRangeSelectEvent_MetaDown (TSelf(wxGridRangeSelectEvent) _obj);
+TBool      wxGridRangeSelectEvent_ShiftDown (TSelf(wxGridRangeSelectEvent) _obj);
+TBool      wxGridRangeSelectEvent_AltDown (TSelf(wxGridRangeSelectEvent) _obj);
+
+/* wxGridSizeEvent */
+TClassDefExtend(wxGridSizeEvent,wxNotifyEvent)
+int        wxGridSizeEvent_GetRowOrCol (TSelf(wxGridSizeEvent) _obj);
+void       wxGridSizeEvent_GetPosition (TSelf(wxGridSizeEvent) _obj, TPointOutVoid(x,y));
+TBool      wxGridSizeEvent_ControlDown (TSelf(wxGridSizeEvent) _obj);
+TBool      wxGridSizeEvent_MetaDown (TSelf(wxGridSizeEvent) _obj);
+TBool      wxGridSizeEvent_ShiftDown (TSelf(wxGridSizeEvent) _obj);
+TBool      wxGridSizeEvent_AltDown (TSelf(wxGridSizeEvent) _obj);
+
+
+/* wxGridSizer */
+TClassDefExtend(wxGridSizer,wxSizer)
+void       wxGridSizer_CalcMin( TSelf(wxGridSizer) _obj, TSizeOutVoid(_w,_h) );
+TClass(wxGridSizer) wxGridSizer_Create( int rows, int cols, int vgap, int hgap );
+int        wxGridSizer_GetCols( TSelf(wxGridSizer) _obj );
+int        wxGridSizer_GetHGap( TSelf(wxGridSizer) _obj );
+int        wxGridSizer_GetRows( TSelf(wxGridSizer) _obj );
+int        wxGridSizer_GetVGap( TSelf(wxGridSizer) _obj );
+void       wxGridSizer_RecalcSizes( TSelf(wxGridSizer) _obj );
+void       wxGridSizer_SetCols( TSelf(wxGridSizer) _obj, int cols );
+void       wxGridSizer_SetHGap( TSelf(wxGridSizer) _obj, int gap );
+void       wxGridSizer_SetRows( TSelf(wxGridSizer) _obj, int rows );
+void       wxGridSizer_SetVGap( TSelf(wxGridSizer) _obj, int gap );
+
+/* wxGridTableBase */
+TClassDefExtend(wxGridTableBase,wxObject)
+
+/* wxHTTP */
+TClassDefExtend(wxHTTP,wxProtocol)
+
+/* wxHashMap */
+TClassDef(wxHashMap)
+
+/* wxHelpController */
+TClassDefExtend(wxHelpController,wxHelpControllerBase)
+
+/* wxHelpControllerBase */
+TClassDefExtend(wxHelpControllerBase,wxObject)
+
+/* wxHelpControllerHelpProvider */
+TClassDefExtend(wxHelpControllerHelpProvider,wxSimpleHelpProvider)
+TClass(wxHelpControllerHelpProvider) wxHelpControllerHelpProvider_Create( TClass(wxHelpControllerBase) ctr );
+TClass(wxHelpControllerBase) wxHelpControllerHelpProvider_GetHelpController( TSelf(wxHelpControllerHelpProvider) _obj );
+void       wxHelpControllerHelpProvider_SetHelpController( TSelf(wxHelpControllerHelpProvider) _obj, TClass(wxHelpController) hc );
+
+/* wxHelpEvent */
+TClassDefExtend(wxHelpEvent,wxCommandEvent)
+TClass(wxString) wxHelpEvent_GetLink( TSelf(wxHelpEvent) _obj );
+void       wxHelpEvent_GetPosition( TSelf(wxHelpEvent) _obj, TPointOutVoid(_x,_y) );
+TClass(wxString) wxHelpEvent_GetTarget( TSelf(wxHelpEvent) _obj );
+void       wxHelpEvent_SetLink( TSelf(wxHelpEvent) _obj, TClass(wxString) link );
+void       wxHelpEvent_SetPosition( TSelf(wxHelpEvent) _obj, TPoint(x,y) );
+void       wxHelpEvent_SetTarget( TSelf(wxHelpEvent) _obj, TClass(wxString) target );
+
+/* wxHelpProvider */
+TClassDef(wxHelpProvider)
+void       wxHelpProvider_AddHelp( TSelf(wxHelpProvider) _obj, TClass(wxWindow) window, TClass(wxString) text );
+void       wxHelpProvider_AddHelpById( TSelf(wxHelpProvider) _obj, int id, TClass(wxString) text );
+void       wxHelpProvider_Delete( TSelf(wxHelpProvider) _obj );
+TSelf(wxHelpProvider) wxHelpProvider_Get(  );
+TClass(wxString) wxHelpProvider_GetHelp( TSelf(wxHelpProvider) _obj, TClass(wxWindow) window );
+void       wxHelpProvider_RemoveHelp( TSelf(wxHelpProvider) _obj, TClass(wxWindow) window );
+TSelf(wxHelpProvider) wxHelpProvider_Set( TSelf(wxHelpProvider) helpProvider );
+TBool      wxHelpProvider_ShowHelp( TSelf(wxHelpProvider) _obj, TClass(wxWindow) window );
+
+/* wxHtmlCell */
+TClassDefExtend(wxHtmlCell,wxObject)
+
+/* wxHtmlColourCell */
+TClassDefExtend(wxHtmlColourCell,wxHtmlCell)
+
+/* wxHtmlContainerCell */
+TClassDefExtend(wxHtmlContainerCell,wxHtmlCell)
+
+/* wxHtmlDCRenderer */
+TClassDefExtend(wxHtmlDCRenderer,wxObject)
+
+/* wxHtmlEasyPrinting */
+TClassDefExtend(wxHtmlEasyPrinting,wxObject)
+
+/* wxHtmlFilter */
+TClassDefExtend(wxHtmlFilter,wxObject)
+
+/* wxHtmlHelpController */
+TClassDefExtend(wxHtmlHelpController,wxHelpControllerBase)
+TBool      wxHtmlHelpController_AddBook( TSelf(wxHtmlHelpController) _obj, void* book, int show_wait_msg );
+TClass(wxHtmlHelpController) wxHtmlHelpController_Create( int _style );
+void       wxHtmlHelpController_Delete( TSelf(wxHtmlHelpController) _obj );
+int        wxHtmlHelpController_Display( TSelf(wxHtmlHelpController) _obj, void* x );
+TBool      wxHtmlHelpController_DisplayBlock( TSelf(wxHtmlHelpController) _obj, int blockNo );
+int        wxHtmlHelpController_DisplayContents( TSelf(wxHtmlHelpController) _obj );
+int        wxHtmlHelpController_DisplayIndex( TSelf(wxHtmlHelpController) _obj );
+int        wxHtmlHelpController_DisplayNumber( TSelf(wxHtmlHelpController) _obj, int id );
+TBool      wxHtmlHelpController_DisplaySection( TSelf(wxHtmlHelpController) _obj, TClass(wxString) section );
+TBool      wxHtmlHelpController_DisplaySectionNumber( TSelf(wxHtmlHelpController) _obj, int sectionNo );
+TClass(wxFrame) wxHtmlHelpController_GetFrame( TSelf(wxHtmlHelpController) _obj );
+void*      wxHtmlHelpController_GetFrameParameters( TSelf(wxHtmlHelpController) _obj, void* title, int* width, int* height, int* pos_x, int* pos_y, int* newFrameEachTime );
+TBool      wxHtmlHelpController_Initialize( TSelf(wxHtmlHelpController) _obj, TClass(wxString) file );
+TBool      wxHtmlHelpController_KeywordSearch( TSelf(wxHtmlHelpController) _obj, TClass(wxString) keyword );
+TBool      wxHtmlHelpController_LoadFile( TSelf(wxHtmlHelpController) _obj, TClass(wxString) file );
+TBool      wxHtmlHelpController_Quit( TSelf(wxHtmlHelpController) _obj );
+void       wxHtmlHelpController_ReadCustomization( TSelf(wxHtmlHelpController) _obj, TClass(wxConfigBase) cfg, TClass(wxString) path );
+void       wxHtmlHelpController_SetFrameParameters( TSelf(wxHtmlHelpController) _obj, void* title, TSize(width,height), int pos_x, int pos_y, TBool newFrameEachTime );
+void       wxHtmlHelpController_SetTempDir( TSelf(wxHtmlHelpController) _obj, TClass(wxString) path );
+void       wxHtmlHelpController_SetTitleFormat( TSelf(wxHtmlHelpController) _obj, void* format );
+void       wxHtmlHelpController_SetViewer( TSelf(wxHtmlHelpController) _obj, TClass(wxString) viewer, int flags );
+void       wxHtmlHelpController_UseConfig( TSelf(wxHtmlHelpController) _obj, TClass(wxConfigBase) config, TClass(wxString) rootpath );
+void       wxHtmlHelpController_WriteCustomization( TSelf(wxHtmlHelpController) _obj, TClass(wxConfigBase) cfg, TClass(wxString) path );
+
+/* wxHtmlHelpData */
+TClassDefExtend(wxHtmlHelpData,wxObject)
+
+/* wxHtmlHelpFrame */
+TClassDefExtend(wxHtmlHelpFrame,wxFrame)
+
+/* wxHtmlLinkInfo */
+TClassDefExtend(wxHtmlLinkInfo,wxObject)
+
+/* wxHtmlParser */
+TClassDefExtend(wxHtmlParser,wxObject)
+
+/* wxHtmlPrintout */
+TClassDefExtend(wxHtmlPrintout,wxPrintout)
+
+/* wxHtmlTag */
+TClassDefExtend(wxHtmlTag,wxObject)
+
+/* wxHtmlTagHandler */
+TClassDefExtend(wxHtmlTagHandler,wxObject)
+
+/* wxHtmlTagsModule */
+TClassDefExtend(wxHtmlTagsModule,wxModule)
+
+/* wxHtmlWidgetCell */
+TClassDefExtend(wxHtmlWidgetCell,wxHtmlCell)
+
+/* wxHtmlWinParser */
+TClassDefExtend(wxHtmlWinParser,wxHtmlParser)
+
+/* wxHtmlWinTagHandler */
+TClassDefExtend(wxHtmlWinTagHandler,wxHtmlTagHandler)
+
+/* wxHtmlWindow */
+TClassDefExtend(wxHtmlWindow,wxScrolledWindow)
+
+/* wxIPV4address */
+TClassDefExtend(wxIPV4address,wxSockAddress)
+
+/* wxIcon */
+TClassDefExtend(wxIcon,wxBitmap)
+void       wxIcon_Assign( TSelf(wxIcon) _obj, void* other );
+void       wxIcon_CopyFromBitmap( TSelf(wxIcon) _obj, TClass(wxBitmap) bmp );
+TClass(wxIcon) wxIcon_CreateDefault(  );
+TClass(wxIcon) wxIcon_CreateLoad( TClass(wxString) name, long type, TSize(width,height) );
+void       wxIcon_Delete( TSelf(wxIcon) _obj );
+TClass(wxIcon) wxIcon_FromRaw( TSelf(wxIcon) data, TSize(width,height) );
+TClass(wxIcon) wxIcon_FromXPM( TSelf(wxIcon) data );
+int        wxIcon_GetDepth( TSelf(wxIcon) _obj );
+int        wxIcon_GetHeight( TSelf(wxIcon) _obj );
+int        wxIcon_GetWidth( TSelf(wxIcon) _obj );
+TBool      wxIcon_IsEqual( TSelf(wxIcon) _obj, TSelf(wxIcon) other );
+int        wxIcon_Load( TSelf(wxIcon) _obj, TClass(wxString) name, long type, TSize(width,height) );
+TBool      wxIcon_IsOk( TSelf(wxIcon) _obj );
+void       wxIcon_SetDepth( TSelf(wxIcon) _obj, int depth );
+void       wxIcon_SetHeight( TSelf(wxIcon) _obj, int height );
+void       wxIcon_SetWidth( TSelf(wxIcon) _obj, int width );
+
+/* wxIconBundle */
+TClassDef(wxIconBundle)
+void       wxIconBundle_AddIcon( TSelf(wxIconBundle) _obj, TClass(wxIcon) icon );
+void       wxIconBundle_AddIconFromFile( TSelf(wxIconBundle) _obj, TClass(wxString) file, int type );
+void       wxIconBundle_Assign( TSelf(wxIconBundle) _obj, TClassRef(wxIconBundle) _ref );
+TClass(wxIconBundle) wxIconBundle_CreateDefault(  );
+TClass(wxIconBundle) wxIconBundle_CreateFromFile( TClass(wxString) file, int type );
+TClass(wxIconBundle) wxIconBundle_CreateFromIcon( TClass(wxIcon) icon );
+void       wxIconBundle_Delete( TSelf(wxIconBundle) _obj );
+void       wxIconBundle_GetIcon( TSelf(wxIconBundle) _obj, TSize(w,h), TClassRef(wxIcon) _ref );
+
+/* wxIconizeEvent */
+TClassDefExtend(wxIconizeEvent,wxEvent)
+
+/* wxIdleEvent */
+TClassDefExtend(wxIdleEvent,wxEvent)
+void       wxIdleEvent_CopyObject( TSelf(wxIdleEvent) _obj, TClass(wxObject) object_dest );
+TBool      wxIdleEvent_MoreRequested( TSelf(wxIdleEvent) _obj );
+void       wxIdleEvent_RequestMore( TSelf(wxIdleEvent) _obj, TBool needMore );
+
+/* wxImage */
+TClassDefExtend(wxImage,wxObject)
+TBool      wxImage_CanRead( TClass(wxString) name );
+void       wxImage_ConvertToBitmap( TSelf(wxImage) _obj, TClassRef(wxBitmap) bitmap );
+TByteStringLen wxImage_ConvertToByteString( TSelf(wxImage) _obj, int type, TByteStringOut data  );
+TByteStringLen wxImage_ConvertToLazyByteString( TSelf(wxImage) _obj, int type, TByteStringLazyOut data );
+int        wxImage_CountColours( TSelf(wxImage) _obj, int stopafter );
+TClass(wxImage) wxImage_CreateDefault(  );
+TClass(wxImage) wxImage_CreateFromBitmap( TClass(wxBitmap) bitmap );
+TClass(wxImage) wxImage_CreateFromByteString( TByteString(data,length), int type );
+TClass(wxImage) wxImage_CreateFromLazyByteString( TByteStringLazy(data,length), int type );
+TClass(wxImage) wxImage_CreateFromData( TSize(width,height), void* data );
+TClass(wxImage) wxImage_CreateFromFile( TClass(wxString) name );
+TClass(wxImage) wxImage_CreateSized( TSize(width,height) );
+void       wxImage_Destroy( TSelf(wxImage) _obj );
+TChar      wxImage_GetBlue( TSelf(wxImage) _obj, TPoint(x,y) );
+void*      wxImage_GetData( TSelf(wxImage) _obj );
+TChar      wxImage_GetGreen( TSelf(wxImage) _obj, TPoint(x,y) );
+int        wxImage_GetHeight( TSelf(wxImage) _obj );
+TChar      wxImage_GetMaskBlue( TSelf(wxImage) _obj );
+TChar      wxImage_GetMaskGreen( TSelf(wxImage) _obj );
+TChar      wxImage_GetMaskRed( TSelf(wxImage) _obj );
+TChar      wxImage_GetRed( TSelf(wxImage) _obj, TPoint(x,y) );
+void       wxImage_GetSubImage( TSelf(wxImage) _obj, TRect(x,y,w,h), TClassRef(wxImage) image );
+int        wxImage_GetWidth( TSelf(wxImage) _obj );
+TBool      wxImage_HasMask( TSelf(wxImage) _obj );
+TClass(wxString) wxImage_GetOption( TSelf(wxImage) _obj, TClass(wxString) name );
+TBool      wxImage_GetOptionInt( TSelf(wxImage) _obj, TClass(wxString) name );
+TBool      wxImage_HasOption( TSelf(wxImage) _obj, TClass(wxString) name );
+void       wxImage_Initialize( TSelf(wxImage) _obj, TSize(width,height) );
+void       wxImage_InitializeFromData( TSelf(wxImage) _obj, TSize(width,height), void* data );
+TBool      wxImage_LoadFile( TSelf(wxImage) _obj, TClass(wxString) name, int type );
+void       wxImage_Mirror( TSelf(wxImage) _obj, TBoolInt horizontally, TClassRef(wxImage) image );
+TBool      wxImage_IsOk( TSelf(wxImage) _obj );
+void       wxImage_Paste( TSelf(wxImage) _obj, TClass(wxImage) image, TPoint(x,y) );
+void       wxImage_Replace( TSelf(wxImage) _obj, TColorRGB(r1,g1,b1), TColorRGB(r2,g2,b2) );
+void       wxImage_Rescale( TSelf(wxImage) _obj, TSize(width,height) );
+void       wxImage_Rotate( TSelf(wxImage) _obj, double angle, TPoint(c_x,c_y), TBoolInt interpolating, void* offset_after_rotation, TClassRef(wxImage) image );
+void       wxImage_Rotate90( TSelf(wxImage) _obj, TBoolInt clockwise, TClassRef(wxImage) image );
+TBool      wxImage_SaveFile( TSelf(wxImage) _obj, TClass(wxString) name, int type );
+void       wxImage_Scale( TSelf(wxImage) _obj, TSize(width,height), TClassRef(wxImage) image );
+void       wxImage_SetData( TSelf(wxImage) _obj, void* data );
+void       wxImage_SetDataAndSize( TSelf(wxImage) _obj, void* data, TSize(new_width,new_height) );
+void       wxImage_SetMask( TSelf(wxImage) _obj, int mask );
+void       wxImage_SetMaskColour( TSelf(wxImage) _obj, TColorRGB(r,g,b) );
+void       wxImage_SetOption( TSelf(wxImage) _obj, TClass(wxString) name, TClass(wxString) value );
+void       wxImage_SetOptionInt( TSelf(wxImage) _obj, TClass(wxString) name, int value );
+void       wxImage_SetRGB( TSelf(wxImage) _obj, TPoint(x,y), TColorRGB(r,g,b) );
+
+/* wxImageHandler */
+TClassDefExtend(wxImageHandler,wxObject)
+
+/* wxImageList */
+TClassDefExtend(wxImageList,wxObject)
+int        wxImageList_AddBitmap( TSelf(wxImageList) _obj, TClass(wxBitmap) bitmap, TClass(wxBitmap) mask );
+int        wxImageList_AddIcon( TSelf(wxImageList) _obj, TClass(wxIcon) icon );
+int        wxImageList_AddMasked( TSelf(wxImageList) _obj, TClass(wxBitmap) bitmap, TClass(wxColour) maskColour );
+TClass(wxImageList) wxImageList_Create( TSize(width,height), TBoolInt mask, int initialCount );
+void       wxImageList_Delete( TSelf(wxImageList) _obj );
+TBool      wxImageList_Draw( TSelf(wxImageList) _obj, int index, TClass(wxDC) dc, TPoint(x,y), int flags, TBool solidBackground );
+int        wxImageList_GetImageCount( TSelf(wxImageList) _obj );
+void       wxImageList_GetSize( TSelf(wxImageList) _obj, int index, TSizeOut(width,height) );
+TBool      wxImageList_Remove( TSelf(wxImageList) _obj, int index );
+TBool      wxImageList_RemoveAll( TSelf(wxImageList) _obj );
+TBool      wxImageList_Replace( TSelf(wxImageList) _obj, int index, TClass(wxBitmap) bitmap, TClass(wxBitmap) mask );
+TBool      wxImageList_ReplaceIcon( TSelf(wxImageList) _obj, int index, TClass(wxIcon) icon );
+
+/* wxIndividualLayoutConstraint */
+TClassDefExtend(wxIndividualLayoutConstraint,wxObject)
+void       wxIndividualLayoutConstraint_Above( TSelf(wxIndividualLayoutConstraint) _obj, TClass(wxWindow) sibling, int marg );
+void       wxIndividualLayoutConstraint_Absolute( TSelf(wxIndividualLayoutConstraint) _obj, int val );
+void       wxIndividualLayoutConstraint_AsIs( TSelf(wxIndividualLayoutConstraint) _obj );
+void       wxIndividualLayoutConstraint_Below( TSelf(wxIndividualLayoutConstraint) _obj, TClass(wxWindow) sibling, int marg );
+TBool      wxIndividualLayoutConstraint_GetDone( TSelf(wxIndividualLayoutConstraint) _obj );
+int        wxIndividualLayoutConstraint_GetEdge( TSelf(wxIndividualLayoutConstraint) _obj, int which, void* thisWin, void* other );
+int        wxIndividualLayoutConstraint_GetMargin( TSelf(wxIndividualLayoutConstraint) _obj );
+int        wxIndividualLayoutConstraint_GetMyEdge( TSelf(wxIndividualLayoutConstraint) _obj );
+int        wxIndividualLayoutConstraint_GetOtherEdge( TSelf(wxIndividualLayoutConstraint) _obj );
+void*      wxIndividualLayoutConstraint_GetOtherWindow( TSelf(wxIndividualLayoutConstraint) _obj );
+int        wxIndividualLayoutConstraint_GetPercent( TSelf(wxIndividualLayoutConstraint) _obj );
+int        wxIndividualLayoutConstraint_GetRelationship( TSelf(wxIndividualLayoutConstraint) _obj );
+int        wxIndividualLayoutConstraint_GetValue( TSelf(wxIndividualLayoutConstraint) _obj );
+void       wxIndividualLayoutConstraint_LeftOf( TSelf(wxIndividualLayoutConstraint) _obj, TClass(wxWindow) sibling, int marg );
+void       wxIndividualLayoutConstraint_PercentOf( TSelf(wxIndividualLayoutConstraint) _obj, TClass(wxWindow) otherW, int wh, int per );
+TBool      wxIndividualLayoutConstraint_ResetIfWin( TSelf(wxIndividualLayoutConstraint) _obj, TClass(wxWindow) otherW );
+void       wxIndividualLayoutConstraint_RightOf( TSelf(wxIndividualLayoutConstraint) _obj, TClass(wxWindow) sibling, int marg );
+void       wxIndividualLayoutConstraint_SameAs( TSelf(wxIndividualLayoutConstraint) _obj, TClass(wxWindow) otherW, int edge, int marg );
+TBool      wxIndividualLayoutConstraint_SatisfyConstraint( TSelf(wxIndividualLayoutConstraint) _obj, void* constraints, TClass(wxWindow) win );
+void       wxIndividualLayoutConstraint_Set( TSelf(wxIndividualLayoutConstraint) _obj, int rel, TClass(wxWindow) otherW, int otherE, int val, int marg );
+void       wxIndividualLayoutConstraint_SetDone( TSelf(wxIndividualLayoutConstraint) _obj, TBool d );
+void       wxIndividualLayoutConstraint_SetEdge( TSelf(wxIndividualLayoutConstraint) _obj, int which );
+void       wxIndividualLayoutConstraint_SetMargin( TSelf(wxIndividualLayoutConstraint) _obj, int m );
+void       wxIndividualLayoutConstraint_SetRelationship( TSelf(wxIndividualLayoutConstraint) _obj, int r );
+void       wxIndividualLayoutConstraint_SetValue( TSelf(wxIndividualLayoutConstraint) _obj, int v );
+void       wxIndividualLayoutConstraint_Unconstrained( TSelf(wxIndividualLayoutConstraint) _obj );
+
+/* wxInitDialogEvent */
+TClassDefExtend(wxInitDialogEvent,wxEvent)
+
+/* wxInputStream */
+TClassDefExtend(wxInputStream,wxStreamBase)
+void       wxInputStream_Delete( TSelf(wxInputStream) _obj );
+TBool      wxInputStream_Eof( TSelf(wxInputStream) _obj );
+TChar      wxInputStream_GetC( TSelf(wxInputStream) _obj );
+int        wxInputStream_LastRead( TSelf(wxInputStream) _obj );
+TChar      wxInputStream_Peek( TSelf(wxInputStream) _obj );
+void       wxInputStream_Read( TSelf(wxInputStream) _obj, void* buffer, int size );
+int        wxInputStream_SeekI( TSelf(wxInputStream) _obj, int pos, int mode );
+int        wxInputStream_Tell( TSelf(wxInputStream) _obj );
+int        wxInputStream_UngetBuffer( TSelf(wxInputStream) _obj, void* buffer, int size );
+int        wxInputStream_Ungetch( TSelf(wxInputStream) _obj, TChar c );
+
+/* wxJoystick */
+TClassDefExtend(wxJoystick,wxObject)
+TClass(wxJoystick) wxJoystick_Create( int joystick );
+void       wxJoystick_Delete( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetButtonState( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetManufacturerId( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetMaxAxes( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetMaxButtons( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetMovementThreshold( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetNumberAxes( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetNumberButtons( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetNumberJoysticks( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetPOVCTSPosition( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetPOVPosition( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetPollingMax( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetPollingMin( TSelf(wxJoystick) _obj );
+void       wxJoystick_GetPosition( TSelf(wxJoystick) _obj, TPointOutVoid(_x,_y) );
+int        wxJoystick_GetProductId( TSelf(wxJoystick) _obj );
+TClass(wxString) wxJoystick_GetProductName( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetRudderMax( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetRudderMin( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetRudderPosition( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetUMax( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetUMin( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetUPosition( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetVMax( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetVMin( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetVPosition( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetXMax( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetXMin( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetYMax( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetYMin( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetZMax( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetZMin( TSelf(wxJoystick) _obj );
+int        wxJoystick_GetZPosition( TSelf(wxJoystick) _obj );
+TBool      wxJoystick_HasPOV( TSelf(wxJoystick) _obj );
+TBool      wxJoystick_HasPOV4Dir( TSelf(wxJoystick) _obj );
+TBool      wxJoystick_HasPOVCTS( TSelf(wxJoystick) _obj );
+TBool      wxJoystick_HasRudder( TSelf(wxJoystick) _obj );
+TBool      wxJoystick_HasU( TSelf(wxJoystick) _obj );
+TBool      wxJoystick_HasV( TSelf(wxJoystick) _obj );
+TBool      wxJoystick_HasZ( TSelf(wxJoystick) _obj );
+TBool      wxJoystick_IsOk( TSelf(wxJoystick) _obj );
+int        wxJoystick_ReleaseCapture( TSelf(wxJoystick) _obj );
+int        wxJoystick_SetCapture( TSelf(wxJoystick) _obj, TClass(wxWindow) win, int pollingFreq );
+void       wxJoystick_SetMovementThreshold( TSelf(wxJoystick) _obj, int threshold );
+
+/* wxJoystickEvent */
+TClassDefExtend(wxJoystickEvent,wxEvent)
+TBool      wxJoystickEvent_ButtonDown( TSelf(wxJoystickEvent) _obj, int but );
+TBool      wxJoystickEvent_ButtonIsDown( TSelf(wxJoystickEvent) _obj, int but );
+TBool      wxJoystickEvent_ButtonUp( TSelf(wxJoystickEvent) _obj, int but );
+void       wxJoystickEvent_CopyObject( TSelf(wxJoystickEvent) _obj, void* obj );
+int        wxJoystickEvent_GetButtonChange( TSelf(wxJoystickEvent) _obj );
+int        wxJoystickEvent_GetButtonState( TSelf(wxJoystickEvent) _obj );
+int        wxJoystickEvent_GetJoystick( TSelf(wxJoystickEvent) _obj );
+void       wxJoystickEvent_GetPosition( TSelf(wxJoystickEvent) _obj, TPointOut(_x,_y) );
+int        wxJoystickEvent_GetZPosition( TSelf(wxJoystickEvent) _obj );
+TBool      wxJoystickEvent_IsButton( TSelf(wxJoystickEvent) _obj );
+TBool      wxJoystickEvent_IsMove( TSelf(wxJoystickEvent) _obj );
+TBool      wxJoystickEvent_IsZMove( TSelf(wxJoystickEvent) _obj );
+void       wxJoystickEvent_SetButtonChange( TSelf(wxJoystickEvent) _obj, int change );
+void       wxJoystickEvent_SetButtonState( TSelf(wxJoystickEvent) _obj, int state );
+void       wxJoystickEvent_SetJoystick( TSelf(wxJoystickEvent) _obj, int stick );
+void       wxJoystickEvent_SetPosition( TSelf(wxJoystickEvent) _obj, void* pos );
+void       wxJoystickEvent_SetZPosition( TSelf(wxJoystickEvent) _obj, int zPos );
+
+/* wxKeyEvent */
+TClassDefExtend(wxKeyEvent,wxEvent)
+TBool      wxKeyEvent_AltDown( TSelf(wxKeyEvent) _obj );
+TBool      wxKeyEvent_ControlDown( TSelf(wxKeyEvent) _obj );
+void       wxKeyEvent_CopyObject( TSelf(wxKeyEvent) _obj, void* obj );
+int        wxKeyEvent_GetKeyCode( TSelf(wxKeyEvent) _obj );
+void       wxKeyEvent_GetPosition( TSelf(wxKeyEvent) _obj, TPointOut(_x,_y) );
+int        wxKeyEvent_GetX( TSelf(wxKeyEvent) _obj );
+int        wxKeyEvent_GetY( TSelf(wxKeyEvent) _obj );
+int        wxKeyEvent_GetModifiers( TSelf(wxKeyEvent) _obj );
+TBool      wxKeyEvent_HasModifiers( TSelf(wxKeyEvent) _obj );
+TBool      wxKeyEvent_MetaDown( TSelf(wxKeyEvent) _obj );
+void       wxKeyEvent_SetKeyCode( TSelf(wxKeyEvent) _obj, int code );
+TBool      wxKeyEvent_ShiftDown( TSelf(wxKeyEvent) _obj );
+
+/* wxLEDNumberCtrl */
+TClassDefExtend(wxLEDNumberCtrl,wxControl)
+TClass(wxLEDNumberCtrl) wxLEDNumberCtrl_Create( TClass(wxWindow) parent, int id, TRect(x,y,w,h), int style );
+int        wxLEDNumberCtrl_GetAlignment( TSelf(wxLEDNumberCtrl) _obj );
+int        wxLEDNumberCtrl_GetDrawFaded( TSelf(wxLEDNumberCtrl) _obj );
+int        wxLEDNumberCtrl_GetValue( TSelf(wxLEDNumberCtrl) _obj, void* _ref );
+void       wxLEDNumberCtrl_SetAlignment( TSelf(wxLEDNumberCtrl) _obj, int Alignment, int Redraw );
+void       wxLEDNumberCtrl_SetDrawFaded( TSelf(wxLEDNumberCtrl) _obj, int DrawFaded, int Redraw );
+void       wxLEDNumberCtrl_SetValue( TSelf(wxLEDNumberCtrl) _obj, void* Value, int Redraw );
+
+/* wxLayoutAlgorithm */
+TClassDefExtend(wxLayoutAlgorithm,wxObject)
+TClass(wxLayoutAlgorithm) wxLayoutAlgorithm_Create(  );
+void       wxLayoutAlgorithm_Delete( TSelf(wxLayoutAlgorithm) _obj );
+TBool      wxLayoutAlgorithm_LayoutFrame( TSelf(wxLayoutAlgorithm) _obj, TClass(wxFrame) frame, void* mainWindow );
+TBool      wxLayoutAlgorithm_LayoutMDIFrame( TSelf(wxLayoutAlgorithm) _obj, TClass(wxFrame) frame, TRect(x,y,w,h), int use );
+TBool      wxLayoutAlgorithm_LayoutWindow( TSelf(wxLayoutAlgorithm) _obj, TClass(wxFrame) frame, void* mainWindow );
+
+/* wxLayoutConstraints */
+TClassDefExtend(wxLayoutConstraints,wxObject)
+TClass(wxLayoutConstraints) wxLayoutConstraints_Create(  );
+void*      wxLayoutConstraints_bottom( TSelf(wxLayoutConstraints) _obj );
+void*      wxLayoutConstraints_centreX( TSelf(wxLayoutConstraints) _obj );
+void*      wxLayoutConstraints_centreY( TSelf(wxLayoutConstraints) _obj );
+void*      wxLayoutConstraints_height( TSelf(wxLayoutConstraints) _obj );
+void*      wxLayoutConstraints_left( TSelf(wxLayoutConstraints) _obj );
+void*      wxLayoutConstraints_right( TSelf(wxLayoutConstraints) _obj );
+void*      wxLayoutConstraints_top( TSelf(wxLayoutConstraints) _obj );
+void*      wxLayoutConstraints_width( TSelf(wxLayoutConstraints) _obj );
+
+/* wxList */
+TClassDefExtend(wxList,wxObject)
+
+/* wxListBox */
+TClassDefExtend(wxListBox,wxControl)
+void       wxListBox_Append( TSelf(wxListBox) _obj, TClass(wxString) item );
+void       wxListBox_AppendData( TSelf(wxListBox) _obj, TClass(wxString) item, void* data );
+void       wxListBox_Clear( TSelf(wxListBox) _obj );
+TClass(wxListBox) wxListBox_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), TArrayString(n,str), int _stl );
+void       wxListBox_Delete( TSelf(wxListBox) _obj, int n );
+int        wxListBox_FindString( TSelf(wxListBox) _obj, TClass(wxString) s );
+TClass(wxClientData) wxListBox_GetClientData( TSelf(wxListBox) _obj, int n );
+int        wxListBox_GetCount( TSelf(wxListBox) _obj );
+int        wxListBox_GetSelection( TSelf(wxListBox) _obj );
+int        wxListBox_GetSelections( TSelf(wxListBox) _obj, int* aSelections, int allocated );
+TClass(wxString) wxListBox_GetString( TSelf(wxListBox) _obj, int n );
+void       wxListBox_InsertItems( TSelf(wxListBox) _obj, void* items, int pos, int count );
+TBool      wxListBox_IsSelected( TSelf(wxListBox) _obj, int n );
+void       wxListBox_SetClientData( TSelf(wxListBox) _obj, int n, TClass(wxClientData) clientData );
+void       wxListBox_SetFirstItem( TSelf(wxListBox) _obj, int n );
+void       wxListBox_SetSelection( TSelf(wxListBox) _obj, int n, TBoolInt select );
+void       wxListBox_SetString( TSelf(wxListBox) _obj, int n, TClass(wxString) s );
+void       wxListBox_SetStringSelection( TSelf(wxListBox) _obj, TClass(wxString) str, TBool sel );
+
+/* wxListCtrl */
+TClassDefExtend(wxListCtrl,wxControl)
+TBool      wxListCtrl_Arrange( TSelf(wxListCtrl) _obj, int flag );
+void       wxListCtrl_ClearAll( TSelf(wxListCtrl) _obj );
+TClass(wxListCtrl) wxListCtrl_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
+TBool      wxListCtrl_DeleteAllColumns( TSelf(wxListCtrl) _obj );
+TBool      wxListCtrl_DeleteAllItems( TSelf(wxListCtrl) _obj );
+TBool      wxListCtrl_DeleteColumn( TSelf(wxListCtrl) _obj, int col );
+TBool      wxListCtrl_DeleteItem( TSelf(wxListCtrl) _obj, int item );
+void       wxListCtrl_EditLabel( TSelf(wxListCtrl) _obj, int item );
+TBool      wxListCtrl_EndEditLabel( TSelf(wxListCtrl) _obj, int cancel );
+TBool      wxListCtrl_EnsureVisible( TSelf(wxListCtrl) _obj, int item );
+int        wxListCtrl_FindItem( TSelf(wxListCtrl) _obj, int start, TClass(wxString) str, TBool partial );
+int        wxListCtrl_FindItemByData( TSelf(wxListCtrl) _obj, int start, int data );
+int        wxListCtrl_FindItemByPosition( TSelf(wxListCtrl) _obj, int start, TPoint(x,y), int direction );
+TBool      wxListCtrl_GetColumn( TSelf(wxListCtrl) _obj, int col, TClass(wxListItem) item );
+int        wxListCtrl_GetColumnCount( TSelf(wxListCtrl) _obj );
+int        wxListCtrl_GetColumnWidth( TSelf(wxListCtrl) _obj, int col );
+int        wxListCtrl_GetCountPerPage( TSelf(wxListCtrl) _obj );
+TClass(wxTextCtrl)  wxListCtrl_GetEditControl( TSelf(wxListCtrl) _obj );
+TClass(wxImageList) wxListCtrl_GetImageList( TSelf(wxListCtrl) _obj, int which );
+TBool      wxListCtrl_GetItem( TSelf(wxListCtrl) _obj, TClass(wxListItem) info );
+int        wxListCtrl_GetItemCount( TSelf(wxListCtrl) _obj );
+int        wxListCtrl_GetItemData( TSelf(wxListCtrl) _obj, int item );
+TBool      wxListCtrl_GetItemPosition( TSelf(wxListCtrl) _obj, int item, int*x, int* y );
+int        wxListCtrl_GetItemRect( TSelf(wxListCtrl) _obj, int item, int code, TRectOutVoid(x,y,w,h) );
+void       wxListCtrl_GetItemSpacing( TSelf(wxListCtrl) _obj, TBool isSmall, TSizeOutVoid(w,h) );
+int        wxListCtrl_GetItemState( TSelf(wxListCtrl) _obj, int item, int stateMask );
+TClass(wxString) wxListCtrl_GetItemText( TSelf(wxListCtrl) _obj, int item );
+int        wxListCtrl_GetNextItem( TSelf(wxListCtrl) _obj, int item, int geometry, int state );
+int        wxListCtrl_GetSelectedItemCount( TSelf(wxListCtrl) _obj );
+void       wxListCtrl_GetTextColour( TSelf(wxListCtrl) _obj, TClassRef(wxColour) _ref );
+int        wxListCtrl_GetTopItem( TSelf(wxListCtrl) _obj );
+int        wxListCtrl_HitTest( TSelf(wxListCtrl) _obj, TPoint(x,y), void* flags );
+int        wxListCtrl_InsertColumn( TSelf(wxListCtrl) _obj, int col, TClass(wxString) heading, int format, int width );
+int        wxListCtrl_InsertColumnFromInfo( TSelf(wxListCtrl) _obj, int col, TClass(wxListItem) info );
+int        wxListCtrl_InsertItem( TSelf(wxListCtrl) _obj, TClass(wxListItem) info );
+int        wxListCtrl_InsertItemWithData( TSelf(wxListCtrl) _obj, int index, TClass(wxString) label );
+int        wxListCtrl_InsertItemWithImage( TSelf(wxListCtrl) _obj, int index, int imageIndex );
+int        wxListCtrl_InsertItemWithLabel( TSelf(wxListCtrl) _obj, int index, TClass(wxString) label, int imageIndex );
+TBool      wxListCtrl_ScrollList( TSelf(wxListCtrl) _obj, TVector(dx,dy) );
+void       wxListCtrl_SetBackgroundColour( TSelf(wxListCtrl) _obj, TClass(wxColour) col );
+TBool      wxListCtrl_SetColumn( TSelf(wxListCtrl) _obj, int col, TClass(wxListItem) item );
+TBool      wxListCtrl_SetColumnWidth( TSelf(wxListCtrl) _obj, int col, int width );
+int        wxListCtrl_SetForegroundColour( TSelf(wxListCtrl) _obj, TClass(wxColour) col );
+void       wxListCtrl_SetImageList( TSelf(wxListCtrl) _obj, TClass(wxImageList) imageList, int which );
+TBool      wxListCtrl_SetItem( TSelf(wxListCtrl) _obj, int index, int col, TClass(wxString) label, int imageId );
+TBool      wxListCtrl_SetItemData( TSelf(wxListCtrl) _obj, int item, int data );
+TBool      wxListCtrl_SetItemFromInfo( TSelf(wxListCtrl) _obj, TClass(wxListItem) info );
+TBool      wxListCtrl_SetItemImage( TSelf(wxListCtrl) _obj, int item, int image, int selImage );
+TBool      wxListCtrl_SetItemPosition( TSelf(wxListCtrl) _obj, int item, TPoint(x,y) );
+TBool      wxListCtrl_SetItemState( TSelf(wxListCtrl) _obj, int item, int state, int stateMask );
+void       wxListCtrl_SetItemText( TSelf(wxListCtrl) _obj, int item, TClass(wxString) str );
+void       wxListCtrl_SetSingleStyle( TSelf(wxListCtrl) _obj, int style, TBool add );
+void       wxListCtrl_SetTextColour( TSelf(wxListCtrl) _obj, TClass(wxColour) col );
+void       wxListCtrl_SetWindowStyleFlag( TSelf(wxListCtrl) _obj, int style );
+TBool      wxListCtrl_SortItems( TSelf(wxListCtrl) _obj, void* fn, void* eif_obj );
+void       wxListCtrl_UpdateStyle( TSelf(wxListCtrl) _obj );
+
+/* wxListEvent */
+TClassDefExtend(wxListEvent,wxNotifyEvent)
+TBool      wxListEvent_Cancelled( TSelf(wxListEvent) _obj );
+int        wxListEvent_GetCode( TSelf(wxListEvent) _obj );
+int        wxListEvent_GetColumn( TSelf(wxListEvent) _obj );
+int        wxListEvent_GetData( TSelf(wxListEvent) _obj );
+int        wxListEvent_GetImage( TSelf(wxListEvent) _obj );
+int        wxListEvent_GetIndex( TSelf(wxListEvent) _obj );
+void       wxListEvent_GetItem( TSelf(wxListEvent) _obj, TClassRef(wxListItem) _ref );
+TClass(wxString) wxListEvent_GetLabel( TSelf(wxListEvent) _obj );
+int        wxListEvent_GetMask( TSelf(wxListEvent) _obj );
+/*
+int        wxListEvent_GetOldIndex( TSelf(wxListEvent) _obj );
+int        wxListEvent_GetOldItem( TSelf(wxListEvent) _obj );
+*/
+void       wxListEvent_GetPoint( TSelf(wxListEvent) _obj, TPointOutVoid(_x,_y) );
+TClass(wxString) wxListEvent_GetText( TSelf(wxListEvent) _obj );
+
+/* wxListItem */
+TClassDefExtend(wxListItem,wxObject)
+void       wxListItem_Clear( TSelf(wxListItem) _obj );
+void       wxListItem_ClearAttributes( TSelf(wxListItem) _obj );
+TClass(wxListItem) wxListItem_Create(  );
+void       wxListItem_Delete( TSelf(wxListItem) _obj );
+int        wxListItem_GetAlign( TSelf(wxListItem) _obj );
+void*      wxListItem_GetAttributes( TSelf(wxListItem) _obj );
+void       wxListItem_GetBackgroundColour( TSelf(wxListItem) _obj, TClassRef(wxColour) _ref );
+int        wxListItem_GetColumn( TSelf(wxListItem) _obj );
+int        wxListItem_GetData( TSelf(wxListItem) _obj );
+void       wxListItem_GetFont( TSelf(wxListItem) _obj, TClassRef(wxFont) _ref );
+int        wxListItem_GetId( TSelf(wxListItem) _obj );
+int        wxListItem_GetImage( TSelf(wxListItem) _obj );
+int        wxListItem_GetMask( TSelf(wxListItem) _obj );
+int        wxListItem_GetState( TSelf(wxListItem) _obj );
+TClass(wxString) wxListItem_GetText( TSelf(wxListItem) _obj );
+void       wxListItem_GetTextColour( TSelf(wxListItem) _obj, TClassRef(wxColour) _ref );
+int        wxListItem_GetWidth( TSelf(wxListItem) _obj );
+TBool      wxListItem_HasAttributes( TSelf(wxListItem) _obj );
+void       wxListItem_SetAlign( TSelf(wxListItem) _obj, int align );
+void       wxListItem_SetBackgroundColour( TSelf(wxListItem) _obj, TClass(wxColour) colBack );
+void       wxListItem_SetColumn( TSelf(wxListItem) _obj, int col );
+void       wxListItem_SetData( TSelf(wxListItem) _obj, int data );
+void       wxListItem_SetDataPointer( TSelf(wxListItem) _obj, void* data );
+void       wxListItem_SetFont( TSelf(wxListItem) _obj, TClass(wxFont) font );
+void       wxListItem_SetId( TSelf(wxListItem) _obj, int id );
+void       wxListItem_SetImage( TSelf(wxListItem) _obj, int image );
+void       wxListItem_SetMask( TSelf(wxListItem) _obj, int mask );
+void       wxListItem_SetState( TSelf(wxListItem) _obj, int state );
+void       wxListItem_SetStateMask( TSelf(wxListItem) _obj, int stateMask );
+void       wxListItem_SetText( TSelf(wxListItem) _obj, TClass(wxString) text );
+void       wxListItem_SetTextColour( TSelf(wxListItem) _obj, TClass(wxColour) colText );
+void       wxListItem_SetWidth( TSelf(wxListItem) _obj, int width );
+
+/* wxLocale */
+TClassDef(wxLocale)
+int        wxLocale_AddCatalog( TSelf(wxLocale) _obj, void* szDomain );
+void       wxLocale_AddCatalogLookupPathPrefix( TSelf(wxLocale) _obj, void* prefix );
+TClass(wxLocale) wxLocale_Create( int _name, int _flags );
+void       wxLocale_Delete( TSelf(wxLocale) _obj );
+TClass(wxLocale) wxLocale_GetLocale( TSelf(wxLocale) _obj );
+TClass(wxString) wxLocale_GetName( TSelf(wxLocale) _obj );
+TString    wxLocale_GetString( TSelf(wxLocale) _obj, void* szOrigString, void* szDomain );
+TBool      wxLocale_IsLoaded( TSelf(wxLocale) _obj, void* szDomain );
+TBool      wxLocale_IsOk( TSelf(wxLocale) _obj );
+
+/* wxLog */
+TClassDef(wxLog)
+
+/* wxLogChain */
+TClassDefExtend(wxLogChain,wxLog)
+TClass(wxLogChain) wxLogChain_Create( TClass(wxLog) logger );
+void       wxLogChain_Delete( TSelf(wxLogChain) _obj );
+TClass(wxLog) wxLogChain_GetOldLog( TSelf(wxLogChain) _obj );
+TBool      wxLogChain_IsPassingMessages( TSelf(wxLogChain) _obj );
+void       wxLogChain_PassMessages( TSelf(wxLogChain) _obj, TBool bDoPass );
+void       wxLogChain_SetLog( TSelf(wxLogChain) _obj, TClass(wxLog) logger );
+
+/* wxLogGUI */
+TClassDefExtend(wxLogGUI,wxLog)
+
+/* wxLogNull */
+TClassDefExtend(wxLogNull,wxLog)
+
+/* wxLogPassThrough */
+TClassDefExtend(wxLogPassThrough,wxLogChain)
+
+/* wxLogStderr */
+TClassDefExtend(wxLogStderr,wxLog)
+
+/* wxLogStream */
+TClassDefExtend(wxLogStream,wxLog)
+
+/* wxLogTextCtrl */
+TClassDefExtend(wxLogTextCtrl,wxLog)
+
+/* wxLogWindow */
+TClassDefExtend(wxLogWindow,wxLogPassThrough)
+
+/* wxLongLong */
+TClassDef(wxLongLong)
+
+/* wxMBConv */
+TClassDef(wxMBConv)
+
+/* wxMBConvFile */
+TClassDefExtend(wxMBConvFile,wxMBConv)
+
+/* wxMBConvUTF7 */
+TClassDefExtend(wxMBConvUTF7,wxMBConv)
+
+/* wxMBConvUTF8 */
+TClassDefExtend(wxMBConvUTF8,wxMBConv)
+
+/* wxMDIChildFrame */
+TClassDefExtend(wxMDIChildFrame,wxFrame)
+void       wxMDIChildFrame_Activate( TSelf(wxMDIChildFrame) _obj );
+TClass(wxMDIChildFrame) wxMDIChildFrame_Create( TClass(wxWindow) _prt, int _id, TClass(wxString) _txt, TRect(_lft,_top,_wdt,_hgt), int _stl );
+
+/* wxMDIClientWindow */
+TClassDefExtend(wxMDIClientWindow,wxWindow)
+
+/* wxMDIParentFrame */
+TClassDefExtend(wxMDIParentFrame,wxFrame)
+void       wxMDIParentFrame_ActivateNext( TSelf(wxMDIParentFrame) _obj );
+void       wxMDIParentFrame_ActivatePrevious( TSelf(wxMDIParentFrame) _obj );
+void       wxMDIParentFrame_ArrangeIcons( TSelf(wxMDIParentFrame) _obj );
+void       wxMDIParentFrame_Cascade( TSelf(wxMDIParentFrame) _obj );
+TClass(wxMDIParentFrame)  wxMDIParentFrame_Create( TClass(wxWindow) _prt, int _id, TClass(wxString) _txt, TRect(_lft,_top,_wdt,_hgt), int _stl );
+TClass(wxMDIChildFrame)   wxMDIParentFrame_GetActiveChild( TSelf(wxMDIParentFrame) _obj );
+TClass(wxMDIClientWindow) wxMDIParentFrame_GetClientWindow( TSelf(wxMDIParentFrame) _obj );
+TClass(wxMenu)            wxMDIParentFrame_GetWindowMenu( TSelf(wxMDIParentFrame) _obj );
+TClass(wxMDIClientWindow) wxMDIParentFrame_OnCreateClient( TSelf(wxMDIParentFrame) _obj );
+void       wxMDIParentFrame_SetWindowMenu( TSelf(wxMDIParentFrame) _obj, TClass(wxMenu) menu );
+void       wxMDIParentFrame_Tile( TSelf(wxMDIParentFrame) _obj );
+
+/* wxMask */
+TClassDefExtend(wxMask,wxObject)
+TClass(wxMask) wxMask_Create( TClass(wxBitmap) bitmap );
+void*      wxMask_CreateColoured( TClass(wxBitmap) bitmap, TClass(wxColour) colour );
+
+/* wxMaximizeEvent */
+TClassDefExtend(wxMaximizeEvent,wxEvent)
+
+/* wxMemoryDC */
+TClassDefExtend(wxMemoryDC,wxDC)
+TClass(wxMemoryDC) wxMemoryDC_Create(  );
+TClass(wxMemoryDC) wxMemoryDC_CreateCompatible( TClass(wxDC) dc );
+TClass(wxMemoryDC) wxMemoryDC_CreateWithBitmap( TClass(wxBitmap) bitmap );
+void       wxMemoryDC_Delete( TSelf(wxMemoryDC) _obj );
+void       wxMemoryDC_SelectObject( TSelf(wxMemoryDC) _obj, TClass(wxBitmap) bitmap );
+
+/* wxMemoryFSHandler */
+TClassDefExtend(wxMemoryFSHandler,wxFileSystemHandler)
+
+/* wxMemoryInputStream */
+TClassDefExtend(wxMemoryInputStream,wxInputStream)
+
+/* wxMemoryOutputStream */
+TClassDefExtend(wxMemoryOutputStream,wxOutputStream)
+
+/* wxMenu */
+TClassDefExtend(wxMenu,wxEvtHandler)
+void       wxMenu_Append( TSelf(wxMenu) _obj, int id, TClass(wxString) text, TClass(wxString) help, TBool isCheckable );
+void       wxMenu_AppendItem( TSelf(wxMenu) _obj, TClass(wxMenuItem) _itm );
+void       wxMenu_AppendSeparator( TSelf(wxMenu) _obj );
+void       wxMenu_AppendSub( TSelf(wxMenu) _obj, int id, TClass(wxString) text, TClass(wxMenu) submenu, TClass(wxString) help );
+void       wxMenu_Break( TSelf(wxMenu) _obj );
+void       wxMenu_Check( TSelf(wxMenu) _obj, int id, TBool check );
+TClass(wxMenu) wxMenu_Create( TClass(wxString) title, long style );
+void       wxMenu_DeleteById( TSelf(wxMenu) _obj, int id );
+void       wxMenu_DeleteByItem( TSelf(wxMenu) _obj, TClass(wxMenuItem) _itm );
+void       wxMenu_DeletePointer( TSelf(wxMenu) _obj );
+void       wxMenu_DestroyById( TSelf(wxMenu) _obj, int id );
+void       wxMenu_DestroyByItem( TSelf(wxMenu) _obj, TClass(wxMenuItem) _itm );
+void       wxMenu_Enable( TSelf(wxMenu) _obj, int id, TBool enable );
+TClass(wxMenuItem)  wxMenu_FindItem( TSelf(wxMenu) _obj, int id);
+int        wxMenu_FindItemByLabel( TSelf(wxMenu) _obj, TClass(wxString) itemString );
+TClass(wxClientData) wxMenu_GetClientData( TSelf(wxMenu) _obj );
+TClass(wxString) wxMenu_GetHelpString( TSelf(wxMenu) _obj, int id );
+TClass(wxWindow) wxMenu_GetInvokingWindow( TSelf(wxMenu) _obj );
+TClass(wxString) wxMenu_GetLabel( TSelf(wxMenu) _obj, int id );
+size_t     wxMenu_GetMenuItemCount( TSelf(wxMenu) _obj );
+int        wxMenu_GetMenuItems( TSelf(wxMenu) _obj, TClass(wxList) _lst );
+TClass(wxMenu) wxMenu_GetParent( TSelf(wxMenu) _obj );
+int        wxMenu_GetStyle( TSelf(wxMenu) _obj );
+TClass(wxString) wxMenu_GetTitle( TSelf(wxMenu) _obj );
+void       wxMenu_Insert( TSelf(wxMenu) _obj, size_t pos, int id, TClass(wxString) text, TClass(wxString) help, TBool isCheckable );
+void       wxMenu_InsertItem( TSelf(wxMenu) _obj, size_t pos, TClass(wxMenuItem) _itm );
+void       wxMenu_InsertSub( TSelf(wxMenu) _obj, size_t pos, int id, TClass(wxString) text, TClass(wxMenu) submenu, TClass(wxString) help );
+TBool      wxMenu_IsAttached( TSelf(wxMenu) _obj );
+TBool      wxMenu_IsChecked( TSelf(wxMenu) _obj, int id );
+TBool      wxMenu_IsEnabled( TSelf(wxMenu) _obj, int id );
+void       wxMenu_Prepend( TSelf(wxMenu) _obj, int id, TClass(wxString) text, TClass(wxString) help, TBool isCheckable );
+void       wxMenu_PrependItem( TSelf(wxMenu) _obj, TClass(wxMenuItem) _itm );
+void       wxMenu_PrependSub( TSelf(wxMenu) _obj, int id, TClass(wxString) text, TClass(wxMenu) submenu, TClass(wxString) help );
+void       wxMenu_RemoveById( TSelf(wxMenu) _obj, int id, TClass(wxMenuItem) _itm );
+void       wxMenu_RemoveByItem( TSelf(wxMenu) _obj, void* item );
+void       wxMenu_SetClientData( TSelf(wxMenu) _obj, TClass(wxClientData) clientData );
+void       wxMenu_SetEventHandler( TSelf(wxMenu) _obj, TClass(wxEvtHandler) handler );
+void       wxMenu_SetHelpString( TSelf(wxMenu) _obj, int id, TClass(wxString) helpString );
+void       wxMenu_SetInvokingWindow( TSelf(wxMenu) _obj, TClass(wxWindow) win );
+void       wxMenu_SetLabel( TSelf(wxMenu) _obj, int id, TClass(wxString) label );
+void       wxMenu_SetParent( TSelf(wxMenu) _obj, TClass(wxWindow) parent );
+void       wxMenu_SetTitle( TSelf(wxMenu) _obj, TClass(wxString) title );
+void       wxMenu_UpdateUI( TSelf(wxMenu) _obj, void* source );
+
+/* wxMenuBar */
+TClassDefExtend(wxMenuBar,wxEvtHandler)
+int        wxMenuBar_Append( TSelf(wxMenuBar) _obj, TClass(wxMenu) menu, TClass(wxString) title );
+void       wxMenuBar_Check( TSelf(wxMenuBar) _obj, int id, TBool check );
+TClass(wxMenuBar) wxMenuBar_Create( int _style );
+void       wxMenuBar_DeletePointer( TSelf(wxMenuBar) _obj );
+int        wxMenuBar_Enable( TSelf(wxMenuBar) _obj, TBool enable );
+void       wxMenuBar_EnableItem( TSelf(wxMenuBar) _obj, int id, TBool enable );
+void       wxMenuBar_EnableTop( TSelf(wxMenuBar) _obj, int pos, TBool enable );
+TClass(wxMenuItem) wxMenuBar_FindItem( TSelf(wxMenuBar) _obj, int id);
+int        wxMenuBar_FindMenu( TSelf(wxMenuBar) _obj, TClass(wxString) title );
+int        wxMenuBar_FindMenuItem( TSelf(wxMenuBar) _obj, TClass(wxString) menuString, TClass(wxString) itemString );
+TClass(wxString) wxMenuBar_GetHelpString( TSelf(wxMenuBar) _obj, int id );
+TClass(wxString) wxMenuBar_GetLabel( TSelf(wxMenuBar) _obj, int id );
+TClass(wxString) wxMenuBar_GetLabelTop( TSelf(wxMenuBar) _obj, int pos );
+TClass(wxMenu) wxMenuBar_GetMenu( TSelf(wxMenuBar) _obj, int pos );
+int        wxMenuBar_GetMenuCount( TSelf(wxMenuBar) _obj );
+int        wxMenuBar_Insert( TSelf(wxMenuBar) _obj, int pos, TClass(wxMenu) menu, TClass(wxString) title );
+TBool      wxMenuBar_IsChecked( TSelf(wxMenuBar) _obj, int id );
+TBool      wxMenuBar_IsEnabled( TSelf(wxMenuBar) _obj, int id );
+TClass(wxMenu) wxMenuBar_Remove( TSelf(wxMenuBar) _obj, int pos );
+TClass(wxMenu) wxMenuBar_Replace( TSelf(wxMenuBar) _obj, int pos, TClass(wxMenu) menu, TClass(wxString) title );
+void       wxMenuBar_SetHelpString( TSelf(wxMenuBar) _obj, int id, TClass(wxString) helpString );
+void       wxMenuBar_SetItemLabel( TSelf(wxMenuBar) _obj, int id, TClass(wxString) label );
+void       wxMenuBar_SetLabel( TSelf(wxMenuBar) _obj, TClass(wxString) s );
+void       wxMenuBar_SetLabelTop( TSelf(wxMenuBar) _obj, int pos, TClass(wxString) label );
+
+/* wxMenuEvent */
+TClassDefExtend(wxMenuEvent,wxEvent)
+void       wxMenuEvent_CopyObject( TSelf(wxMenuEvent) _obj, void* obj );
+int        wxMenuEvent_GetMenuId( TSelf(wxMenuEvent) _obj );
+
+/* wxMenuItem */
+TClassDefExtend(wxMenuItem,wxObject)
+void       wxMenuItem_Check( TSelf(wxMenuItem) _obj, TBool check );
+TClass(wxMenuItem) wxMenuItem_Create(  );
+void       wxMenuItem_Delete( TSelf(wxMenuItem) _obj );
+void       wxMenuItem_Enable( TSelf(wxMenuItem) _obj, TBool enable );
+TClass(wxString) wxMenuItem_GetHelp( TSelf(wxMenuItem) _obj );
+int        wxMenuItem_GetId( TSelf(wxMenuItem) _obj );
+TClass(wxString) wxMenuItem_GetLabel( TSelf(wxMenuItem) _obj );
+TClass(wxString) wxMenuItem_GetLabelFromText( TStringVoid text );
+TClass(wxMenu) wxMenuItem_GetMenu( TSelf(wxMenuItem) _obj );
+TClass(wxMenu) wxMenuItem_GetSubMenu( TSelf(wxMenuItem) _obj );
+TClass(wxString) wxMenuItem_GetText( TSelf(wxMenuItem) _obj );
+TBool      wxMenuItem_IsCheckable( TSelf(wxMenuItem) _obj );
+TBool      wxMenuItem_IsChecked( TSelf(wxMenuItem) _obj );
+TBool      wxMenuItem_IsEnabled( TSelf(wxMenuItem) _obj );
+TBool      wxMenuItem_IsSeparator( TSelf(wxMenuItem) _obj );
+TBool      wxMenuItem_IsSubMenu( TSelf(wxMenuItem) _obj );
+void       wxMenuItem_SetCheckable( TSelf(wxMenuItem) _obj, TBool checkable );
+void       wxMenuItem_SetHelp( TSelf(wxMenuItem) _obj, TClass(wxString) str );
+void       wxMenuItem_SetId( TSelf(wxMenuItem) _obj, int id );
+void       wxMenuItem_SetSubMenu( TSelf(wxMenuItem) _obj, TClass(wxMenu) menu );
+void       wxMenuItem_SetText( TSelf(wxMenuItem) _obj, TClass(wxString) str );
+
+/* wxMessageDialog */
+TClassDefExtend(wxMessageDialog,wxDialog)
+TClass(wxMessageDialog) wxMessageDialog_Create( TClass(wxWindow) _prt, TClass(wxString) _msg, TClass(wxString) _cap, int _stl );
+void       wxMessageDialog_Delete( TSelf(wxMessageDialog) _obj );
+int        wxMessageDialog_ShowModal( TSelf(wxMessageDialog) _obj );
+
+/* wxMetafile */
+TClassDefExtend(wxMetafile,wxObject)
+TClass(wxMetafile) wxMetafile_Create( TClass(wxString) _file );
+void       wxMetafile_Delete( TSelf(wxMetafile) _obj );
+TBool      wxMetafile_IsOk( TSelf(wxMetafile) _obj );
+TBool      wxMetafile_Play( TSelf(wxMetafile) _obj, TClass(wxDC) _dc );
+TBool      wxMetafile_SetClipboard( TSelf(wxMetafile) _obj, TSize(width,height) );
+
+/* wxMetafileDC */
+TClassDefExtend(wxMetafileDC,wxDC)
+void*      wxMetafileDC_Close( TSelf(wxMetafileDC) _obj );
+TClass(wxMetafileDC) wxMetafileDC_Create( TClass(wxString) _file );
+void       wxMetafileDC_Delete( TSelf(wxMetafileDC) _obj );
+
+/* wxMimeTypesManager */
+TClassDef(wxMimeTypesManager)
+void       wxMimeTypesManager_AddFallbacks( TSelf(wxMimeTypesManager) _obj, void* _types );
+TClass(wxMimeTypesManager) wxMimeTypesManager_Create(  );
+int        wxMimeTypesManager_EnumAllFileTypes( TSelf(wxMimeTypesManager) _obj, TClass(wxList) _lst );
+TClass(wxFileType) wxMimeTypesManager_GetFileTypeFromExtension( TSelf(wxMimeTypesManager) _obj, TClass(wxString) _ext );
+TClass(wxFileType) wxMimeTypesManager_GetFileTypeFromMimeType( TSelf(wxMimeTypesManager) _obj, TClass(wxString) _name );
+TBool      wxMimeTypesManager_IsOfType( TSelf(wxMimeTypesManager) _obj, TClass(wxString) _type, TClass(wxString) _wildcard );
+TBool      wxMimeTypesManager_ReadMailcap( TSelf(wxMimeTypesManager) _obj, TClass(wxString) _file, int _fb );
+TBool      wxMimeTypesManager_ReadMimeTypes( TSelf(wxMimeTypesManager) _obj, TClass(wxString) _file );
+
+/* wxMiniFrame */
+TClassDefExtend(wxMiniFrame,wxFrame)
+TClass(wxMiniFrame) wxMiniFrame_Create( TClass(wxWindow) _prt, int _id, TClass(wxString) _txt, TRect(_lft,_top,_wdt,_hgt), int _stl );
+
+/* wxMirrorDC */
+TClassDefExtend(wxMirrorDC,wxDC)
+TClass(wxMirrorDC) wxMirrorDC_Create( TClass(wxDC) dc );
+void       wxMirrorDC_Delete( TSelf(wxMemoryDC) _obj );
+
+/* wxModule */
+TClassDefExtend(wxModule,wxObject)
+
+/* wxMouseCaptureChangedEvent */
+TClassDefExtend(wxMouseCaptureChangedEvent,wxEvent)
+
+/* wxMouseEvent */
+TClassDefExtend(wxMouseEvent,wxEvent)
+TBool      wxMouseEvent_AltDown( TSelf(wxMouseEvent) _obj );
+TBool      wxMouseEvent_Button( TSelf(wxMouseEvent) _obj, int but );
+TBool      wxMouseEvent_ButtonDClick( TSelf(wxMouseEvent) _obj, int but );
+TBool      wxMouseEvent_ButtonDown( TSelf(wxMouseEvent) _obj, int but );
+TBool      wxMouseEvent_ButtonIsDown( TSelf(wxMouseEvent) _obj, int but );
+TBool      wxMouseEvent_ButtonUp( TSelf(wxMouseEvent) _obj, int but );
+TBool      wxMouseEvent_ControlDown( TSelf(wxMouseEvent) _obj );
+void       wxMouseEvent_CopyObject( TSelf(wxMouseEvent) _obj, void* object_dest );
+TBool      wxMouseEvent_Dragging( TSelf(wxMouseEvent) _obj );
+TBool      wxMouseEvent_Entering( TSelf(wxMouseEvent) _obj );
+void       wxMouseEvent_GetLogicalPosition( TSelf(wxMouseEvent) _obj, TClass(wxDC) dc, TPointOut(_x,_y) );
+void       wxMouseEvent_GetPosition( TSelf(wxMouseEvent) _obj, TPointOut(_x,_y) );
+int        wxMouseEvent_GetX( TSelf(wxMouseEvent) _obj );
+int        wxMouseEvent_GetY( TSelf(wxMouseEvent) _obj );
+TBool      wxMouseEvent_IsButton( TSelf(wxMouseEvent) _obj );
+TBool      wxMouseEvent_Leaving( TSelf(wxMouseEvent) _obj );
+TBool      wxMouseEvent_LeftDClick( TSelf(wxMouseEvent) _obj );
+TBool      wxMouseEvent_LeftDown( TSelf(wxMouseEvent) _obj );
+TBool      wxMouseEvent_LeftIsDown( TSelf(wxMouseEvent) _obj );
+TBool      wxMouseEvent_LeftUp( TSelf(wxMouseEvent) _obj );
+TBool      wxMouseEvent_MetaDown( TSelf(wxMouseEvent) _obj );
+TBool      wxMouseEvent_MiddleDClick( TSelf(wxMouseEvent) _obj );
+TBool      wxMouseEvent_MiddleDown( TSelf(wxMouseEvent) _obj );
+TBool      wxMouseEvent_MiddleIsDown( TSelf(wxMouseEvent) _obj );
+TBool      wxMouseEvent_MiddleUp( TSelf(wxMouseEvent) _obj );
+TBool      wxMouseEvent_Moving( TSelf(wxMouseEvent) _obj );
+TBool      wxMouseEvent_RightDClick( TSelf(wxMouseEvent) _obj );
+TBool      wxMouseEvent_RightDown( TSelf(wxMouseEvent) _obj );
+TBool      wxMouseEvent_RightIsDown( TSelf(wxMouseEvent) _obj );
+TBool      wxMouseEvent_RightUp( TSelf(wxMouseEvent) _obj );
+TBool      wxMouseEvent_ShiftDown( TSelf(wxMouseEvent) _obj );
+
+/* wxMoveEvent */
+TClassDefExtend(wxMoveEvent,wxEvent)
+void       wxMoveEvent_CopyObject( TSelf(wxMoveEvent) _obj, void* obj );
+void       wxMoveEvent_GetPosition( TSelf(wxMoveEvent) _obj, TPointOut(_x,_y) );
+
+/* wxMultiCellCanvas */
+TClassDefExtend(wxMultiCellCanvas,wxFlexGridSizer)
+void       wxMultiCellCanvas_Add( TSelf(wxMultiCellCanvas) _obj, TClass(wxWindow) win, int row, int col );
+void       wxMultiCellCanvas_CalculateConstraints( TSelf(wxMultiCellCanvas) _obj );
+TClass(wxMultiCellCanvas) wxMultiCellCanvas_Create( TClass(wxWindow) parent, int numRows, int numCols );
+int        wxMultiCellCanvas_MaxCols( TSelf(wxMultiCellCanvas) _obj );
+int        wxMultiCellCanvas_MaxRows( TSelf(wxMultiCellCanvas) _obj );
+void       wxMultiCellCanvas_SetMinCellSize( TSelf(wxMultiCellCanvas) _obj, TSize(w,h) );
+
+/* wxMultiCellItemHandle */
+TClassDefExtend(wxMultiCellItemHandle,wxObject)
+TClass(wxMultiCellItemHandle) wxMultiCellItemHandle_Create( int row, int column, int height, int width, int sx, int sy, int style, int wx, int wy, int align );
+void*      wxMultiCellItemHandle_CreateWithSize( TSelf(wxMultiCellItemHandle) _obj, int row, int column, int sx, int sy, int style, int wx, int wy, int align );
+void*      wxMultiCellItemHandle_CreateWithStyle( TSelf(wxMultiCellItemHandle) _obj, int row, int column, int style, int wx, int wy, int align );
+int        wxMultiCellItemHandle_GetAlignment( TSelf(wxMultiCellItemHandle) _obj );
+int        wxMultiCellItemHandle_GetColumn( TSelf(wxMultiCellItemHandle) _obj );
+int        wxMultiCellItemHandle_GetHeight( TSelf(wxMultiCellItemHandle) _obj );
+void       wxMultiCellItemHandle_GetLocalSize( TSelf(wxMultiCellItemHandle) _obj, TSizeOutVoid(_w,_h) );
+int        wxMultiCellItemHandle_GetRow( TSelf(wxMultiCellItemHandle) _obj );
+int        wxMultiCellItemHandle_GetStyle( TSelf(wxMultiCellItemHandle) _obj );
+void       wxMultiCellItemHandle_GetWeight( TSelf(wxMultiCellItemHandle) _obj, TSizeOutVoid(_w,_h) );
+int        wxMultiCellItemHandle_GetWidth( TSelf(wxMultiCellItemHandle) _obj );
+
+/* wxMultiCellSizer */
+TClassDefExtend(wxMultiCellSizer,wxSizer)
+void       wxMultiCellSizer_CalcMin( TSelf(wxMultiCellSizer) _obj, TSizeOutVoid(_w,_h) );
+TClass(wxMultiCellSizer) wxMultiCellSizer_Create( int rows, int cols );
+void       wxMultiCellSizer_Delete( TSelf(wxMultiCellSizer) _obj );
+int        wxMultiCellSizer_EnableGridLines( TSelf(wxMultiCellSizer) _obj, TClass(wxWindow) win );
+void       wxMultiCellSizer_RecalcSizes( TSelf(wxMultiCellSizer) _obj );
+int        wxMultiCellSizer_SetColumnWidth( TSelf(wxMultiCellSizer) _obj, int column, int colSize, int expandable );
+int        wxMultiCellSizer_SetDefaultCellSize( TSelf(wxMultiCellSizer) _obj, TSize(w,h) );
+int        wxMultiCellSizer_SetGridPen( TSelf(wxMultiCellSizer) _obj, TClass(wxPen) pen );
+int        wxMultiCellSizer_SetRowHeight( TSelf(wxMultiCellSizer) _obj, int row, int rowSize, int expandable );
+
+/* wxMutex */
+TClassDef(wxMutex)
+TClass(wxMutex) wxMutex_Create(  );
+void       wxMutex_Delete( TSelf(wxMutex) _obj );
+TBool      wxMutex_IsLocked( TSelf(wxMutex) _obj );
+int        wxMutex_Lock( TSelf(wxMutex) _obj );
+int        wxMutex_TryLock( TSelf(wxMutex) _obj );
+int        wxMutex_Unlock( TSelf(wxMutex) _obj );
+
+/* wxMutexLocker */
+TClassDef(wxMutexLocker)
+
+/* wxNavigationKeyEvent */
+TClassDefExtend(wxNavigationKeyEvent,wxEvent)
+void*      wxNavigationKeyEvent_GetCurrentFocus( TSelf(wxNavigationKeyEvent) _obj );
+TBool      wxNavigationKeyEvent_GetDirection( TSelf(wxNavigationKeyEvent) _obj );
+TBool      wxNavigationKeyEvent_IsWindowChange( TSelf(wxNavigationKeyEvent) _obj );
+void       wxNavigationKeyEvent_SetCurrentFocus( TSelf(wxNavigationKeyEvent) _obj, TClass(wxWindow) win );
+void       wxNavigationKeyEvent_SetDirection( TSelf(wxNavigationKeyEvent) _obj, TBool bForward );
+/* void       wxNavigationKeyEvent_SetPropagate( TSelf(wxNavigationKeyEvent) _obj, int bDoIt );*/
+void       wxNavigationKeyEvent_SetWindowChange( TSelf(wxNavigationKeyEvent) _obj, TBool bIs );
+int        wxNavigationKeyEvent_ShouldPropagate( TSelf(wxNavigationKeyEvent) _obj );
+
+/* wxNewBitmapButton */
+TClassDefExtend(wxNewBitmapButton,wxPanel)
+TClass(wxNewBitmapButton) wxNewBitmapButton_Create( void* labelBitmap, void* labelText, int alignText, TBool isFlat, int firedEventType, int marginX, int marginY, int textToLabelGap, TBool isSticky );
+TClass(wxNewBitmapButton) wxNewBitmapButton_CreateFromFile( TSelf(wxNewBitmapButton) bitmapFileName, int bitmapFileType, void* labelText, int alignText, TBool isFlat, int firedEventType, int marginX, int marginY, int textToLabelGap, TBool isSticky );
+void       wxNewBitmapButton_Delete( TSelf(wxNewBitmapButton) _obj );
+void       wxNewBitmapButton_DrawDecorations( TSelf(wxNewBitmapButton) _obj, TClass(wxDC) dc );
+void       wxNewBitmapButton_DrawLabel( TSelf(wxNewBitmapButton) _obj, TClass(wxDC) dc );
+int        wxNewBitmapButton_Enable( TSelf(wxNewBitmapButton) _obj, TBool enable );
+void       wxNewBitmapButton_Realize( TSelf(wxNewBitmapButton) _obj, TClass(wxWindow) _prt, int _id, TRect(_x,_y,_w,_h) );
+void       wxNewBitmapButton_RenderAllLabelImages( TSelf(wxNewBitmapButton) _obj );
+void       wxNewBitmapButton_RenderLabelImage( TSelf(wxNewBitmapButton) _obj, void* destBmp, void* srcBmp, TBool isEnabled, TBool isPressed );
+void       wxNewBitmapButton_RenderLabelImages( TSelf(wxNewBitmapButton) _obj );
+void       wxNewBitmapButton_Reshape( TSelf(wxNewBitmapButton) _obj );
+void       wxNewBitmapButton_SetAlignments( TSelf(wxNewBitmapButton) _obj, int alignText, int marginX, int marginY, int textToLabelGap );
+void       wxNewBitmapButton_SetLabel( TSelf(wxNewBitmapButton) _obj, void* labelBitmap, void* labelText );
+
+/* wxNodeBase */
+TClassDef(wxNodeBase)
+
+/* wxNotebook */
+TClassDefExtend(wxNotebook,wxControl)
+TBool      wxNotebook_AddPage( TSelf(wxNotebook) _obj, TClass(wxWindow) pPage, TClass(wxString) strText, TBool bSelect, int imageId );
+void       wxNotebook_AdvanceSelection( TSelf(wxNotebook) _obj, TBool bForward );
+TClass(wxNotebook) wxNotebook_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
+TBool      wxNotebook_DeleteAllPages( TSelf(wxNotebook) _obj );
+TBool      wxNotebook_DeletePage( TSelf(wxNotebook) _obj, int nPage );
+TClass(wxImageList) wxNotebook_GetImageList( TSelf(wxNotebook) _obj );
+TClass(wxWindow)    wxNotebook_GetPage( TSelf(wxNotebook) _obj, int nPage );
+int        wxNotebook_GetPageCount( TSelf(wxNotebook) _obj );
+int        wxNotebook_GetPageImage( TSelf(wxNotebook) _obj, int nPage );
+TClass(wxString) wxNotebook_GetPageText( TSelf(wxNotebook) _obj, int nPage );
+int        wxNotebook_GetRowCount( TSelf(wxNotebook) _obj );
+int        wxNotebook_GetSelection( TSelf(wxNotebook) _obj );
+int        wxNotebook_HitTest( TSelf(wxNotebook) _obj, TPoint(x,y), long* flags );
+TBool      wxNotebook_InsertPage( TSelf(wxNotebook) _obj, int nPage, TClass(wxWindow) pPage, TClass(wxString) strText, TBool bSelect, int imageId );
+TBool      wxNotebook_RemovePage( TSelf(wxNotebook) _obj, int nPage );
+void       wxNotebook_SetImageList( TSelf(wxNotebook) _obj, TClass(wxImageList) imageList );
+void       wxNotebook_SetPadding( TSelf(wxNotebook) _obj, TSize(_w,_h) );
+TBool      wxNotebook_SetPageImage( TSelf(wxNotebook) _obj, int nPage, int nImage );
+void       wxNotebook_SetPageSize( TSelf(wxNotebook) _obj, TSize(_w,_h) );
+TBool      wxNotebook_SetPageText( TSelf(wxNotebook) _obj, int nPage, TClass(wxString) strText );
+int        wxNotebook_SetSelection( TSelf(wxNotebook) _obj, int nPage );
+
+int        expNB_TOP(  );
+int        expNB_BOTTOM(  );
+int        expNB_LEFT(  );
+int        expNB_RIGHT(  );
+
+int        expBK_HITTEST_NOWHERE(  );
+int        expBK_HITTEST_ONICON(  );
+int        expBK_HITTEST_ONLABEL(  );
+int        expBK_HITTEST_ONITEM(  );
+int        expBK_HITTEST_ONPAGE(  );
+
+/* wxNotebookEvent */
+TClassDefExtend(wxNotebookEvent,wxNotifyEvent)
+
+/* wxNotebookSizer */
+/* Class removed from wxWidgets >= 2.8 */
+
+/* wxNotifyEvent */
+TClassDefExtend(wxNotifyEvent,wxCommandEvent)
+void       wxNotifyEvent_Allow( TSelf(wxNotifyEvent) _obj );
+void       wxNotifyEvent_CopyObject( TSelf(wxNotifyEvent) _obj, void* object_dest );
+TBool      wxNotifyEvent_IsAllowed( TSelf(wxNotifyEvent) _obj );
+void       wxNotifyEvent_Veto( TSelf(wxNotifyEvent) _obj );
+
+/* wxObject */
+TClassDef(wxObject)
+
+/* wxObjectRefData */
+TClassDef(wxObjectRefData)
+
+/* wxOutputStream */
+TClassDefExtend(wxOutputStream,wxStreamBase)
+void       wxOutputStream_Delete( TSelf(wxOutputStream) _obj );
+int        wxOutputStream_LastWrite( TSelf(wxOutputStream) _obj );
+void       wxOutputStream_PutC( TSelf(wxOutputStream) _obj, TChar c );
+int        wxOutputStream_Seek( TSelf(wxOutputStream) _obj, int pos, int mode );
+void       wxOutputStream_Sync( TSelf(wxOutputStream) _obj );
+int        wxOutputStream_Tell( TSelf(wxOutputStream) _obj );
+void       wxOutputStream_Write( TSelf(wxOutputStream) _obj, void* buffer, int size );
+
+/* wxPageSetupDialog */
+TClassDefExtend(wxPageSetupDialog,wxDialog)
+TClass(wxPageSetupDialog) wxPageSetupDialog_Create( TClass(wxWindow) parent, TClass(wxPageSetupDialogData) data );
+void       wxPageSetupDialog_GetPageSetupData( TSelf(wxPageSetupDialog) _obj, TClassRef(wxPageSetupDialogData) _ref );
+
+/* wxPageSetupDialogData */
+TClassDefExtend(wxPageSetupDialogData,wxObject)
+void       wxPageSetupDialogData_Assign( TSelf(wxPageSetupDialogData) _obj, TClassRef(wxPageSetupDialogData) data );
+void       wxPageSetupDialogData_AssignData( TSelf(wxPageSetupDialogData) _obj, TClass(wxPrintData) printData );
+void       wxPageSetupDialogData_CalculateIdFromPaperSize( TSelf(wxPageSetupDialogData) _obj );
+void       wxPageSetupDialogData_CalculatePaperSizeFromId( TSelf(wxPageSetupDialogData) _obj );
+TClass(wxPageSetupDialogData) wxPageSetupDialogData_Create(  );
+TClass(wxPageSetupDialogData) wxPageSetupDialogData_CreateFromData( TClass(wxPrintData) printData );
+void       wxPageSetupDialogData_Delete( TSelf(wxPageSetupDialogData) _obj );
+void       wxPageSetupDialogData_EnableHelp( TSelf(wxPageSetupDialogData) _obj, TBool flag );
+void       wxPageSetupDialogData_EnableMargins( TSelf(wxPageSetupDialogData) _obj, TBool flag );
+void       wxPageSetupDialogData_EnableOrientation( TSelf(wxPageSetupDialogData) _obj, TBool flag );
+void       wxPageSetupDialogData_EnablePaper( TSelf(wxPageSetupDialogData) _obj, TBool flag );
+void       wxPageSetupDialogData_EnablePrinter( TSelf(wxPageSetupDialogData) _obj, TBool flag );
+TBool      wxPageSetupDialogData_GetDefaultInfo( TSelf(wxPageSetupDialogData) _obj );
+TBool      wxPageSetupDialogData_GetDefaultMinMargins( TSelf(wxPageSetupDialogData) _obj );
+TBool      wxPageSetupDialogData_GetEnableHelp( TSelf(wxPageSetupDialogData) _obj );
+TBool      wxPageSetupDialogData_GetEnableMargins( TSelf(wxPageSetupDialogData) _obj );
+TBool      wxPageSetupDialogData_GetEnableOrientation( TSelf(wxPageSetupDialogData) _obj );
+TBool      wxPageSetupDialogData_GetEnablePaper( TSelf(wxPageSetupDialogData) _obj );
+TBool      wxPageSetupDialogData_GetEnablePrinter( TSelf(wxPageSetupDialogData) _obj );
+void       wxPageSetupDialogData_GetMarginBottomRight( TSelf(wxPageSetupDialogData) _obj, TPointOutVoid(_x,_y) );
+void       wxPageSetupDialogData_GetMarginTopLeft( TSelf(wxPageSetupDialogData) _obj, TPointOutVoid(_x,_y) );
+void       wxPageSetupDialogData_GetMinMarginBottomRight( TSelf(wxPageSetupDialogData) _obj, TPointOutVoid(_x,_y) );
+void       wxPageSetupDialogData_GetMinMarginTopLeft( TSelf(wxPageSetupDialogData) _obj, TPointOutVoid(_x,_y) );
+int        wxPageSetupDialogData_GetPaperId( TSelf(wxPageSetupDialogData) _obj );
+void       wxPageSetupDialogData_GetPaperSize( TSelf(wxPageSetupDialogData) _obj, TSizeOutVoid(_w,_h) );
+void       wxPageSetupDialogData_GetPrintData( TSelf(wxPageSetupDialogData) _obj, TClassRef(wxPrintData) _ref );
+void       wxPageSetupDialogData_SetDefaultInfo( TSelf(wxPageSetupDialogData) _obj, TBool flag );
+void       wxPageSetupDialogData_SetDefaultMinMargins( TSelf(wxPageSetupDialogData) _obj, int flag );
+void       wxPageSetupDialogData_SetMarginBottomRight( TSelf(wxPageSetupDialogData) _obj, TPoint(x,y) );
+void       wxPageSetupDialogData_SetMarginTopLeft( TSelf(wxPageSetupDialogData) _obj, TPoint(x,y) );
+void       wxPageSetupDialogData_SetMinMarginBottomRight( TSelf(wxPageSetupDialogData) _obj, TPoint(x,y) );
+void       wxPageSetupDialogData_SetMinMarginTopLeft( TSelf(wxPageSetupDialogData) _obj, TPoint(x,y) );
+void       wxPageSetupDialogData_SetPaperId( TSelf(wxPageSetupDialogData) _obj, void* id );
+void       wxPageSetupDialogData_SetPaperSize( TSelf(wxPageSetupDialogData) _obj, TSize(w,h) );
+void       wxPageSetupDialogData_SetPaperSizeId( TSelf(wxPageSetupDialogData) _obj, int id );
+void       wxPageSetupDialogData_SetPrintData( TSelf(wxPageSetupDialogData) _obj, TClass(wxPrintData) printData );
+
+/* wxPaintDC */
+TClassDefExtend(wxPaintDC,wxWindowDC)
+TClass(wxPaintDC) wxPaintDC_Create( TClass(wxWindow) win );
+void       wxPaintDC_Delete( TSelf(wxPaintDC) _obj );
+
+/* wxPaintEvent */
+TClassDefExtend(wxPaintEvent,wxEvent)
+
+/* wxPalette */
+TClassDefExtend(wxPalette,wxGDIObject)
+void       wxPalette_Assign( TSelf(wxPalette) _obj, TClass(wxPalette) palette );
+TClass(wxPalette) wxPalette_CreateDefault(  );
+TClass(wxPalette) wxPalette_CreateRGB( int n, void* red, void* green, void* blue );
+void       wxPalette_Delete( TSelf(wxPalette) _obj );
+int        wxPalette_GetPixel( TSelf(wxPalette) _obj, TColorRGB(red,green,blue) );
+TBool      wxPalette_GetRGB( TSelf(wxPalette) _obj, int pixel, void* red, void* green, void* blue );
+TBool      wxPalette_IsEqual( TSelf(wxPalette) _obj, TClass(wxPalette) palette );
+TBool      wxPalette_IsOk( TSelf(wxPalette) _obj );
+
+/* wxPaletteChangedEvent */
+TClassDefExtend(wxPaletteChangedEvent,wxEvent)
+void       wxPaletteChangedEvent_CopyObject( TSelf(wxPaletteChangedEvent) _obj, void* obj );
+void*      wxPaletteChangedEvent_GetChangedWindow( TSelf(wxPaletteChangedEvent) _obj );
+void       wxPaletteChangedEvent_SetChangedWindow( TSelf(wxPaletteChangedEvent) _obj, TClass(wxWindow) win );
+
+/* wxPanel */
+TClassDefExtend(wxPanel,wxWindow)
+TClass(wxPanel)  wxPanel_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
+void       wxPanel_InitDialog( TSelf(wxPanel) _obj );
+void       wxPanel_SetFocus( TSelf(wxPanel) _obj);
+
+/* wxPathList */
+TClassDefExtend(wxPathList,wxList)
+
+/* wxPen */
+TClassDefExtend(wxPen,wxGDIObject)
+void       wxPen_Assign( TSelf(wxPen) _obj, TClass(wxPen) pen );
+TClass(wxPen) wxPen_CreateDefault(  );
+TClass(wxPen) wxPen_CreateFromBitmap( TClass(wxBitmap) stipple, int width );
+TClass(wxPen) wxPen_CreateFromColour( TClass(wxColour) col, int width, int style );
+TClass(wxPen) wxPen_CreateFromStock( int id );
+void       wxPen_Delete( TSelf(wxPen) _obj );
+int        wxPen_GetCap( TSelf(wxPen) _obj );
+void       wxPen_GetColour( TSelf(wxPen) _obj, TClassRef(wxColour) _ref );
+int        wxPen_GetDashes( TSelf(wxPen) _obj, void* ptr );
+int        wxPen_GetJoin( TSelf(wxPen) _obj );
+void       wxPen_GetStipple( TSelf(wxPen) _obj, TClassRef(wxBitmap) _ref );
+int        wxPen_GetStyle( TSelf(wxPen) _obj );
+int        wxPen_GetWidth( TSelf(wxPen) _obj );
+TBool      wxPen_IsEqual( TSelf(wxPen) _obj, TClass(wxPen) pen );
+TBool      wxPen_IsOk( TSelf(wxPen) _obj );
+void       wxPen_SetCap( TSelf(wxPen) _obj, int cap );
+void       wxPen_SetColour( TSelf(wxPen) _obj, TClass(wxColour) col );
+void       wxPen_SetColourSingle( TSelf(wxPen) _obj, TChar r, TChar g, TChar b );
+void       wxPen_SetDashes( TSelf(wxPen) _obj, int nb_dashes, void* dash );
+void       wxPen_SetJoin( TSelf(wxPen) _obj, int join );
+void       wxPen_SetStipple( TSelf(wxPen) _obj, TClass(wxBitmap) stipple );
+void       wxPen_SetStyle( TSelf(wxPen) _obj, int style );
+void       wxPen_SetWidth( TSelf(wxPen) _obj, int width );
+
+/* wxPenList */
+TClassDefExtend(wxPenList,wxList)
+
+/* wxPlotCurve */
+TClassDefExtend(wxPlotCurve,wxObject)
+
+/* wxPlotEvent */
+TClassDefExtend(wxPlotEvent,wxNotifyEvent)
+void*      wxPlotEvent_GetCurve( TSelf(wxPlotEvent) _obj );
+int        wxPlotEvent_GetPosition( TSelf(wxPlotEvent) _obj );
+double     wxPlotEvent_GetZoom( TSelf(wxPlotEvent) _obj );
+void       wxPlotEvent_SetPosition( TSelf(wxPlotEvent) _obj, int pos );
+void       wxPlotEvent_SetZoom( TSelf(wxPlotEvent) _obj, double zoom );
+
+/* wxPlotOnOffCurve */
+TClassDefExtend(wxPlotOnOffCurve,wxObject)
+void       wxPlotOnOffCurve_Add( TSelf(wxPlotOnOffCurve) _obj, int on, int off, TClass(wxClientData) clientData );
+TClass(wxPlotOnOffCurve) wxPlotOnOffCurve_Create( int offsetY );
+void       wxPlotOnOffCurve_Delete( TSelf(wxPlotOnOffCurve) _obj );
+void       wxPlotOnOffCurve_DrawOffLine( TSelf(wxPlotOnOffCurve) _obj, TClass(wxDC) dc, int y, int start, int end );
+void       wxPlotOnOffCurve_DrawOnLine( TSelf(wxPlotOnOffCurve) _obj, TClass(wxDC) dc, int y, int start, int end, TClass(wxClientData) clientData );
+void*      wxPlotOnOffCurve_GetAt( TSelf(wxPlotOnOffCurve) _obj, int index );
+TClass(wxClientData) wxPlotOnOffCurve_GetClientData( TSelf(wxPlotOnOffCurve) _obj, int index );
+int        wxPlotOnOffCurve_GetCount( TSelf(wxPlotOnOffCurve) _obj );
+int        wxPlotOnOffCurve_GetEndX( TSelf(wxPlotOnOffCurve) _obj );
+int        wxPlotOnOffCurve_GetOff( TSelf(wxPlotOnOffCurve) _obj, int index );
+int        wxPlotOnOffCurve_GetOffsetY( TSelf(wxPlotOnOffCurve) _obj );
+int        wxPlotOnOffCurve_GetOn( TSelf(wxPlotOnOffCurve) _obj, int index );
+int        wxPlotOnOffCurve_GetStartX( TSelf(wxPlotOnOffCurve) _obj );
+void       wxPlotOnOffCurve_SetOffsetY( TSelf(wxPlotOnOffCurve) _obj, int offsetY );
+
+/* wxPlotWindow */
+TClassDefExtend(wxPlotWindow,wxScrolledWindow)
+void       wxPlotWindow_Add( TSelf(wxPlotWindow) _obj, TClass(wxPlotCurve) curve );
+void       wxPlotWindow_AddOnOff( TSelf(wxPlotWindow) _obj, TClass(wxPlotCurve) curve );
+TClass(wxPlotWindow) wxPlotWindow_Create( TClass(wxWindow) parent, int id, TRect(x,y,w,h), int flags );
+void       wxPlotWindow_Delete( TSelf(wxPlotWindow) _obj, TClass(wxPlotCurve) curve );
+void       wxPlotWindow_DeleteOnOff( TSelf(wxPlotWindow) _obj, TClass(wxPlotOnOffCurve) curve );
+void       wxPlotWindow_Enlarge( TSelf(wxPlotWindow) _obj, TClass(wxPlotCurve) curve, double factor );
+TClass(wxPlotCurve) wxPlotWindow_GetAt( TSelf(wxPlotWindow) _obj, int n );
+int        wxPlotWindow_GetCount( TSelf(wxPlotWindow) _obj );
+TClass(wxPlotCurve) wxPlotWindow_GetCurrent( TSelf(wxPlotWindow) _obj );
+int        wxPlotWindow_GetEnlargeAroundWindowCentre( TSelf(wxPlotWindow) _obj );
+TClass(wxPlotOnOffCurve)      wxPlotWindow_GetOnOffCurveAt( TSelf(wxPlotWindow) _obj, int n );
+int        wxPlotWindow_GetOnOffCurveCount( TSelf(wxPlotWindow) _obj );
+int        wxPlotWindow_GetScrollOnThumbRelease( TSelf(wxPlotWindow) _obj );
+double     wxPlotWindow_GetUnitsPerValue( TSelf(wxPlotWindow) _obj );
+double     wxPlotWindow_GetZoom( TSelf(wxPlotWindow) _obj );
+void       wxPlotWindow_Move( TSelf(wxPlotWindow) _obj, TClass(wxPlotCurve) curve, int pixels_up );
+void       wxPlotWindow_RedrawEverything( TSelf(wxPlotWindow) _obj );
+void       wxPlotWindow_RedrawXAxis( TSelf(wxPlotWindow) _obj );
+void       wxPlotWindow_RedrawYAxis( TSelf(wxPlotWindow) _obj );
+void       wxPlotWindow_ResetScrollbar( TSelf(wxPlotWindow) _obj );
+void       wxPlotWindow_SetCurrent( TSelf(wxPlotWindow) _obj, TClass(wxPlotCurve) current );
+void       wxPlotWindow_SetEnlargeAroundWindowCentre( TSelf(wxPlotWindow) _obj, int enlargeAroundWindowCentre );
+void       wxPlotWindow_SetScrollOnThumbRelease( TSelf(wxPlotWindow) _obj, int scrollOnThumbRelease );
+void       wxPlotWindow_SetUnitsPerValue( TSelf(wxPlotWindow) _obj, double upv );
+void       wxPlotWindow_SetZoom( TSelf(wxPlotWindow) _obj, double zoom );
+
+/* wxPoint */
+TClassDef(wxPoint)
+TClass(wxPoint) wxPoint_Create( TPoint(xx,yy) );
+void       wxPoint_Destroy( TSelf(wxPoint) _obj );
+int        wxPoint_GetX( TSelf(wxPoint) _obj );
+int        wxPoint_GetY( TSelf(wxPoint) _obj );
+void       wxPoint_SetX( TSelf(wxPoint) _obj, int w );
+void       wxPoint_SetY( TSelf(wxPoint) _obj, int h );
+
+/* wxPopupTransientWindow */
+TClassDefExtend(wxPopupTransientWindow,wxPopupWindow)
+
+/* wxPopupWindow */
+TClassDefExtend(wxPopupWindow,wxWindow)
+
+/* wxPostScriptDC */
+TClassDefExtend(wxPostScriptDC,wxDC)
+TClass(wxPostScriptDC) wxPostScriptDC_Create( TClass(wxPrintData) data );
+void       wxPostScriptDC_Delete( TSelf(wxPostScriptDC) self );
+void       wxPostScriptDC_SetResolution( TSelf(wxPostScriptDC) self, int ppi );
+int        wxPostScriptDC_GetResolution( TSelf(wxPostScriptDC) self );
+
+/* wxPreviewCanvas */
+TClassDefExtend(wxPreviewCanvas,wxScrolledWindow)
+TClass(wxPreviewCanvas) wxPreviewCanvas_Create( TClass(wxPrintPreview) preview, TClass(wxWindow) parent, TRect(x,y,w,h), int style );
+
+/* wxPreviewControlBar */
+TClassDefExtend(wxPreviewControlBar,wxPanel)
+
+/* wxPreviewFrame */
+TClassDefExtend(wxPreviewFrame,wxFrame)
+
+/* wxPrintData */
+TClassDefExtend(wxPrintData,wxObject)
+void       wxPrintData_Assign( TSelf(wxPrintData) _obj, TClass(wxPrintData) data );
+TClass(wxPrintData) wxPrintData_Create(  );
+void       wxPrintData_Delete( TSelf(wxPrintData) _obj );
+TBool      wxPrintData_GetCollate( TSelf(wxPrintData) _obj );
+TBool      wxPrintData_GetColour( TSelf(wxPrintData) _obj );
+int        wxPrintData_GetDuplex( TSelf(wxPrintData) _obj );
+TClass(wxString) wxPrintData_GetFilename( TSelf(wxPrintData) _obj );
+TClass(wxString) wxPrintData_GetFontMetricPath( TSelf(wxPrintData) _obj );
+int        wxPrintData_GetNoCopies( TSelf(wxPrintData) _obj );
+int        wxPrintData_GetOrientation( TSelf(wxPrintData) _obj );
+int        wxPrintData_GetPaperId( TSelf(wxPrintData) _obj );
+void       wxPrintData_GetPaperSize( TSelf(wxPrintData) _obj, TSizeOutVoid(_w,_h) );
+TClass(wxString) wxPrintData_GetPreviewCommand( TSelf(wxPrintData) _obj );
+int        wxPrintData_GetPrintMode( TSelf(wxPrintData) _obj );
+TClass(wxString) wxPrintData_GetPrinterCommand( TSelf(wxPrintData) _obj );
+TClass(wxString) wxPrintData_GetPrinterName( TSelf(wxPrintData) _obj );
+TClass(wxString) wxPrintData_GetPrinterOptions( TSelf(wxPrintData) _obj );
+double     wxPrintData_GetPrinterScaleX( TSelf(wxPrintData) _obj );
+double     wxPrintData_GetPrinterScaleY( TSelf(wxPrintData) _obj );
+int        wxPrintData_GetPrinterTranslateX( TSelf(wxPrintData) _obj );
+int        wxPrintData_GetPrinterTranslateY( TSelf(wxPrintData) _obj );
+int        wxPrintData_GetQuality( TSelf(wxPrintData) _obj );
+void       wxPrintData_SetCollate( TSelf(wxPrintData) _obj, TBoolInt flag );
+void       wxPrintData_SetColour( TSelf(wxPrintData) _obj, TBoolInt colour );
+void       wxPrintData_SetDuplex( TSelf(wxPrintData) _obj, int duplex );
+void       wxPrintData_SetFilename( TSelf(wxPrintData) _obj, TClass(wxString) filename );
+void       wxPrintData_SetFontMetricPath( TSelf(wxPrintData) _obj, TClass(wxString) path );
+void       wxPrintData_SetNoCopies( TSelf(wxPrintData) _obj, int v );
+void       wxPrintData_SetOrientation( TSelf(wxPrintData) _obj, int orient );
+void       wxPrintData_SetPaperId( TSelf(wxPrintData) _obj, int sizeId );
+void       wxPrintData_SetPaperSize( TSelf(wxPrintData) _obj, TSize(w,h) );
+void       wxPrintData_SetPreviewCommand( TSelf(wxPrintData) _obj, TClass(wxCommand) command );
+void       wxPrintData_SetPrintMode( TSelf(wxPrintData) _obj, int printMode );
+void       wxPrintData_SetPrinterCommand( TSelf(wxPrintData) _obj, TClass(wxCommand) command );
+void       wxPrintData_SetPrinterName( TSelf(wxPrintData) _obj, TClass(wxString) name );
+void       wxPrintData_SetPrinterOptions( TSelf(wxPrintData) _obj, TClass(wxString) options );
+void       wxPrintData_SetPrinterScaleX( TSelf(wxPrintData) _obj, double x );
+void       wxPrintData_SetPrinterScaleY( TSelf(wxPrintData) _obj, double y );
+void       wxPrintData_SetPrinterScaling( TSelf(wxPrintData) _obj, double x, double y );
+void       wxPrintData_SetPrinterTranslateX( TSelf(wxPrintData) _obj, int x );
+void       wxPrintData_SetPrinterTranslateY( TSelf(wxPrintData) _obj, int y );
+void       wxPrintData_SetPrinterTranslation( TSelf(wxPrintData) _obj, TPoint(x,y) );
+void       wxPrintData_SetQuality( TSelf(wxPrintData) _obj, int quality );
+
+/* wxPostScriptPrintNativeData */
+TClassDefExtend(wxPostScriptPrintNativeData,wxObject)
+TClass(wxPostScriptPrintNativeData) wxPostScriptPrintNativeData_Create(  );
+void       wxPostScriptPrintNativeData_Delete( TSelf(wxPostScriptPrintNativeData) _obj );
+
+/* wxPrintDialog */
+TClassDefExtend(wxPrintDialog,wxDialog)
+TClass(wxPrintDialog) wxPrintDialog_Create( TClass(wxWindow) parent, TClass(wxPrintDialogData) data );
+TClass(wxDC)         wxPrintDialog_GetPrintDC( TSelf(wxPrintDialog) _obj );
+void       wxPrintDialog_GetPrintData( TSelf(wxPrintDialog) _obj, TClassRef(wxPrintData) _ref );
+TClass(wxPrintDialogData) wxPrintDialog_GetPrintDialogData( TSelf(wxPrintDialog) _obj );
+
+/* wxPrintDialogData */
+TClassDefExtend(wxPrintDialogData,wxObject)
+void       wxPrintDialogData_Assign( TSelf(wxPrintDialogData) _obj, TClass(wxPrintDialogData) data );
+void       wxPrintDialogData_AssignData( TSelf(wxPrintDialogData) _obj, TClass(wxPrintData) data );
+TClass(wxPrintDialogData) wxPrintDialogData_CreateDefault(  );
+TClass(wxPrintDialogData) wxPrintDialogData_CreateFromData( TClass(wxPrintData) printData );
+void       wxPrintDialogData_Delete( TSelf(wxPrintDialogData) _obj );
+void       wxPrintDialogData_EnableHelp( TSelf(wxPrintDialogData) _obj, TBool flag );
+void       wxPrintDialogData_EnablePageNumbers( TSelf(wxPrintDialogData) _obj, TBool flag );
+void       wxPrintDialogData_EnablePrintToFile( TSelf(wxPrintDialogData) _obj, TBool flag );
+void       wxPrintDialogData_EnableSelection( TSelf(wxPrintDialogData) _obj, TBool flag );
+int        wxPrintDialogData_GetAllPages( TSelf(wxPrintDialogData) _obj );
+TBool      wxPrintDialogData_GetCollate( TSelf(wxPrintDialogData) _obj );
+TBool      wxPrintDialogData_GetEnableHelp( TSelf(wxPrintDialogData) _obj );
+TBool      wxPrintDialogData_GetEnablePageNumbers( TSelf(wxPrintDialogData) _obj );
+TBool      wxPrintDialogData_GetEnablePrintToFile( TSelf(wxPrintDialogData) _obj );
+TBool      wxPrintDialogData_GetEnableSelection( TSelf(wxPrintDialogData) _obj );
+int        wxPrintDialogData_GetFromPage( TSelf(wxPrintDialogData) _obj );
+int        wxPrintDialogData_GetMaxPage( TSelf(wxPrintDialogData) _obj );
+int        wxPrintDialogData_GetMinPage( TSelf(wxPrintDialogData) _obj );
+int        wxPrintDialogData_GetNoCopies( TSelf(wxPrintDialogData) _obj );
+void       wxPrintDialogData_GetPrintData( TSelf(wxPrintDialogData) _obj, TClassRef(wxPrintData) _ref );
+TBool      wxPrintDialogData_GetPrintToFile( TSelf(wxPrintDialogData) _obj );
+TBool      wxPrintDialogData_GetSelection( TSelf(wxPrintDialogData) _obj );
+int        wxPrintDialogData_GetToPage( TSelf(wxPrintDialogData) _obj );
+void       wxPrintDialogData_SetAllPages( TSelf(wxPrintDialogData) _obj, TBool flag );
+void       wxPrintDialogData_SetCollate( TSelf(wxPrintDialogData) _obj, TBool flag );
+void       wxPrintDialogData_SetFromPage( TSelf(wxPrintDialogData) _obj, int v );
+void       wxPrintDialogData_SetMaxPage( TSelf(wxPrintDialogData) _obj, int v );
+void       wxPrintDialogData_SetMinPage( TSelf(wxPrintDialogData) _obj, int v );
+void       wxPrintDialogData_SetNoCopies( TSelf(wxPrintDialogData) _obj, int v );
+void       wxPrintDialogData_SetPrintData( TSelf(wxPrintDialogData) _obj, TClass(wxPrintData) printData );
+void       wxPrintDialogData_SetPrintToFile( TSelf(wxPrintDialogData) _obj, TBool flag );
+void       wxPrintDialogData_SetSelection( TSelf(wxPrintDialogData) _obj, TBool flag );
+void       wxPrintDialogData_SetToPage( TSelf(wxPrintDialogData) _obj, int v );
+
+/* wxPrintPreview */
+TClassDefExtend(wxPrintPreview,wxObject)
+TClass(wxPrintPreview) wxPrintPreview_CreateFromData( TClass(wxPrintout) printout, TClass(wxPrintout) printoutForPrinting, TClass(wxPrintData) data );
+TClass(wxPrintPreview) wxPrintPreview_CreateFromDialogData( TClass(wxPrintout) printout, TClass(wxPrintout) printoutForPrinting, TClass(wxPrintDialogData) data );
+void       wxPrintPreview_Delete( TSelf(wxPrintPreview) _obj );
+void       wxPrintPreview_DetermineScaling( TSelf(wxPrintPreview) _obj );
+TBool      wxPrintPreview_DrawBlankPage( TSelf(wxPrintPreview) _obj, TClass(wxPreviewCanvas) canvas, TClass(wxDC) dc );
+TClass(wxPreviewCanvas)  wxPrintPreview_GetCanvas( TSelf(wxPrintPreview) _obj );
+int        wxPrintPreview_GetCurrentPage( TSelf(wxPrintPreview) _obj );
+TClass(wxFrame) wxPrintPreview_GetFrame( TSelf(wxPrintPreview) _obj );
+int        wxPrintPreview_GetMaxPage( TSelf(wxPrintPreview) _obj );
+int        wxPrintPreview_GetMinPage( TSelf(wxPrintPreview) _obj );
+void       wxPrintPreview_GetPrintDialogData( TSelf(wxPrintPreview) _obj, TClassRef(wxPrintDialogData) _ref );
+TClass(wxPrintout) wxPrintPreview_GetPrintout( TSelf(wxPrintPreview) _obj );
+TClass(wxPrintout) wxPrintPreview_GetPrintoutForPrinting( TSelf(wxPrintPreview) _obj );
+int        wxPrintPreview_GetZoom( TSelf(wxPrintPreview) _obj );
+TBool      wxPrintPreview_IsOk( TSelf(wxPrintPreview) _obj );
+TBool      wxPrintPreview_PaintPage( TSelf(wxPrintPreview) _obj, TClass(wxPrintPreview) canvas, TClass(wxDC) dc );
+TBool      wxPrintPreview_Print( TSelf(wxPrintPreview) _obj, TBool interactive );
+TBool      wxPrintPreview_RenderPage( TSelf(wxPrintPreview) _obj, int pageNum );
+void       wxPrintPreview_SetCanvas( TSelf(wxPrintPreview) _obj, TClass(wxPreviewCanvas) canvas );
+TBool      wxPrintPreview_SetCurrentPage( TSelf(wxPrintPreview) _obj, int pageNum );
+void       wxPrintPreview_SetFrame( TSelf(wxPrintPreview) _obj, TClass(wxFrame) frame );
+void       wxPrintPreview_SetOk( TSelf(wxPrintPreview) _obj, TBool ok );
+void       wxPrintPreview_SetPrintout( TSelf(wxPrintPreview) _obj, TClass(wxPrintout) printout );
+void       wxPrintPreview_SetZoom( TSelf(wxPrintPreview) _obj, int percent );
+
+/* wxPrinter */
+TClassDefExtend(wxPrinter,wxObject)
+TClass(wxPrinter) wxPrinter_Create( TClass(wxPrintDialogData) data );
+TClass(wxWindow)  wxPrinter_CreateAbortWindow( TSelf(wxPrinter) _obj, TClass(wxWindow) parent, TClass(wxPrintout) printout );
+void       wxPrinter_Delete( TSelf(wxPrinter) _obj );
+TBool      wxPrinter_GetAbort( TSelf(wxPrinter) _obj );
+int        wxPrinter_GetLastError( TSelf(wxPrinter) _obj );
+void       wxPrinter_GetPrintDialogData( TSelf(wxPrinter) _obj, TClassRef(wxPrintDialogData) _ref );
+TBool      wxPrinter_Print( TSelf(wxPrinter) _obj, TClass(wxWindow) parent, TClass(wxPrintout) printout, TBool prompt );
+TClass(wxDC)  wxPrinter_PrintDialog( TSelf(wxPrinter) _obj, TClass(wxWindow) parent );
+void       wxPrinter_ReportError( TSelf(wxPrinter) _obj, TClass(wxWindow) parent, TClass(wxPrintout) printout, TClass(wxString) message );
+TBool      wxPrinter_Setup( TSelf(wxPrinter) _obj, TClass(wxWindow) parent );
+
+/* wxPrinterDC */
+TClassDefExtend(wxPrinterDC,wxDC)
+TClass(wxPrinterDC) wxPrinterDC_Create( TClass(wxPrintData) data );
+void       wxPrinterDC_Delete( TSelf(wxPrinterDC) self );
+void       wxPrinterDC_GetPaperRect( TSelf(wxPrinterDC) self, TRectOut(_x,_y,_w,_h) );
+
+/* wxPrintout */
+TClassDefExtend(wxPrintout,wxObject)
+
+/* wxPrivateDropTarget */
+TClassDefExtend(wxPrivateDropTarget,wxDropTarget)
+
+/* wxProcess */
+TClassDefExtend(wxProcess,wxEvtHandler)
+void       wxProcess_CloseOutput( TSelf(wxProcess) _obj );
+TClass(wxProcess) wxProcess_CreateDefault( TClass(wxWindow) _prt, int _id );
+TClass(wxProcess) wxProcess_CreateRedirect( TClass(wxWindow) _prt, TBool _rdr );
+void       wxProcess_Delete( TSelf(wxProcess) _obj );
+void       wxProcess_Detach( TSelf(wxProcess) _obj );
+TClass(wxInputStream) wxProcess_GetErrorStream( TSelf(wxProcess) _obj );
+TClass(wxInputStream) wxProcess_GetInputStream( TSelf(wxProcess) _obj );
+TClass(wxOutputStream) wxProcess_GetOutputStream( TSelf(wxProcess) _obj );
+TBool      wxProcess_IsRedirected( TSelf(wxProcess) _obj );
+void       wxProcess_Redirect( TSelf(wxProcess) _obj );
+
+/* wxProcessEvent */
+TClassDefExtend(wxProcessEvent,wxEvent)
+int        wxProcessEvent_GetExitCode( TSelf(wxProcessEvent) _obj );
+int        wxProcessEvent_GetPid( TSelf(wxProcessEvent) _obj );
+
+/* wxProgressDialog */
+TClassDefExtend(wxProgressDialog,wxFrame)
+
+/* wxProtocol */
+TClassDefExtend(wxProtocol,wxSocketClient)
+
+/* wxQuantize */
+TClassDefExtend(wxQuantize,wxObject)
+
+/* wxQueryCol */
+TClassDefExtend(wxQueryCol,wxObject)
+
+/* wxQueryField */
+TClassDefExtend(wxQueryField,wxObject)
+
+/* wxQueryLayoutInfoEvent */
+TClassDefExtend(wxQueryLayoutInfoEvent,wxEvent)
+TClass(wxQueryLayoutInfoEvent) wxQueryLayoutInfoEvent_Create( int id );
+int        wxQueryLayoutInfoEvent_GetAlignment( TSelf(wxQueryLayoutInfoEvent) _obj );
+int        wxQueryLayoutInfoEvent_GetFlags( TSelf(wxQueryLayoutInfoEvent) _obj );
+int        wxQueryLayoutInfoEvent_GetOrientation( TSelf(wxQueryLayoutInfoEvent) _obj );
+int        wxQueryLayoutInfoEvent_GetRequestedLength( TSelf(wxQueryLayoutInfoEvent) _obj );
+void       wxQueryLayoutInfoEvent_GetSize( TSelf(wxQueryLayoutInfoEvent) _obj, TSizeOutVoid(_w,_h) );
+void       wxQueryLayoutInfoEvent_SetAlignment( TSelf(wxQueryLayoutInfoEvent) _obj, int align );
+void       wxQueryLayoutInfoEvent_SetFlags( TSelf(wxQueryLayoutInfoEvent) _obj, int flags );
+void       wxQueryLayoutInfoEvent_SetOrientation( TSelf(wxQueryLayoutInfoEvent) _obj, int orient );
+void       wxQueryLayoutInfoEvent_SetRequestedLength( TSelf(wxQueryLayoutInfoEvent) _obj, int length );
+void       wxQueryLayoutInfoEvent_SetSize( TSelf(wxQueryLayoutInfoEvent) _obj, TSize(w,h) );
+
+/* wxQueryNewPaletteEvent */
+TClassDefExtend(wxQueryNewPaletteEvent,wxEvent)
+void       wxQueryNewPaletteEvent_CopyObject( TSelf(wxQueryNewPaletteEvent) _obj, TClass(wxObject) obj );
+TBool      wxQueryNewPaletteEvent_GetPaletteRealized( TSelf(wxQueryNewPaletteEvent) _obj );
+void       wxQueryNewPaletteEvent_SetPaletteRealized( TSelf(wxQueryNewPaletteEvent) _obj, TBool realized );
+
+/* wxRadioBox */
+TClassDefExtend(wxRadioBox,wxControl)
+TClass(wxRadioBox) wxRadioBox_Create( TClass(wxWindow) _prt, int _id, TClass(wxString) _txt, TRect(_lft,_top,_wdt,_hgt), TArrayString(n, _str), int _dim, int _stl );
+void       wxRadioBox_EnableItem( TSelf(wxRadioBox) _obj, int item, TBool enable );
+int        wxRadioBox_FindString( TSelf(wxRadioBox) _obj, TClass(wxString) s );
+TClass(wxString) wxRadioBox_GetItemLabel( TSelf(wxRadioBox) _obj, int item );
+int        wxRadioBox_GetNumberOfRowsOrCols( TSelf(wxRadioBox) _obj );
+int        wxRadioBox_GetSelection( TSelf(wxRadioBox) _obj );
+TClass(wxString) wxRadioBox_GetStringSelection( TSelf(wxRadioBox) _obj );
+int        wxRadioBox_Number( TSelf(wxRadioBox) _obj );
+void       wxRadioBox_SetItemBitmap( TSelf(wxRadioBox) _obj, int item, TClass(wxBitmap) bitmap );
+void       wxRadioBox_SetItemLabel( TSelf(wxRadioBox) _obj, int item, TClass(wxString) label );
+void       wxRadioBox_SetNumberOfRowsOrCols( TSelf(wxRadioBox) _obj, int n );
+void       wxRadioBox_SetSelection( TSelf(wxRadioBox) _obj, int _n );
+void       wxRadioBox_SetStringSelection( TSelf(wxRadioBox) _obj, TClass(wxString) s );
+void       wxRadioBox_ShowItem( TSelf(wxRadioBox) _obj, int item, TBool show );
+
+/* wxRadioButton */
+TClassDefExtend(wxRadioButton,wxControl)
+TClass(wxRadioButton) wxRadioButton_Create( TClass(wxWindow) _prt, int _id, TClass(wxString) _txt, TRect(_lft,_top,_wdt,_hgt), int _stl );
+TBool      wxRadioButton_GetValue( TSelf(wxRadioButton) _obj );
+void       wxRadioButton_SetValue( TSelf(wxRadioButton) _obj, TBool value );
+
+/* wxRealPoint */
+TClassDef(wxRealPoint)
+
+/* wxRecordSet */
+TClassDefExtend(wxRecordSet,wxObject)
+
+/* wxRect */
+TClassDef(wxRect)
+
+/* wxRegEx */
+TClassDef(wxRegEx)
+
+/* wxRegion */
+TClassDefExtend(wxRegion,wxGDIObject)
+void       wxRegion_Assign( TSelf(wxRegion) _obj, TClass(wxRegion) region );
+void       wxRegion_Clear( TSelf(wxRegion) _obj );
+TBool      wxRegion_ContainsPoint( TSelf(wxRegion) _obj, TPoint(x,y) );
+TBool      wxRegion_ContainsRect( TSelf(wxRegion) _obj, TRect(x,y,width,height) );
+TClass(wxRegion) wxRegion_CreateDefault(  );
+TClass(wxRegion) wxRegion_CreateFromRect( TRect(x,y,w,h) );
+void       wxRegion_Delete( TSelf(wxRegion) _obj );
+TBool      wxRegion_IsEmpty( TSelf(wxRegion) _obj );
+void       wxRegion_GetBox( TSelf(wxRegion) _obj, TRectOutVoid(_x,_y,_w,_h) );
+TBool      wxRegion_IntersectRect( TSelf(wxRegion) _obj, TRect(x,y,width,height) );
+TBool      wxRegion_IntersectRegion( TSelf(wxRegion) _obj, TClass(wxRegion) region );
+TBool      wxRegion_SubtractRect( TSelf(wxRegion) _obj, TRect(x,y,width,height) );
+TBool      wxRegion_SubtractRegion( TSelf(wxRegion) _obj, TClass(wxRegion) region );
+TBool      wxRegion_UnionRect( TSelf(wxRegion) _obj, TRect(x,y,width,height) );
+TBool      wxRegion_UnionRegion( TSelf(wxRegion) _obj, TClass(wxRegion) region );
+TBool      wxRegion_XorRect( TSelf(wxRegion) _obj, TRect(x,y,width,height) );
+TBool      wxRegion_XorRegion( TSelf(wxRegion) _obj, TClass(wxRegion) region );
+
+/* wxRegionIterator */
+TClassDefExtend(wxRegionIterator,wxObject)
+TClass(wxRegionIterator) wxRegionIterator_Create(  );
+TClass(wxRegionIterator) wxRegionIterator_CreateFromRegion( TClass(wxRegion) region );
+void       wxRegionIterator_Delete( TSelf(wxRegionIterator) _obj );
+int        wxRegionIterator_GetHeight( TSelf(wxRegionIterator) _obj );
+int        wxRegionIterator_GetWidth( TSelf(wxRegionIterator) _obj );
+int        wxRegionIterator_GetX( TSelf(wxRegionIterator) _obj );
+int        wxRegionIterator_GetY( TSelf(wxRegionIterator) _obj );
+TBool      wxRegionIterator_HaveRects( TSelf(wxRegionIterator) _obj );
+void       wxRegionIterator_Next( TSelf(wxRegionIterator) _obj );
+void       wxRegionIterator_Reset( TSelf(wxRegionIterator) _obj );
+void       wxRegionIterator_ResetToRegion( TSelf(wxRegionIterator) _obj, TClass(wxRegion) region );
+
+/* wxRemotelyScrolledTreeCtrl */
+TClassDefExtend(wxRemotelyScrolledTreeCtrl,wxTreeCtrl)
+void       wxRemotelyScrolledTreeCtrl_AdjustRemoteScrollbars( TSelf(wxRemotelyScrolledTreeCtrl) _obj );
+void       wxRemotelyScrolledTreeCtrl_CalcTreeSize( TSelf(wxRemotelyScrolledTreeCtrl) _obj, TRectOutVoid(_x,_y,_w,_h) );
+void       wxRemotelyScrolledTreeCtrl_CalcTreeSizeItem( TSelf(wxRemotelyScrolledTreeCtrl) _obj, void* id, TRectOutVoid(_x,_y,_w,_h) );
+TClass(wxRemotelyScrolledTreeCtrl) wxRemotelyScrolledTreeCtrl_Create( void* _obj, void* _cmp, TClass(wxWindow) parent, int id, TRect(x,y,w,h), int style );
+void       wxRemotelyScrolledTreeCtrl_Delete( TSelf(wxRemotelyScrolledTreeCtrl) _obj );
+void*      wxRemotelyScrolledTreeCtrl_GetCompanionWindow( TSelf(wxRemotelyScrolledTreeCtrl) _obj );
+int        wxRemotelyScrolledTreeCtrl_GetScrollPos( TSelf(wxRemotelyScrolledTreeCtrl) _obj, int orient );
+TClass(wxScrolledWindow) wxRemotelyScrolledTreeCtrl_GetScrolledWindow( TSelf(wxRemotelyScrolledTreeCtrl) _obj );
+void       wxRemotelyScrolledTreeCtrl_GetViewStart( TSelf(wxRemotelyScrolledTreeCtrl) _obj, TPointOutVoid(_x,_y) );
+void       wxRemotelyScrolledTreeCtrl_HideVScrollbar( TSelf(wxRemotelyScrolledTreeCtrl) _obj );
+void       wxRemotelyScrolledTreeCtrl_PrepareDC( TSelf(wxRemotelyScrolledTreeCtrl) _obj, TClass(wxDC) dc );
+void       wxRemotelyScrolledTreeCtrl_ScrollToLine( TSelf(wxRemotelyScrolledTreeCtrl) _obj, int posHoriz, int posVert );
+void       wxRemotelyScrolledTreeCtrl_SetCompanionWindow( TSelf(wxRemotelyScrolledTreeCtrl) _obj, void* companion );
+void       wxRemotelyScrolledTreeCtrl_SetScrollbars( TSelf(wxRemotelyScrolledTreeCtrl) _obj, int pixelsPerUnitX, int pixelsPerUnitY, int noUnitsX, int noUnitsY, int xPos, int yPos, int noRefresh );
+
+/* wxSVGFileDC */
+TClassDefExtend(wxSVGFileDC,wxDC)
+TClass(wxSVGFileDC) wxSVGFileDC_Create( TClass(wxString) fileName );
+TClass(wxSVGFileDC) wxSVGFileDC_CreateWithSize( TClass(wxString) fileName, TSize(w,h) );
+TClass(wxSVGFileDC) wxSVGFileDC_CreateWithSizeAndResolution( TClass(wxString) fileName, TSize(w,h), float a_dpi );
+void       wxSVGFileDC_Delete( TSelf(wxSVGFileDC) obj );
+
+/* wxSashEvent */
+TClassDefExtend(wxSashEvent,wxEvent)
+TClass(wxSashEvent) wxSashEvent_Create( int id, int edge );
+void       wxSashEvent_GetDragRect( TSelf(wxSashEvent) _obj, TRectOutVoid(_x,_y,_w,_h) );
+int        wxSashEvent_GetDragStatus( TSelf(wxSashEvent) _obj );
+int        wxSashEvent_GetEdge( TSelf(wxSashEvent) _obj );
+void       wxSashEvent_SetDragRect( TSelf(wxSashEvent) _obj, TRect(x,y,w,h) );
+void       wxSashEvent_SetDragStatus( TSelf(wxSashEvent) _obj, int status );
+void       wxSashEvent_SetEdge( TSelf(wxSashEvent) _obj, int edge );
+
+/* wxSashLayoutWindow */
+TClassDefExtend(wxSashLayoutWindow,wxSashWindow)
+TClass(wxSashLayoutWindow) wxSashLayoutWindow_Create( TClass(wxWindow) _par, int _id, TRect(_x,_y,_w,_h), int _stl );
+int        wxSashLayoutWindow_GetAlignment( TSelf(wxSashLayoutWindow) _obj );
+int        wxSashLayoutWindow_GetOrientation( TSelf(wxSashLayoutWindow) _obj );
+void       wxSashLayoutWindow_SetAlignment( TSelf(wxSashLayoutWindow) _obj, int align );
+void       wxSashLayoutWindow_SetDefaultSize( TSelf(wxSashLayoutWindow) _obj, TSize(w,h) );
+void       wxSashLayoutWindow_SetOrientation( TSelf(wxSashLayoutWindow) _obj, int orient );
+
+/* wxSashWindow */
+TClassDefExtend(wxSashWindow,wxWindow)
+TClass(wxSashWindow) wxSashWindow_Create( TClass(wxWindow) _par, int _id, TRect(_x,_y,_w,_h), int _stl );
+int        wxSashWindow_GetDefaultBorderSize( TSelf(wxSashWindow) _obj );
+int        wxSashWindow_GetEdgeMargin( TSelf(wxSashWindow) _obj, int edge );
+int        wxSashWindow_GetExtraBorderSize( TSelf(wxSashWindow) _obj );
+int        wxSashWindow_GetMaximumSizeX( TSelf(wxSashWindow) _obj );
+int        wxSashWindow_GetMaximumSizeY( TSelf(wxSashWindow) _obj );
+int        wxSashWindow_GetMinimumSizeX( TSelf(wxSashWindow) _obj );
+int        wxSashWindow_GetMinimumSizeY( TSelf(wxSashWindow) _obj );
+TBool      wxSashWindow_GetSashVisible( TSelf(wxSashWindow) _obj, int edge );
+TBool      wxSashWindow_HasBorder( TSelf(wxSashWindow) _obj, int edge );
+void       wxSashWindow_SetDefaultBorderSize( TSelf(wxSashWindow) _obj, int width );
+void       wxSashWindow_SetExtraBorderSize( TSelf(wxSashWindow) _obj, int width );
+void       wxSashWindow_SetMaximumSizeX( TSelf(wxSashWindow) _obj, int max );
+void       wxSashWindow_SetMaximumSizeY( TSelf(wxSashWindow) _obj, int max );
+void       wxSashWindow_SetMinimumSizeX( TSelf(wxSashWindow) _obj, int min );
+void       wxSashWindow_SetMinimumSizeY( TSelf(wxSashWindow) _obj, int min );
+void       wxSashWindow_SetSashBorder( TSelf(wxSashWindow) _obj, int edge, TBool border );
+void       wxSashWindow_SetSashVisible( TSelf(wxSashWindow) _obj, int edge, TBool sash );
+
+/* wxScopedArray */
+TClassDef(wxScopedArray)
+
+/* wxScopedPtr */
+TClassDef(wxScopedPtr)
+
+/* wxScreenDC */
+TClassDefExtend(wxScreenDC,wxDC)
+TClass(wxScreenDC) wxScreenDC_Create(  );
+void       wxScreenDC_Delete( TSelf(wxScreenDC) _obj );
+TBool      wxScreenDC_EndDrawingOnTop( TSelf(wxScreenDC) _obj );
+TBool      wxScreenDC_StartDrawingOnTop( TSelf(wxScreenDC) _obj, TRect(x,y,w,h) );
+TBool      wxScreenDC_StartDrawingOnTopOfWin( TSelf(wxScreenDC) _obj, TClass(wxWindow) win );
+
+/* wxScrollBar */
+TClassDefExtend(wxScrollBar,wxControl)
+TClass(wxScrollBar) wxScrollBar_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
+int        wxScrollBar_GetPageSize( TSelf(wxScrollBar) _obj );
+int        wxScrollBar_GetRange( TSelf(wxScrollBar) _obj );
+int        wxScrollBar_GetThumbPosition( TSelf(wxScrollBar) _obj );
+int        wxScrollBar_GetThumbSize( TSelf(wxScrollBar) _obj );
+void       wxScrollBar_SetScrollbar( TSelf(wxScrollBar) _obj, int position, int thumbSize, int range, int pageSize, TBool refresh );
+void       wxScrollBar_SetThumbPosition( TSelf(wxScrollBar) _obj, int viewStart );
+
+/* wxScrollEvent */
+TClassDefExtend(wxScrollEvent,wxEvent)
+int        wxScrollEvent_GetOrientation( TSelf(wxScrollEvent) _obj );
+int        wxScrollEvent_GetPosition( TSelf(wxScrollEvent) _obj );
+
+/* wxScrollWinEvent */
+TClassDefExtend(wxScrollWinEvent,wxEvent)
+int        wxScrollWinEvent_GetOrientation( TSelf(wxScrollWinEvent) _obj );
+int        wxScrollWinEvent_GetPosition( TSelf(wxScrollWinEvent) _obj );
+void       wxScrollWinEvent_SetOrientation( TSelf(wxScrollWinEvent) _obj, int orient );
+void       wxScrollWinEvent_SetPosition( TSelf(wxScrollWinEvent) _obj, int pos );
+
+/* wxScrolledWindow */
+TClassDefExtend(wxScrolledWindow,wxPanel)
+void       wxScrolledWindow_AdjustScrollbars( TSelf(wxScrolledWindow) _obj );
+void       wxScrolledWindow_CalcScrolledPosition( TSelf(wxScrolledWindow) _obj, TPoint(x,y), TPointOutVoid(xx,yy) );
+void       wxScrolledWindow_CalcUnscrolledPosition( TSelf(wxScrolledWindow) _obj, TPoint(x,y), TPointOutVoid(xx,yy) );
+TClass(wxScrolledWindow) wxScrolledWindow_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
+void       wxScrolledWindow_EnableScrolling( TSelf(wxScrolledWindow) _obj, TBool x_scrolling, TBool y_scrolling );
+double     wxScrolledWindow_GetScaleX( TSelf(wxScrolledWindow) _obj );
+double     wxScrolledWindow_GetScaleY( TSelf(wxScrolledWindow) _obj );
+int        wxScrolledWindow_GetScrollPageSize( TSelf(wxScrolledWindow) _obj, int orient );
+void       wxScrolledWindow_GetScrollPixelsPerUnit( TSelf(wxScrolledWindow) _obj, TPointOutVoid(_x,_y) );
+TClass(wxWindow) wxScrolledWindow_GetTargetWindow( TSelf(wxScrolledWindow) _obj );
+void       wxScrolledWindow_GetViewStart( TSelf(wxScrolledWindow) _obj, TPointOutVoid(_x,_y) );
+void       wxScrolledWindow_GetVirtualSize( TSelf(wxScrolledWindow) _obj, TSizeOutVoid(_x,_y) );
+void       wxScrolledWindow_OnDraw( TSelf(wxScrolledWindow) _obj, TClass(wxDC) dc );
+void       wxScrolledWindow_PrepareDC( TSelf(wxScrolledWindow) _obj, TClass(wxDC) dc );
+void       wxScrolledWindow_Scroll( TSelf(wxScrolledWindow) _obj, TPoint(x_pos,y_pos) );
+void       wxScrolledWindow_SetScale( TSelf(wxScrolledWindow) _obj, double xs, double ys );
+void       wxScrolledWindow_SetScrollPageSize( TSelf(wxScrolledWindow) _obj, int orient, int pageSize );
+void       wxScrolledWindow_SetScrollbars( TSelf(wxScrolledWindow) _obj, int pixelsPerUnitX, int pixelsPerUnitY, int noUnitsX, int noUnitsY, int xPos, int yPos, TBool noRefresh );
+void       wxScrolledWindow_SetTargetWindow( TSelf(wxScrolledWindow) _obj, TClass(wxWindow) target );
+void       wxScrolledWindow_ViewStart( TSelf(wxScrolledWindow) _obj, TPointOutVoid(_x,_y) );
+
+/* wxSemaphore */
+TClassDef(wxSemaphore)
+
+/* wxServer */
+TClassDefExtend(wxServer,wxServerBase)
+
+/* wxServerBase */
+TClassDefExtend(wxServerBase,wxObject)
+
+/* wxSetCursorEvent */
+TClassDefExtend(wxSetCursorEvent,wxEvent)
+TClass(wxCursor) wxSetCursorEvent_GetCursor( TSelf(wxSetCursorEvent) _obj );
+int        wxSetCursorEvent_GetX( TSelf(wxSetCursorEvent) _obj );
+int        wxSetCursorEvent_GetY( TSelf(wxSetCursorEvent) _obj );
+TBool      wxSetCursorEvent_HasCursor( TSelf(wxSetCursorEvent) _obj );
+void       wxSetCursorEvent_SetCursor( TSelf(wxSetCursorEvent) _obj, TClass(wxCursor) cursor );
+
+/* wxShowEvent */
+TClassDefExtend(wxShowEvent,wxEvent)
+void       wxShowEvent_CopyObject( TSelf(wxShowEvent) _obj, TClass(wxObject) obj );
+TBool      wxShowEvent_GetShow( TSelf(wxShowEvent) _obj );
+void       wxShowEvent_SetShow( TSelf(wxShowEvent) _obj, TBool show );
+
+/* wxSimpleHelpProvider */
+TClassDefExtend(wxSimpleHelpProvider,wxHelpProvider)
+TClass(wxSimpleHelpProvider) wxSimpleHelpProvider_Create(  );
+
+/* wxSingleChoiceDialog */
+TClassDefExtend(wxSingleChoiceDialog,wxDialog)
+
+/* wxSingleInstanceChecker */
+TClassDef(wxSingleInstanceChecker)
+TBool      wxSingleInstanceChecker_Create( void* _obj, TClass(wxString) name, TClass(wxString) path );
+TClass(wxSingleInstanceChecker) wxSingleInstanceChecker_CreateDefault(  );
+void       wxSingleInstanceChecker_Delete( TSelf(wxSingleInstanceChecker) _obj );
+TBool      wxSingleInstanceChecker_IsAnotherRunning( TSelf(wxSingleInstanceChecker) _obj );
+
+/* wxSize */
+TClassDef(wxSize)
+TClass(wxSize) wxSize_Create( TSize(w,h) );
+void       wxSize_Destroy( TSelf(wxSize) _obj );
+int        wxSize_GetHeight( TSelf(wxSize) _obj );
+int        wxSize_GetWidth( TSelf(wxSize) _obj );
+void       wxSize_SetHeight( TSelf(wxSize) _obj, int h );
+void       wxSize_SetWidth( TSelf(wxSize) _obj, int w );
+
+/* wxSizeEvent */
+TClassDefExtend(wxSizeEvent,wxEvent)
+void       wxSizeEvent_CopyObject( TSelf(wxSizeEvent) _obj, void* obj );
+void       wxSizeEvent_GetSize( TSelf(wxSizeEvent) _obj, TSizeOut(_w,_h) );
+
+/* wxSizer */
+TClassDefExtend(wxSizer,wxObject)
+void       wxSizer_Add( TSelf(wxSizer) _obj, TSize(width,height), int option, int flag, int border, void* userData );
+void       wxSizer_AddSizer( TSelf(wxSizer) _obj, TClass(wxSizer) sizer, int option, int flag, int border, void* userData );
+void       wxSizer_AddWindow( TSelf(wxSizer) _obj, TClass(wxWindow) window, int option, int flag, int border, void* userData );
+void       wxSizer_CalcMin( TSelf(wxSizer) _obj, TSizeOutVoid(_w,_h) );
+void       wxSizer_Fit( TSelf(wxSizer) _obj, TClass(wxWindow) window );
+int        wxSizer_GetChildren( TSelf(wxSizer) _obj, void* _res, int _cnt );
+void       wxSizer_GetMinSize( TSelf(wxSizer) _obj, TSizeOutVoid(_w,_h) );
+void       wxSizer_GetPosition( TSelf(wxSizer) _obj, TPointOutVoid(_x,_y) );
+void       wxSizer_GetSize( TSelf(wxSizer) _obj, TSizeOutVoid(_w,_h) );
+void       wxSizer_Insert( TSelf(wxSizer) _obj, int before, TSize(width,height), int option, int flag, int border, void* userData );
+void       wxSizer_InsertSizer( TSelf(wxSizer) _obj, int before, TClass(wxSizer) sizer, int option, int flag, int border, void* userData );
+void       wxSizer_InsertWindow( TSelf(wxSizer) _obj, int before, TClass(wxWindow) window, int option, int flag, int border, void* userData );
+void       wxSizer_Layout( TSelf(wxSizer) _obj );
+void       wxSizer_Prepend( TSelf(wxSizer) _obj, TSize(width,height), int option, int flag, int border, void* userData );
+void       wxSizer_PrependSizer( TSelf(wxSizer) _obj, TClass(wxSizer) sizer, int option, int flag, int border, void* userData );
+void       wxSizer_PrependWindow( TSelf(wxSizer) _obj, TClass(wxWindow) window, int option, int flag, int border, void* userData );
+void       wxSizer_RecalcSizes( TSelf(wxSizer) _obj );
+void       wxSizer_SetDimension( TSelf(wxSizer) _obj, TRect(x,y,width,height) );
+void       wxSizer_SetItemMinSize( TSelf(wxSizer) _obj, int pos, TSize(width,height) );
+void       wxSizer_SetItemMinSizeSizer( TSelf(wxSizer) _obj, TClass(wxSizer) sizer, TSize(width,height) );
+void       wxSizer_SetItemMinSizeWindow( TSelf(wxSizer) _obj, TClass(wxWindow) window, TSize(width,height) );
+void       wxSizer_SetMinSize( TSelf(wxSizer) _obj, TSize(width,height) );
+void       wxSizer_SetSizeHints( TSelf(wxSizer) _obj, TClass(wxWindow) window );
+void       wxSizer_AddSpacer( TSelf(wxSizer) _obj, int size );
+void       wxSizer_AddStretchSpacer( TSelf(wxSizer) _obj, int size );
+void       wxSizer_Clear( TSelf(wxSizer) _obj, TBool delete_windows );
+TBool      wxSizer_DetachWindow( TSelf(wxSizer) _obj, TClass(wxWindow) window );
+TBool      wxSizer_DetachSizer( TSelf(wxSizer) _obj, TClass(wxSizer) sizer );
+TBool      wxSizer_Detach( TSelf(wxSizer) _obj, int index );
+void       wxSizer_FitInside( TSelf(wxSizer) _obj, TClass(wxWindow) window );
+TClass(wxWindow)    wxSizer_GetContainingWindow( TSelf(wxSizer) _obj );
+TClass(wxSizerItem) wxSizer_GetItemWindow( TSelf(wxSizer) _obj, TClass(wxWindow) window, TBool recursive );
+TClass(wxSizerItem) wxSizer_GetItemSizer( TSelf(wxSizer) _obj, TClass(wxSizer) window, TBool recursive );
+TClass(wxSizerItem) wxSizer_GetItem( TSelf(wxSizer) _obj, int index );
+TBool      wxSizer_HideWindow( TSelf(wxWindow) _obj, TClass(wxWindow) window );
+TBool      wxSizer_HideSizer( TSelf(wxWindow) _obj, TClass(wxSizer) sizer );
+TBool      wxSizer_Hide( TSelf(wxWindow) _obj, int index );
+TClass(wxSizerItem) wxSizer_InsertSpacer( TSelf(wxSizer) _obj, int index, int size );
+TClass(wxSizerItem) wxSizer_InsertStretchSpacer( TSelf(wxSizer) _obj, int index, int prop );
+TBool      wxSizer_IsShownWindow( TSelf(wxSizer) _obj, TClass(wxWindow) *window );
+TBool      wxSizer_IsShownSizer( TSelf(wxSizer) _obj, TClass(wxSizer) *sizer );
+TBool      wxSizer_IsShown( TSelf(wxSizer) _obj, int index );
+TClass(wxSizerItem) wxSizer_PrependSpacer( TSelf(wxSizer) _obj, int size );
+TClass(wxSizerItem) wxSizer_PrependStretchSpacer( TSelf(wxSizer) _obj, int prop );
+TBool      wxSizer_ReplaceWindow( TSelf(wxSizer) _obj, TClass(wxWindow) oldwin, TClass(wxWindow) newwin, TBool recursive );
+TBool      wxSizer_ReplaceSizer( TSelf(wxSizer) _obj, TClass(wxSizer) oldsz, TClass(wxSizer) newsz, TBool recursive );
+TBool      wxSizer_Replace( TSelf(wxSizer) _obj, int oldindex, TClass(wxSizerItem) newitem );
+void       wxSizer_SetVirtualSizeHints( TSelf(wxSizer) _obj, TClass(wxWindow) window );
+TBool      wxSizer_ShowWindow( TSelf(wxSizer) _obj, TClass(wxWindow) window, TBool show, TBool recursive );
+TBool      wxSizer_ShowSizer( TSelf(wxSizer) _obj, TClass(wxSizer) sizer, TBool show, TBool recursive );
+TBool      wxSizer_Show( TSelf(wxSizer) _obj, TClass(wxSizer) sizer, int index, TBool show );
+/* wxSizerItem */
+TClassDefExtend(wxSizerItem,wxObject)
+void       wxSizerItem_CalcMin( TSelf(wxSizerItem) _obj, TSizeOutVoid(_w,_h) );
+TClass(wxSizerItem) wxSizerItem_Create( TSize(width,height), int option, int flag, int border, void* userData );
+void*      wxSizerItem_CreateInSizer( TClass(wxSizer) sizer, int option, int flag, int border, void* userData );
+void*      wxSizerItem_CreateInWindow( TClass(wxWindow) window, int option, int flag, int border, void* userData );
+int        wxSizerItem_GetBorder( TSelf(wxSizerItem) _obj );
+int        wxSizerItem_GetFlag( TSelf(wxSizerItem) _obj );
+void       wxSizerItem_GetMinSize( TSelf(wxSizerItem) _obj, TSizeOutVoid(_w,_h) );
+void       wxSizerItem_GetPosition( TSelf(wxSizerItem) _obj, TPointOutVoid(_x,_y) );
+float      wxSizerItem_GetRatio( TSelf(wxSizerItem) _obj );
+void       wxSizerItem_GetSize( TSelf(wxSizerItem) _obj, TSizeOutVoid(_w,_h) );
+TClass(wxSizer) wxSizerItem_GetSizer( TSelf(wxSizerItem) _obj );
+void*      wxSizerItem_GetUserData( TSelf(wxSizerItem) _obj );
+TClass(wxWindow) wxSizerItem_GetWindow( TSelf(wxSizerItem) _obj );
+TBool      wxSizerItem_IsSizer( TSelf(wxSizerItem) _obj );
+TBool      wxSizerItem_IsSpacer( TSelf(wxSizerItem) _obj );
+TBool      wxSizerItem_IsWindow( TSelf(wxSizerItem) _obj );
+void       wxSizerItem_SetBorder( TSelf(wxSizerItem) _obj, int border );
+void       wxSizerItem_SetDimension( TSelf(wxSizerItem) _obj, TRect(_x,_y,_w,_h) );
+void       wxSizerItem_SetFlag( TSelf(wxSizerItem) _obj, int flag );
+void       wxSizerItem_SetFloatRatio( TSelf(wxSizerItem) _obj, float ratio );
+void       wxSizerItem_SetInitSize( TSelf(wxSizerItem) _obj, TPoint(x,y) );
+void       wxSizerItem_SetRatio( TSelf(wxSizerItem) _obj, TSize(width,height) );
+void       wxSizerItem_SetSizer( TSelf(wxSizerItem) _obj, TClass(wxSizer) sizer );
+void       wxSizerItem_SetWindow( TSelf(wxSizerItem) _obj, TClass(wxWindow) window );
+void       wxSizerItem_Delete( TSelf(wxSizerItem) _obj );
+void       wxSizerItem_DeleteWindows( TSelf(wxSizerItem) _obj );
+void       wxSizerItem_DetachSizer( TSelf(wxSizerItem) _obj );
+int        wxSizerItem_GetProportion( TSelf(wxSizerItem) _obj );
+void       wxSizerItem_GetRect( TSelf(wxSizerItem) _obj, TRectOutVoid(_x,_y,_w,_h) );
+void       wxSizerItem_GetSpacer( TSelf(wxSizerItem) _obj, TSizeOutVoid(_w,_h) );
+int        wxSizerItem_IsShown( TSelf(wxSizerItem) _obj );
+void       wxSizerItem_SetProportion( TSelf(wxSizerItem) _obj, int proportion );
+void       wxSizerItem_SetSpacer( TSelf(wxSizerItem) _obj, TSize(width,height) );
+void       wxSizerItem_Show( TSelf(wxSizerItem) _obj, int show );
+
+
+/* wxSlider */
+TClassDefExtend(wxSlider,wxControl)
+void       wxSlider_ClearSel( TSelf(wxSlider) _obj );
+void       wxSlider_ClearTicks( TSelf(wxSlider) _obj );
+TClass(wxSlider) wxSlider_Create( TClass(wxWindow) _prt, int _id, int _init, int _min, int _max, TRect(_lft,_top,_wdt,_hgt), long _stl );
+int        wxSlider_GetLineSize( TSelf(wxSlider) _obj );
+int        wxSlider_GetMax( TSelf(wxSlider) _obj );
+int        wxSlider_GetMin( TSelf(wxSlider) _obj );
+int        wxSlider_GetPageSize( TSelf(wxSlider) _obj );
+int        wxSlider_GetSelEnd( TSelf(wxSlider) _obj );
+int        wxSlider_GetSelStart( TSelf(wxSlider) _obj );
+int        wxSlider_GetThumbLength( TSelf(wxSlider) _obj );
+int        wxSlider_GetTickFreq( TSelf(wxSlider) _obj );
+int        wxSlider_GetValue( TSelf(wxSlider) _obj );
+void       wxSlider_SetLineSize( TSelf(wxSlider) _obj, int lineSize );
+void       wxSlider_SetPageSize( TSelf(wxSlider) _obj, int pageSize );
+void       wxSlider_SetRange( TSelf(wxSlider) _obj, int minValue, int maxValue );
+void       wxSlider_SetSelection( TSelf(wxSlider) _obj, int minPos, int maxPos );
+void       wxSlider_SetThumbLength( TSelf(wxSlider) _obj, int len );
+void       wxSlider_SetTick( TSelf(wxSlider) _obj, int tickPos );
+void       wxSlider_SetTickFreq( TSelf(wxSlider) _obj, int n, int pos );
+void       wxSlider_SetValue( TSelf(wxSlider) _obj, int value );
+
+/* wxSockAddress */
+TClassDefExtend(wxSockAddress,wxObject)
+
+/* wxSocketBase */
+TClassDefExtend(wxSocketBase,wxObject)
+
+/* wxSocketClient */
+TClassDefExtend(wxSocketClient,wxSocketBase)
+
+/* wxSocketEvent */
+TClassDefExtend(wxSocketEvent,wxEvent)
+
+/* wxSocketInputStream */
+TClassDefExtend(wxSocketInputStream,wxInputStream)
+
+/* wxSocketOutputStream */
+TClassDefExtend(wxSocketOutputStream,wxOutputStream)
+
+/* wxSocketServer */
+TClassDefExtend(wxSocketServer,wxSocketBase)
+
+/* wxSpinButton */
+TClassDefExtend(wxSpinButton,wxControl)
+TClass(wxSpinButton) wxSpinButton_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), long _stl );
+int        wxSpinButton_GetMax( TSelf(wxSpinButton) _obj );
+int        wxSpinButton_GetMin( TSelf(wxSpinButton) _obj );
+int        wxSpinButton_GetValue( TSelf(wxSpinButton) _obj );
+void       wxSpinButton_SetRange( TSelf(wxSpinButton) _obj, int minVal, int maxVal );
+void       wxSpinButton_SetValue( TSelf(wxSpinButton) _obj, int val );
+
+/* wxSpinCtrl */
+TClassDefExtend(wxSpinCtrl,wxControl)
+TClass(wxSpinCtrl) wxSpinCtrl_Create( TClass(wxWindow) _prt, int _id, TClass(wxString) _txt, TRect(_lft,_top,_wdt,_hgt), long _stl, int _min, int _max, int _init );
+int        wxSpinCtrl_GetMax( TSelf(wxSpinCtrl) _obj );
+int        wxSpinCtrl_GetMin( TSelf(wxSpinCtrl) _obj );
+int        wxSpinCtrl_GetValue( TSelf(wxSpinCtrl) _obj );
+void       wxSpinCtrl_SetRange( TSelf(wxSpinCtrl) _obj, int min_val, int max_val );
+void       wxSpinCtrl_SetValue( TSelf(wxSpinCtrl) _obj, int val );
+
+/* wxSpinEvent */
+TClassDefExtend(wxSpinEvent,wxNotifyEvent)
+int        wxSpinEvent_GetPosition( TSelf(wxSpinEvent) _obj );
+void       wxSpinEvent_SetPosition( TSelf(wxSpinEvent) _obj, int pos );
+
+/* wxSplashScreen */
+TClassDefExtend(wxSplashScreen,wxFrame)
+
+/* wxSplitterEvent */
+TClassDefExtend(wxSplitterEvent,wxNotifyEvent)
+
+/* wxSplitterScrolledWindow */
+TClassDefExtend(wxSplitterScrolledWindow,wxScrolledWindow)
+TClass(wxSplitterScrolledWindow) wxSplitterScrolledWindow_Create( TClass(wxWindow) parent, int id, TRect(x,y,w,h), int style );
+
+/* wxSplitterWindow */
+TClassDefExtend(wxSplitterWindow,wxWindow)
+TClass(wxSplitterWindow) wxSplitterWindow_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
+int        wxSplitterWindow_GetBorderSize( TSelf(wxSplitterWindow) _obj );
+int        wxSplitterWindow_GetMinimumPaneSize( TSelf(wxSplitterWindow) _obj );
+int        wxSplitterWindow_GetSashPosition( TSelf(wxSplitterWindow) _obj );
+int        wxSplitterWindow_GetSashSize( TSelf(wxSplitterWindow) _obj );
+int        wxSplitterWindow_GetSplitMode( TSelf(wxSplitterWindow) _obj );
+TClass(wxWindow) wxSplitterWindow_GetWindow1( TSelf(wxSplitterWindow) _obj );
+TClass(wxWindow) wxSplitterWindow_GetWindow2( TSelf(wxSplitterWindow) _obj );
+void       wxSplitterWindow_Initialize( TSelf(wxSplitterWindow) _obj, TClass(wxWindow) window );
+TBool      wxSplitterWindow_IsSplit( TSelf(wxSplitterWindow) _obj );
+TBool      wxSplitterWindow_ReplaceWindow( TSelf(wxSplitterWindow) _obj, TClass(wxWindow) winOld, TClass(wxWindow) winNew );
+void       wxSplitterWindow_SetBorderSize( TSelf(wxSplitterWindow) _obj, int width );
+void       wxSplitterWindow_SetMinimumPaneSize( TSelf(wxSplitterWindow) _obj, int min );
+void       wxSplitterWindow_SetSashPosition( TSelf(wxSplitterWindow) _obj, int position, TBool redraw );
+void       wxSplitterWindow_SetSashSize( TSelf(wxSplitterWindow) _obj, int width );
+void       wxSplitterWindow_SetSplitMode( TSelf(wxSplitterWindow) _obj, int mode );
+TBool      wxSplitterWindow_SplitHorizontally( TSelf(wxSplitterWindow) _obj, TClass(wxWindow) window1, TClass(wxWindow) window2, int sashPosition );
+TBool      wxSplitterWindow_SplitVertically( TSelf(wxSplitterWindow) _obj, TClass(wxWindow) window1, TClass(wxWindow) window2, int sashPosition );
+TBool      wxSplitterWindow_Unsplit( TSelf(wxSplitterWindow) _obj, TClass(wxWindow) toRemove );
+
+/* wxStaticBitmap */
+TClassDefExtend(wxStaticBitmap,wxControl)
+TClass(wxStaticBitmap) wxStaticBitmap_Create( TClass(wxWindow) _prt, int _id, TClass(wxBitmap) bitmap, TRect(_lft,_top,_wdt,_hgt), int _stl );
+void       wxStaticBitmap_Delete( TSelf(wxStaticBitmap) _obj );
+void       wxStaticBitmap_GetBitmap( TSelf(wxStaticBitmap) _obj, TClassRef(wxBitmap) _ref );
+void       wxStaticBitmap_GetIcon( TSelf(wxStaticBitmap) _obj, TClassRef(wxIcon) _ref );
+void       wxStaticBitmap_SetBitmap( TSelf(wxStaticBitmap) _obj, TClass(wxBitmap) bitmap );
+void       wxStaticBitmap_SetIcon( TSelf(wxStaticBitmap) _obj, TClass(wxIcon) icon );
+
+/* wxStaticBox */
+TClassDefExtend(wxStaticBox,wxControl)
+TClass(wxStaticBox) wxStaticBox_Create( TClass(wxWindow) _prt, int _id, TClass(wxString) _txt, TRect(_lft,_top,_wdt,_hgt), int _stl );
+
+/* wxStaticBoxSizer */
+TClassDefExtend(wxStaticBoxSizer,wxBoxSizer)
+void       wxStaticBoxSizer_CalcMin( TSelf(wxStaticBoxSizer) _obj, TSizeOutVoid(_w,_h) );
+TClass(wxStaticBoxSizer) wxStaticBoxSizer_Create( TClass(wxStaticBox) box, int orient );
+TClass(wxStaticBox) wxStaticBoxSizer_GetStaticBox( TSelf(wxStaticBoxSizer) _obj );
+void       wxStaticBoxSizer_RecalcSizes( TSelf(wxStaticBoxSizer) _obj );
+
+/* wxStaticLine */
+TClassDefExtend(wxStaticLine,wxControl)
+TClass(wxStaticLine) wxStaticLine_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
+int        wxStaticLine_GetDefaultSize( TSelf(wxStaticLine) _obj );
+TBool      wxStaticLine_IsVertical( TSelf(wxStaticLine) _obj );
+
+/* wxStaticText */
+TClassDefExtend(wxStaticText,wxControl)
+TClass(wxStaticText) wxStaticText_Create( TClass(wxWindow) _prt, int _id, TClass(wxString) _txt, TRect(_lft,_top,_wdt,_hgt), int _stl );
+
+/* wxStatusBar */
+TClassDefExtend(wxStatusBar,wxWindow)
+TClass(wxStatusBar) wxStatusBar_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
+int        wxStatusBar_GetBorderX( TSelf(wxStatusBar) _obj );
+int        wxStatusBar_GetBorderY( TSelf(wxStatusBar) _obj );
+int        wxStatusBar_GetFieldsCount( TSelf(wxStatusBar) _obj );
+TClass(wxString) wxStatusBar_GetStatusText( TSelf(wxStatusBar) _obj, int number );
+void       wxStatusBar_SetFieldsCount( TSelf(wxStatusBar) _obj, int number, int* widths );
+void       wxStatusBar_SetMinHeight( TSelf(wxStatusBar) _obj, int height );
+void       wxStatusBar_SetStatusText( TSelf(wxStatusBar) _obj, TClass(wxString) text, int number );
+void       wxStatusBar_SetStatusWidths( TSelf(wxStatusBar) _obj, int n, int* widths );
+
+/* wxStopWatch */
+TClassDef(wxStopWatch)
+TClass(wxStopWatch) wxStopWatch_Create();
+void      wxStopWatch_Delete(TSelf(wxStopWatch) _obj);
+void      wxStopWatch_Start(TSelf(wxStopWatch) _obj, int msec);
+void      wxStopWatch_Pause(TSelf(wxStopWatch) _obj);
+void      wxStopWatch_Resume(TSelf(wxStopWatch) _obj);
+int       wxStopWatch_Time(TSelf(wxStopWatch) _obj);
+
+
+/* wxStreamBase */
+TClassDef(wxStreamBase)
+int        wxStreamBase_GetLastError( TSelf(wxStreamBase) _obj );
+int        wxStreamBase_GetSize( TSelf(wxStreamBase) _obj );
+TBool      wxStreamBase_IsOk( TSelf(wxStreamBase) _obj );
+
+/* wxStreamBuffer */
+TClassDef(wxStreamBuffer)
+
+/* wxStreamToTextRedirector */
+TClassDef(wxStreamToTextRedirector)
+
+/* wxString */
+TClassDef(wxString)
+
+/* wxStringBuffer */
+TClassDef(wxStringBuffer)
+
+/* wxStringClientData */
+TClassDefExtend(wxStringClientData,wxClientData)
+
+/* wxStringList */
+TClassDefExtend(wxStringList,wxList)
+
+/* wxStringTokenizer */
+TClassDefExtend(wxStringTokenizer,wxObject)
+
+/* wxSysColourChangedEvent */
+TClassDefExtend(wxSysColourChangedEvent,wxEvent)
+
+/* wxSystemOptions */
+TClassDefExtend(wxSystemOptions,wxObject)
+
+/* wxSystemSettings */
+TClassDefExtend(wxSystemSettings,wxObject)
+void       wxSystemSettings_GetColour( int index, TClassRef(wxColour) _ref );
+void       wxSystemSettings_GetFont( int index, TClassRef(wxFont) _ref );
+int        wxSystemSettings_GetMetric( int index );
+int        wxSystemSettings_GetScreenType( );
+
+/* wxTabCtrl */
+TClassDefExtend(wxTabCtrl,wxControl)
+
+/* wxTabEvent */
+TClassDefExtend(wxTabEvent,wxCommandEvent)
+
+/* wxTablesInUse */
+TClassDefExtend(wxTablesInUse,wxObject)
+
+/* wxTaskBarIcon */
+TClassDefExtend(wxTaskBarIcon,wxEvtHandler)
+TClass(wxTaskBarIcon) wxTaskBarIcon_Create();
+void       wxTaskBarIcon_Delete( TSelf(wxTaskBarIcon) _obj );
+/* TClass(wxMenu)  wxTaskBarIcon_CreatePopupMenu( TSelf(wxTaskBarIcon) _obj ); */
+TBool      wxTaskBarIcon_IsIconInstalled( TSelf(wxTaskBarIcon) _obj );
+TBool      wxTaskBarIcon_IsOk( TSelf(wxTaskBarIcon) _obj );
+TBool      wxTaskBarIcon_PopupMenu( TSelf(wxTaskBarIcon) _obj, TClass(wxMenu) menu );
+TBool      wxTaskBarIcon_RemoveIcon( TSelf(wxTaskBarIcon) _obj );
+TBool      wxTaskBarIcon_SetIcon( TSelf(wxTaskBarIcon) _obj, TClass(wxIcon) icon, TClass(wxString) text );
+
+/* wxTempFile */
+TClassDef(wxTempFile)
+
+/* wxTextAttr */
+TClassDef(wxTextAttr)
+
+/* wxTextCtrl */
+TClassDefExtend(wxTextCtrl,wxControl)
+void       wxTextCtrl_AppendText( TSelf(wxTextCtrl) _obj, TClass(wxString) text );
+TBool      wxTextCtrl_CanCopy( TSelf(wxTextCtrl) _obj );
+TBool      wxTextCtrl_CanCut( TSelf(wxTextCtrl) _obj );
+TBool      wxTextCtrl_CanPaste( TSelf(wxTextCtrl) _obj );
+TBool      wxTextCtrl_CanRedo( TSelf(wxTextCtrl) _obj );
+TBool      wxTextCtrl_CanUndo( TSelf(wxTextCtrl) _obj );
+void       wxTextCtrl_Clear( TSelf(wxTextCtrl) _obj );
+void       wxTextCtrl_Copy( TSelf(wxTextCtrl) _obj );
+TClass(wxTextCtrl) wxTextCtrl_Create( TClass(wxWindow) _prt, int _id, TClass(wxString) _txt, TRect(_lft,_top,_wdt,_hgt), long _stl );
+void       wxTextCtrl_Cut( TSelf(wxTextCtrl) _obj );
+void       wxTextCtrl_DiscardEdits( TSelf(wxTextCtrl) _obj );
+long       wxTextCtrl_GetInsertionPoint( TSelf(wxTextCtrl) _obj );
+long       wxTextCtrl_GetLastPosition( TSelf(wxTextCtrl) _obj );
+int        wxTextCtrl_GetLineLength( TSelf(wxTextCtrl) _obj, long lineNo );
+TClass(wxString) wxTextCtrl_GetLineText( TSelf(wxTextCtrl) _obj, long lineNo );
+int        wxTextCtrl_GetNumberOfLines( TSelf(wxTextCtrl) _obj );
+void       wxTextCtrl_GetSelection( TSelf(wxTextCtrl) _obj, void* from, void* to );
+TClass(wxString) wxTextCtrl_GetValue( TSelf(wxTextCtrl) _obj );
+TBool      wxTextCtrl_IsEditable( TSelf(wxTextCtrl) _obj );
+TBool      wxTextCtrl_IsModified( TSelf(wxTextCtrl) _obj );
+TBool      wxTextCtrl_LoadFile( TSelf(wxTextCtrl) _obj, TClass(wxString) file );
+void       wxTextCtrl_Paste( TSelf(wxTextCtrl) _obj );
+int        wxTextCtrl_PositionToXY( TSelf(wxTextCtrl) _obj, long pos, long* x, long* y );
+void       wxTextCtrl_Redo( TSelf(wxTextCtrl) _obj );
+void       wxTextCtrl_Remove( TSelf(wxTextCtrl) _obj, long from, long to );
+void       wxTextCtrl_Replace( TSelf(wxTextCtrl) _obj, long from, long to, TClass(wxString) value );
+TBool      wxTextCtrl_SaveFile( TSelf(wxTextCtrl) _obj, TClass(wxString) file );
+void       wxTextCtrl_SetEditable( TSelf(wxTextCtrl) _obj, TBool editable );
+void       wxTextCtrl_SetInsertionPoint( TSelf(wxTextCtrl) _obj, long pos );
+void       wxTextCtrl_SetInsertionPointEnd( TSelf(wxTextCtrl) _obj );
+void       wxTextCtrl_SetSelection( TSelf(wxTextCtrl) _obj, long from, long to );
+void       wxTextCtrl_SetValue( TSelf(wxTextCtrl) _obj, TClass(wxString) value );
+void       wxTextCtrl_ShowPosition( TSelf(wxTextCtrl) _obj, long pos );
+void       wxTextCtrl_Undo( TSelf(wxTextCtrl) _obj );
+void       wxTextCtrl_WriteText( TSelf(wxTextCtrl) _obj, TClass(wxString) text );
+long       wxTextCtrl_XYToPosition( TSelf(wxTextCtrl) _obj, TPointLong(x,y) );
+
+/* wxTextDataObject */
+TClassDefExtend(wxTextDataObject,wxDataObjectSimple)
+TClass(TextDataObject) TextDataObject_Create( TClass(wxString) _txt );
+void       TextDataObject_Delete( TSelf(TextDataObject) _obj );
+size_t TextDataObject_GetTextLength( TSelf(TextDataObject) _obj );
+TClass(wxString) TextDataObject_GetText( TSelf(TextDataObject) _obj );
+void       TextDataObject_SetText( TSelf(TextDataObject) _obj, TClass(wxString) text );
+
+/* wxTextDropTarget */
+TClassDefExtend(wxTextDropTarget,wxDropTarget)
+
+/* wxTextEntryDialog */
+TClassDefExtend(wxTextEntryDialog,wxDialog)
+
+/* wxTextFile */
+TClassDef(wxTextFile)
+
+/* wxTextInputStream */
+TClassDef(wxTextInputStream)
+
+/* wxTextOutputStream */
+TClassDef(wxTextOutputStream)
+
+/* wxTextValidator */
+TClassDefExtend(wxTextValidator,wxValidator)
+TClass(wxTextValidator) wxTextValidator_Create( int style, void* val );
+TArrayLen  wxTextValidator_GetExcludes( TSelf(wxTextValidator) _obj, TArrayStringOutVoid _ref );
+TArrayLen  wxTextValidator_GetIncludes( TSelf(wxTextValidator) _obj, TArrayStringOutVoid _ref );
+void       wxTextValidator_SetExcludes( TSelf(wxTextValidator) _obj, TStringVoid list, int count );
+void       wxTextValidator_SetIncludes( TSelf(wxTextValidator) _obj, TStringVoid list, int count );
+TClass(wxValidator) wxTextValidator_Clone( TSelf(wxTextValidator) _obj );
+TBool      wxTextValidator_TransferToWindow( TSelf(wxTextValidator) _obj );
+TBool      wxTextValidator_TransferFromWindow( TSelf(wxTextValidator) _obj );
+int        wxTextValidator_GetStyle( TSelf(wxTextValidator) _obj );
+void       wxTextValidator_OnChar( TSelf(wxTextValidator) _obj, TClass(wxEvent) event );
+void       wxTextValidator_SetStyle( TSelf(wxTextValidator) _obj, int style );
+
+/* wxThinSplitterWindow */
+TClassDefExtend(wxThinSplitterWindow,wxSplitterWindow)
+TClass(wxThinSplitterWindow) wxThinSplitterWindow_Create( TClass(wxWindow) parent, int id, TRect(x,y,w,h), int style );
+void       wxThinSplitterWindow_DrawSash( TSelf(wxThinSplitterWindow) _obj, TClass(wxDC) dc );
+int        wxThinSplitterWindow_SashHitTest( TSelf(wxThinSplitterWindow) _obj, TPoint(x,y), int tolerance );
+void       wxThinSplitterWindow_SizeWindows( TSelf(wxThinSplitterWindow) _obj );
+
+/* wxThread */
+TClassDef(wxThread)
+
+/* wxTime */
+TClassDefExtend(wxTime,wxObject)
+
+/* wxTimeSpan */
+TClassDef(wxTimeSpan)
+
+/* wxTimer */
+TClassDefExtend(wxTimer,wxObject)
+TClass(wxTimer) wxTimer_Create( TClass(wxWindow) _prt, int _id );
+void       wxTimer_Delete( TSelf(wxTimer) _obj );
+int        wxTimer_GetInterval( TSelf(wxTimer) _obj );
+TBool      wxTimer_IsOneShot( TSelf(wxTimer) _obj );
+TBool      wxTimer_IsRuning( TSelf(wxTimer) _obj );
+TBool      wxTimer_Start( TSelf(wxTimer) _obj, int _int, TBool _one );
+void       wxTimer_Stop( TSelf(wxTimer) _obj );
+
+/* wxTimerBase */
+TClassDefExtend(wxTimerBase,wxObject)
+
+/* wxTimerEvent */
+TClassDefExtend(wxTimerEvent,wxEvent)
+int        wxTimerEvent_GetInterval( TSelf(wxTimerEvent) _obj );
+
+/* wxTimerEx */
+TClassDefExtend(wxTimerEx,wxTimer)
+
+/* wxTimerRunner */
+TClassDef(wxTimerRunner)
+
+/* wxTipProvider */
+TClassDef(wxTipProvider)
+
+/* wxTipWindow */
+TClassDefExtend(wxTipWindow,wxPopupTransientWindow)
+void       wxTipWindow_Close( TSelf(wxTipWindow) _obj );
+TClass(wxTipWindow) wxTipWindow_Create( TClass(wxWindow) parent, TClass(wxString) text, int maxLength );
+void       wxTipWindow_SetBoundingRect( TSelf(wxTipWindow) _obj, TRect(x,y,w,h) );
+void       wxTipWindow_SetTipWindowPtr( TSelf(wxTipWindow) _obj, void* windowPtr );
+
+/* wxToggleButton */
+TClassDefExtend(wxToggleButton,wxControl)
+TClass(wxToggleButton) wxToggleButton_Create( TClass(wxWindow) parent, int id, TClass(wxString) label, TRect(x,y,w,h), int style );
+TBool      wxToggleButton_Enable( TSelf(wxToggleButton) _obj, TBool enable );
+TBool      wxToggleButton_GetValue( TSelf(wxToggleButton) _obj );
+void       wxToggleButton_SetLabel( TSelf(wxToggleButton) _obj, TClass(wxString) label );
+void       wxToggleButton_SetValue( TSelf(wxToggleButton) _obj, TBool state );
+
+/* wxToolBar */
+TClassDefExtend(wxToolBar,wxToolBarBase)
+TBool      wxToolBar_AddControl( TSelf(wxToolBar) _obj, TClass(wxControl) ctrl );
+void       wxToolBar_AddSeparator( TSelf(wxToolBar) _obj );
+void       wxToolBar_AddTool( TSelf(wxToolBar) _obj, int id, TClass(wxBitmap) bmp, TClass(wxString) shelp, TClass(wxString) lhelp );
+void       wxToolBar_AddToolEx( TSelf(wxToolBar) _obj, int id, TClass(wxBitmap) bmp1, TClass(wxBitmap) bmp2, TBool isToggle, TPoint(x,y), TClass(wxObject) data, TClass(wxString) shelp, TClass(wxString) lhelp );
+TClass(wxToolBar) wxToolBar_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
+void       wxToolBar_Delete( TSelf(wxToolBar) _obj );
+TBool      wxToolBar_DeleteTool( TSelf(wxToolBar) _obj, int id );
+TBool      wxToolBar_DeleteToolByPos( TSelf(wxToolBar) _obj, int pos );
+void       wxToolBar_EnableTool( TSelf(wxToolBar) _obj, int id, TBool enable );
+void       wxToolBar_GetMargins( TSelf(wxToolBar) _obj, TPointOutVoid(x,y) );
+void       wxToolBar_GetToolBitmapSize( TSelf(wxToolBar) _obj, TSizeOutVoid(_x,_y) );
+TClass(wxObject) wxToolBar_GetToolClientData( TSelf(wxToolBar) _obj, int id );
+TBool      wxToolBar_GetToolEnabled( TSelf(wxToolBar) _obj, int id );
+TClass(wxString) wxToolBar_GetToolLongHelp( TSelf(wxToolBar) _obj, int id );
+int        wxToolBar_GetToolPacking( TSelf(wxToolBar) _obj );
+TClass(wxString) wxToolBar_GetToolShortHelp( TSelf(wxToolBar) _obj, int id );
+void       wxToolBar_GetToolSize( TSelf(wxToolBar) _obj, TPointOutVoid(_x,_y) );
+TBool      wxToolBar_GetToolState( TSelf(wxToolBar) _obj, int id );
+void       wxToolBar_InsertControl( TSelf(wxToolBar) _obj, int pos, TClass(wxControl) ctrl );
+void       wxToolBar_InsertSeparator( TSelf(wxToolBar) _obj, int pos );
+void       wxToolBar_InsertTool( TSelf(wxToolBar) _obj, int pos, int id, TClass(wxBitmap) bmp1, TClass(wxBitmap) bmp2, TBool isToggle, TClass(wxObject) data, TClass(wxString) shelp, TClass(wxString) lhelp );
+TBool      wxToolBar_Realize( TSelf(wxToolBar) _obj );
+void       wxToolBar_RemoveTool( TSelf(wxToolBar) _obj, int id );
+void       wxToolBar_SetMargins( TSelf(wxToolBar) _obj, TPoint(x,y) );
+void       wxToolBar_SetToolBitmapSize( TSelf(wxToolBar) _obj, TSize(x,y) );
+void       wxToolBar_SetToolClientData( TSelf(wxToolBar) _obj, int id, TClass(wxObject) data );
+void       wxToolBar_SetToolLongHelp( TSelf(wxToolBar) _obj, int id, TClass(wxString) str );
+void       wxToolBar_SetToolPacking( TSelf(wxToolBar) _obj, int packing );
+void       wxToolBar_SetToolSeparation( TSelf(wxToolBar) _obj, int separation );
+void       wxToolBar_SetToolShortHelp( TSelf(wxToolBar) _obj, int id, TClass(wxString) str );
+void       wxToolBar_ToggleTool( TSelf(wxToolBar) _obj, int id, TBool toggle );
+
+/* wxToolBarBase */
+TClassDefExtend(wxToolBarBase,wxControl)
+
+/* wxToolLayoutItem */
+TClassDefExtend(wxToolLayoutItem,wxObject)
+TBool      wxToolLayoutItem_IsSeparator( TSelf(wxToolLayoutItem) _obj );
+void       wxToolLayoutItem_Rect( TSelf(wxToolLayoutItem) _obj, TRectOutVoid(_x,_y,_w,_h) );
+
+/* wxToolTip */
+TClassDefExtend(wxToolTip,wxObject)
+
+/* wxToolWindow */
+TClassDefExtend(wxToolWindow,wxFrame)
+void       wxToolWindow_AddMiniButton( TSelf(wxToolWindow) _obj, void* _btn );
+TClass(wxToolWindow) wxToolWindow_Create( void* _obj, void* _btn, void* _ttl );
+TClass(wxClient) wxToolWindow_GetClient( TSelf(wxToolWindow) _obj );
+void       wxToolWindow_SetClient( TSelf(wxToolWindow) _obj, TClass(wxWindow) _wnd );
+void       wxToolWindow_SetTitleFont( TSelf(wxToolWindow) _obj, void* _fnt );
+
+/* wxTopLevelWindow */
+TClassDefExtend(wxTopLevelWindow,wxWindow)
+TBool      wxTopLevelWindow_EnableCloseButton( TSelf(wxTopLevelWindow) _obj, TBool enable );
+TClass(wxButton) wxTopLevelWindow_GetDefaultButton( TSelf(wxTopLevelWindow) _obj );
+TClass(wxWindow) wxTopLevelWindow_GetDefaultItem( TSelf(wxTopLevelWindow) _obj );
+TClass(wxIcon) wxTopLevelWindow_GetIcon( TSelf(wxTopLevelWindow) _obj );
+TClass(wxString) wxTopLevelWindow_GetTitle( TSelf(wxTopLevelWindow) _obj );
+TBool      wxTopLevelWindow_Iconize( TSelf(wxTopLevelWindow) _obj, TBool iconize );
+TBool      wxTopLevelWindow_IsActive( TSelf(wxTopLevelWindow) _obj );
+TBool      wxTopLevelWindow_IsIconized( TSelf(wxTopLevelWindow) _obj );
+TBool      wxTopLevelWindow_IsMaximized( TSelf(wxTopLevelWindow) _obj );
+void       wxTopLevelWindow_Maximize( TSelf(wxTopLevelWindow) _obj, TBool maximize );
+void       wxTopLevelWindow_RequestUserAttention( TSelf(wxTopLevelWindow) _obj, int flags );
+void       wxTopLevelWindow_SetDefaultButton( TSelf(wxTopLevelWindow) _obj, TClass(wxButton) pBut );
+void       wxTopLevelWindow_SetDefaultItem( TSelf(wxTopLevelWindow) _obj, TClass(wxWindow) pBut );
+void       wxTopLevelWindow_SetIcon( TSelf(wxTopLevelWindow) _obj, TClass(wxIcon) pIcon );
+void       wxTopLevelWindow_SetIcons( TSelf(wxTopLevelWindow) _obj, void* _icons );
+void       wxTopLevelWindow_SetMaxSize( TSelf(wxTopLevelWindow) _obj, TSize(w,h) );
+void       wxTopLevelWindow_SetMinSize( TSelf(wxTopLevelWindow) _obj, TSize(w,h) );
+void       wxTopLevelWindow_SetTitle( TSelf(wxTopLevelWindow) _obj, TClass(wxString) pString );
+
+/* wxTreeCompanionWindow */
+TClassDefExtend(wxTreeCompanionWindow,wxWindow)
+TClass(wxTreeCompanionWindow) wxTreeCompanionWindow_Create( TClass(wxWindow) parent, int id, TRect(x,y,w,h), int style );
+void       wxTreeCompanionWindow_DrawItem( TSelf(wxTreeCompanionWindow) _obj, TClass(wxDC) dc, void* id, TRect(x,y,w,h));
+TClass(wxTreeCtrl) wxTreeCompanionWindow_GetTreeCtrl( TSelf(wxTreeCompanionWindow) _obj );
+void       wxTreeCompanionWindow_SetTreeCtrl( TSelf(wxTreeCompanionWindow) _obj, TClass(wxTreeCtrl) treeCtrl );
+
+/* wxTreeCtrl */
+TClassDefExtend(wxTreeCtrl,wxControl)
+void       wxTreeCtrl_AddRoot( TSelf(wxTreeCtrl) _obj, TClass(wxString) text, int image, int selectedImage, TClass(wxTreeItemData) data, TClassRef(wxTreeItemId) _item );
+void       wxTreeCtrl_AppendItem( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) parent, TClass(wxString) text, int image, int selectedImage, TClass(wxTreeItemData)  data, TClassRef(wxTreeItemId) _item );
+void       wxTreeCtrl_Collapse( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
+void       wxTreeCtrl_CollapseAndReset( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
+TClass(wxTreeCtrl) wxTreeCtrl_Create( void* _obj, void* _cmp, TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
+void       wxTreeCtrl_Delete( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
+void       wxTreeCtrl_DeleteAllItems( TSelf(wxTreeCtrl) _obj );
+void       wxTreeCtrl_DeleteChildren( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
+void       wxTreeCtrl_EditLabel( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
+void       wxTreeCtrl_EndEditLabel( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TBool discardChanges );
+void       wxTreeCtrl_EnsureVisible( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
+void       wxTreeCtrl_Expand( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
+int        wxTreeCtrl_GetBoundingRect( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TBool textOnly, TRectOutVoid(x,y,w,h) );
+int        wxTreeCtrl_GetChildrenCount( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TBool recursively );
+int        wxTreeCtrl_GetCount( TSelf(wxTreeCtrl) _obj );
+TClass(wxTextCtrl) wxTreeCtrl_GetEditControl( TSelf(wxTreeCtrl) _obj );
+void       wxTreeCtrl_GetFirstChild( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, int* cookie, TClassRef(wxTreeItemId) _item );
+void       wxTreeCtrl_GetFirstVisibleItem( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TClassRef(wxTreeItemId) _item );
+TClass(wxImageList) wxTreeCtrl_GetImageList( TSelf(wxTreeCtrl) _obj );
+int        wxTreeCtrl_GetIndent( TSelf(wxTreeCtrl) _obj );
+void*      wxTreeCtrl_GetItemData( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
+int        wxTreeCtrl_GetItemImage( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, int which );
+TClass(wxString) wxTreeCtrl_GetItemText( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
+void       wxTreeCtrl_GetLastChild( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TClassRef(wxTreeItemId) _item );
+void       wxTreeCtrl_GetNextChild( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, int* cookie, TClassRef(wxTreeItemId) _item );
+void       wxTreeCtrl_GetNextSibling( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TClassRef(wxTreeItemId) _item );
+void       wxTreeCtrl_GetNextVisible( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TClassRef(wxTreeItemId) _item );
+void       wxTreeCtrl_GetParent( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TClassRef(wxTreeItemId) _item );
+void       wxTreeCtrl_GetPrevSibling( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TClassRef(wxTreeItemId) _item );
+void       wxTreeCtrl_GetPrevVisible( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TClassRef(wxTreeItemId) _item );
+void       wxTreeCtrl_GetRootItem( TSelf(wxTreeCtrl) _obj, TClassRef(wxTreeItemId) _item );
+void       wxTreeCtrl_GetSelection( TSelf(wxTreeCtrl) _obj, TClassRef(wxTreeItemId) _item );
+TArrayLen  wxTreeCtrl_GetSelections( TSelf(wxTreeCtrl) _obj, TArrayIntOutVoid selections );
+int        wxTreeCtrl_GetSpacing( TSelf(wxTreeCtrl) _obj );
+TClass(wxImageList)  wxTreeCtrl_GetStateImageList( TSelf(wxTreeCtrl) _obj );
+void       wxTreeCtrl_HitTest( TSelf(wxTreeCtrl) _obj, TPoint(_x,_y), int* flags, TClassRef(wxTreeItemId) _item );
+void       wxTreeCtrl_InsertItem( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) parent, TClass(wxTreeItemId) idPrevious, TClass(wxString) text, int image, int selectedImage, void* data, TClassRef(wxTreeItemId) _item );
+void       wxTreeCtrl_InsertItemByIndex( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) parent, int index, TClass(wxString) text, int image, int selectedImage, void* data, TClassRef(wxTreeItemId) _item );
+TBool      wxTreeCtrl_IsBold( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
+TBool      wxTreeCtrl_IsExpanded( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
+TBool      wxTreeCtrl_IsSelected( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
+TBool      wxTreeCtrl_IsVisible( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
+int        wxTreeCtrl_ItemHasChildren( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
+int        wxTreeCtrl_OnCompareItems( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item1, TClass(wxTreeItemId) item2 );
+void       wxTreeCtrl_PrependItem( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) parent, TClass(wxString) text, int image, int selectedImage, void* data, TClassRef(wxTreeItemId) _item );
+void       wxTreeCtrl_ScrollTo( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
+void       wxTreeCtrl_SelectItem( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
+void       wxTreeCtrl_SetImageList( TSelf(wxTreeCtrl) _obj, TClass(wxImageList) imageList );
+void       wxTreeCtrl_SetIndent( TSelf(wxTreeCtrl) _obj, int indent );
+void       wxTreeCtrl_SetItemBackgroundColour( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TClass(wxColour) col );
+void       wxTreeCtrl_SetItemBold( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TBool bold );
+void       wxTreeCtrl_SetItemData( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, void* data );
+void       wxTreeCtrl_SetItemDropHighlight( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TBool highlight );
+void       wxTreeCtrl_SetItemFont( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TClass(wxFont) font );
+void       wxTreeCtrl_SetItemHasChildren( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TBool hasChildren );
+void       wxTreeCtrl_SetItemImage( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, int image, int which );
+void       wxTreeCtrl_SetItemText( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TClass(wxString) text );
+void       wxTreeCtrl_SetItemTextColour( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TClass(wxColour) col );
+void       wxTreeCtrl_SetSpacing( TSelf(wxTreeCtrl) _obj, int spacing );
+void       wxTreeCtrl_SetStateImageList( TSelf(wxTreeCtrl) _obj, TClass(wxImageList) imageList );
+void       wxTreeCtrl_SortChildren( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
+void       wxTreeCtrl_Toggle( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item );
+void       wxTreeCtrl_Unselect( TSelf(wxTreeCtrl) _obj );
+void       wxTreeCtrl_UnselectAll( TSelf(wxTreeCtrl) _obj );
+
+/* wxTreeEvent */
+TClassDefExtend(wxTreeEvent,wxNotifyEvent)
+int        wxTreeEvent_GetCode( TSelf(wxTreeEvent) _obj );
+void       wxTreeEvent_GetItem( TSelf(wxTreeEvent) _obj, TClassRef(wxTreeItemId) _ref );
+TClass(wxString) wxTreeEvent_GetLabel( TSelf(wxTreeEvent) _obj );
+void       wxTreeEvent_GetOldItem( TSelf(wxTreeEvent) _obj, TClassRef(wxTreeItemId) _ref );
+void       wxTreeEvent_GetPoint( TSelf(wxTreeEvent) _obj, TPointOutVoid(_x,_y) );
+
+/* wxTreeItemData */
+TClassDefExtend(wxTreeItemData,wxClientData)
+
+/* wxTreeItemId */
+TClassDef(wxTreeItemId)
+TClass(wxTreeItemId) wxTreeItemId_Create(  );
+void       wxTreeItemId_Delete( TSelf(wxTreeItemId) _obj );
+TBool      wxTreeItemId_IsOk( TSelf(wxTreeItemId) _obj );
+
+/* wxTreeLayout */
+TClassDefExtend(wxTreeLayout,wxObject)
+
+/* wxTreeLayoutStored */
+TClassDefExtend(wxTreeLayoutStored,wxTreeLayout)
+
+/* wxURL */
+TClassDefExtend(wxURL,wxObject)
+
+/* wxUpdateUIEvent */
+TClassDefExtend(wxUpdateUIEvent,wxEvent)
+void       wxUpdateUIEvent_Check( TSelf(wxUpdateUIEvent) _obj, TBool check );
+void       wxUpdateUIEvent_CopyObject( TSelf(wxUpdateUIEvent) _obj, TClass(wxObject) obj );
+void       wxUpdateUIEvent_Enable( TSelf(wxUpdateUIEvent) _obj, TBool enable );
+TBool      wxUpdateUIEvent_GetChecked( TSelf(wxUpdateUIEvent) _obj );
+TBool      wxUpdateUIEvent_GetEnabled( TSelf(wxUpdateUIEvent) _obj );
+TBool      wxUpdateUIEvent_GetSetChecked( TSelf(wxUpdateUIEvent) _obj );
+TBool      wxUpdateUIEvent_GetSetEnabled( TSelf(wxUpdateUIEvent) _obj );
+TBool      wxUpdateUIEvent_GetSetText( TSelf(wxUpdateUIEvent) _obj );
+TClass(wxString) wxUpdateUIEvent_GetText( TSelf(wxUpdateUIEvent) _obj );
+void       wxUpdateUIEvent_SetText( TSelf(wxUpdateUIEvent) _obj, TClass(wxString) text );
+
+/* wxValidator */
+TClassDefExtend(wxValidator,wxEvtHandler)
+TClass(wxValidator) wxValidator_Create(  );
+void       wxValidator_Delete( TSelf(wxValidator) _obj );
+TClass(wxWindow) wxValidator_GetWindow( TSelf(wxValidator) _obj );
+void       wxValidator_SetBellOnError( TBool doIt );
+void       wxValidator_SetWindow( TSelf(wxValidator) _obj, TClass(wxWindow) win );
+TBool      wxValidator_TransferFromWindow( TSelf(wxValidator) _obj );
+TBool      wxValidator_TransferToWindow( TSelf(wxValidator) _obj );
+TBool      wxValidator_Validate( TSelf(wxValidator) _obj, TClass(wxWindow) parent );
+
+/* wxVariant */
+TClassDefExtend(wxVariant,wxObject)
+
+/* wxVariantData */
+TClassDefExtend(wxVariantData,wxObject)
+
+/* wxView */
+TClassDefExtend(wxView,wxEvtHandler)
+
+/* wxSound */
+TClassDefExtend(wxSound,wxEvtHandler)
+
+/* wxWindow */
+TClassDefExtend(wxWindow,wxEvtHandler)
+void       wxWindow_AddChild( TSelf(wxWindow) _obj, TClass(wxWindow) child );
+void       wxWindow_AddConstraintReference( TSelf(wxWindow) _obj, TClass(wxWindow) otherWin );
+void       wxWindow_CaptureMouse( TSelf(wxWindow) _obj );
+void       wxWindow_Center( TSelf(wxWindow) _obj, int direction );
+void       wxWindow_CenterOnParent( TSelf(wxWindow) _obj, int dir );
+void       wxWindow_ClearBackground( TSelf(wxWindow) _obj );
+void       wxWindow_ClientToScreen( TSelf(wxWindow) _obj, TPoint(x,y), TPointOut(sx,sy) );
+TBool      wxWindow_Close( TSelf(wxWindow) _obj, TBool _force );
+void       wxWindow_ConvertDialogToPixels( TSelf(wxWindow) _obj, TPointOut(_x,_y) );
+void       wxWindow_ConvertPixelsToDialog( TSelf(wxWindow) _obj, TPointOut(_x,_y) );
+TClass(wxWindow) wxWindow_Create( TClass(wxWindow) _prt, int _id, TRect(_x,_y,_w,_h), int _stl );
+void       wxWindow_DeleteRelatedConstraints( TSelf(wxWindow) _obj );
+TBool      wxWindow_Destroy( TSelf(wxWindow) _obj );
+TBool      wxWindow_DestroyChildren( TSelf(wxWindow) _obj );
+TBool      wxWindow_Disable( TSelf(wxWindow) _obj );
+int        wxWindow_DoPhase( TSelf(wxWindow) _obj, int phase );
+TBool      wxWindow_Enable( TSelf(wxWindow) _obj );
+TClass(wxWindow) wxWindow_FindFocus( TSelf(wxWindow) _obj );
+TClass(wxWindow) wxWindow_FindWindow( TSelf(wxWindow) _obj, TClass(wxString) name );
+void       wxWindow_Fit( TSelf(wxWindow) _obj );
+void       wxWindow_FitInside( TSelf(wxWindow) _obj );
+void       wxWindow_Freeze( TSelf(wxWindow) _obj );
+void       wxWindow_GetEffectiveMinSize( TSelf(wxWindow) _obj, TSizeOutVoid(_w,_h) );
+int        wxWindow_GetAutoLayout( TSelf(wxWindow) _obj );
+void       wxWindow_GetBackgroundColour( TSelf(wxWindow) _obj, TClassRef(wxColour) _ref );
+void       wxWindow_GetBestSize( TSelf(wxWindow) _obj, TSizeOutVoid(_w,_h) );
+TClass(wxCaret) wxWindow_GetCaret( TSelf(wxWindow) _obj );
+int        wxWindow_GetCharHeight( TSelf(wxWindow) _obj );
+int        wxWindow_GetCharWidth( TSelf(wxWindow) _obj );
+int        wxWindow_GetChildren( TSelf(wxWindow) _obj, void* _res, int _cnt );
+TClass(wxClientData) wxWindow_GetClientData( TSelf(wxWindow) _obj );
+void       wxWindow_GetClientSize( TSelf(wxWindow) _obj, TSizeOutVoid(_w,_h) );
+void       wxWindow_GetClientSizeConstraint( TSelf(wxWindow) _obj, TSizeOut(_w,_h) );
+TClass(wxLayoutConstraints) wxWindow_GetConstraints( TSelf(wxWindow) _obj );
+void*      wxWindow_GetConstraintsInvolvedIn( TSelf(wxWindow) _obj );
+TClass(wxCursor) wxWindow_GetCursor( TSelf(wxWindow) _obj );
+TClass(wxDropTarget) wxWindow_GetDropTarget( TSelf(wxWindow) _obj );
+TClass(wxEvtHandler) wxWindow_GetEventHandler( TSelf(wxWindow) _obj );
+void       wxWindow_GetFont( TSelf(wxWindow) _obj, TClassRef(wxFont) _ref );
+void       wxWindow_GetForegroundColour( TSelf(wxWindow) _obj, TClassRef(wxColour) _ref );
+void*      wxWindow_GetHandle( TSelf(wxWindow) _obj );
+int        wxWindow_GetId( TSelf(wxWindow) _obj );
+TClass(wxString) wxWindow_GetLabel( TSelf(wxWindow) _obj );
+int        wxWindow_GetLabelEmpty( TSelf(wxWindow) _obj );
+int        wxWindow_GetMaxHeight( TSelf(wxWindow) _obj );
+int        wxWindow_GetMaxWidth( TSelf(wxWindow) _obj );
+int        wxWindow_GetMinHeight( TSelf(wxWindow) _obj );
+int        wxWindow_GetMinWidth( TSelf(wxWindow) _obj );
+TClass(wxString) wxWindow_GetName( TSelf(wxWindow) _obj );
+TClass(wxWindow) wxWindow_GetParent( TSelf(wxWindow) _obj );
+void       wxWindow_GetPosition( TSelf(wxWindow) _obj, TPointOutVoid(_x,_y) );
+void       wxWindow_GetPositionConstraint( TSelf(wxWindow) _obj, TPointOut(_x,_y) );
+void       wxWindow_GetRect( TSelf(wxWindow) _obj, TRectOutVoid(_x,_y,_w,_h) );
+int        wxWindow_GetScrollPos( TSelf(wxWindow) _obj, int orient );
+int        wxWindow_GetScrollRange( TSelf(wxWindow) _obj, int orient );
+int        wxWindow_GetScrollThumb( TSelf(wxWindow) _obj, int orient );
+void       wxWindow_GetSize( TSelf(wxWindow) _obj, TSizeOutVoid(_w,_h) );
+void       wxWindow_GetSizeConstraint( TSelf(wxWindow) _obj, TSizeOut(_w,_h) );
+TClass(wxSizer) wxWindow_GetSizer( TSelf(wxWindow) _obj );
+void       wxWindow_GetTextExtent( TSelf(wxWindow) _obj, TClass(wxString) string, int* x, int* y, int* descent, int* externalLeading, TClass(wxFont) theFont );
+TClass(wxString) wxWindow_GetToolTip( TSelf(wxWindow) _obj );
+TClass(wxRegion) wxWindow_GetUpdateRegion( TSelf(wxWindow) _obj );
+TClass(wxValidator) wxWindow_GetValidator( TSelf(wxWindow) _obj );
+void       wxWindow_GetVirtualSize( TSelf(wxWindow) _obj, TSizeOut(w,h) );
+int        wxWindow_GetWindowStyleFlag( TSelf(wxWindow) _obj );
+TBool      wxWindow_HasFlag( TSelf(wxWindow) _obj, int flag );
+TBool      wxWindow_Hide( TSelf(wxWindow) _obj );
+void       wxWindow_InitDialog( TSelf(wxWindow) _obj );
+TBool      wxWindow_IsBeingDeleted( TSelf(wxWindow) _obj );
+TBool      wxWindow_IsEnabled( TSelf(wxWindow) _obj );
+TBool      wxWindow_IsExposed( TSelf(wxWindow) _obj, TRect(x,y,w,h) );
+TBool      wxWindow_IsShown( TSelf(wxWindow) _obj );
+TBool      wxWindow_IsTopLevel( TSelf(wxWindow) _obj );
+int        wxWindow_Layout( TSelf(wxWindow) _obj );
+int        wxWindow_LayoutPhase1( TSelf(wxWindow) _obj, int* noChanges );
+int        wxWindow_LayoutPhase2( TSelf(wxWindow) _obj, int* noChanges );
+void       wxWindow_Lower( TSelf(wxWindow) _obj );
+void       wxWindow_MakeModal( TSelf(wxWindow) _obj, TBool modal );
+void       wxWindow_Move( TSelf(wxWindow) _obj, TPoint(x,y) );
+void       wxWindow_MoveConstraint( TSelf(wxWindow) _obj, TPoint(x,y) );
+void*      wxWindow_PopEventHandler( TSelf(wxWindow) _obj, TBool deleteHandler );
+int        wxWindow_PopupMenu( TSelf(wxWindow) _obj, TClass(wxMenu) menu, TPoint(x,y) );
+void       wxWindow_PrepareDC( TSelf(wxWindow) _obj, TClass(wxDC) dc );
+void       wxWindow_PushEventHandler( TSelf(wxWindow) _obj, TClass(wxEvtHandler) handler );
+void       wxWindow_Raise( TSelf(wxWindow) _obj );
+void       wxWindow_Refresh( TSelf(wxWindow) _obj, TBool eraseBackground );
+void       wxWindow_RefreshRect( TSelf(wxWindow) _obj, TBool eraseBackground, TRect(x,y,w,h) );
+void       wxWindow_ReleaseMouse( TSelf(wxWindow) _obj );
+void       wxWindow_RemoveChild( TSelf(wxWindow) _obj, TClass(wxWindow) child );
+void       wxWindow_RemoveConstraintReference( TSelf(wxWindow) _obj, TClass(wxWindow) otherWin );
+int        wxWindow_Reparent( TSelf(wxWindow) _obj, TClass(wxWindow) _par );
+void       wxWindow_ResetConstraints( TSelf(wxWindow) _obj );
+void       wxWindow_ScreenToClient( TSelf(wxWindow) _obj, int* x, int* y );
+void       wxWindow_ScrollWindow( TSelf(wxWindow) _obj, TVector(dx,dy) );
+void       wxWindow_ScrollWindowRect( TSelf(wxWindow) _obj, TVector(dx,dy), TRect(x,y,w,h) );
+void       wxWindow_SetAcceleratorTable( TSelf(wxWindow) _obj, TClass(wxAcceleratorTable) accel );
+void       wxWindow_SetAutoLayout( TSelf(wxWindow) _obj, TBool autoLayout );
+int        wxWindow_SetBackgroundColour( TSelf(wxWindow) _obj, TClass(wxColour) colour );
+void       wxWindow_SetCaret( TSelf(wxWindow) _obj, TClass(wxCaret) caret );
+void       wxWindow_SetClientData( TSelf(wxWindow) _obj, TClass(wxClientData) data );
+void       wxWindow_SetClientObject( TSelf(wxWindow) _obj, TClass(wxClientData) data );
+void       wxWindow_SetClientSize( TSelf(wxWindow) _obj, TSize(width,height) );
+void       wxWindow_SetConstraintSizes( TSelf(wxWindow) _obj, int recurse );
+void       wxWindow_SetConstraints( TSelf(wxWindow) _obj, TClass(wxLayoutConstraints) constraints );
+int        wxWindow_SetCursor( TSelf(wxWindow) _obj, TClass(wxCursor) cursor );
+void       wxWindow_SetDropTarget( TSelf(wxWindow) _obj, TClass(wxDropTarget) dropTarget );
+void       wxWindow_SetExtraStyle( TSelf(wxWindow) _obj, long exStyle );
+void       wxWindow_SetFocus( TSelf(wxWindow) _obj );
+int        wxWindow_SetFont( TSelf(wxWindow) _obj, TClass(wxFont) font );
+int        wxWindow_SetForegroundColour( TSelf(wxWindow) _obj, TClass(wxColour) colour );
+void       wxWindow_SetId( TSelf(wxWindow) _obj, int _id );
+void       wxWindow_SetLabel( TSelf(wxWindow) _obj, TClass(wxString) _title );
+void       wxWindow_SetName( TSelf(wxWindow) _obj, TClass(wxString) _name );
+void       wxWindow_SetScrollPos( TSelf(wxWindow) _obj, int orient, int pos, TBool refresh );
+void       wxWindow_SetScrollbar( TSelf(wxWindow) _obj, int orient, int pos, int thumbVisible, int range, TBool refresh );
+void       wxWindow_SetSize( TSelf(wxWindow) _obj, TRect(x,y,width,height), int sizeFlags );
+void       wxWindow_SetSizeConstraint( TSelf(wxWindow) _obj, TRect(x,y,w,h) );
+void       wxWindow_SetSizeHints( TSelf(wxWindow) _obj, int minW, int minH, int maxW, int maxH, int incW, int incH );
+void       wxWindow_SetSizer( TSelf(wxWindow) _obj, TClass(wxSizer) sizer );
+void       wxWindow_SetToolTip( TSelf(wxWindow) _obj, TClass(wxString) tip );
+void       wxWindow_SetValidator( TSelf(wxWindow) _obj, TClass(wxValidator) validator );
+void       wxWindow_SetWindowStyleFlag( TSelf(wxWindow) _obj, long style );
+TBool      wxWindow_Show( TSelf(wxWindow) _obj );
+void       wxWindow_Thaw( TSelf(wxWindow) _obj );
+TBool      wxWindow_TransferDataFromWindow( TSelf(wxWindow) _obj );
+TBool      wxWindow_TransferDataToWindow( TSelf(wxWindow) _obj );
+void       wxWindow_UnsetConstraints( TSelf(wxWindow) _obj, void* c );
+void       wxWindow_UpdateWindowUI( TSelf(wxWindow) _obj );
+TBool      wxWindow_Validate( TSelf(wxWindow) _obj );
+void       wxWindow_SetVirtualSize( TSelf(wxWindow) _obj, TSize(w,h) );
+void       wxWindow_WarpPointer( TSelf(wxWindow) _obj, TPoint(x,y) );
+
+/* wxWindowCreateEvent */
+TClassDefExtend(wxWindowCreateEvent,wxCommandEvent)
+TClass(wxWindow) wxWindowCreateEvent_GetWindow( TSelf(wxWindowCreateEvent) _obj );
+
+/* wxWindowDC */
+TClassDefExtend(wxWindowDC,wxDC)
+TClass(wxWindowDC) wxWindowDC_Create( TClass(wxWindow) win );
+void       wxWindowDC_Delete( TSelf(wxWindowDC) _obj );
+
+/* wxWindowDestroyEvent */
+TClassDefExtend(wxWindowDestroyEvent,wxCommandEvent)
+TClass(wxWindow) wxWindowDestroyEvent_GetWindow( TSelf(wxWindowDestroyEvent) _obj );
+
+/* wxWindowDisabler */
+TClassDef(wxWindowDisabler)
+
+/* wxWizard */
+TClassDefExtend(wxWizard,wxDialog)
+void       wxWizard_Chain( TClass(wxWizardPageSimple) f, TClass(wxWizardPageSimple) s );
+TClass(wxWizard) wxWizard_Create( TClass(wxWindow) _prt, int _id, TClass(wxString) _txt, TClass(wxBitmap) _bmp, TRect(_lft,_top,_wdt,_hgt) );
+TClass(wxWizardPage) wxWizard_GetCurrentPage( TSelf(wxWizard) _obj );
+void       wxWizard_GetPageSize( TSelf(wxWizard) _obj, TSizeOutVoid(_w,_h) );
+int        wxWizard_RunWizard( TSelf(wxWizard) _obj, TClass(wxWizardPage) firstPage );
+void       wxWizard_SetPageSize( TSelf(wxWizard) _obj, TSize(w,h) );
+
+/* wxWizardEvent */
+TClassDefExtend(wxWizardEvent,wxNotifyEvent)
+int        wxWizardEvent_GetDirection( TSelf(wxWizardEvent) _obj );
+
+/* wxWizardPage */
+TClassDefExtend(wxWizardPage,wxPanel)
+
+/* wxWizardPageSimple */
+TClassDefExtend(wxWizardPageSimple,wxWizardPage)
+TClass(wxWizardPageSimple) wxWizardPageSimple_Create( TClass(wxWizard) _prt );
+void       wxWizardPageSimple_GetBitmap( TSelf(wxWizardPageSimple) _obj, TClassRef(wxBitmap) _ref );
+TClass(wxWizardPageSimple) wxWizardPageSimple_GetNext( TSelf(wxWizardPageSimple) _obj );
+TClass(wxWizardPageSimple) wxWizardPageSimple_GetPrev( TSelf(wxWizardPageSimple) _obj );
+void       wxWizardPageSimple_SetNext( TSelf(wxWizardPageSimple) _obj, TClass(wxWizardPageSimple) next );
+void       wxWizardPageSimple_SetPrev( TSelf(wxWizardPageSimple) _obj, TClass(wxWizardPageSimple) prev );
+
+/* wxXmlResource */
+TClassDefExtend(wxXmlResource,wxObject)
+void       wxXmlResource_AddHandler( TSelf(wxXmlResource) _obj, TClass(wxEvtHandler) handler );
+void       wxXmlResource_AddSubclassFactory( TSelf(wxXmlResource) _obj, void* factory );
+int        wxXmlResource_AttachUnknownControl( TSelf(wxXmlResource) _obj, TClass(wxControl) control, TClass(wxWindow) parent );
+void       wxXmlResource_ClearHandlers( TSelf(wxXmlResource) _obj );
+int        wxXmlResource_CompareVersion( TSelf(wxXmlResource) _obj, int major, int minor, int release, int revision );
+TClass(wxXmlResource) wxXmlResource_Create( int flags );
+TClass(wxXmlResource) wxXmlResource_CreateFromFile( TClass(wxString) filemask, int flags );
+void       wxXmlResource_Delete( TSelf(wxXmlResource) _obj );
+TClass(wxXmlResource) wxXmlResource_Get(  );
+TClass(wxString) wxXmlResource_GetDomain( TSelf(wxXmlResource) _obj );
+int        wxXmlResource_GetFlags( TSelf(wxXmlResource) _obj );
+long       wxXmlResource_GetVersion( TSelf(wxXmlResource) _obj );
+int        wxXmlResource_GetXRCID( TSelf(wxXmlResource) _obj, TClass(wxString) str_id );
+void       wxXmlResource_InitAllHandlers( TSelf(wxXmlResource) _obj );
+void       wxXmlResource_InsertHandler( TSelf(wxXmlResource) _obj, TClass(wxEvtHandler) handler );
+TBool      wxXmlResource_Load( TSelf(wxXmlResource) _obj, TClass(wxString) filemask );
+void       wxXmlResource_LoadBitmap( TSelf(wxXmlResource) _obj, TClass(wxString) name, TClassRef(wxBitmap) _ref );
+TClass(wxDialog) wxXmlResource_LoadDialog( TSelf(wxXmlResource) _obj, TClass(wxWindow) parent, TClass(wxString) name );
+TClass(wxFrame) wxXmlResource_LoadFrame( TSelf(wxXmlResource) _obj, TClass(wxWindow) parent, TClass(wxString) name );
+void       wxXmlResource_LoadIcon( TSelf(wxXmlResource) _obj, TClass(wxString) name, TClassRef(wxIcon) _ref );
+TClass(wxMenu) wxXmlResource_LoadMenu( TSelf(wxXmlResource) _obj, TClass(wxString) name );
+TClass(wxMenuBar) wxXmlResource_LoadMenuBar( TSelf(wxXmlResource) _obj, TClass(wxWindow) parent, TClass(wxString) name );
+TClass(wxPanel) wxXmlResource_LoadPanel( TSelf(wxXmlResource) _obj, TClass(wxWindow) parent, TClass(wxString) name );
+TClass(wxToolBar) wxXmlResource_LoadToolBar( TSelf(wxXmlResource) _obj, TClass(wxWindow) parent, TClass(wxString) name );
+TClass(wxSizer) wxXmlResource_GetSizer( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxBoxSizer) wxXmlResource_GetBoxSizer( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxStaticBoxSizer) wxXmlResource_GetStaticBoxSizer( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxGridSizer) wxXmlResource_GetGridSizer( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxFlexGridSizer) wxXmlResource_GetFlexGridSizer( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxBitmapButton) wxXmlResource_GetBitmapButton( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxButton) wxXmlResource_GetButton( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxCalendarCtrl) wxXmlResource_GetCalendarCtrl( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxCheckBox) wxXmlResource_GetCheckBox( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxCheckListBox) wxXmlResource_GetCheckListBox( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxChoice) wxXmlResource_GetChoice( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxComboBox) wxXmlResource_GetComboBox( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxGauge) wxXmlResource_GetGauge( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxGrid) wxXmlResource_GetGrid( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxHtmlWindow) wxXmlResource_GetHtmlWindow( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxListBox) wxXmlResource_GetListBox( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxListCtrl) wxXmlResource_GetListCtrl( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxMDIChildFrame) wxXmlResource_GetMDIChildFrame( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxMDIParentFrame) wxXmlResource_GetMDIParentFrame( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxMenu) wxXmlResource_GetMenu( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxMenuBar) wxXmlResource_GetMenuBar( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxMenuItem) wxXmlResource_GetMenuItem( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxNotebook) wxXmlResource_GetNotebook( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxPanel) wxXmlResource_GetPanel( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxRadioButton) wxXmlResource_GetRadioButton( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxRadioBox) wxXmlResource_GetRadioBox( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxScrollBar) wxXmlResource_GetScrollBar( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxScrolledWindow) wxXmlResource_GetScrolledWindow( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxSlider) wxXmlResource_GetSlider( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxSpinButton) wxXmlResource_GetSpinButton( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxSpinCtrl) wxXmlResource_GetSpinCtrl( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxSplitterWindow) wxXmlResource_GetSplitterWindow( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxStaticBitmap) wxXmlResource_GetStaticBitmap( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxStaticBox) wxXmlResource_GetStaticBox( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxStaticLine) wxXmlResource_GetStaticLine( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxStaticText) wxXmlResource_GetStaticText( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxTextCtrl) wxXmlResource_GetTextCtrl( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TClass(wxTreeCtrl) wxXmlResource_GetTreeCtrl( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+TBool      wxXmlResource_Unload( TSelf(wxXmlResource) _obj, TClass(wxString) filemask );
+TClass(wxXmlResource) wxXmlResource_Set( TSelf(wxXmlResource) _obj, TSelf(wxXmlResource) res );
+void       wxXmlResource_SetDomain( TSelf(wxXmlResource) _obj, TClass(wxString) domain );
 void       wxXmlResource_SetFlags( TSelf(wxXmlResource) _obj, int flags );
 
 /* wxXmlResourceHandler */
diff --git a/wxc/include/wxc_types.h b/wxc/include/wxc_types.h
--- a/wxc/include/wxc_types.h
+++ b/wxc/include/wxc_types.h
@@ -13,6 +13,7 @@
 #undef TClassDef
 #undef TClassDefExtend
 #undef TChar
+#undef TUInt8
 #undef TInt64
 #undef TBool
 #undef TBoolInt
@@ -75,6 +76,15 @@
 /* 64 bit integer */
 #define TInt64            int64_t
 
+/* unsigned integer */
+#define TUInt             uint32_t
+
+/* 8 bit unsigned integer */
+#define TUInt8            uint8_t
+
+/* 32 bit unsigned integer */
+#define TUInt32           uint32_t
+
 /* boolean as int */
 #define TBoolInt          int
 
@@ -106,7 +116,7 @@
 #define TSizeOut(w,h)     int* w, int* h
 #define TRect(x,y,w,h)    int x,  int y,  int w,  int h
 #define TRectOut(x,y,w,h) int* x, int* y, int* w, int* h
-#define TColorRGB(r,g,b)  char r, char g, char b
+#define TColorRGB(r,g,b)  TUInt8 r, TUInt8 g, TUInt8 b
 
 /* arrays */
 #define TArrayLen               int
diff --git a/wxc/src/apppath.cpp b/wxc/src/apppath.cpp
--- a/wxc/src/apppath.cpp
+++ b/wxc/src/apppath.cpp
@@ -4,7 +4,7 @@
 #elif defined(__WXMAC__)
 # ifdef __DARWIN__
 #  include <mach-o/dyld.h>
-   typedef int (*NSGetExecutablePathProcPtr)(char *buf, size_t *bufsize);
+   typedef int (*NSGetExecutablePathProcPtr)(char* buf, size_t* bufsize);
 # else
 #  include <Types.h>
 #  include <Files.h>
@@ -101,17 +101,17 @@
 
 extern "C" 
 {
-EWXWEXPORT(int, wxGetApplicationDir)(char* buffer)
+EWXWEXPORT(wxString*,wxGetApplicationDir)()
 {
-  wxString result = GetApplicationDir();
-  if (buffer) memcpy(buffer, result.mb_str(), result.Length());
-  return result.Length(); 
+  wxString *result = new wxString();
+  *result = GetApplicationDir();
+  return result;
 }
 
-EWXWEXPORT(int, wxGetApplicationPath)(char* buffer)
+EWXWEXPORT(wxString*,wxGetApplicationPath)()
 {
-  wxString result = GetApplicationPath();
-  if (buffer) memcpy(buffer, result.mb_str(), result.Length());
-  return result.Length(); 
+  wxString *result = new wxString();
+  *result = GetApplicationPath();
+  return result;
 }
 }
diff --git a/wxc/src/db.cpp b/wxc/src/db.cpp
--- a/wxc/src/db.cpp
+++ b/wxc/src/db.cpp
@@ -140,7 +140,7 @@
 /*-----------------------------------------------------------------------------
   Global functions
 -----------------------------------------------------------------------------*/
-EWXWEXPORT(int,wxDb_IsSupported)()
+EWXWEXPORT(bool,wxDb_IsSupported)()
 {
 #ifdef wxUSE_ODBC
   return true;
@@ -165,7 +165,7 @@
 #endif
 }
 
-EWXWEXPORT(int,wxDb_FreeConnection)( wxDb* db)
+EWXWEXPORT(bool,wxDb_FreeConnection)( wxDb* db)
 {
 #ifdef wxUSE_ODBC
   return wxDbFreeConnection(db);
@@ -174,7 +174,7 @@
 #endif
 }
 
-EWXWEXPORT(wxDb*,wxDb_GetConnection)( wxDbConnectInf* connectInf, bool fwdCursorsOnly )
+EWXWEXPORT(wxDb*,wxDb_GetConnection)(wxDbConnectInf* connectInf,bool fwdCursorsOnly)
 {
 #ifdef wxUSE_ODBC
   return wxDbGetConnection(connectInf,fwdCursorsOnly);
@@ -183,7 +183,7 @@
 #endif
 }
 
-EWXWEXPORT(int,wxDb_GetDataSource)( void* henv, wxChar* dsn, int dsnLen, wxChar* description, int descLen, int direction)
+EWXWEXPORT(bool,wxDb_GetDataSource)( void* henv, wxChar* dsn, int dsnLen, wxChar* description, int descLen, int direction)
 {
   if (dsn && dsnLen > 0)   *dsn = '\0';
   if (description && descLen > 0) *description = '\0';
@@ -360,7 +360,7 @@
 }
 
 
-EWXWEXPORT(int,wxDb_IsOpen)(wxDb* db)
+EWXWEXPORT(bool,wxDb_IsOpen)(wxDb* db)
 {
 #ifdef wxUSE_ODBC
   if (db==NULL)
@@ -380,7 +380,7 @@
 #endif
 }
 
-EWXWEXPORT(int,wxDb_CommitTrans)(wxDb* db)
+EWXWEXPORT(bool,wxDb_CommitTrans)(wxDb* db)
 {
 #ifdef wxUSE_ODBC
   return db->CommitTrans();
@@ -389,7 +389,7 @@
 #endif
 }
 
-EWXWEXPORT(int,wxDb_RollbackTrans)(wxDb* db)
+EWXWEXPORT(bool,wxDb_RollbackTrans)(wxDb* db)
 {
 #ifdef wxUSE_ODBC
   return db->RollbackTrans();
@@ -426,7 +426,7 @@
 }
 
 
-EWXWEXPORT(int,wxDb_GetNextError)(wxDb* db, void* henv, void* hdbc, void* hstmt)
+EWXWEXPORT(bool,wxDb_GetNextError)(wxDb* db, void* henv, void* hdbc, void* hstmt)
 {
 #ifdef wxUSE_ODBC
   return db->GetNextError( (HENV)(henv), (HDBC)(hdbc), (HSTMT)(hstmt) );
@@ -435,7 +435,7 @@
 #endif
 }
 
-EWXWEXPORT(int,wxDb_ExecSql)(wxDb* db, wxString* sql)
+EWXWEXPORT(bool,wxDb_ExecSql)(wxDb* db, wxString* sql)
 {
 #ifdef wxUSE_ODBC
   return db->ExecSql(*sql);
@@ -444,7 +444,7 @@
 #endif
 }
 
-EWXWEXPORT(int,wxDb_GetNext)(wxDb* db)
+EWXWEXPORT(bool,wxDb_GetNext)(wxDb* db)
 {
 #ifdef wxUSE_ODBC
   return db->GetNext();
@@ -454,7 +454,7 @@
 }
 
 
-EWXWEXPORT(int,wxDb_GetData)(wxDb* db, int column, int ctype, void* data, int dataLen, int* usedLen ) 
+EWXWEXPORT(bool,wxDb_GetData)(wxDb* db, int column, int ctype, void* data, int dataLen, int* usedLen ) 
 {
 #ifdef wxUSE_ODBC
   long used;
@@ -467,7 +467,7 @@
 #endif
 }
 
-EWXWEXPORT(int,wxDb_GetDataInt)(wxDb* db, int column, int* i, int* usedLen ) 
+EWXWEXPORT(bool,wxDb_GetDataInt)(wxDb* db, int column, int* i, int* usedLen ) 
 {
 #ifdef wxUSE_ODBC
   long used;
@@ -481,7 +481,7 @@
 #endif
 }
 
-EWXWEXPORT(int,wxDb_GetDataDouble)(wxDb* db, int column, double* d, int* usedLen ) 
+EWXWEXPORT(bool,wxDb_GetDataDouble)(wxDb* db, int column, double* d, int* usedLen ) 
 {
 #ifdef wxUSE_ODBC
   long used;
@@ -496,7 +496,7 @@
 }
 
 
-EWXWEXPORT(int,wxDb_GetDataBinary)(wxDb* db, int column, bool asChars, char** pbuf, int* plen ) 
+EWXWEXPORT(bool,wxDb_GetDataBinary)(wxDb* db, int column, bool asChars, char** pbuf, int* plen ) 
 {
   /* DAAN: A rather complicated procedure to retrieve SQL data as a string or
      binary value. Since there is no trustworthy way to retrieve the size of
@@ -594,7 +594,7 @@
 }
 
 
-EWXWEXPORT(int,wxDb_GetDataDate)(wxDb* db, int column, int* ctime, int* usedLen ) 
+EWXWEXPORT(bool,wxDb_GetDataDate)(wxDb* db, int column, int* ctime, int* usedLen ) 
 {
 #if defined(wxUSE_ODBC) && defined(SQL_C_TYPE_DATE)
   SQL_DATE_STRUCT date;
@@ -621,7 +621,7 @@
 #endif
 }
 
-EWXWEXPORT(int,wxDb_GetDataTimeStamp)(wxDb* db, int column, int* ctime, int* fraction, int* usedLen ) 
+EWXWEXPORT(bool,wxDb_GetDataTimeStamp)(wxDb* db, int column, int* ctime, int* fraction, int* usedLen ) 
 {
 #if defined(wxUSE_ODBC) && defined(SQL_C_TYPE_TIMESTAMP)
   SQL_TIMESTAMP_STRUCT date;
@@ -654,7 +654,7 @@
 #endif
 }
 
-EWXWEXPORT(int,wxDb_GetDataTime)(wxDb* db, int column, int* secs, int* usedLen ) 
+EWXWEXPORT(bool,wxDb_GetDataTime)(wxDb* db, int column, int* secs, int* usedLen ) 
 {
 #if defined(wxUSE_ODBC) && defined(SQL_C_TYPE_TIME)
   SQL_TIME_STRUCT sqltime;
@@ -718,7 +718,7 @@
 #endif
 }
 
-EWXWEXPORT(int,wxDb_Grant)(wxDb* db, int privileges, wxString* tableName, wxString* userList )
+EWXWEXPORT(bool,wxDb_Grant)(wxDb* db, int privileges, wxString* tableName, wxString* userList )
 {
 #ifdef wxUSE_ODBC
   return db->Grant(privileges, *tableName, *userList);
@@ -775,7 +775,7 @@
 #endif
 }
 
-EWXWEXPORT(int,wxDb_Open)(wxDb* db, wxString* dsn, wxString* userId, wxString* password)
+EWXWEXPORT(bool,wxDb_Open)(wxDb* db, wxString* dsn, wxString* userId, wxString* password)
 {
 #ifdef wxUSE_ODBC
   return db->Open(*dsn,*userId,*password);
@@ -803,7 +803,7 @@
 }
 
 
-EWXWEXPORT(int,wxDb_TableExists)(wxDb* db, wxString* tableName, wxString* userName, wxString* path )
+EWXWEXPORT(bool,wxDb_TableExists)(wxDb* db, wxString* tableName, wxString* userName, wxString* path )
 {
 #ifdef wxUSE_ODBC
   if (userName!=NULL && userName->IsEmpty()) {
@@ -816,7 +816,7 @@
 }
 
 
-EWXWEXPORT(int,wxDb_TablePrivileges)(wxDb* db, wxString* tableName, wxString* privileges, wxString* userName, wxString* schema, wxString* path )
+EWXWEXPORT(bool,wxDb_TablePrivileges)(wxDb* db, wxString* tableName, wxString* privileges, wxString* userName, wxString* schema, wxString* path )
 {
 #ifdef wxUSE_ODBC
   if (schema!=NULL && schema->IsEmpty()) {
@@ -1117,7 +1117,7 @@
 #endif
 }
 
-EWXWEXPORT(int,wxDbColInf_IsNullable)( wxDbColInf* self )
+EWXWEXPORT(bool,wxDbColInf_IsNullable)(wxDbColInf* self)
 {
 #ifdef wxUSE_ODBC
   return (self->nullable != 0);
diff --git a/wxc/src/eljartprov.cpp b/wxc/src/eljartprov.cpp
--- a/wxc/src/eljartprov.cpp
+++ b/wxc/src/eljartprov.cpp
@@ -35,41 +35,41 @@
 extern "C"
 {
 
-EWXWEXPORT(void*,ELJArtProv_Create)(void* _obj, void* _clb)
+EWXWEXPORT(void*,ELJArtProv_Create)(void* _obj,void* _clb)
 {
 	return (void*)new ELJArtProv(_obj, _clb);
 }
 	
-EWXWEXPORT(void,ELJArtProv_Release)(void* _obj)
+EWXWEXPORT(void,ELJArtProv_Release)(ELJArtProv* self)
 {
-	((ELJArtProv*)_obj)->Release();
-	delete (ELJArtProv*)_obj;
+	self->Release();
+	delete self;
 }
 	
-EWXWEXPORT(void,PushProvider)(void* provider)
+EWXWEXPORT(void,PushProvider)(wxArtProvider* provider)
 {
 #if WXWIN_COMPATIBILITY_2_6
-	wxArtProvider::PushProvider((wxArtProvider*)provider);
+	wxArtProvider::PushProvider(provider);
 #else
-  wxArtProvider::Push((wxArtProvider*)provider);
+	wxArtProvider::Push(provider);
 #endif
 }
 
-EWXWEXPORT(int,PopProvider)()
+EWXWEXPORT(bool,PopProvider)()
 {
 #if WXWIN_COMPATIBILITY_2_6
-	return (int)wxArtProvider::PopProvider();
+	return wxArtProvider::PopProvider();
 #else
-  return wxArtProvider::Pop();
+	return wxArtProvider::Pop();
 #endif
 }
 
-EWXWEXPORT(int,RemoveProvider)(void* provider)
+EWXWEXPORT(bool,RemoveProvider)(wxArtProvider* provider)
 {
 #if WXWIN_COMPATIBILITY_2_6
-	return (int)wxArtProvider::RemoveProvider((wxArtProvider*)provider);
+	return wxArtProvider::RemoveProvider(provider);
 #else
-  return wxArtProvider::Remove((wxArtProvider*)provider);
+	return wxArtProvider::Remove(provider);
 #endif
 }
 
diff --git a/wxc/src/eljbitmap.cpp b/wxc/src/eljbitmap.cpp
--- a/wxc/src/eljbitmap.cpp
+++ b/wxc/src/eljbitmap.cpp
@@ -3,7 +3,7 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxBitmap_Create)(void* _data, int _type, int _width, int _height, int _depth)
+EWXWEXPORT(void*,wxBitmap_Create)(void* _data,int _type,int _width,int _height,int _depth)
 {
 #ifdef __WIN32__
 	return (void*) new wxBitmap(_data, _type, _width, _height, _depth);
@@ -12,111 +12,111 @@
 #endif
 }
 
-EWXWEXPORT(void*, wxBitmap_CreateFromXPM)(void* _data)
+EWXWEXPORT(void*,wxBitmap_CreateFromXPM)(void* _data)
 {
 	return (void*) new wxBitmap((const char**)_data);
 }
 
-EWXWEXPORT(void*, wxBitmap_CreateEmpty)(int _width, int _height, int _depth)
+EWXWEXPORT(void*,wxBitmap_CreateEmpty)(int _width,int _height,int _depth)
 {
 	return (void*) new wxBitmap(_width, _height, _depth);
 }
 
-EWXWEXPORT(void*, wxBitmap_CreateLoad)(void* name, int type)
+EWXWEXPORT(void*,wxBitmap_CreateLoad)(wxString* name,int type)
 {
 #if wxVERSION_NUMBER >= 2400
-	return (void*) new wxBitmap((wxChar*)name, (wxBitmapType)type);
+	return (void*) new wxBitmap(*name, (wxBitmapType)type);
 #else
-	return (void*) new wxBitmap((wxChar*)name, (long)type);
+	return (void*) new wxBitmap(*name, (long)type);
 #endif
 }
 
-EWXWEXPORT(void*, wxBitmap_CreateDefault)()
+EWXWEXPORT(void*,wxBitmap_CreateDefault)()
 {
 	return (void*) new wxBitmap();
 }
 
-EWXWEXPORT(void, wxBitmap_Delete)(void* _obj)
+EWXWEXPORT(void,wxBitmap_Delete)(wxBitmap* self)
 {
-	delete (wxBitmap*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(void, wxBitmap_GetSubBitmap)(void* _obj, int x, int y, int w, int h, void* bitmap)
+EWXWEXPORT(void,wxBitmap_GetSubBitmap)(wxBitmap* self,int x,int y,int w,int h,wxBitmap* bitmap)
 {
-	(*(wxBitmap*)bitmap) = ((wxBitmap*)_obj)->GetSubBitmap(wxRect(x, y, w, h));
+	*bitmap = self->GetSubBitmap(wxRect(x, y, w, h));
 }
 
-EWXWEXPORT(int, wxBitmap_LoadFile)(void* _obj, void* name, int type)
+EWXWEXPORT(bool,wxBitmap_LoadFile)(wxBitmap* self,wxString* name,int type)
 {
 #if wxVERSION_NUMBER >= 2400
-	return (int)((wxBitmap*)_obj)->LoadFile((wxChar*)name, (wxBitmapType)type);
+	return self->LoadFile(*name, (wxBitmapType)type);
 #else
-	return (int)((wxBitmap*)_obj)->LoadFile((wxChar*)name, (long)type);
+	return self->LoadFile(*name, (long)type);
 #endif
 }
 
-EWXWEXPORT(int, wxBitmap_SaveFile)(void* _obj, void* name, int type, void* cmap)
+EWXWEXPORT(bool,wxBitmap_SaveFile)(wxBitmap* self,wxString* name,int type,wxPalette* cmap)
 {
 #if wxVERSION_NUMBER >= 2400
-	return (int)((wxBitmap*)_obj)->SaveFile((wxChar*) name, (wxBitmapType)type, (wxPalette*) cmap);
+	return self->SaveFile(*name, (wxBitmapType)type,  cmap);
 #else
-	return (int)((wxBitmap*)_obj)->SaveFile((wxChar*) name, type, (wxPalette*) cmap);
+	return self->SaveFile(*name, type,  cmap);
 #endif
 }
 
-EWXWEXPORT(void*, wxBitmap_GetMask)(void* _obj)
+EWXWEXPORT(wxMask*,wxBitmap_GetMask)(wxBitmap* self)
 {
-	return (void*)((wxBitmap*)_obj)->GetMask();
+	return self->GetMask();
 }
 
-EWXWEXPORT(void, wxBitmap_SetMask)(void* _obj, void* mask)
+EWXWEXPORT(void,wxBitmap_SetMask)(wxBitmap* self,wxMask* mask)
 {
-	((wxBitmap*)_obj)->SetMask((wxMask*) mask);
+	self->SetMask(mask);
 }
 
 /**/
-EWXWEXPORT(void, wxBitmap_AddHandler)(void* handler)
+EWXWEXPORT(void,wxBitmap_AddHandler)(void* handler)
 {
 #ifdef __WIN32__
 	wxBitmap::AddHandler((wxGDIImageHandler*) handler);
 #endif
 }
 
-EWXWEXPORT(void, wxBitmap_InsertHandler)(void* handler)
+EWXWEXPORT(void,wxBitmap_InsertHandler)(void* handler)
 {
 #ifdef __WIN32__
 	wxBitmap::InsertHandler((wxGDIImageHandler*) handler);
 #endif
 }
 
-EWXWEXPORT(int, wxBitmap_RemoveHandler)(void* name)
+EWXWEXPORT(bool,wxBitmap_RemoveHandler)(wxString* name)
 {
 #ifdef __WIN32__
-	return (int) wxBitmap::RemoveHandler((wxChar*) name);
+	return wxBitmap::RemoveHandler(*name);
 #else
-	return 0;
+	return false;
 #endif
 }
 
-EWXWEXPORT(void*, wxBitmap_FindHandlerByName)(void* name)
+EWXWEXPORT(void*,wxBitmap_FindHandlerByName)(wxString* name)
 {
 #ifdef __WIN32__
-	return (void*)wxBitmap::FindHandler((wxChar*) name);
+	return (void*)wxBitmap::FindHandler(*name);
 #else
 	return NULL;
 #endif
 }
 
-EWXWEXPORT(void*, wxBitmap_FindHandlerByExtension)(void* extension, int type)
+EWXWEXPORT(void*,wxBitmap_FindHandlerByExtension)(wxString* extension,int type)
 {
 #ifdef __WIN32__
-	return (void*)wxBitmap::FindHandler((wxChar*)extension, (long)type);
+	return (void*)wxBitmap::FindHandler(*extension, (long)type);
 #else
 	return NULL;
 #endif
 }
 
-EWXWEXPORT(void*, wxBitmap_FindHandlerByType)(int type)
+EWXWEXPORT(void*,wxBitmap_FindHandlerByType)(int type)
 {
 #ifdef __WIN32__
 	return (void*)wxBitmap::FindHandler((long)type);
@@ -125,14 +125,14 @@
 #endif
 }
 
-EWXWEXPORT(void, wxBitmap_InitStandardHandlers)()
+EWXWEXPORT(void,wxBitmap_InitStandardHandlers)()
 {
 #ifdef __WIN32__
 	wxBitmap::InitStandardHandlers();
 #endif
 }
 
-EWXWEXPORT(void, wxBitmap_CleanUpHandlers)()
+EWXWEXPORT(void,wxBitmap_CleanUpHandlers)()
 {
 #ifdef __WIN32__
 	wxBitmap::CleanUpHandlers();
@@ -140,69 +140,69 @@
 }
 
 /**/
-EWXWEXPORT(int, wxBitmap_Ok)(void* _obj)
+EWXWEXPORT(bool,wxBitmap_IsOk)(wxBitmap* self)
 {
-	return (int)((wxBitmap*)_obj)->Ok();
+	return self->IsOk();
 }
 
-EWXWEXPORT(int, wxBitmap_GetWidth)(void* _obj)
+EWXWEXPORT(int,wxBitmap_GetWidth)(wxBitmap* self)
 {
-	return ((wxBitmap*)_obj)->GetWidth();
+	return self->GetWidth();
 }
 
-EWXWEXPORT(int, wxBitmap_GetHeight)(void* _obj)
+EWXWEXPORT(int,wxBitmap_GetHeight)(wxBitmap* self)
 {
-	return ((wxBitmap*)_obj)->GetHeight();
+	return self->GetHeight();
 }
 
-EWXWEXPORT(int, wxBitmap_GetDepth)(void* _obj)
+EWXWEXPORT(int,wxBitmap_GetDepth)(wxBitmap* self)
 {
-	return ((wxBitmap*)_obj)->GetDepth();
+	return self->GetDepth();
 }
 
-EWXWEXPORT(void, wxBitmap_SetWidth)(void* _obj, int w)
+EWXWEXPORT(void,wxBitmap_SetWidth)(wxBitmap* self,int w)
 {
-	((wxBitmap*)_obj)->SetWidth(w);
+	self->SetWidth(w);
 }
 
-EWXWEXPORT(void, wxBitmap_SetHeight)(void* _obj, int h)
+EWXWEXPORT(void,wxBitmap_SetHeight)(wxBitmap* self,int h)
 {
-	((wxBitmap*)_obj)->SetHeight(h);
+	self->SetHeight(h);
 }
 
-EWXWEXPORT(void, wxBitmap_SetDepth)(void* _obj, int d)
+EWXWEXPORT(void,wxBitmap_SetDepth)(wxBitmap* self,int d)
 {
-	((wxBitmap*)_obj)->SetDepth(d);
+	self->SetDepth(d);
 }
 
-EWXWEXPORT(void*, wxStaticBitmap_Create) (void* _prt, int _id, void* bitmap, int _lft, int _top, int _wdt, int _hgt, int _stl)
+EWXWEXPORT(void*,wxStaticBitmap_Create)(wxWindow* _prt,int _id,wxBitmap* bitmap, int _lft, int _top, int _wdt, int _hgt, int _stl)
 {
-	return (void*) new wxStaticBitmap ((wxWindow*)_prt, _id, *((wxBitmap*)bitmap), wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+	return (void*) new wxStaticBitmap (_prt, _id, *bitmap, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
 }
 
-EWXWEXPORT(void, wxStaticBitmap_SetIcon)(void* _obj, void* icon)
+EWXWEXPORT(void,wxStaticBitmap_SetIcon)(wxStaticBitmap* self,wxIcon* icon)
 {
-	((wxStaticBitmap*)_obj)->SetIcon(*((wxIcon*)icon));
+	self->SetIcon(*icon);
 }
 
-EWXWEXPORT(void, wxStaticBitmap_SetBitmap)(void* _obj, void* bitmap)
+EWXWEXPORT(void,wxStaticBitmap_SetBitmap)(wxStaticBitmap* self,wxBitmap* bitmap)
 {
-	((wxStaticBitmap*)_obj)->SetBitmap(*((wxBitmap*)bitmap));
+	self->SetBitmap(*bitmap);
 }
 
-EWXWEXPORT(void, wxStaticBitmap_GetIcon)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxStaticBitmap_GetIcon)(wxStaticBitmap* self,wxIcon* _ref)
 {
-	*((wxIcon*)_ref) = ((wxStaticBitmap*)_obj)->GetIcon();
+	*_ref = self->GetIcon();
 }
 
-EWXWEXPORT(void, wxStaticBitmap_GetBitmap)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxStaticBitmap_GetBitmap)(wxStaticBitmap* self,wxBitmap* _ref)
 {
-	*((wxBitmap*)_ref) = ((wxStaticBitmap*)_obj)->GetBitmap();
+	*_ref = self->GetBitmap();
 }
 
-EWXWEXPORT(void, wxStaticBitmap_Delete)(void* _obj)
+EWXWEXPORT(void,wxStaticBitmap_Delete)(wxStaticBitmap* self)
 {
-	delete (wxStaticBitmap*)_obj;
+	delete self;
 }
 
 }
diff --git a/wxc/src/eljbrush.cpp b/wxc/src/eljbrush.cpp
--- a/wxc/src/eljbrush.cpp
+++ b/wxc/src/eljbrush.cpp
@@ -3,22 +3,22 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxBrush_CreateDefault) ()
+EWXWEXPORT(wxBrush*,wxBrush_CreateDefault)()
 {
-	return (void*) new wxBrush();
+	return  new wxBrush();
 }
 
-EWXWEXPORT(void*, wxBrush_CreateFromBitmap) (void* bitmap)
+EWXWEXPORT(wxBrush*,wxBrush_CreateFromBitmap)(wxBitmap* bitmap)
 {
-	return (void*) new wxBrush(*((wxBitmap*)bitmap));
+	return new wxBrush(*bitmap);
 }
 
-EWXWEXPORT(void*, wxBrush_CreateFromColour) (void* col, int style)
+EWXWEXPORT(wxBrush*,wxBrush_CreateFromColour)(wxColour* col,int style)
 {
-	return (void*) new wxBrush(*((wxColour*)col), style);
+	return new wxBrush(*col, style);
 }
 
-EWXWEXPORT(void*, wxBrush_CreateFromStock) (int id)
+EWXWEXPORT(void*,wxBrush_CreateFromStock)(int id)
 {
 	switch (id)
 	{
@@ -47,59 +47,59 @@
 	return NULL;
 }
 
-EWXWEXPORT(void, wxBrush_Delete) (void* _obj)
+EWXWEXPORT(void,wxBrush_Delete)(wxBrush* self)
 {
-	delete (wxBrush*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(void, wxBrush_SetColour)(void* _obj, void* col)
+EWXWEXPORT(void,wxBrush_SetColour)(wxBrush* self,wxColour* col)
 {
-	((wxBrush*)_obj)->SetColour(*((wxColour*)col));
+	self->SetColour(*col);
 }
 	
-EWXWEXPORT(void, wxBrush_SetColourSingle)(void* _obj, char r, char g, char b)
+EWXWEXPORT(void,wxBrush_SetColourSingle)(wxBrush* self,wxUint8 r,wxUint8 g,wxUint8 b)
 {
-	((wxBrush*)_obj)->SetColour((unsigned char)r, (unsigned char)g, (unsigned char)b);
+	self->SetColour(r,g,b);
 }
 	
-EWXWEXPORT(void, wxBrush_SetStyle)(void* _obj, int style)
+EWXWEXPORT(void,wxBrush_SetStyle)(wxBrush* self,int style)
 {
-	((wxBrush*)_obj)->SetStyle(style);
+	self->SetStyle(style);
 }
 	
-EWXWEXPORT(void, wxBrush_SetStipple)(void* _obj, void* stipple)
+EWXWEXPORT(void,wxBrush_SetStipple)(wxBrush* self,wxBitmap* stipple)
 {
-	((wxBrush*)_obj)->SetStipple(*((wxBitmap*)stipple));
+	self->SetStipple(*stipple);
 }
 	
-EWXWEXPORT(void, wxBrush_Assign)(void* _obj, void* brush)
+EWXWEXPORT(void,wxBrush_Assign)(wxBrush* self,wxBrush* brush)
 {
-	*((wxBrush*)_obj) = *((wxBrush*)brush);
+	*self = *brush;
 }
 	
-EWXWEXPORT(int, wxBrush_IsEqual)(void* _obj, void* brush)
+EWXWEXPORT(bool,wxBrush_IsEqual)(wxBrush* self,wxBrush* brush)
 {
-	return (int)(*((wxBrush*)_obj) == *((wxBrush*)brush));
+	return *self == *brush;
 }
 	
-EWXWEXPORT(void, wxBrush_GetColour)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxBrush_GetColour)(wxBrush* self,wxColour* _ref)
 {
-	*((wxColour*)_ref) = ((wxBrush*)_obj)->GetColour();
+	*_ref = self->GetColour();
 }
 	
-EWXWEXPORT(int, wxBrush_GetStyle)(void* _obj)
+EWXWEXPORT(int,wxBrush_GetStyle)(wxBrush* self)
 {
-	return ((wxBrush*)_obj)->GetStyle();
+	return self->GetStyle();
 }
 	
-EWXWEXPORT(void, wxBrush_GetStipple)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxBrush_GetStipple)(wxBrush* self,wxBitmap* _ref)
 {
-	*((wxBitmap*)_ref) = (*((wxBrush*)_obj)->GetStipple());
+	*_ref = *(self->GetStipple());
 }
 	
-EWXWEXPORT(int, wxBrush_Ok)(void* _obj)
+EWXWEXPORT(bool,wxBrush_IsOk)(wxBrush* self)
 {
-	return (int)((wxBrush*)_obj)->Ok();
+	return self->IsOk();
 }
 	
 }
diff --git a/wxc/src/eljbusyinfo.cpp b/wxc/src/eljbusyinfo.cpp
--- a/wxc/src/eljbusyinfo.cpp
+++ b/wxc/src/eljbusyinfo.cpp
@@ -4,29 +4,29 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxBusyInfo_Create) (void* _txt)
+EWXWEXPORT(void*,wxBusyInfo_Create)(wxString* _txt)
 {
-	return (void*) new wxBusyInfo ((wxChar*)_txt);
+	return (void*) new wxBusyInfo (*_txt);
 }
 
-EWXWEXPORT(void, wxBusyInfo_Delete) (void* _obj)
+EWXWEXPORT(void,wxBusyInfo_Delete)(wxBusyInfo* _obj)
 {
-	delete (wxBusyInfo*)_obj;
+	delete _obj;
 }
 
-EWXWEXPORT(void*, wxBusyCursor_Create) ()
+EWXWEXPORT(void*,wxBusyCursor_Create)()
 {
 	return (void*) new wxBusyCursor ();
 }
 
-EWXWEXPORT(void*, wxBusyCursor_CreateWithCursor) (void* _cur)
+EWXWEXPORT(void*,wxBusyCursor_CreateWithCursor)(void* _cur)
 {
 	return (void*) new wxBusyCursor ((wxCursor*)_cur);
 }
 
-EWXWEXPORT(void, wxBusyCursor_Delete) (void* _obj)
+EWXWEXPORT(void,wxBusyCursor_Delete)(wxBusyCursor* _obj)
 {
-	delete (wxBusyCursor*)_obj;
+	delete _obj;
 }
 
 }
diff --git a/wxc/src/eljbutton.cpp b/wxc/src/eljbutton.cpp
--- a/wxc/src/eljbutton.cpp
+++ b/wxc/src/eljbutton.cpp
@@ -3,79 +3,79 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxButton_Create) (void* _prt, int _id, wxChar* _txt, int _lft, int _top, int _wdt, int _hgt, int _stl)
+EWXWEXPORT(wxButton*,wxButton_Create)(wxWindow* _prt,int _id,wxString* _txt, int _lft, int _top, int _wdt, int _hgt, int _stl)
 {
-	return (void*) new wxButton ((wxWindow*)_prt, _id, _txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, wxDefaultValidator);
+	return new wxButton (_prt, _id, *_txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, wxDefaultValidator);
 }
 
-EWXWEXPORT(int, wxButton_SetBackgroundColour)(void* _obj, void* colour)
+EWXWEXPORT(bool,wxButton_SetBackgroundColour)(wxButton* self,wxColour* colour)
 {
-	return (int)((wxButton*)_obj)->SetBackgroundColour(*((wxColour*)colour));
+	return self->SetBackgroundColour(*colour);
 }
 	
-EWXWEXPORT(void, wxButton_SetDefault)(void* _obj)
+EWXWEXPORT(void,wxButton_SetDefault)(wxButton* self)
 {
-	((wxButton*)_obj)->SetDefault();
+	self->SetDefault();
 }
 
-EWXWEXPORT(void*, wxBitmapButton_Create) (void* _prt, int _id, void* _bmp, int _lft, int _top, int _wdt, int _hgt, int _stl)
+EWXWEXPORT(wxBitmapButton*,wxBitmapButton_Create)(wxWindow* _prt,int _id,wxBitmap* _bmp, int _lft, int _top, int _wdt, int _hgt, int _stl)
 {
-	return (void*) new wxBitmapButton ((wxWindow*)_prt, _id, *((wxBitmap*)_bmp), wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, wxDefaultValidator);
+	return new wxBitmapButton (_prt, _id, *_bmp, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, wxDefaultValidator);
 }
 
-EWXWEXPORT(void, wxBitmapButton_GetBitmapLabel)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxBitmapButton_GetBitmapLabel)(wxBitmapButton* self,wxBitmap* _ref)
 {
-	*((wxBitmap*)_ref) = ((wxBitmapButton*)_obj)->GetBitmapLabel();
+	*_ref = self->GetBitmapLabel();
 }
 	
-EWXWEXPORT(void, wxBitmapButton_GetBitmapSelected)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxBitmapButton_GetBitmapSelected)(wxBitmapButton* self,wxBitmap* _ref)
 {
-	*((wxBitmap*)_ref) = ((wxBitmapButton*)_obj)->GetBitmapSelected();
+	*_ref = self->GetBitmapSelected();
 }
 	
-EWXWEXPORT(void, wxBitmapButton_GetBitmapFocus)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxBitmapButton_GetBitmapFocus)(wxBitmapButton* self,wxBitmap* _ref)
 {
-	*((wxBitmap*)_ref) = ((wxBitmapButton*)_obj)->GetBitmapFocus();
+	*_ref = self->GetBitmapFocus();
 }
 	
-EWXWEXPORT(void, wxBitmapButton_GetBitmapDisabled)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxBitmapButton_GetBitmapDisabled)(wxBitmapButton* self,wxBitmap* _ref)
 {
-	*((wxBitmap*)_ref) = ((wxBitmapButton*)_obj)->GetBitmapDisabled();
+	*_ref = self->GetBitmapDisabled();
 }
 	
-EWXWEXPORT(void, wxBitmapButton_SetBitmapSelected)(void* _obj, void* sel)
+EWXWEXPORT(void,wxBitmapButton_SetBitmapSelected)(wxBitmapButton* self,wxBitmap* sel)
 {
-	((wxBitmapButton*)_obj)->SetBitmapSelected(*((wxBitmap*)sel));
+	self->SetBitmapSelected(*sel);
 }
 	
-EWXWEXPORT(void, wxBitmapButton_SetBitmapFocus)(void* _obj, void* focus)
+EWXWEXPORT(void,wxBitmapButton_SetBitmapFocus)(wxBitmapButton* self,wxBitmap* focus)
 {
-	((wxBitmapButton*)_obj)->SetBitmapFocus(*((wxBitmap*)focus));
+	self->SetBitmapFocus(*focus);
 }
 	
-EWXWEXPORT(void, wxBitmapButton_SetBitmapDisabled)(void* _obj, void* disabled)
+EWXWEXPORT(void,wxBitmapButton_SetBitmapDisabled)(wxBitmapButton* self,wxBitmap* disabled)
 {
-	((wxBitmapButton*)_obj)->SetBitmapDisabled(*((wxBitmap*)disabled));
+	self->SetBitmapDisabled(*disabled);
 }
 	
-EWXWEXPORT(void, wxBitmapButton_SetBitmapLabel)(void* _obj, void* bitmap)
+EWXWEXPORT(void,wxBitmapButton_SetBitmapLabel)(wxBitmapButton* self,wxBitmap* bitmap)
 {
-	((wxBitmapButton*)_obj)->SetBitmapLabel(*((wxBitmap*)bitmap));
+	self->SetBitmapLabel(*bitmap);
 }
 	
-EWXWEXPORT(void, wxBitmapButton_SetMargins)(void* _obj, int x, int y)
+EWXWEXPORT(void,wxBitmapButton_SetMargins)(wxBitmapButton* self,int x,int y)
 {
-	((wxBitmapButton*)_obj)->SetMargins(x, y);
+	self->SetMargins(x, y);
 }
 	
-EWXWEXPORT(int, wxBitmapButton_GetMarginX)(void* _obj)
+EWXWEXPORT(int,wxBitmapButton_GetMarginX)(wxBitmapButton* self)
 {
-	return ((wxBitmapButton*)_obj)->GetMarginX();
+	return self->GetMarginX();
 }
 	
-EWXWEXPORT(int, wxBitmapButton_GetMarginY)(void* _obj)
+EWXWEXPORT(int,wxBitmapButton_GetMarginY)(wxBitmapButton* self)
 {
-	return ((wxBitmapButton*)_obj)->GetMarginY();
+	return self->GetMarginY();
 }
 	
 }
diff --git a/wxc/src/eljcalendarctrl.cpp b/wxc/src/eljcalendarctrl.cpp
--- a/wxc/src/eljcalendarctrl.cpp
+++ b/wxc/src/eljcalendarctrl.cpp
@@ -3,205 +3,205 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxCalendarCtrl_Create) (void* _prt, int _id, void* _dat, int _lft, int _top, int _wdt, int _hgt, int _stl)
+EWXWEXPORT(wxCalendarCtrl*,wxCalendarCtrl_Create)(wxWindow* _prt,int _id,wxDateTime* _dat,int _lft,int _top,int _wdt,int _hgt,int _stl)
 {
-	return (void*) new wxCalendarCtrl ((wxWindow*)_prt, _id, *((wxDateTime*)_dat), wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+	return new wxCalendarCtrl (_prt, _id, *_dat, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
 }
 
-EWXWEXPORT(void, wxCalendarCtrl_SetDate)(void* _obj, void* date)
+EWXWEXPORT(void,wxCalendarCtrl_SetDate)(wxCalendarCtrl* self,wxDateTime* date)
 {
-	((wxCalendarCtrl*)_obj)->SetDate(*((wxDateTime*)date));
+	self->SetDate(*date);
 }
 	
-EWXWEXPORT(void, wxCalendarCtrl_GetDate)(void* _obj, void* date)
+EWXWEXPORT(void,wxCalendarCtrl_GetDate)(wxCalendarCtrl* self,wxDateTime* date)
 {
-	*((wxDateTime*)date) = ((wxCalendarCtrl*)_obj)->GetDate();
+	*date = self->GetDate();
 }
 	
-EWXWEXPORT(void, wxCalendarCtrl_EnableYearChange)(void* _obj, int enable)
+EWXWEXPORT(void,wxCalendarCtrl_EnableYearChange)(wxCalendarCtrl* self,bool enable)
 {
-	((wxCalendarCtrl*)_obj)->EnableYearChange(enable != 0);
+	self->EnableYearChange(enable);
 }
 	
-EWXWEXPORT(void, wxCalendarCtrl_EnableMonthChange)(void* _obj, int enable)
+EWXWEXPORT(void,wxCalendarCtrl_EnableMonthChange)(wxCalendarCtrl* self,bool enable)
 {
-	((wxCalendarCtrl*)_obj)->EnableMonthChange(enable != 0);
+	self->EnableMonthChange(enable);
 }
 	
-EWXWEXPORT(void, wxCalendarCtrl_EnableHolidayDisplay)(void* _obj, int display)
+EWXWEXPORT(void,wxCalendarCtrl_EnableHolidayDisplay)(wxCalendarCtrl* self,bool display)
 {
-	((wxCalendarCtrl*)_obj)->EnableHolidayDisplay(display != 0);
+	self->EnableHolidayDisplay(display);
 }
 	
-EWXWEXPORT(void, wxCalendarCtrl_SetHeaderColours)(void* _obj, void* colFg, void* colBg)
+EWXWEXPORT(void,wxCalendarCtrl_SetHeaderColours)(wxCalendarCtrl* self,wxColour* colFg,wxColour* colBg)
 {
-	((wxCalendarCtrl*)_obj)->SetHeaderColours(*((wxColour*)colFg), *((wxColour*)colBg));
+	self->SetHeaderColours(*colFg,*colBg);
 }
 	
-EWXWEXPORT(void, wxCalendarCtrl_GetHeaderColourFg)(void* _obj, void* colour)
+EWXWEXPORT(void,wxCalendarCtrl_GetHeaderColourFg)(wxCalendarCtrl* self,wxColour* colour)
 {
-	*((wxColour*)colour) = ((wxCalendarCtrl*)_obj)->GetHeaderColourFg();
+	*colour = self->GetHeaderColourFg();
 }
 	
-EWXWEXPORT(void, wxCalendarCtrl_GetHeaderColourBg)(void* _obj, void* colour)
+EWXWEXPORT(void,wxCalendarCtrl_GetHeaderColourBg)(wxCalendarCtrl* self,wxColour* colour)
 {
-	*((wxColour*)colour) = ((wxCalendarCtrl*)_obj)->GetHeaderColourBg();
+	*colour = self->GetHeaderColourBg();
 }
 	
-EWXWEXPORT(void, wxCalendarCtrl_SetHighlightColours)(void* _obj, void* colFg, void* colBg)
+EWXWEXPORT(void,wxCalendarCtrl_SetHighlightColours)(wxCalendarCtrl* self,wxColour* colFg,wxColour* colBg)
 {
-	((wxCalendarCtrl*)_obj)->SetHighlightColours(*((wxColour*)colFg), *((wxColour*)colBg));
+	self->SetHighlightColours(*colFg,*colBg);
 }
 	
-EWXWEXPORT(void, wxCalendarCtrl_GetHighlightColourFg)(void* _obj, void* colour)
+EWXWEXPORT(void,wxCalendarCtrl_GetHighlightColourFg)(wxCalendarCtrl* self,wxColour* colour)
 {
-	*((wxColour*)colour) = ((wxCalendarCtrl*)_obj)->GetHighlightColourFg();
+	*colour = self->GetHighlightColourFg();
 }
 	
-EWXWEXPORT(void, wxCalendarCtrl_GetHighlightColourBg)(void* _obj, void* colour)
+EWXWEXPORT(void,wxCalendarCtrl_GetHighlightColourBg)(wxCalendarCtrl* self,wxColour* colour)
 {
-	*((wxColour*)colour) = ((wxCalendarCtrl*)_obj)->GetHighlightColourBg();
+	*colour = self->GetHighlightColourBg();
 }
 	
-EWXWEXPORT(void, wxCalendarCtrl_SetHolidayColours)(void* _obj, void* colFg, void* colBg)
+EWXWEXPORT(void,wxCalendarCtrl_SetHolidayColours)(wxCalendarCtrl* self,wxColour* colFg,wxColour* colBg)
 {
-	((wxCalendarCtrl*)_obj)->SetHolidayColours(*((wxColour*)colFg), *((wxColour*)colBg));
+	self->SetHolidayColours(*colFg,*colBg);
 }
 	
-EWXWEXPORT(void, wxCalendarCtrl_GetHolidayColourFg)(void* _obj, void* colour)
+EWXWEXPORT(void,wxCalendarCtrl_GetHolidayColourFg)(wxCalendarCtrl* self,wxColour* colour)
 {
-	*((wxColour*)colour) = ((wxCalendarCtrl*)_obj)->GetHolidayColourFg();
+	*colour = self->GetHolidayColourFg();
 }
 	
-EWXWEXPORT(void, wxCalendarCtrl_GetHolidayColourBg)(void* _obj, void* colour)
+EWXWEXPORT(void,wxCalendarCtrl_GetHolidayColourBg)(wxCalendarCtrl* self,wxColour* colour)
 {
-	*((wxColour*)colour) = ((wxCalendarCtrl*)_obj)->GetHolidayColourBg();
+	*colour = self->GetHolidayColourBg();
 }
 	
-EWXWEXPORT(void*, wxCalendarCtrl_GetAttr)(void* _obj, int day)
+EWXWEXPORT(wxCalendarDateAttr*,wxCalendarCtrl_GetAttr)(wxCalendarCtrl* self,size_t day)
 {
-	return (void*)((wxCalendarCtrl*)_obj)->GetAttr((size_t)day);
+	return self->GetAttr(day);
 }
 	
-EWXWEXPORT(void, wxCalendarCtrl_SetAttr)(void* _obj, int day, void* attr)
+EWXWEXPORT(void,wxCalendarCtrl_SetAttr)(wxCalendarCtrl* self,size_t day,wxCalendarDateAttr* attr)
 {
-	((wxCalendarCtrl*)_obj)->SetAttr((size_t)day, (wxCalendarDateAttr*)attr);
+	self->SetAttr(day, attr);
 }
 	
-EWXWEXPORT(void, wxCalendarCtrl_SetHoliday)(void* _obj, int day)
+EWXWEXPORT(void,wxCalendarCtrl_SetHoliday)(wxCalendarCtrl* self,size_t day)
 {
-	((wxCalendarCtrl*)_obj)->SetHoliday((size_t)day);
+	self->SetHoliday(day);
 }
 	
-EWXWEXPORT(void, wxCalendarCtrl_ResetAttr)(void* _obj, int day)
+EWXWEXPORT(void,wxCalendarCtrl_ResetAttr)(wxCalendarCtrl* self,size_t day)
 {
-	((wxCalendarCtrl*)_obj)->ResetAttr((size_t)day);
+	self->ResetAttr(day);
 }
 	
-EWXWEXPORT(int, wxCalendarCtrl_HitTest)(void* _obj, int x, int y, void* date, void* wd)
+EWXWEXPORT(int,wxCalendarCtrl_HitTest)(wxCalendarCtrl* self,int x,int y,wxDateTime* date,void* wd)
 {
-	return (int)((wxCalendarCtrl*)_obj)->HitTest(wxPoint(x, y), (wxDateTime*)date, (wxDateTime::WeekDay*)wd);
+	return (int)self->HitTest(wxPoint(x, y), date, (wxDateTime::WeekDay*)wd);
 }
 	
 
-EWXWEXPORT(void*, wxCalendarDateAttr_Create)(void* _ctxt, void* _cbck, void* _cbrd, void* _fnt, int _brd)
+EWXWEXPORT(wxCalendarDateAttr*,wxCalendarDateAttr_Create)(wxColour* _ctxt,wxColour* _cbck,wxColour* _cbrd,wxFont* _fnt,int _brd)
 {
-	return (void*) new wxCalendarDateAttr(*((wxColour*)_ctxt), *((wxColour*)_cbck), *((wxColour*)_cbrd), *((wxFont*)_fnt), (wxCalendarDateBorder)_brd);
+	return new wxCalendarDateAttr(*_ctxt,*_cbck,*_cbrd,*_fnt, (wxCalendarDateBorder)_brd);
 }
 
-EWXWEXPORT(void*, wxCalendarDateAttr_CreateDefault)()
+EWXWEXPORT(wxCalendarDateAttr*,wxCalendarDateAttr_CreateDefault)()
 {
-	return (void*) new wxCalendarDateAttr();
+	return new wxCalendarDateAttr();
 }
 
-EWXWEXPORT(void, wxCalendarDateAttr_Delete)(void* _obj)
+EWXWEXPORT(void,wxCalendarDateAttr_Delete)(wxCalendarDateAttr* self)
 {
-	delete (wxCalendarDateAttr*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(void, wxCalendarDateAttr_SetTextColour)(void* _obj, void* col)
+EWXWEXPORT(void,wxCalendarDateAttr_SetTextColour)(wxCalendarDateAttr* self,wxColour* col)
 {
-	((wxCalendarDateAttr*)_obj)->SetTextColour(*((wxColour*)col));
+	self->SetTextColour(*col);
 }
 	
-EWXWEXPORT(void, wxCalendarDateAttr_SetBackgroundColour)(void* _obj, void* col)
+EWXWEXPORT(void,wxCalendarDateAttr_SetBackgroundColour)(wxCalendarDateAttr* self,wxColour* col)
 {
-	((wxCalendarDateAttr*)_obj)->SetBackgroundColour(*((wxColour*)col));
+	self->SetBackgroundColour(*col);
 }
 	
-EWXWEXPORT(void, wxCalendarDateAttr_SetBorderColour)(void* _obj, void* col)
+EWXWEXPORT(void,wxCalendarDateAttr_SetBorderColour)(wxCalendarDateAttr* self,wxColour* col)
 {
-	((wxCalendarDateAttr*)_obj)->SetBorderColour(*((wxColour*)col));
+	self->SetBorderColour(*col);
 }
 	
-EWXWEXPORT(void, wxCalendarDateAttr_SetFont)(void* _obj, void* font)
+EWXWEXPORT(void,wxCalendarDateAttr_SetFont)(wxCalendarDateAttr* self,wxFont* font)
 {
-	((wxCalendarDateAttr*)_obj)->SetFont(*((wxFont*)font));
+	self->SetFont(*font);
 }
 	
-EWXWEXPORT(void, wxCalendarDateAttr_SetBorder)(void* _obj, int border)
+EWXWEXPORT(void,wxCalendarDateAttr_SetBorder)(wxCalendarDateAttr* self,int border)
 {
-	((wxCalendarDateAttr*)_obj)->SetBorder((wxCalendarDateBorder)border);
+	self->SetBorder((wxCalendarDateBorder)border);
 }
 	
-EWXWEXPORT(void, wxCalendarDateAttr_SetHoliday)(void* _obj, int holiday)
+EWXWEXPORT(void,wxCalendarDateAttr_SetHoliday)(wxCalendarDateAttr* self,bool holiday)
 {
-	((wxCalendarDateAttr*)_obj)->SetHoliday(holiday != 0);
+	self->SetHoliday(holiday);
 }
 	
-EWXWEXPORT(int, wxCalendarDateAttr_HasTextColour)(void* _obj)
+EWXWEXPORT(bool,wxCalendarDateAttr_HasTextColour)(wxCalendarDateAttr* self)
 {
-	return (int)((wxCalendarDateAttr*)_obj)->HasTextColour();
+	return self->HasTextColour();
 }
 	
-EWXWEXPORT(int, wxCalendarDateAttr_HasBackgroundColour)(void* _obj)
+EWXWEXPORT(bool,wxCalendarDateAttr_HasBackgroundColour)(wxCalendarDateAttr* self)
 {
-	return (int)((wxCalendarDateAttr*)_obj)->HasBackgroundColour();
+	return self->HasBackgroundColour();
 }
 	
-EWXWEXPORT(int, wxCalendarDateAttr_HasBorderColour)(void* _obj)
+EWXWEXPORT(bool,wxCalendarDateAttr_HasBorderColour)(wxCalendarDateAttr* self)
 {
-	return (int)((wxCalendarDateAttr*)_obj)->HasBorderColour();
+	return self->HasBorderColour();
 }
 	
-EWXWEXPORT(int, wxCalendarDateAttr_HasFont)(void* _obj)
+EWXWEXPORT(bool,wxCalendarDateAttr_HasFont)(wxCalendarDateAttr* self)
 {
-	return (int)((wxCalendarDateAttr*)_obj)->HasFont();
+	return self->HasFont();
 }
 	
-EWXWEXPORT(int, wxCalendarDateAttr_HasBorder)(void* _obj)
+EWXWEXPORT(bool,wxCalendarDateAttr_HasBorder)(wxCalendarDateAttr* self)
 {
-	return (int)((wxCalendarDateAttr*)_obj)->HasBorder();
+	return self->HasBorder();
 }
 	
-EWXWEXPORT(int, wxCalendarDateAttr_IsHoliday)(void* _obj)
+EWXWEXPORT(bool,wxCalendarDateAttr_IsHoliday)(wxCalendarDateAttr* self)
 {
-	return (int)((wxCalendarDateAttr*)_obj)->IsHoliday();
+	return self->IsHoliday();
 }
 	
-EWXWEXPORT(void, wxCalendarDateAttr_GetTextColour)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxCalendarDateAttr_GetTextColour)(wxCalendarDateAttr* self,wxColour* _ref)
 {
-	*((wxColour*)_ref) = ((wxCalendarDateAttr*)_obj)->GetTextColour();
+	*_ref = self->GetTextColour();
 }
 	
-EWXWEXPORT(void, wxCalendarDateAttr_GetBackgroundColour)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxCalendarDateAttr_GetBackgroundColour)(wxCalendarDateAttr* self,wxColour* _ref)
 {
-	*((wxColour*)_ref) = ((wxCalendarDateAttr*)_obj)->GetBackgroundColour();
+	*_ref = self->GetBackgroundColour();
 }
 	
-EWXWEXPORT(void, wxCalendarDateAttr_GetBorderColour)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxCalendarDateAttr_GetBorderColour)(wxCalendarDateAttr* self,wxColour* _ref)
 {
-	*((wxColour*)_ref) = ((wxCalendarDateAttr*)_obj)->GetBorderColour();
+	*_ref = self->GetBorderColour();
 }
 	
-EWXWEXPORT(void, wxCalendarDateAttr_GetFont)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxCalendarDateAttr_GetFont)(wxCalendarDateAttr* self,wxFont* _ref)
 {
-	*((wxFont*)_ref) = ((wxCalendarDateAttr*)_obj)->GetFont();
+	*_ref = self->GetFont();
 }
 	
-EWXWEXPORT(int, wxCalendarDateAttr_GetBorder)(void* _obj)
+EWXWEXPORT(int,wxCalendarDateAttr_GetBorder)(wxCalendarDateAttr* self)
 {
-	return (int)((wxCalendarDateAttr*)_obj)->GetBorder();
+	return (int)self->GetBorder();
 }
 
 }
diff --git a/wxc/src/eljcaret.cpp b/wxc/src/eljcaret.cpp
--- a/wxc/src/eljcaret.cpp
+++ b/wxc/src/eljcaret.cpp
@@ -4,19 +4,19 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxCaret_Create)(void* _wnd, int _wth, int _hgt)
+EWXWEXPORT(wxCaret*,wxCaret_Create)(wxWindow* _wnd,int _wth,int _hgt)
 {
-	return new wxCaret((wxWindow*)_wnd, _wth, _hgt);
+	return new wxCaret(_wnd, _wth, _hgt);
 }
 
-EWXWEXPORT(int,wxCaret_IsOk)(void* _obj)
+EWXWEXPORT(bool,wxCaret_IsOk)(wxCaret* self)
 {
-	return (int)((wxCaret*)_obj)->IsOk();
+	return self->IsOk();
 }
 	
-EWXWEXPORT(int,wxCaret_IsVisible)(void* _obj)
+EWXWEXPORT(bool,wxCaret_IsVisible)(wxCaret* self)
 {
-	return (int)((wxCaret*)_obj)->IsVisible();
+	return self->IsVisible();
 }
 	
 EWXWEXPORT(void,wxCaret_GetPosition)(void* _obj, void* x, void* y)
@@ -29,29 +29,29 @@
 	((wxCaret*)_obj)->GetSize((int*)width, (int*)height);
 }
 	
-EWXWEXPORT(void*,wxCaret_GetWindow)(void* _obj)
+EWXWEXPORT(wxWindow*,wxCaret_GetWindow)(wxCaret* self)
 {
-	return (void*)((wxCaret*)_obj)->GetWindow();
+	return self->GetWindow();
 }
 	
-EWXWEXPORT(void,wxCaret_SetSize)(void* _obj, int width, int height)
+EWXWEXPORT(void,wxCaret_SetSize)(wxCaret* self,int width,int height)
 {
-	((wxCaret*)_obj)->SetSize(width, height);
+	self->SetSize(width, height);
 }
 	
-EWXWEXPORT(void,wxCaret_Move)(void* _obj, int x, int y)
+EWXWEXPORT(void,wxCaret_Move)(wxCaret* self,int x,int y)
 {
-	((wxCaret*)_obj)->Move(x, y);
+	self->Move(x, y);
 }
 	
-EWXWEXPORT(void,wxCaret_Show)(void* _obj)
+EWXWEXPORT(void,wxCaret_Show)(wxCaret* self)
 {
-	((wxCaret*)_obj)->Show();
+	self->Show();
 }
 	
-EWXWEXPORT(void,wxCaret_Hide)(void* _obj)
+EWXWEXPORT(void,wxCaret_Hide)(wxCaret* self)
 {
-	((wxCaret*)_obj)->Hide();
+	self->Hide();
 }
 	
 EWXWEXPORT(int,wxCaret_GetBlinkTime)()
diff --git a/wxc/src/eljcheckbox.cpp b/wxc/src/eljcheckbox.cpp
--- a/wxc/src/eljcheckbox.cpp
+++ b/wxc/src/eljcheckbox.cpp
@@ -3,19 +3,24 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxCheckBox_Create) (void* _prt, int _id, wxChar* _txt, int _lft, int _top, int _wdt, int _hgt, int _stl)
+EWXWEXPORT(void*,wxCheckBox_Create)(wxWindow* _prt,int _id,wxString* _txt, int _lft, int _top, int _wdt, int _hgt, int _stl)
 {
-	return (void*) new wxCheckBox ((wxWindow*)_prt, _id, _txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, wxDefaultValidator);
+	return (void*) new wxCheckBox (_prt, _id, *_txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, wxDefaultValidator);
 }
 
-EWXWEXPORT(void, wxCheckBox_SetValue)(void* _obj, int value)
+EWXWEXPORT(void,wxCheckBox_Delete)(wxCheckBox* self)
 {
-	((wxCheckBox*)_obj)->SetValue(value != 0);
+	delete self;
 }
+
+EWXWEXPORT(void,wxCheckBox_SetValue)(wxCheckBox* self,bool value)
+{
+	self->SetValue(value);
+}
 	
-EWXWEXPORT(int, wxCheckBox_GetValue)(void* _obj)
+EWXWEXPORT(bool,wxCheckBox_GetValue)(wxCheckBox* self)
 {
-	return (int)((wxCheckBox*)_obj)->GetValue();
+	return self->GetValue();
 }
 
 } 
diff --git a/wxc/src/eljchecklistbox.cpp b/wxc/src/eljchecklistbox.cpp
--- a/wxc/src/eljchecklistbox.cpp
+++ b/wxc/src/eljchecklistbox.cpp
@@ -3,24 +3,29 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxCheckListBox_Create) (void* _prt, int _id, int _lft, int _top, int _wdt, int _hgt, int _n, void* _str, int _stl)
+EWXWEXPORT(wxCheckListBox*,wxCheckListBox_Create)(wxWindow* _prt,int _id,int _lft,int _top,int _wdt,int _hgt,int _n,void* _str,int _stl)
 {
 	wxCheckListBox* result = new wxCheckListBox ((wxWindow*)_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), 0, NULL, _stl, wxDefaultValidator);
 
 	for (int i = 0; i < _n; i++)
 		result->Append(((wxChar**)_str)[i]);
 
-	return (void*) result;
+	return result;
 }
 
-EWXWEXPORT(void, wxCheckListBox_Check)(void* _obj, int item, int check)
+EWXWEXPORT(void,wxCheckListBox_Delete)(wxCheckListBox* self)
 {
-	((wxCheckListBox*)_obj)->Check(item, check != 0);
+	delete self;
 }
+
+EWXWEXPORT(void,wxCheckListBox_Check)(wxCheckListBox* self,int item,bool check)
+{
+	self->Check(item, check);
+}
 	
-EWXWEXPORT(int, wxCheckListBox_IsChecked)(void* _obj, int item)
+EWXWEXPORT(bool,wxCheckListBox_IsChecked)(wxCheckListBox* self,int item)
 {
-	return (int)((wxCheckListBox*)_obj)->IsChecked(item);
+	return self->IsChecked(item);
 }
 
 }
diff --git a/wxc/src/eljchoice.cpp b/wxc/src/eljchoice.cpp
--- a/wxc/src/eljchoice.cpp
+++ b/wxc/src/eljchoice.cpp
@@ -3,64 +3,65 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxChoice_Create) (void* _prt, int _id, int _lft, int _top, int _wdt, int _hgt, int _n, void* _str, int _stl)
+EWXWEXPORT(wxChoice*,wxChoice_Create)(wxWindow* _prt,int _id,int _lft,int _top,int _wdt,int _hgt,int _n,void* _str,int _stl)
 {
 	wxString* list = new wxString[_n];
 
 	for (int i = 0; i < _n; i++)
 		list[i] = ((wxChar**)_str)[i];
 
-	wxChoice* result = new wxChoice ((wxWindow*)_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _n, list, _stl, wxDefaultValidator);
+	wxChoice* result = new wxChoice (_prt, _id, wxPoint(_lft, _top),wxSize(_wdt, _hgt), _n, list, _stl, wxDefaultValidator);
 
 	delete [] list;
 
 	return result;
 }
 
-EWXWEXPORT(void, wxChoice_Append)(void* _obj, wxChar* item)
+EWXWEXPORT(void,wxChoice_Append)(wxChoice* self,wxString* item)
 {
-	((wxChoice*)_obj)->Append(item);
+	self->Append(*item);
 }
 	
-EWXWEXPORT(void, wxChoice_Delete)(void* _obj, int n)
+EWXWEXPORT(void,wxChoice_Delete)(wxChoice* self,int n)
 {
-	((wxChoice*)_obj)->Delete(n);
+	self->Delete(n);
 }
 	
-EWXWEXPORT(void, wxChoice_Clear)(void* _obj)
+EWXWEXPORT(void,wxChoice_Clear)(wxChoice* self)
 {
-	((wxChoice*)_obj)->Clear();
+	self->Clear();
 }
 	
-EWXWEXPORT(int, wxChoice_GetCount)(void* _obj)
+EWXWEXPORT(int,wxChoice_GetCount)(wxChoice* self)
 {
-	return ((wxChoice*)_obj)->GetCount();
+	return self->GetCount();
 }
 	
-EWXWEXPORT(int, wxChoice_GetSelection)(void* _obj)
+EWXWEXPORT(int,wxChoice_GetSelection)(wxChoice* self)
 {
-	return ((wxChoice*)_obj)->GetSelection();
+	return self->GetSelection();
 }
 	
-EWXWEXPORT(void, wxChoice_SetSelection)(void* _obj, int n)
+EWXWEXPORT(void,wxChoice_SetSelection)(wxChoice* self,int n)
 {
-	((wxChoice*)_obj)->SetSelection(n);
+	self->SetSelection(n);
 }
 	
-EWXWEXPORT(int, wxChoice_FindString)(void* _obj, wxChar* s)
+EWXWEXPORT(int,wxChoice_FindString)(wxChoice* self,wxString* s)
 {
-	return ((wxChoice*)_obj)->FindString(s);
+	return self->FindString(*s);
 }
 	
-EWXWEXPORT(int, wxChoice_GetString)(void* _obj, int n, void* _buf)
+EWXWEXPORT(wxString*,wxChoice_GetString)(wxChoice* self,int n)
 {
-	wxString result = ((wxChoice*)_obj)->GetString(n);
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = self->GetString(n);
+	return result;
 }
 	
-EWXWEXPORT(void, wxChoice_SetString)(void* _obj, int n, wxChar* s)
+EWXWEXPORT(void,wxChoice_SetString)(wxChoice* self,int n,wxString* s)
 {
-	((wxChoice*)_obj)->SetString(n, s);
+	self->SetString(n,*s);
 }
 	
 } 
diff --git a/wxc/src/eljclipboard.cpp b/wxc/src/eljclipboard.cpp
--- a/wxc/src/eljclipboard.cpp
+++ b/wxc/src/eljclipboard.cpp
@@ -3,64 +3,64 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxClipboard_Create)()
+EWXWEXPORT(wxClipboard*,wxClipboard_Create)()
 {
 	return wxTheClipboard;
 }
 
-EWXWEXPORT(void, wxClipboard_Delete)(void* _obj)
+EWXWEXPORT(void,wxClipboard_Delete)(wxClipboard* self)
 {
-	// delete (wxClipboard*)_obj;
+	// delete _obj;
 }
 
-EWXWEXPORT(int, wxClipboard_Open)(void* _obj)
+EWXWEXPORT(bool,wxClipboard_Open)(wxClipboard* self)
 {
-	return (int)((wxClipboard*)_obj)->Open();
+	return self->Open();
 }
 
-EWXWEXPORT(void, wxClipboard_Close)(void* _obj)
+EWXWEXPORT(void,wxClipboard_Close)(wxClipboard* self)
 {
-	((wxClipboard*)_obj)->Close();
+	self->Close();
 }
 
-EWXWEXPORT(int, wxClipboard_IsOpened)(void* _obj)
+EWXWEXPORT(bool,wxClipboard_IsOpened)(wxClipboard* self)
 {
-	return (int)((wxClipboard*)_obj)->IsOpened();
+	return self->IsOpened();
 }
 
-EWXWEXPORT(int, wxClipboard_SetData)(void* _obj, wxDataObject* data)
+EWXWEXPORT(bool,wxClipboard_SetData)(wxClipboard* self,wxDataObject* data)
 {
-	return (int)((wxClipboard*)_obj)->SetData(data);
+	return self->SetData(data);
 }
 
-EWXWEXPORT(int, wxClipboard_AddData)(void* _obj, wxDataObject* data)
+EWXWEXPORT(bool,wxClipboard_AddData)(wxClipboard* self,wxDataObject* data)
 {
-	return (int)((wxClipboard*)_obj)->AddData(data);
+	return self->AddData(data);
 }
 
-EWXWEXPORT(int, wxClipboard_IsSupported)(void* _obj, wxDataFormat* format)
+EWXWEXPORT(bool,wxClipboard_IsSupported)(wxClipboard* self,wxDataFormat* format)
 {
-	return (int)((wxClipboard*)_obj)->IsSupported(*format);
+	return self->IsSupported(*format);
 }
 
-EWXWEXPORT(int, wxClipboard_GetData)(void* _obj, wxDataObject* data)
+EWXWEXPORT(bool,wxClipboard_GetData)(wxClipboard* self,wxDataObject* data)
 {
-	return (int)((wxClipboard*)_obj)->GetData(*data);
+	return self->GetData(*data);
 }
 
-EWXWEXPORT(void, wxClipboard_Clear)(void* _obj)
+EWXWEXPORT(void,wxClipboard_Clear)(wxClipboard* self)
 {
-	((wxClipboard*)_obj)->Clear();
+	self->Clear();
 }
 
-EWXWEXPORT(int, wxClipboard_Flush)(void* _obj)
+EWXWEXPORT(bool,wxClipboard_Flush)(wxClipboard* self)
 {
-	return (int)((wxClipboard*)_obj)->Flush();
+	return self->Flush();
 }
 
-EWXWEXPORT(void, wxClipboard_UsePrimarySelection)(void* _obj, int primary)
+EWXWEXPORT(void,wxClipboard_UsePrimarySelection)(wxClipboard* self,bool primary)
 {
-	((wxClipboard*)_obj)->UsePrimarySelection (primary != 0);
+	self->UsePrimarySelection (primary);
 }
 
 }
diff --git a/wxc/src/eljcoldata.cpp b/wxc/src/eljcoldata.cpp
--- a/wxc/src/eljcoldata.cpp
+++ b/wxc/src/eljcoldata.cpp
@@ -3,44 +3,44 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxColourData_Create) ()
+EWXWEXPORT(wxColourData*,wxColourData_Create)()
 {
-	return (void*) new wxColourData();
+	return new wxColourData();
 }
 
-EWXWEXPORT(void, wxColourData_Delete) (void* _obj)
+EWXWEXPORT(void,wxColourData_Delete)(wxColourData* self)
 {
-	delete (wxColourData*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(void, wxColourData_SetChooseFull)(void* _obj, int flag)
+EWXWEXPORT(void,wxColourData_SetChooseFull)(wxColourData* self,bool flag)
 {
-	((wxColourData*)_obj)->SetChooseFull(flag != 0);
+	self->SetChooseFull(flag);
 }
 	
-EWXWEXPORT(int, wxColourData_GetChooseFull)(void* _obj)
+EWXWEXPORT(bool,wxColourData_GetChooseFull)(wxColourData* self)
 {
-	return (int)((wxColourData*)_obj)->GetChooseFull();
+	return self->GetChooseFull();
 }
 	
-EWXWEXPORT(void, wxColourData_SetColour)(void* _obj, void* colour)
+EWXWEXPORT(void,wxColourData_SetColour)(wxColourData* self,wxColour* colour)
 {
-	((wxColourData*)_obj)->SetColour(*((wxColour*)colour));
+	self->SetColour(*colour);
 }
 	
-EWXWEXPORT(void, wxColourData_GetColour)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxColourData_GetColour)(wxColourData* self,wxColour* _ref)
 {
-	*((wxColour*)_ref) = ((wxColourData*)_obj)->GetColour();
+	*_ref = self->GetColour();
 }
 	
-EWXWEXPORT(void, wxColourData_SetCustomColour)(void* _obj, int i, void* colour)
+EWXWEXPORT(void,wxColourData_SetCustomColour)(wxColourData* self,int i,wxColour* colour)
 {
-	((wxColourData*)_obj)->SetCustomColour(i, *((wxColour*)colour));
+	self->SetCustomColour(i,*colour);
 }
 	
-EWXWEXPORT(void, wxColourData_GetCustomColour)(void* _obj, int i, void* _ref)
+EWXWEXPORT(void,wxColourData_GetCustomColour)(wxColourData* self,int i,wxColour* _ref)
 {
-	*((wxColour*)_ref) = ((wxColourData*)_obj)->GetCustomColour(i);
+	*_ref = self->GetCustomColour(i);
 }
 	
 } 
diff --git a/wxc/src/eljcolour.cpp b/wxc/src/eljcolour.cpp
--- a/wxc/src/eljcolour.cpp
+++ b/wxc/src/eljcolour.cpp
@@ -3,22 +3,22 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxColour_CreateEmpty) ()
+EWXWEXPORT(wxColour*,wxColour_CreateEmpty)()
 {
-	return (void*) new wxColour();
+	return  new wxColour();
 }
 
-EWXWEXPORT(void*, wxColour_CreateRGB) (char _red, char _green, char _blue)
+EWXWEXPORT(wxColour*,wxColour_CreateRGB)(wxUint8 _red,wxUint8 _green,wxUint8 _blue,wxUint8 _alpha)
 {
-	return (void*) new wxColour(_red, _green, _blue);
+	return new wxColour(_red, _green, _blue,_alpha);
 }
 
-EWXWEXPORT(void*, wxColour_CreateByName) (void* _name)
+EWXWEXPORT(wxColour*,wxColour_CreateByName)(wxString* _name)
 {
-	return (void*) new wxColour((wxChar*)_name);
+	return new wxColour(*_name);
 }
 
-EWXWEXPORT(void*, wxColour_CreateFromStock) (int _id)
+EWXWEXPORT(void*,wxColour_CreateFromStock)(int _id)
 {
 	switch (_id)
 	{
@@ -41,41 +41,46 @@
 	return NULL;
 }
 
-EWXWEXPORT(void, wxColour_Delete)(void* _obj)
+EWXWEXPORT(void,wxColour_Delete)(wxColour* self)
 {
-	delete (wxColour*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(void, wxColour_Set)(void* _obj, char _red, char _green, char _blue)
+EWXWEXPORT(void,wxColour_Set)(wxColour* self,wxUint8 _red,wxUint8 _green,wxUint8 _blue,wxUint8 _alpha)
 {
-	((wxColour*)_obj)->Set(_red, _green, _blue);
+	self->Set(_red, _green, _blue);
 }
 	
-EWXWEXPORT(void, wxColour_Assign)(void* _obj, void* other)
+EWXWEXPORT(void,wxColour_Assign)(wxColour* self,wxColour* other)
 {
-	*((wxColour*)_obj) = *((wxColour*)other);
+	*self = *other;
 }
 	
-EWXWEXPORT(int, wxColour_Ok)(void* _obj)
+EWXWEXPORT(bool,wxColour_IsOk)(wxColour* self)
 {
-	return (int)((wxColour*)_obj)->Ok();
+	return self->IsOk();
 }
 	
-EWXWEXPORT(char, wxColour_Red)(void* _obj)
+EWXWEXPORT(wxUint8,wxColour_Red)(wxColour* self)
 {
-	return ((wxColour*)_obj)->Red();
+	return self->Red();
 }
 	
-EWXWEXPORT(char, wxColour_Green)(void* _obj)
+EWXWEXPORT(wxUint8,wxColour_Green)(wxColour* self)
 {
-	return ((wxColour*)_obj)->Green();
+	return self->Green();
 }
 	
-EWXWEXPORT(char, wxColour_Blue)(void* _obj)
+EWXWEXPORT(wxUint8,wxColour_Blue)(wxColour* self)
 {
-	return ((wxColour*)_obj)->Blue();
+	return self->Blue();
 }
 
+EWXWEXPORT(wxUint8,wxColour_Alpha)(wxColour* self)
+{
+	return self->Alpha();
+}
+
 // FIXME: the return type on this is platform dependent
 // and thus evil.  If you really want a GetPixel method,
 // please hack this code and throw in the relevant 
@@ -84,27 +89,27 @@
 //   GTK     - int
 //   X11     - long
 //   Mac     - (WXCOLORREF&)
-// EWXWEXPORT(WXCOLORREF, wxColour_GetPixel)(void* _obj)
+// EWXWEXPORT(WXCOLORREF,wxColour_GetPixel)(wxColour* self)
 // {
-// 	return ((wxColour*)_obj)->GetPixel();
+// 	return self->GetPixel();
 // }
 
-EWXWEXPORT(void, wxColour_Copy)(void* _obj, void* _other)
+EWXWEXPORT(void,wxColour_Copy)(wxColour* self,wxColour* _other)
 {
-	(*((wxColour*)_obj)) = (*((wxColour*)_other));
+	*self = *_other;
 }
 
-EWXWEXPORT(void, wxColour_SetByName)(void* _obj, void* _name)
+EWXWEXPORT(void,wxColour_SetByName)(wxColour* self,wxString* _name)
 {
-	(*((wxColour*)_obj)) = (wxChar*)_name;
+	*self = *_name;
 }
 
-EWXWEXPORT(int, wxColour_ValidName)(wxChar* _name)
+EWXWEXPORT(bool,wxColour_ValidName)(wxString* _name)
 {
 #if (wxVERSION_NUMBER < 2600)
-  return (wxTheColourDatabase->FindColour (wxString(_name))) != NULL;
+  return (wxTheColourDatabase->FindColour (*_name)) != NULL;
 #else
-  return wxTheColourDatabase->Find(wxString(_name)).Ok();
+  return wxTheColourDatabase->Find(*_name).IsOk();
 #endif
 }
 
diff --git a/wxc/src/eljcolourdlg.cpp b/wxc/src/eljcolourdlg.cpp
--- a/wxc/src/eljcolourdlg.cpp
+++ b/wxc/src/eljcolourdlg.cpp
@@ -3,14 +3,14 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxColourDialog_Create) (void* _prt, void* col)
+EWXWEXPORT(wxColourDialog*,wxColourDialog_Create)(wxWindow* _prt,wxColourData* col)
 {
-	return (void*) new wxColourDialog ((wxWindow*)_prt, (wxColourData*) col);
+	return new wxColourDialog (_prt, col);
 }
 
-EWXWEXPORT(void, wxColourDialog_GetColourData)(void* _obj, void* col)
+EWXWEXPORT(void,wxColourDialog_GetColourData)(wxColourDialog* self,wxColourData* col)
 {
-	*((wxColourData*)col) = ((wxColourDialog*)_obj)->GetColourData();
+	*col = self->GetColourData();
 }
 
 }
diff --git a/wxc/src/eljcombobox.cpp b/wxc/src/eljcombobox.cpp
--- a/wxc/src/eljcombobox.cpp
+++ b/wxc/src/eljcombobox.cpp
@@ -3,14 +3,14 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxComboBox_Create) (void* _prt, int _id, wxChar* _txt, int _lft, int _top, int _wdt, int _hgt, int _n, void* _str, int _stl)
+EWXWEXPORT(wxComboBox*,wxComboBox_Create)(wxWindow* _prt,int _id,wxString* _txt,int _lft,int _top,int _wdt,int _hgt,int _n,void* _str,int _stl)
 {
 	wxString* list = new wxString[_n];
 
 	for (int i = 0; i < _n; i++)
 		list[i] = ((wxChar**)_str)[i];
 
-	wxComboBox* result = new wxComboBox ((wxWindow*)_prt, _id, _txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _n, list, _stl, wxDefaultValidator);
+	wxComboBox* result = new wxComboBox (_prt, _id, *_txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _n, list, _stl, wxDefaultValidator);
 
 	delete [] list;
 #if wxVERSION_NUMBER < 2400
@@ -19,163 +19,161 @@
 	if ((result->GetCount()) && (result->GetSelection() == -1)) result->SetSelection(0);
 #endif
 	
-	return (void*) result;
+	return result;
 }
 
-EWXWEXPORT(void, wxComboBox_Copy)(void* _obj)
+EWXWEXPORT(void,wxComboBox_Copy)(wxComboBox* self)
 {
-	((wxComboBox*)_obj)->Copy();
+	self->Copy();
 }
 	
-EWXWEXPORT(void, wxComboBox_Cut)(void* _obj)
+EWXWEXPORT(void,wxComboBox_Cut)(wxComboBox* self)
 {
-	((wxComboBox*)_obj)->Cut();
+	self->Cut();
 }
 	
-EWXWEXPORT(void, wxComboBox_Paste)(void* _obj)
+EWXWEXPORT(void,wxComboBox_Paste)(wxComboBox* self)
 {
-	((wxComboBox*)_obj)->Paste();
+	self->Paste();
 }
 	
-EWXWEXPORT(void, wxComboBox_SetInsertionPoint)(void* _obj, int pos)
+EWXWEXPORT(void,wxComboBox_SetInsertionPoint)(wxComboBox* self,int pos)
 {
-	((wxComboBox*)_obj)->SetInsertionPoint(pos);
+	self->SetInsertionPoint(pos);
 }
 	
-EWXWEXPORT(void, wxComboBox_SetInsertionPointEnd)(void* _obj)
+EWXWEXPORT(void,wxComboBox_SetInsertionPointEnd)(wxComboBox* self)
 {
-	((wxComboBox*)_obj)->SetInsertionPointEnd();
+	self->SetInsertionPointEnd();
 }
 	
-EWXWEXPORT(int, wxComboBox_GetInsertionPoint)(void* _obj)
+EWXWEXPORT(int,wxComboBox_GetInsertionPoint)(wxComboBox* self)
 {
-	return ((wxComboBox*)_obj)->GetInsertionPoint();
+	return self->GetInsertionPoint();
 }
 	
-EWXWEXPORT(int, wxComboBox_GetLastPosition)(void* _obj)
+EWXWEXPORT(int,wxComboBox_GetLastPosition)(wxComboBox* self)
 {
-	return ((wxComboBox*)_obj)->GetLastPosition();
+	return self->GetLastPosition();
 }
 	
-EWXWEXPORT(void, wxComboBox_Replace)(void* _obj, int from, int to, wxChar* value)
+EWXWEXPORT(void,wxComboBox_Replace)(wxComboBox* self,int from,int to,wxString* value)
 {
-	((wxComboBox*)_obj)->Replace(from, to, value);
+	self->Replace(from, to,*value);
 }
 	
-EWXWEXPORT(void, wxComboBox_Remove)(void* _obj, int from, int to)
+EWXWEXPORT(void,wxComboBox_Remove)(wxComboBox* self,int from,int to)
 {
-	((wxComboBox*)_obj)->Remove(from, to);
+	self->Remove(from, to);
 #if wxVERSION_NUMBER < 2400
-	if ((((wxComboBox*)_obj)->Number()) && (((wxComboBox*)_obj)->GetSelection() == -1)) ((wxComboBox*)_obj)->SetSelection(0);
+	if ((self->Number()) && (self->GetSelection() == -1)) self->SetSelection(0);
 #else
-	if ((((wxComboBox*)_obj)->GetCount()) && (((wxComboBox*)_obj)->GetSelection() == -1)) ((wxComboBox*)_obj)->SetSelection(0);
+	if ((self->GetCount()) && (self->GetSelection() == -1)) self->SetSelection(0);
 #endif
 }
 	
-EWXWEXPORT(void, wxComboBox_SetTextSelection)(void* _obj, int from, int to)
+EWXWEXPORT(void,wxComboBox_SetTextSelection)(wxComboBox* self,int from,int to)
 {
-	((wxComboBox*)_obj)->SetSelection(from, to);
+	self->SetSelection(from, to);
 }
 	
-EWXWEXPORT(void, wxComboBox_SetEditable)(void* _obj, int editable)
+EWXWEXPORT(void,wxComboBox_SetEditable)(wxComboBox* self,bool editable)
 {
-	((wxComboBox*)_obj)->SetEditable(editable != 0);
+	self->SetEditable(editable);
 }
 	
-EWXWEXPORT(int, wxComboBox_GetStringSelection)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxComboBox_GetStringSelection)(wxComboBox* self)
 {
-        wxString result = ((wxComboBox*)_obj)->GetStringSelection();
-        return copyStrToBuf(_buf, result);
+	return new wxString(self->GetStringSelection());
 }
 	
-EWXWEXPORT(int, wxComboBox_GetValue)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxComboBox_GetValue)(wxComboBox* self)
 {
-        wxString result = ((wxComboBox*)_obj)->GetValue();
-        return copyStrToBuf(_buf, result);
+	return new wxString(self->GetValue());
 }
 	
-EWXWEXPORT(void, wxComboBox_Append)(void* _obj, wxChar* item)
+EWXWEXPORT(void,wxComboBox_Append)(wxComboBox* self,wxString* item)
 {
-	((wxComboBox*)_obj)->Append(item);
+	self->Append(*item);
 #if wxVERSION_NUMBER < 2400
-	if ((((wxComboBox*)_obj)->Number()) && (((wxComboBox*)_obj)->GetSelection() == -1)) ((wxComboBox*)_obj)->SetSelection(0);
+	if (self->Number() && (self->GetSelection() == -1)) self->SetSelection(0);
 #else
-	if ((((wxComboBox*)_obj)->GetCount()) && (((wxComboBox*)_obj)->GetSelection() == -1)) ((wxComboBox*)_obj)->SetSelection(0);
+	if (self->GetCount() && (self->GetSelection() == -1)) self->SetSelection(0);
 #endif
 }
 	
-EWXWEXPORT(void, wxComboBox_AppendData)(void* _obj, wxChar* item, void* d)
+EWXWEXPORT(void,wxComboBox_AppendData)(wxComboBox* self,wxString* item,void* d)
 {
 #if defined(__WXMAC__)
-    ((wxComboBox*)_obj)->Append(item);
+	self->Append(*item);
 #else
-    ((wxComboBox*)_obj)->Append(item, d);
+	self->Append(*item, d);
 #endif
 
 #if wxVERSION_NUMBER < 2400
-	if ((((wxComboBox*)_obj)->Number()) && (((wxComboBox*)_obj)->GetSelection() == -1)) ((wxComboBox*)_obj)->SetSelection(0);
+	if ((self->Number()) && (self->GetSelection() == -1)) self->SetSelection(0);
 #else
-	if ((((wxComboBox*)_obj)->GetCount()) && (((wxComboBox*)_obj)->GetSelection() == -1)) ((wxComboBox*)_obj)->SetSelection(0);
+	if ((self->GetCount()) && (self->GetSelection() == -1)) self->SetSelection(0);
 #endif
 }
 	
-EWXWEXPORT(void, wxComboBox_Delete)(void* _obj, int n)
+EWXWEXPORT(void,wxComboBox_Delete)(wxComboBox* self,int n)
 {
-	((wxComboBox*)_obj)->Delete(n);
+	self->Delete(n);
 #if wxVERSION_NUMBER < 2400
-	if ((((wxComboBox*)_obj)->Number()) && (((wxComboBox*)_obj)->GetSelection() == -1)) ((wxComboBox*)_obj)->SetSelection(0);
+	if ((self->Number()) && (self->GetSelection() == -1)) self->SetSelection(0);
 #else
-	if ((((wxComboBox*)_obj)->GetCount()) && (((wxComboBox*)_obj)->GetSelection() == -1)) ((wxComboBox*)_obj)->SetSelection(0);
+	if ((self->GetCount()) && (self->GetSelection() == -1)) self->SetSelection(0);
 #endif
 }
 	
-EWXWEXPORT(void, wxComboBox_Clear)(void* _obj)
+EWXWEXPORT(void,wxComboBox_Clear)(wxComboBox* self)
 {
-	((wxComboBox*)_obj)->Clear();
+	self->Clear();
 }
 	
-EWXWEXPORT(int, wxComboBox_GetCount)(void* _obj)
+EWXWEXPORT(int,wxComboBox_GetCount)(wxComboBox* self)
 {
 #if wxVERSION_NUMBER < 2400
-	return ((wxComboBox*)_obj)->Number();
+	return self->Number();
 #else
-	return ((wxComboBox*)_obj)->GetCount();
+	return self->GetCount();
 #endif
 }
 	
-EWXWEXPORT(int, wxComboBox_GetSelection)(void* _obj)
+EWXWEXPORT(int,wxComboBox_GetSelection)(wxComboBox* self)
 {
-	return ((wxComboBox*)_obj)->GetSelection();
+	return self->GetSelection();
 }
 	
-EWXWEXPORT(void, wxComboBox_SetSelection)(void* _obj, int n)
+EWXWEXPORT(void,wxComboBox_SetSelection)(wxComboBox* self,int n)
 {
-	((wxComboBox*)_obj)->SetSelection(n);
+	self->SetSelection(n);
 }
 	
-EWXWEXPORT(int, wxComboBox_FindString)(void* _obj, wxChar* s)
+EWXWEXPORT(int,wxComboBox_FindString)(wxComboBox* self,wxString* s)
 {
-	return ((wxComboBox*)_obj)->FindString(s);
+	return self->FindString(*s);
 }
 	
-EWXWEXPORT(int, wxComboBox_GetString)(void* _obj, int n, void* _buf)
+EWXWEXPORT(wxString*,wxComboBox_GetString)(wxComboBox* self,int n)
 {
-        wxString result = ((wxComboBox*)_obj)->GetString(n);
-        return copyStrToBuf(_buf, result);
+	return new wxString(self->GetString(n));
 }
 	
-EWXWEXPORT(void, wxComboBox_SetString)(void* _obj, int n, char* s)
+EWXWEXPORT(void,wxComboBox_SetString)(wxComboBox* self,int n,wxString* s)
 {
+	self->SetString(n,*s);
 }
 	
-EWXWEXPORT(void, wxComboBox_SetClientData)(void* _obj, int n, void* clientData)
+EWXWEXPORT(void,wxComboBox_SetClientData)(wxComboBox* self,int n,void* clientData)
 {
-	((wxComboBox*)_obj)->SetClientData( n, clientData );
+	self->SetClientData( n, clientData );
 }
 	
-EWXWEXPORT(void*, wxComboBox_GetClientData)(void* _obj, int n)
+EWXWEXPORT(void*,wxComboBox_GetClientData)(wxComboBox* self,int n)
 {
-	return ((wxComboBox*)_obj)->GetClientData(n);
+	return self->GetClientData(n);
 }
 
 }
diff --git a/wxc/src/eljcommand.cpp b/wxc/src/eljcommand.cpp
--- a/wxc/src/eljcommand.cpp
+++ b/wxc/src/eljcommand.cpp
@@ -1,6 +1,6 @@
 #include "wrapper.h"
 #include "wx/docview.h"
-
+#include "wx/cmdproc.h"
 extern "C"
 {
 
@@ -31,24 +31,24 @@
 extern "C"
 {
 
-EWXWEXPORT(void*,ELJCommand_Create)(int _und, void* _nme, void* _obj, void* _clb)
+EWXWEXPORT(void*,ELJCommand_Create)(bool _und,wxString* _nme,void* _obj,void* _clb)
 {
-	return (void*)new ELJCommand(_und != 0, (const char*)_nme, _obj, _clb);
+	return (void*)new ELJCommand(_und,*_nme, _obj, _clb);
 }
 
-EWXWEXPORT(void,ELJCommand_Delete)(void* _obj)
+EWXWEXPORT(void,ELJCommand_Delete)(ELJCommand* self)
 {
-	delete (ELJCommand*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(int,ELJCommand_GetName)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,ELJCommand_GetName)(void* _obj)
 {
-	return copyStrToBuf(_buf, ((ELJCommand*)_obj)->GetName());
+	return new wxString(((ELJCommand*)_obj)->GetName());
 }
 
-EWXWEXPORT(int,ELJCommand_CanUndo)(void* _obj)
+EWXWEXPORT(bool,ELJCommand_CanUndo)(ELJCommand* self)
 {
-	return (int)((ELJCommand*)_obj)->CanUndo();
+	return self->CanUndo();
 }
 	
 
@@ -57,59 +57,59 @@
 	return (void*)new wxCommandProcessor(maxCommands);
 }
 	
-EWXWEXPORT(void,wxCommandProcessor_Delete)(void* _obj)
+EWXWEXPORT(void,wxCommandProcessor_Delete)(wxCommandProcessor* self)
 {
-	delete (wxCommandProcessor*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(int,wxCommandProcessor_Submit)(void* _obj, void* command, int storeIt)
+EWXWEXPORT(bool,wxCommandProcessor_Submit)(wxCommandProcessor* self,wxCommand* command,bool storeIt)
 {
-	return (int)((wxCommandProcessor*)_obj)->Submit((wxCommand*)command, storeIt != 0);
+	return self->Submit(command, storeIt);
 }
 	
-EWXWEXPORT(int,wxCommandProcessor_Undo)(void* _obj)
+EWXWEXPORT(bool,wxCommandProcessor_Undo)(wxCommandProcessor* self)
 {
-	return (int)((wxCommandProcessor*)_obj)->Undo();
+	return self->Undo();
 }
 	
-EWXWEXPORT(int,wxCommandProcessor_Redo)(void* _obj)
+EWXWEXPORT(bool,wxCommandProcessor_Redo)(wxCommandProcessor* self)
 {
-	return (int)((wxCommandProcessor*)_obj)->Redo();
+	return self->Redo();
 }
 	
-EWXWEXPORT(int,wxCommandProcessor_CanUndo)(void* _obj)
+EWXWEXPORT(bool,wxCommandProcessor_CanUndo)(wxCommandProcessor* self)
 {
-	return (int)((wxCommandProcessor*)_obj)->CanUndo();
+	return self->CanUndo();
 }
 	
-EWXWEXPORT(int,wxCommandProcessor_CanRedo)(void* _obj)
+EWXWEXPORT(bool,wxCommandProcessor_CanRedo)(wxCommandProcessor* self)
 {
-	return (int)((wxCommandProcessor*)_obj)->CanRedo();
+	return self->CanRedo();
 }
 	
-EWXWEXPORT(void,wxCommandProcessor_SetEditMenu)(void* _obj, void* menu)
+EWXWEXPORT(void,wxCommandProcessor_SetEditMenu)(wxCommandProcessor* self,wxMenu* menu)
 {
-	((wxCommandProcessor*)_obj)->SetEditMenu((wxMenu*)menu);
+	self->SetEditMenu(menu);
 }
 	
-EWXWEXPORT(void*,wxCommandProcessor_GetEditMenu)(void* _obj)
+EWXWEXPORT(void*,wxCommandProcessor_GetEditMenu)(wxCommandProcessor* self)
 {
-	return (void*)((wxCommandProcessor*)_obj)->GetEditMenu();
+	return (void*)self->GetEditMenu();
 }
 	
-EWXWEXPORT(void,wxCommandProcessor_SetMenuStrings)(void* _obj)
+EWXWEXPORT(void,wxCommandProcessor_SetMenuStrings)(wxCommandProcessor* self)
 {
-	((wxCommandProcessor*)_obj)->SetMenuStrings();
+	self->SetMenuStrings();
 }
 	
-EWXWEXPORT(void,wxCommandProcessor_Initialize)(void* _obj)
+EWXWEXPORT(void,wxCommandProcessor_Initialize)(wxCommandProcessor* self)
 {
-	((wxCommandProcessor*)_obj)->Initialize();
+	self->Initialize();
 }
 	
-EWXWEXPORT(int,wxCommandProcessor_GetCommands)(void* _obj, void* _ref)
+EWXWEXPORT(int,wxCommandProcessor_GetCommands)(wxCommandProcessor* self,void* _ref)
 {
-	wxList lst = ((wxCommandProcessor*)_obj)->GetCommands();
+	wxList lst = self->GetCommands();
 	if (_ref)
 	{
 		for (unsigned int i = 0; i < lst.GetCount(); i++)
@@ -119,14 +119,14 @@
 	return lst.GetCount();
 }
 	
-EWXWEXPORT(int,wxCommandProcessor_GetMaxCommands)(void* _obj)
+EWXWEXPORT(int,wxCommandProcessor_GetMaxCommands)(wxCommandProcessor* self)
 {
-	return ((wxCommandProcessor*)_obj)->GetMaxCommands();
+	return self->GetMaxCommands();
 }
 	
-EWXWEXPORT(void,wxCommandProcessor_ClearCommands)(void* _obj)
+EWXWEXPORT(void,wxCommandProcessor_ClearCommands)(wxCommandProcessor* self)
 {
-	((wxCommandProcessor*)_obj)->ClearCommands();
+	self->ClearCommands();
 }
 	
 }
diff --git a/wxc/src/eljconfigbase.cpp b/wxc/src/eljconfigbase.cpp
--- a/wxc/src/eljconfigbase.cpp
+++ b/wxc/src/eljconfigbase.cpp
@@ -3,232 +3,242 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxConfigBase_Create)()
+EWXWEXPORT(wxConfigBase*,wxConfigBase_Create)()
 {
-	return (void*) wxConfigBase::Create();
+	return wxConfigBase::Create();
 }
 	
-EWXWEXPORT(void, wxConfigBase_Delete)(void* _obj)
+EWXWEXPORT(void,wxConfigBase_Delete)(wxConfigBase* self)
 {
-	delete (wxConfigBase*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(void, wxConfigBase_SetPath)(void* _obj, void* strPath)
+EWXWEXPORT(void,wxConfigBase_SetPath)(wxConfigBase* self,wxString* strPath)
 {
-	((wxConfigBase*)_obj)->SetPath((wxChar*) strPath);
+	self->SetPath(*strPath);
 }
 	
-EWXWEXPORT(int, wxConfigBase_GetPath)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxConfigBase_GetPath)(wxConfigBase* self)
 {
-	wxString result = ((wxConfigBase*)_obj)->GetPath();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = self->GetPath();
+	return result;
 }
 	
-EWXWEXPORT(wxString*, wxConfigBase_GetFirstGroup)(wxConfigBase* _obj, long* lIndex)
+EWXWEXPORT(wxString*,wxConfigBase_GetFirstGroup)(wxConfigBase* self,long* lIndex)
 {
 	wxString* tmp;
         tmp = new wxString(wxT(""));
-        if (_obj->GetFirstGroup(*tmp, *lIndex)) {
+        if (self->GetFirstGroup(*tmp,*lIndex)) {
           *lIndex = -1;
         }         
 	return tmp;
 }
 	
-EWXWEXPORT(wxString*, wxConfigBase_GetNextGroup) (wxConfigBase* _obj, long* lIndex )
+EWXWEXPORT(wxString*,wxConfigBase_GetNextGroup)(wxConfigBase* self,long* lIndex)
 {
 	wxString* tmp;
         tmp = new wxString(wxT(""));
-        if (_obj->GetNextGroup(*tmp, *lIndex)) {
+        if (self->GetNextGroup(*tmp,*lIndex)) {
           *lIndex = -1;
         }         
 	return tmp;
 }
 
 	
-EWXWEXPORT(wxString*, wxConfigBase_GetFirstEntry)(wxConfigBase* _obj, long* lIndex)
+EWXWEXPORT(wxString*,wxConfigBase_GetFirstEntry)(wxConfigBase* self,long* lIndex)
 {
 	wxString* tmp;
         tmp = new wxString(wxT(""));
-        if (_obj->GetFirstEntry(*tmp, *lIndex)) {
+        if (self->GetFirstEntry(*tmp,*lIndex)) {
           *lIndex = -1;
         }         
 	return tmp;
 }
 	
-EWXWEXPORT(wxString*, wxConfigBase_GetNextEntry) (wxConfigBase* _obj, long* lIndex)
+EWXWEXPORT(wxString*,wxConfigBase_GetNextEntry)(wxConfigBase* self,long* lIndex)
 {
 	wxString* tmp;
         tmp = new wxString(wxT(""));
-        if (_obj->GetNextEntry(*tmp, *lIndex)) {
+        if (self->GetNextEntry(*tmp,*lIndex)) {
           *lIndex = -1;
         }         
 	return tmp;
 }
 	
-EWXWEXPORT(int, wxConfigBase_GetNumberOfEntries)(void* _obj, int bRecursive)
+EWXWEXPORT(size_t,wxConfigBase_GetNumberOfEntries)(wxConfigBase* self,bool bRecursive)
 {
-	return (int)((wxConfigBase*)_obj)->GetNumberOfEntries(bRecursive != 0);
+	return self->GetNumberOfEntries(bRecursive);
 }
 	
-EWXWEXPORT(int, wxConfigBase_GetNumberOfGroups)(void* _obj, int bRecursive)
+EWXWEXPORT(size_t,wxConfigBase_GetNumberOfGroups)(wxConfigBase* self,bool bRecursive)
 {
-	return (int)((wxConfigBase*)_obj)->GetNumberOfGroups(bRecursive != 0);
+	return self->GetNumberOfGroups(bRecursive);
 }
 	
-EWXWEXPORT(int, wxConfigBase_HasGroup)(void* _obj, void* strName)
+EWXWEXPORT(bool,wxConfigBase_HasGroup)(wxConfigBase* self,wxString* strName)
 {
-	return (int)((wxConfigBase*)_obj)->HasGroup((wxChar*)strName);
+	return self->HasGroup(*strName);
 }
 	
-EWXWEXPORT(int, wxConfigBase_HasEntry)(void* _obj, void* strName)
+EWXWEXPORT(bool,wxConfigBase_HasEntry)(wxConfigBase* self,wxString* strName)
 {
-	return (int)((wxConfigBase*)_obj)->HasEntry((wxChar*)strName);
+	return self->HasEntry(*strName);
 }
 	
-EWXWEXPORT(int, wxConfigBase_Exists)(void* _obj, void* strName)
+EWXWEXPORT(bool,wxConfigBase_Exists)(wxConfigBase* self,wxString* strName)
 {
-	return (int)((wxConfigBase*)_obj)->Exists((wxChar*)strName);
+	return self->Exists(*strName);
 }
 	
-EWXWEXPORT(int, wxConfigBase_GetEntryType)(void* _obj, void* name)
+EWXWEXPORT(int,wxConfigBase_GetEntryType)(wxConfigBase* self,wxString* name)
 {
-	return (int)((wxConfigBase*)_obj)->GetEntryType((wxChar*)name);
+	return (int)self->GetEntryType(*name);
 }
 	
-EWXWEXPORT(wxString*, wxConfigBase_ReadString)(wxConfigBase* _obj, void* key, void* defVal)
+EWXWEXPORT(wxString*,wxConfigBase_ReadString)(wxConfigBase* self,wxString* key,wxString* defVal)
 {
 	wxString tmp;
-        tmp = ((wxConfigBase*)_obj)->Read((wxChar*)key, (wxChar*)defVal);
+        tmp = self->Read(*key,*defVal);
 	return new wxString(tmp);
 }
 	
-EWXWEXPORT(int, wxConfigBase_ReadInteger)(void* _obj, void* key, int defVal)
+EWXWEXPORT(int,wxConfigBase_ReadInteger)(wxConfigBase* self,wxString* key,int defVal)
 {
-	return ((wxConfigBase*)_obj)->Read((wxChar*)key, defVal);
+	return self->Read(*key, defVal);
 }
 	
-EWXWEXPORT(double, wxConfigBase_ReadDouble)(void* _obj, void* key, double defVal)
+EWXWEXPORT(double,wxConfigBase_ReadDouble)(wxConfigBase* self,wxString* key,double defVal)
 {
-    double val;
-	if (((wxConfigBase*)_obj)->Read((wxChar*) key, &val, defVal))
+	double val;
+	if (self->Read(*key, &val, defVal))
  		return val;
  	return 0.0;
 }
 	
-EWXWEXPORT(int, wxConfigBase_ReadBool)(void* _obj, void* key, int defVal)
+EWXWEXPORT(bool,wxConfigBase_ReadBool)(wxConfigBase* self,wxString* key,bool defVal)
 {
 	bool val;
-	if (((wxConfigBase*)_obj)->Read((wxChar*) key, &val, defVal != 0))
-		return (int)val;
-	return 0;
+	if (self->Read(*key, &val, defVal))
+		return val;
+	return false;
 }
 	
-EWXWEXPORT(int, wxConfigBase_WriteString)(void* _obj, void* key, void* value)
+EWXWEXPORT(bool,wxConfigBase_WriteString)(wxConfigBase* self,wxString* key,wxString* value)
 {
-	return (int)((wxConfigBase*)_obj)->Write((wxChar*)key, (wxChar*)value);
+	return self->Write(*key,*value);
 }
 	
-EWXWEXPORT(int, wxConfigBase_WriteInteger)(void* _obj, void* key, int value)
+// FIXME: just left for backward-compatibiliry. wxHaskell uses int as long now.
+EWXWEXPORT(bool,wxConfigBase_WriteInteger)(wxConfigBase* self,wxString* key,int value)
 {
-	return (int)((wxConfigBase*)_obj)->Write((wxChar*)key, (long)value);
+	return self->Write(*key, (long)value);
 }
 	
-EWXWEXPORT(int, wxConfigBase_WriteDouble)(void* _obj, void* key, double value)
+EWXWEXPORT(bool,wxConfigBase_WriteLong)(wxConfigBase* self,wxString* key,long value)
 {
-	return (int)((wxConfigBase*)_obj)->Write((wxChar*)key, value);
+	return self->Write(*key, value);
 }
 	
-EWXWEXPORT(int, wxConfigBase_WriteBool)(void* _obj, void* key, int value)
+EWXWEXPORT(bool,wxConfigBase_WriteDouble)(wxConfigBase* self,wxString* key,double value)
 {
-	return (int)((wxConfigBase*)_obj)->Write((wxChar*)key, value != 0);
+	return self->Write(*key, value);
 }
 	
-EWXWEXPORT(int, wxConfigBase_Flush)(void* _obj, int bCurrentOnly)
+EWXWEXPORT(bool,wxConfigBase_WriteBool)(wxConfigBase* self,wxString* key,bool value)
 {
-	return (int)((wxConfigBase*)_obj)->Flush(bCurrentOnly != 0);
+	return self->Write(*key, value);
 }
 	
-EWXWEXPORT(int, wxConfigBase_RenameEntry)(void* _obj, void* oldName, void* newName)
+EWXWEXPORT(bool,wxConfigBase_Flush)(wxConfigBase* self,bool bCurrentOnly)
 {
-	return (int)((wxConfigBase*)_obj)->RenameEntry((wxChar*)oldName, (wxChar*)newName);
+	return self->Flush(bCurrentOnly);
 }
 	
-EWXWEXPORT(int, wxConfigBase_RenameGroup)(void* _obj, void* oldName, void* newName)
+EWXWEXPORT(bool,wxConfigBase_RenameEntry)(wxConfigBase* self,wxString* oldName,wxString* newName)
 {
-	return (int)((wxConfigBase*)_obj)->RenameGroup((wxChar*)oldName, (wxChar*)newName);
+	return self->RenameEntry(*oldName,*newName);
 }
 	
-EWXWEXPORT(int, wxConfigBase_DeleteEntry)(void* _obj, void* key, int bDeleteGroupIfEmpty)
+EWXWEXPORT(bool,wxConfigBase_RenameGroup)(wxConfigBase* self,wxString* oldName,wxString* newName)
 {
-	return (int)((wxConfigBase*)_obj)->DeleteEntry((wxChar*)key, bDeleteGroupIfEmpty != 0);
+	return self->RenameGroup(*oldName,*newName);
 }
 	
-EWXWEXPORT(int, wxConfigBase_DeleteGroup)(void* _obj, void* key)
+EWXWEXPORT(bool,wxConfigBase_DeleteEntry)(wxConfigBase* self,wxString* key,bool bDeleteGroupIfEmpty)
 {
-	return (int)((wxConfigBase*)_obj)->DeleteGroup((wxChar*)key);
+	return self->DeleteEntry(*key, bDeleteGroupIfEmpty);
 }
 	
-EWXWEXPORT(int, wxConfigBase_DeleteAll)(void* _obj)
+EWXWEXPORT(bool,wxConfigBase_DeleteGroup)(wxConfigBase* self,wxString* key)
 {
-	return (int)((wxConfigBase*)_obj)->DeleteAll();
+	return self->DeleteGroup(*key);
 }
 	
-EWXWEXPORT(int, wxConfigBase_IsExpandingEnvVars)(void* _obj)
+EWXWEXPORT(bool,wxConfigBase_DeleteAll)(wxConfigBase* self)
 {
-	return (int)((wxConfigBase*)_obj)->IsExpandingEnvVars();
+	return self->DeleteAll();
 }
 	
-EWXWEXPORT(void, wxConfigBase_SetExpandEnvVars)(void* _obj, int bDoIt)
+EWXWEXPORT(bool,wxConfigBase_IsExpandingEnvVars)(wxConfigBase* self)
 {
-	((wxConfigBase*)_obj)->SetExpandEnvVars(bDoIt != 0);
+	return self->IsExpandingEnvVars();
 }
 	
-EWXWEXPORT(void, wxConfigBase_SetRecordDefaults)(void* _obj, int bDoIt)
+EWXWEXPORT(void,wxConfigBase_SetExpandEnvVars)(wxConfigBase* self,bool bDoIt)
 {
-	((wxConfigBase*)_obj)->SetRecordDefaults(bDoIt != 0);
+	self->SetExpandEnvVars(bDoIt);
 }
 	
-EWXWEXPORT(int, wxConfigBase_IsRecordingDefaults)(void* _obj)
+EWXWEXPORT(void,wxConfigBase_SetRecordDefaults)(wxConfigBase* self,bool bDoIt)
 {
-	return (int)((wxConfigBase*)_obj)->IsRecordingDefaults();
+	self->SetRecordDefaults(bDoIt);
 }
 	
-EWXWEXPORT(int, wxConfigBase_ExpandEnvVars)(void* _obj, void* str, void* _buf)
+EWXWEXPORT(bool,wxConfigBase_IsRecordingDefaults)(wxConfigBase* self)
 {
-	wxString result = ((wxConfigBase*)_obj)->ExpandEnvVars((wxChar*)str);
-	return copyStrToBuf(_buf, result);
+	return self->IsRecordingDefaults();
 }
 	
-EWXWEXPORT(int, wxConfigBase_GetAppName)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxConfigBase_ExpandEnvVars)(wxConfigBase* self,wxString* str)
 {
-	wxString result = ((wxConfigBase*)_obj)->GetAppName();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = self->ExpandEnvVars(*str);
+	return result;
 }
 	
-EWXWEXPORT(int, wxConfigBase_GetVendorName)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxConfigBase_GetAppName)(wxConfigBase* self)
 {
-	wxString result = ((wxConfigBase*)_obj)->GetVendorName();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = self->GetAppName();
+	return result;
 }
 	
-EWXWEXPORT(void, wxConfigBase_SetAppName)(void* _obj, void* appName)
+EWXWEXPORT(wxString*,wxConfigBase_GetVendorName)(wxConfigBase* self)
 {
-	((wxConfigBase*)_obj)->SetAppName((wxChar*)appName);
+	wxString *result = new wxString();
+	*result = self->GetVendorName();
+	return result;
 }
 	
-EWXWEXPORT(void, wxConfigBase_SetVendorName)(void* _obj, void* vendorName)
+EWXWEXPORT(void,wxConfigBase_SetAppName)(wxConfigBase* self,wxString* appName)
 {
-	((wxConfigBase*)_obj)->SetVendorName((wxChar*)vendorName);
+	self->SetAppName(*appName);
 }
 	
-EWXWEXPORT(void, wxConfigBase_SetStyle)(void* _obj, int style)
+EWXWEXPORT(void,wxConfigBase_SetVendorName)(wxConfigBase* self,wxString* vendorName)
 {
-	((wxConfigBase*)_obj)->SetStyle((long)style);
+	self->SetVendorName(*vendorName);
 }
 	
-EWXWEXPORT(int, wxConfigBase_GetStyle)(void* _obj)
+EWXWEXPORT(void,wxConfigBase_SetStyle)(wxConfigBase* self,int style)
 {
-	return (int)((wxConfigBase*)_obj)->GetStyle();
+	self->SetStyle((long)style);
+}
+	
+EWXWEXPORT(long,wxConfigBase_GetStyle)(wxConfigBase* self)
+{
+	return self->GetStyle();
 }
 	
 }
diff --git a/wxc/src/eljcontrol.cpp b/wxc/src/eljcontrol.cpp
--- a/wxc/src/eljcontrol.cpp
+++ b/wxc/src/eljcontrol.cpp
@@ -3,20 +3,21 @@
 extern "C"
 {
 
-EWXWEXPORT(void, wxControl_SetLabel)(void* _obj, wxChar* text)
+EWXWEXPORT(void,wxControl_SetLabel)(wxControl* self,wxString* text)
 {
-	((wxControl*)_obj)->SetLabel(text);
+	self->SetLabel(*text);
 }
 	
-EWXWEXPORT(int, wxControl_GetLabel)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxControl_GetLabel)(wxControl* self)
 {
-	wxString result = ((wxControl*)_obj)->GetLabel();
-	return copyStrToBuf(_buf, result); 
+	wxString *result = new wxString();
+	*result = self->GetLabel();
+	return result;
 }
 
-EWXWEXPORT(void, wxControl_Command)(void* _obj, void* event)
+EWXWEXPORT(void,wxControl_Command)(wxControl* self,wxCommandEvent* event)
 {
-	((wxControl*)_obj)->Command(*((wxCommandEvent*) event));
+	self->Command(*event);
 }
 
 }
diff --git a/wxc/src/eljctxhelp.cpp b/wxc/src/eljctxhelp.cpp
--- a/wxc/src/eljctxhelp.cpp
+++ b/wxc/src/eljctxhelp.cpp
@@ -5,94 +5,95 @@
 extern "C"
 {
 
-EWXWEXPORT(void*,wxContextHelp_Create)(void* win, int beginHelp)
+EWXWEXPORT(wxContextHelp*,wxContextHelp_Create)(wxWindow* win,bool beginHelp)
 {
-	return (void*)new wxContextHelp((wxWindow*)win, beginHelp != 0);
+	return new wxContextHelp(win, beginHelp);
 }
 	
-EWXWEXPORT(void,wxContextHelp_Delete)(void* _obj)
+EWXWEXPORT(void,wxContextHelp_Delete)(wxContextHelp* self)
 {
-	delete (wxContextHelp*)_obj;
+	delete self;
 }
 	
-EWXWEXPORT(int,wxContextHelp_BeginContextHelp)(void* _obj, void* win)
+EWXWEXPORT(bool,wxContextHelp_BeginContextHelp)(wxContextHelp* self,wxWindow* win)
 {
-	return (int)((wxContextHelp*)_obj)->BeginContextHelp((wxWindow*)win);
+	return self->BeginContextHelp(win);
 }
 	
-EWXWEXPORT(int,wxContextHelp_EndContextHelp)(void* _obj)
+EWXWEXPORT(bool,wxContextHelp_EndContextHelp)(wxContextHelp* self)
 {
-	return (int)((wxContextHelp*)_obj)->EndContextHelp();
+	return self->EndContextHelp();
 }
-	
 
-EWXWEXPORT(void*,wxContextHelpButton_Create)(void* parent, int id, int x, int y, int w, int h, long style)
+
+EWXWEXPORT(wxContextHelpButton*,wxContextHelpButton_Create)(wxWindow* parent,int id,int x,int y,int w,int h,long style)
 {
-	return (void*)new wxContextHelpButton((wxWindow*)parent, (wxWindowID)id, wxPoint(x, y), wxSize(w, h), style);
+	return new wxContextHelpButton(parent, (wxWindowID)id,wxPoint(x, y), wxSize(w, h), style);
 }
 
 
-EWXWEXPORT(void*,wxHelpProvider_Get)()
+EWXWEXPORT(wxHelpProvider*,wxHelpProvider_Get)()
 {
-	return (void*)wxHelpProvider::Get();
+	return wxHelpProvider::Get();
 }
 	
-EWXWEXPORT(void*,wxHelpProvider_Set)(void* helpProvider)
+EWXWEXPORT(wxHelpProvider*,wxHelpProvider_Set)(wxHelpProvider* helpProvider)
 {
-	return (void*)wxHelpProvider::Set((wxHelpProvider*)helpProvider);
+	return wxHelpProvider::Set(helpProvider);
 }
 	
-EWXWEXPORT(int,wxHelpProvider_GetHelp)(void* _obj, void* window, void* _ref)
+EWXWEXPORT(wxString*,wxHelpProvider_GetHelp)(void* _obj,void* window)
 {
-        wxString result = ((wxHelpProvider*)_obj)->GetHelp((wxWindowBase*)window);
-        return copyStrToBuf( _ref, result );
+	wxString *result = new wxString();
+	*result = ((wxHelpProvider*)_obj)->GetHelp((wxWindowBase*)window);
+	return result;
 }
 	
-EWXWEXPORT(int,wxHelpProvider_ShowHelp)(void* _obj, void* window)
+EWXWEXPORT(bool,wxHelpProvider_ShowHelp)(wxHelpProvider* self,wxWindowBase* window)
 {
-	return (int)((wxHelpProvider*)_obj)->ShowHelp((wxWindowBase*)window);
+	return self->ShowHelp(window);
 }
 	
-EWXWEXPORT(void,wxHelpProvider_AddHelp)(void* _obj, void* window, void* text)
+EWXWEXPORT(void,wxHelpProvider_AddHelp)(wxHelpProvider* self,wxWindowBase* window,wxString* text)
 {
-	((wxHelpProvider*)_obj)->AddHelp((wxWindowBase*)window, (wxChar*)text);
+	self->AddHelp(window,*text);
 }
 	
-EWXWEXPORT(void,wxHelpProvider_AddHelpById)(void* _obj, int id, void* text)
+EWXWEXPORT(void,wxHelpProvider_AddHelpById)(wxHelpProvider* self,int id,wxString* text)
 {
-	((wxHelpProvider*)_obj)->AddHelp((wxWindowID)id, (wxChar*)text);
+	self->AddHelp((wxWindowID)id,*text);
 }
 	
-EWXWEXPORT(void,wxHelpProvider_RemoveHelp)(void* _obj, void* window)
+EWXWEXPORT(void,wxHelpProvider_RemoveHelp)(wxHelpProvider* self,wxWindowBase* window)
 {
-	((wxHelpProvider*)_obj)->RemoveHelp((wxWindowBase*)window);
+	self->RemoveHelp(window);
 }
 	
-EWXWEXPORT(void,wxHelpProvider_Delete)(void* _obj)
+EWXWEXPORT(void,wxHelpProvider_Delete)(wxHelpProvider* self)
 {
-	delete (wxHelpProvider*)_obj;
+	delete self;
 }
 
 
-EWXWEXPORT(void*,wxSimpleHelpProvider_Create)()
+EWXWEXPORT(wxSimpleHelpProvider*,wxSimpleHelpProvider_Create)()
 {
-	return (void*)new wxSimpleHelpProvider();
+	return new wxSimpleHelpProvider();
 }
 	
 
-EWXWEXPORT(void*,wxHelpControllerHelpProvider_Create)(void* ctr)
+EWXWEXPORT(wxHelpControllerHelpProvider*,wxHelpControllerHelpProvider_Create)(wxHelpControllerBase* ctr)
 {
-	return (void*)new wxHelpControllerHelpProvider((wxHelpControllerBase*)ctr);
+	return new wxHelpControllerHelpProvider(ctr);
 }
 	
-EWXWEXPORT(void,wxHelpControllerHelpProvider_SetHelpController)(void* _obj, void* hc)
+EWXWEXPORT(void,wxHelpControllerHelpProvider_SetHelpController)(wxHelpControllerHelpProvider* self,wxHelpControllerBase* hc)
 {
-	((wxHelpControllerHelpProvider*)_obj)->SetHelpController((wxHelpControllerBase*)hc);
+	self->SetHelpController(hc);
 }
 	
-EWXWEXPORT(void*,wxHelpControllerHelpProvider_GetHelpController)(void* _obj)
+EWXWEXPORT(wxHelpControllerBase*,wxHelpControllerHelpProvider_GetHelpController)(wxHelpControllerHelpProvider* self)
 {
-	return (void*)((wxHelpControllerHelpProvider*)_obj)->GetHelpController();
+	return self->GetHelpController();
 }
 	
 }
diff --git a/wxc/src/eljcursor.cpp b/wxc/src/eljcursor.cpp
--- a/wxc/src/eljcursor.cpp
+++ b/wxc/src/eljcursor.cpp
@@ -3,23 +3,23 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, Cursor_CreateFromStock)(int _id)
+EWXWEXPORT(wxCursor*,Cursor_CreateFromStock)(int _id)
 {
-	return (void*) new wxCursor(_id);
+	return  new wxCursor(_id);
 }
 
-EWXWEXPORT(void*, Cursor_CreateFromImage)(wxImage* image)
+EWXWEXPORT(wxCursor*,Cursor_CreateFromImage)(wxImage* image)
 {
-	return (void*) new wxCursor(*image);
+	return  new wxCursor(*image);
 }
 
-EWXWEXPORT(void*, Cursor_CreateLoad) (const wxString* name, long type, int width, int height)
+EWXWEXPORT(wxCursor*,Cursor_CreateLoad)(wxString* name,long type,int width,int height)
 {
 #ifdef __WXGTK__
 // See http://thread.gmane.org/gmane.comp.lib.wxwidgets.general/45999
 	return NULL;
 #else
-	return (void*) new wxCursor(*name, type, width, height);
+	return new wxCursor(*name, type, width, height);
 #endif
 }
 
diff --git a/wxc/src/eljdataformat.cpp b/wxc/src/eljdataformat.cpp
--- a/wxc/src/eljdataformat.cpp
+++ b/wxc/src/eljdataformat.cpp
@@ -3,48 +3,49 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxDataFormat_CreateFromId) (void* name)
+EWXWEXPORT(wxDataFormat*,wxDataFormat_CreateFromId)(wxString* name)
 {
-	return (void*) new wxDataFormat ((wxChar*)name);
+	return new wxDataFormat (*name);
 }
 
-EWXWEXPORT(void*, wxDataFormat_CreateFromType) (int typ)
+EWXWEXPORT(wxDataFormat*,wxDataFormat_CreateFromType)(int typ)
 {
-	return (void*) new wxDataFormat ((wxDataFormat::NativeFormat)typ);
+	return new wxDataFormat ((wxDataFormat::NativeFormat)typ);
 }
 
-EWXWEXPORT(void, wxDataFormat_Delete) (void* _obj)
+EWXWEXPORT(void,wxDataFormat_Delete)(wxDataFormat* self)
 {
-	delete (wxDataFormat*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(int, wxDataFormat_IsEqual) (void* _obj, void* other)
+EWXWEXPORT(bool,wxDataFormat_IsEqual)(wxDataFormat* self,wxDataFormat* other)
 {
-	return (int) (*(wxDataFormat*)_obj == *(wxDataFormat*)other);
+	return  *self == *other;
 }
 
-EWXWEXPORT(int, wxDataFormat_GetId) (void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxDataFormat_GetId)(wxDataFormat* self)
 {
-        wxString result = ((wxDataFormat*)_obj)->GetId();
-        return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = self->GetId();
+	return result;
 }
 
-EWXWEXPORT(int, wxDataFormat_GetType) (void* _obj)
+EWXWEXPORT(int,wxDataFormat_GetType)(wxDataFormat* self)
 {
-	return (int)((wxDataFormat*)_obj)->GetType();
+	return (int)self->GetType();
 }
 
-EWXWEXPORT(void, wxDataFormat_SetId) (void* _obj, void* id)
+EWXWEXPORT(void,wxDataFormat_SetId)(wxDataFormat* self,wxString* id)
 {
-	((wxDataFormat*)_obj)->SetId((wxChar*) id);
+	self->SetId(*id);
 }
 
-EWXWEXPORT(void, wxDataFormat_SetType) (void* _obj, int typ)
+EWXWEXPORT(void,wxDataFormat_SetType)(wxDataFormat* self,int typ)
 {
 #ifdef __WIN32__
-	((wxDataFormat*)_obj)->SetType((wxDataFormat::NativeFormat)typ);
+	self->SetType((wxDataFormat::NativeFormat)typ);
 #else
-	((wxDataFormat*)_obj)->SetType((wxDataFormatId)typ);
+	self->SetType((wxDataFormatId)typ);
 #endif
 }
 
diff --git a/wxc/src/eljdatetime.cpp b/wxc/src/eljdatetime.cpp
--- a/wxc/src/eljdatetime.cpp
+++ b/wxc/src/eljdatetime.cpp
@@ -3,476 +3,483 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxDateTime_Create)()
+EWXWEXPORT(wxDateTime*,wxDateTime_Create)()
 {
-	return (void*) new wxDateTime();
+	return new wxDateTime();
 }
 
-EWXWEXPORT(void, wxDateTime_SetCountry)(int country)
+EWXWEXPORT(void,wxDateTime_SetCountry)(int country)
 {
 	wxDateTime::SetCountry((wxDateTime::Country)country);
 }
 	
-EWXWEXPORT(int, wxDateTime_GetCountry)()
+EWXWEXPORT(int,wxDateTime_GetCountry)()
 {
 	return (int)wxDateTime::GetCountry();
 }
 	
-EWXWEXPORT(int, wxDateTime_IsWestEuropeanCountry)(int country)
+EWXWEXPORT(bool,wxDateTime_IsWestEuropeanCountry)(int country)
 {
-	return (int)wxDateTime::IsWestEuropeanCountry((wxDateTime::Country)country);
+	return wxDateTime::IsWestEuropeanCountry((wxDateTime::Country)country);
 }
 	
-EWXWEXPORT(int, wxDateTime_GetCurrentYear)(int cal)
+EWXWEXPORT(int,wxDateTime_GetCurrentYear)(int cal)
 {
 	return wxDateTime::GetCurrentYear((wxDateTime::Calendar)cal);
 }
 	
-EWXWEXPORT(int, wxDateTime_ConvertYearToBC)(int year)
+EWXWEXPORT(int,wxDateTime_ConvertYearToBC)(int year)
 {
 	return wxDateTime::ConvertYearToBC(year);
 }
 	
-EWXWEXPORT(int, wxDateTime_GetCurrentMonth)(int cal)
+EWXWEXPORT(int,wxDateTime_GetCurrentMonth)(int cal)
 {
 	return (int)wxDateTime::GetCurrentMonth((wxDateTime::Calendar)cal);
 }
 	
-EWXWEXPORT(int, wxDateTime_IsLeapYear)(int year, int cal)
+EWXWEXPORT(bool,wxDateTime_IsLeapYear)(int year,int cal)
 {
-	return (int)wxDateTime::IsLeapYear(year, (wxDateTime::Calendar)cal);
+	return wxDateTime::IsLeapYear(year, (wxDateTime::Calendar)cal);
 }
 	
-EWXWEXPORT(int, wxDateTime_GetCentury)(int year)
+EWXWEXPORT(int,wxDateTime_GetCentury)(int year)
 {
 	return wxDateTime::GetCentury(year);
 }
 	
-EWXWEXPORT(int, wxDateTime_GetNumberOfDays)(int year, int cal)
+EWXWEXPORT(int,wxDateTime_GetNumberOfDays)(int year,int cal)
 {
 	return (int)wxDateTime::GetNumberOfDays(year, (wxDateTime::Calendar)cal);
 }
 	
-EWXWEXPORT(int, wxDateTime_GetNumberOfDaysMonth)(int month, int year, int cal)
+EWXWEXPORT(int,wxDateTime_GetNumberOfDaysMonth)(int month,int year,int cal)
 {
 	return wxDateTime::GetNumberOfDays((wxDateTime::Month)month, year, (wxDateTime::Calendar)cal);
 }
 	
-EWXWEXPORT(int, wxDateTime_GetMonthName)(int month, int flags, void* _buf)
+EWXWEXPORT(wxString*,wxDateTime_GetMonthName)(int month,int flags)
 {
-	wxString result = wxDateTime::GetMonthName((wxDateTime::Month)month, (wxDateTime::NameFlags)flags);
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = wxDateTime::GetMonthName((wxDateTime::Month)month, (wxDateTime::NameFlags)flags);
+	return result;
 }
 	
-EWXWEXPORT(int, wxDateTime_GetWeekDayName)(int weekday, int flags, void* _buf)
+EWXWEXPORT(wxString*,wxDateTime_GetWeekDayName)(int weekday,int flags)
 {
-	wxString result = wxDateTime::GetWeekDayName((wxDateTime::WeekDay)weekday, (wxDateTime::NameFlags)flags);
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = wxDateTime::GetWeekDayName((wxDateTime::WeekDay)weekday, (wxDateTime::NameFlags)flags);
+	return result;
 }
 	
-EWXWEXPORT(int, wxDateTime_GetAmString)(void* _buf)
+EWXWEXPORT(wxString*,wxDateTime_GetAmString)()
 {
-	wxString am;
+	wxString *result = new wxString();
 	wxString pm;
-	wxDateTime::GetAmPmStrings(&am, &pm);
-	return copyStrToBuf(_buf, am);
+	wxDateTime::GetAmPmStrings(result, &pm);
+	return result;
 }
 	
-EWXWEXPORT(int, wxDateTime_GetPmString)(void* _buf)
+EWXWEXPORT(wxString*,wxDateTime_GetPmString)()
 {
+	wxString *result = new wxString();
 	wxString am;
-	wxString pm;
-	wxDateTime::GetAmPmStrings(&am, &pm);
-	return copyStrToBuf(_buf, pm);
+	wxDateTime::GetAmPmStrings(&am, result);
+	return result;
 }
 	
-EWXWEXPORT(int, wxDateTime_IsDSTApplicable)(int year, int country)
+EWXWEXPORT(bool,wxDateTime_IsDSTApplicable)(int year,int country)
 {
-	return (int)wxDateTime::IsDSTApplicable(year, (wxDateTime::Country)country);
+	return wxDateTime::IsDSTApplicable(year, (wxDateTime::Country)country);
 }
 	
-EWXWEXPORT(void, wxDateTime_GetBeginDST)(int year, int country, void* dt)
+EWXWEXPORT(void,wxDateTime_GetBeginDST)(int year,int country,wxDateTime* dt)
 {
-	*((wxDateTime*)dt) = wxDateTime::GetBeginDST(year, (wxDateTime::Country)country);
+	*dt = wxDateTime::GetBeginDST(year, (wxDateTime::Country)country);
 }
 	
-EWXWEXPORT(void, wxDateTime_GetEndDST)(int year, int country, void* dt)
+EWXWEXPORT(void,wxDateTime_GetEndDST)(int year,int country,wxDateTime* dt)
 {
-	*((wxDateTime*)dt) = wxDateTime::GetEndDST(year, (wxDateTime::Country)country);
+	*dt = wxDateTime::GetEndDST(year, (wxDateTime::Country)country);
 }
 	
-EWXWEXPORT(void, wxDateTime_Now)(void* dt)
+EWXWEXPORT(void,wxDateTime_Now)(wxDateTime* dt)
 {
-	*((wxDateTime*)dt) = wxDateTime::Now();
+	*dt = wxDateTime::Now();
 }
 	
-EWXWEXPORT(void, wxDateTime_UNow)(void* dt)
+EWXWEXPORT(void,wxDateTime_UNow)(wxDateTime* dt)
 {
-	*((wxDateTime*)dt) = wxDateTime::UNow();
+	*dt = wxDateTime::UNow();
 }
 	
-EWXWEXPORT(void, wxDateTime_Today)(void* dt)
+EWXWEXPORT(void,wxDateTime_Today)(wxDateTime* dt)
 {
-	*((wxDateTime*)dt) = wxDateTime::Today();
+	*dt = wxDateTime::Today();
 }
 	
-EWXWEXPORT(void, wxDateTime_SetToCurrent)(void* _obj)
+EWXWEXPORT(void,wxDateTime_SetToCurrent)(wxDateTime* self)
 {
-	((wxDateTime*)_obj)->SetToCurrent();
+	self->SetToCurrent();
 }
 	
-EWXWEXPORT(void, wxDateTime_SetTime)(void* _obj, int hour, int minute, int second, int millisec)
+EWXWEXPORT(void,wxDateTime_SetTime)(wxDateTime* self,int hour,int minute,int second,int millisec)
 {
-	((wxDateTime*)_obj)->Set((wxDateTime::wxDateTime_t)hour, (wxDateTime::wxDateTime_t)minute, (wxDateTime::wxDateTime_t)second, (wxDateTime::wxDateTime_t)millisec);
+	self->Set((wxDateTime::wxDateTime_t)hour, (wxDateTime::wxDateTime_t)minute, (wxDateTime::wxDateTime_t)second, (wxDateTime::wxDateTime_t)millisec);
 }
 	
-EWXWEXPORT(void, wxDateTime_Set)(void* _obj, int day, int month, int year, int hour,  int minute, int second, int millisec)
+EWXWEXPORT(void,wxDateTime_Set)(wxDateTime* self,int day,int month,int year,int hour,int minute,int second,int millisec)
 {
-	((wxDateTime*)_obj)->Set((wxDateTime::wxDateTime_t)day, (wxDateTime::Month)month, year, (wxDateTime::wxDateTime_t)hour,  (wxDateTime::wxDateTime_t)minute, (wxDateTime::wxDateTime_t)second, (wxDateTime::wxDateTime_t)millisec);
+	self->Set((wxDateTime::wxDateTime_t)day, (wxDateTime::Month)month, year, (wxDateTime::wxDateTime_t)hour,  (wxDateTime::wxDateTime_t)minute, (wxDateTime::wxDateTime_t)second, (wxDateTime::wxDateTime_t)millisec);
 }
 	
-EWXWEXPORT(void, wxDateTime_ResetTime)(void* _obj)
+EWXWEXPORT(void,wxDateTime_ResetTime)(wxDateTime* self)
 {
-	((wxDateTime*)_obj)->ResetTime();
+	self->ResetTime();
 }
 	
-EWXWEXPORT(void, wxDateTime_SetYear)(void* _obj, int year)
+EWXWEXPORT(void,wxDateTime_SetYear)(wxDateTime* self,int year)
 {
-	((wxDateTime*)_obj)->SetYear(year);
+	self->SetYear(year);
 }
 	
-EWXWEXPORT(void, wxDateTime_SetMonth)(void* _obj, int month)
+EWXWEXPORT(void,wxDateTime_SetMonth)(wxDateTime* self,int month)
 {
-	((wxDateTime*)_obj)->SetMonth((wxDateTime::Month)month);
+	self->SetMonth((wxDateTime::Month)month);
 }
 	
-EWXWEXPORT(void, wxDateTime_SetDay)(void* _obj, int day)
+EWXWEXPORT(void,wxDateTime_SetDay)(wxDateTime* self,int day)
 {
-	((wxDateTime*)_obj)->SetDay((wxDateTime::wxDateTime_t)day);
+	self->SetDay((wxDateTime::wxDateTime_t)day);
 }
 	
-EWXWEXPORT(void, wxDateTime_SetHour)(void* _obj, int hour)
+EWXWEXPORT(void,wxDateTime_SetHour)(wxDateTime* self,int hour)
 {
-	((wxDateTime*)_obj)->SetHour((wxDateTime::wxDateTime_t)hour);
+	self->SetHour((wxDateTime::wxDateTime_t)hour);
 }
 	
-EWXWEXPORT(void, wxDateTime_SetMinute)(void* _obj, int minute)
+EWXWEXPORT(void,wxDateTime_SetMinute)(wxDateTime* self,int minute)
 {
-	((wxDateTime*)_obj)->SetMinute((wxDateTime::wxDateTime_t)minute);
+	self->SetMinute((wxDateTime::wxDateTime_t)minute);
 }
 	
-EWXWEXPORT(void, wxDateTime_SetSecond)(void* _obj, int second)
+EWXWEXPORT(void,wxDateTime_SetSecond)(wxDateTime* self,int second)
 {
-	((wxDateTime*)_obj)->SetSecond((wxDateTime::wxDateTime_t)second);
+	self->SetSecond((wxDateTime::wxDateTime_t)second);
 }
 	
-EWXWEXPORT(void, wxDateTime_SetMillisecond)(void* _obj, int millisecond)
+EWXWEXPORT(void,wxDateTime_SetMillisecond)(wxDateTime* self,int millisecond)
 {
-	((wxDateTime*)_obj)->SetMillisecond((wxDateTime::wxDateTime_t)millisecond);
+	self->SetMillisecond((wxDateTime::wxDateTime_t)millisecond);
 }
 	
-EWXWEXPORT(void, wxDateTime_SetToWeekDayInSameWeek)(void* _obj, int weekday)
+EWXWEXPORT(void,wxDateTime_SetToWeekDayInSameWeek)(wxDateTime* self,int weekday)
 {
-	((wxDateTime*)_obj)->SetToWeekDayInSameWeek((wxDateTime::WeekDay)weekday);
+	self->SetToWeekDayInSameWeek((wxDateTime::WeekDay)weekday);
 }
 	
-EWXWEXPORT(void, wxDateTime_GetWeekDayInSameWeek)(void* _obj, int weekday, void* _ref)
+EWXWEXPORT(void,wxDateTime_GetWeekDayInSameWeek)(wxDateTime* self,int weekday,wxDateTime* _ref)
 {
-	*((wxDateTime*)_ref) = ((wxDateTime*)_obj)->GetWeekDayInSameWeek((wxDateTime::WeekDay)weekday);
+	*_ref = self->GetWeekDayInSameWeek((wxDateTime::WeekDay)weekday);
 }
 	
-EWXWEXPORT(void, wxDateTime_SetToNextWeekDay)(void* _obj, int weekday)
+EWXWEXPORT(void,wxDateTime_SetToNextWeekDay)(wxDateTime* self,int weekday)
 {
-	((wxDateTime*)_obj)->SetToNextWeekDay((wxDateTime::WeekDay)weekday);
+	self->SetToNextWeekDay((wxDateTime::WeekDay)weekday);
 }
 	
-EWXWEXPORT(void, wxDateTime_GetNextWeekDay)(void* _obj, int weekday, void* _ref)
+EWXWEXPORT(void,wxDateTime_GetNextWeekDay)(wxDateTime* self,int weekday,wxDateTime* _ref)
 {
-	*((wxDateTime*)_ref) = ((wxDateTime*)_obj)->GetNextWeekDay((wxDateTime::WeekDay)weekday);
+	*_ref = self->GetNextWeekDay((wxDateTime::WeekDay)weekday);
 }
 	
-EWXWEXPORT(void, wxDateTime_SetToPrevWeekDay)(void* _obj, int weekday)
+EWXWEXPORT(void,wxDateTime_SetToPrevWeekDay)(wxDateTime* self,int weekday)
 {
-	((wxDateTime*)_obj)->SetToPrevWeekDay((wxDateTime::WeekDay)weekday);
+	self->SetToPrevWeekDay((wxDateTime::WeekDay)weekday);
 }
 	
-EWXWEXPORT(void, wxDateTime_GetPrevWeekDay)(void* _obj, int weekday, void* _ref)
+EWXWEXPORT(void,wxDateTime_GetPrevWeekDay)(wxDateTime* self,int weekday,wxDateTime* _ref)
 {
-	*((wxDateTime*)_ref) = ((wxDateTime*)_obj)->GetPrevWeekDay((wxDateTime::WeekDay)weekday);
+	*_ref = self->GetPrevWeekDay((wxDateTime::WeekDay)weekday);
 }
 	
-EWXWEXPORT(int, wxDateTime_SetToWeekDay)(void* _obj, int weekday, int n, int month, int year)
+EWXWEXPORT(bool,wxDateTime_SetToWeekDay)(wxDateTime* self,int weekday,int n,int month,int year)
 {
-	return (int)((wxDateTime*)_obj)->SetToWeekDay((wxDateTime::WeekDay)weekday, n, (wxDateTime::Month)month, year);
+	return self->SetToWeekDay((wxDateTime::WeekDay)weekday, n, (wxDateTime::Month)month, year);
 }
 	
-EWXWEXPORT(void, wxDateTime_GetWeekDay)(void* _obj, int weekday, int n, int month, int year, void* _ref)
+EWXWEXPORT(void,wxDateTime_GetWeekDay)(wxDateTime* self,int weekday,int n,int month,int year,wxDateTime* _ref)
 {
-	*((wxDateTime*)_ref) = ((wxDateTime*)_obj)->GetWeekDay((wxDateTime::WeekDay)weekday, n, (wxDateTime::Month)month, year);
+	*_ref = self->GetWeekDay((wxDateTime::WeekDay)weekday, n, (wxDateTime::Month)month, year);
 }
 	
-EWXWEXPORT(int, wxDateTime_SetToLastWeekDay)(void* _obj, int weekday, int month, int year)
+EWXWEXPORT(bool,wxDateTime_SetToLastWeekDay)(wxDateTime* self,int weekday,int month,int year)
 {
-	return (int)((wxDateTime*)_obj)->SetToLastWeekDay((wxDateTime::WeekDay)weekday, (wxDateTime::Month)month, year);
+	return self->SetToLastWeekDay((wxDateTime::WeekDay)weekday, (wxDateTime::Month)month, year);
 }
 	
-EWXWEXPORT(void, wxDateTime_GetLastWeekDay)(void* _obj, int weekday, int month, int year, void* _ref)
+EWXWEXPORT(void,wxDateTime_GetLastWeekDay)(wxDateTime* self,int weekday,int month,int year,wxDateTime* _ref)
 {
-	*((wxDateTime*)_ref) = ((wxDateTime*)_obj)->GetLastWeekDay((wxDateTime::WeekDay)weekday, (wxDateTime::Month)month, year);
+	*_ref = self->GetLastWeekDay((wxDateTime::WeekDay)weekday, (wxDateTime::Month)month, year);
 }
 	
-EWXWEXPORT(void, wxDateTime_SetToLastMonthDay)(void* _obj, int month, int year)
+EWXWEXPORT(void,wxDateTime_SetToLastMonthDay)(wxDateTime* self,int month,int year)
 {
-	((wxDateTime*)_obj)->SetToLastMonthDay((wxDateTime::Month)month, year);
+	self->SetToLastMonthDay((wxDateTime::Month)month, year);
 }
 	
-EWXWEXPORT(void, wxDateTime_GetLastMonthDay)(void* _obj, int month, int year, void* _ref)
+EWXWEXPORT(void,wxDateTime_GetLastMonthDay)(wxDateTime* self,int month,int year,wxDateTime* _ref)
 {
-	*((wxDateTime*)_ref) = ((wxDateTime*)_obj)->GetLastMonthDay((wxDateTime::Month)month, year);
+	*_ref = self->GetLastMonthDay((wxDateTime::Month)month, year);
 }
 	
-EWXWEXPORT(void, wxDateTime_ToTimezone)(void* _obj, int tz, int noDST)
+EWXWEXPORT(void,wxDateTime_ToTimezone)(wxDateTime* self,int tz,bool noDST)
 {
-	((wxDateTime*)_obj)->ToTimezone(wxDateTime::TimeZone((wxDateTime::TZ)tz), noDST != 0);
+	self->ToTimezone(wxDateTime::TimeZone((wxDateTime::TZ)tz), noDST);
 }
 	
-EWXWEXPORT(void, wxDateTime_MakeTimezone)(void* _obj, int tz, int noDST)
+EWXWEXPORT(void,wxDateTime_MakeTimezone)(wxDateTime* self,int tz,bool noDST)
 {
-	((wxDateTime*)_obj)->MakeTimezone(wxDateTime::TimeZone((wxDateTime::TZ)tz), noDST != 0);
+	self->MakeTimezone(wxDateTime::TimeZone((wxDateTime::TZ)tz), noDST);
 }
 	
-EWXWEXPORT(void, wxDateTime_ToGMT)(void* _obj, int noDST)
+EWXWEXPORT(void,wxDateTime_ToGMT)(wxDateTime* self,bool noDST)
 {
-	((wxDateTime*)_obj)->ToGMT(noDST != 0);
+	self->ToGMT(noDST);
 }
 	
-EWXWEXPORT(void, wxDateTime_MakeGMT)(void* _obj, int noDST)
+EWXWEXPORT(void,wxDateTime_MakeGMT)(wxDateTime* self,bool noDST)
 {
-	((wxDateTime*)_obj)->MakeGMT(noDST != 0);
+	self->MakeGMT(noDST);
 }
 	
-EWXWEXPORT(int, wxDateTime_IsDST)(void* _obj, int country)
+EWXWEXPORT(int,wxDateTime_IsDST)(wxDateTime* self,int country)
 {
-	return ((wxDateTime*)_obj)->IsDST((wxDateTime::Country)country);
+	return self->IsDST((wxDateTime::Country)country);
 }
 	
-EWXWEXPORT(int, wxDateTime_IsValid)(void* _obj)
+EWXWEXPORT(bool,wxDateTime_IsValid)(wxDateTime* self)
 {
-	return (int)((wxDateTime*)_obj)->IsValid();
+	return self->IsValid();
 }
 	
-EWXWEXPORT(time_t, wxDateTime_GetTicks)(void* _obj)
+EWXWEXPORT(time_t,wxDateTime_GetTicks)(wxDateTime* self)
 {
-	return ((wxDateTime*)_obj)->GetTicks();
+	return self->GetTicks();
 }
 	
-EWXWEXPORT(int, wxDateTime_GetYear)(void* _obj, int tz)
+EWXWEXPORT(int,wxDateTime_GetYear)(wxDateTime* self,int tz)
 {
-	return ((wxDateTime*)_obj)->GetYear(wxDateTime::TimeZone((wxDateTime::TZ)tz));
+	return self->GetYear(wxDateTime::TimeZone((wxDateTime::TZ)tz));
 }
 	
-EWXWEXPORT(int, wxDateTime_GetMonth)(void* _obj, int tz)
+EWXWEXPORT(int,wxDateTime_GetMonth)(wxDateTime* self,int tz)
 {
-	return (int)((wxDateTime*)_obj)->GetMonth(wxDateTime::TimeZone((wxDateTime::TZ)tz));
+	return (int)self->GetMonth(wxDateTime::TimeZone((wxDateTime::TZ)tz));
 }
 	
-EWXWEXPORT(int, wxDateTime_GetDay)(void* _obj, int tz)
+EWXWEXPORT(int,wxDateTime_GetDay)(wxDateTime* self,int tz)
 {
-	return (int)((wxDateTime*)_obj)->GetDay(wxDateTime::TimeZone((wxDateTime::TZ)tz));
+	return (int)self->GetDay(wxDateTime::TimeZone((wxDateTime::TZ)tz));
 }
 	
-EWXWEXPORT(int, wxDateTime_GetWeekDayTZ)(void* _obj, int tz)
+EWXWEXPORT(int,wxDateTime_GetWeekDayTZ)(wxDateTime* self,int tz)
 {
-	return (int)((wxDateTime*)_obj)->GetWeekDay(wxDateTime::TimeZone((wxDateTime::TZ)tz));
+	return (int)self->GetWeekDay(wxDateTime::TimeZone((wxDateTime::TZ)tz));
 }
 	
-EWXWEXPORT(int, wxDateTime_GetHour)(void* _obj, int tz)
+EWXWEXPORT(int,wxDateTime_GetHour)(wxDateTime* self,int tz)
 {
-	return (int)((wxDateTime*)_obj)->GetHour(wxDateTime::TimeZone((wxDateTime::TZ)tz));
+	return (int)self->GetHour(wxDateTime::TimeZone((wxDateTime::TZ)tz));
 }
 	
-EWXWEXPORT(int, wxDateTime_GetMinute)(void* _obj, int tz)
+EWXWEXPORT(int,wxDateTime_GetMinute)(wxDateTime* self,int tz)
 {
-	return (int)((wxDateTime*)_obj)->GetMinute(wxDateTime::TimeZone((wxDateTime::TZ)tz));
+	return (int)self->GetMinute(wxDateTime::TimeZone((wxDateTime::TZ)tz));
 }
 	
-EWXWEXPORT(int, wxDateTime_GetSecond)(void* _obj, int tz)
+EWXWEXPORT(int,wxDateTime_GetSecond)(wxDateTime* self,int tz)
 {
-	return (int)((wxDateTime*)_obj)->GetSecond(wxDateTime::TimeZone((wxDateTime::TZ)tz));
+	return (int)self->GetSecond(wxDateTime::TimeZone((wxDateTime::TZ)tz));
 }
 	
-EWXWEXPORT(int, wxDateTime_GetMillisecond)(void* _obj, int tz)
+EWXWEXPORT(int,wxDateTime_GetMillisecond)(wxDateTime* self,int tz)
 {
-	return (int)((wxDateTime*)_obj)->GetMillisecond(wxDateTime::TimeZone((wxDateTime::TZ)tz));
+	return (int)self->GetMillisecond(wxDateTime::TimeZone((wxDateTime::TZ)tz));
 }
 	
-EWXWEXPORT(int, wxDateTime_GetDayOfYear)(void* _obj, int tz)
+EWXWEXPORT(int,wxDateTime_GetDayOfYear)(wxDateTime* self,int tz)
 {
-	return (int)((wxDateTime*)_obj)->GetDayOfYear(wxDateTime::TimeZone((wxDateTime::TZ)tz));
+	return (int)self->GetDayOfYear(wxDateTime::TimeZone((wxDateTime::TZ)tz));
 }
 	
-EWXWEXPORT(int, wxDateTime_GetWeekOfYear)(void* _obj, int flags, int tz)
+EWXWEXPORT(int,wxDateTime_GetWeekOfYear)(wxDateTime* self,int flags,int tz)
 {
-	return (int)((wxDateTime*)_obj)->GetWeekOfYear((wxDateTime::WeekFlags)flags, wxDateTime::TimeZone((wxDateTime::TZ)tz));
+	return (int)self->GetWeekOfYear((wxDateTime::WeekFlags)flags, wxDateTime::TimeZone((wxDateTime::TZ)tz));
 }
 	
-EWXWEXPORT(int, wxDateTime_GetWeekOfMonth)(void* _obj, int flags, int tz)
+EWXWEXPORT(int,wxDateTime_GetWeekOfMonth)(wxDateTime* self,int flags,int tz)
 {
-	return (int)((wxDateTime*)_obj)->GetWeekOfMonth((wxDateTime::WeekFlags)flags, wxDateTime::TimeZone((wxDateTime::TZ)tz));
+	return (int)self->GetWeekOfMonth((wxDateTime::WeekFlags)flags, wxDateTime::TimeZone((wxDateTime::TZ)tz));
 }
 	
-EWXWEXPORT(int, wxDateTime_IsWorkDay)(void* _obj, int country)
+EWXWEXPORT(bool,wxDateTime_IsWorkDay)(wxDateTime* self,int country)
 {
-	return (int)((wxDateTime*)_obj)->IsWorkDay((wxDateTime::Country)country);
+	return self->IsWorkDay((wxDateTime::Country)country);
 }
 	
 /*
-EWXWEXPORT(int, wxDateTime_IsGregorianDate)(void* _obj, int country)
+EWXWEXPORT(bool,wxDateTime_IsGregorianDate)(wxDateTime* self,int country)
 {
-	return (int)((wxDateTime*)_obj)->IsGregorianDate((wxDateTime::GregorianAdoption)country);
+	return self->IsGregorianDate((wxDateTime::GregorianAdoption)country);
 }
 */
 	
-EWXWEXPORT(int, wxDateTime_IsEqualTo)(void* _obj, void* datetime)
+EWXWEXPORT(bool,wxDateTime_IsEqualTo)(wxDateTime* self,wxDateTime* datetime)
 {
-	return (int)((wxDateTime*)_obj)->IsEqualTo(*((wxDateTime*)datetime));
+	return self->IsEqualTo(*datetime);
 }
 	
-EWXWEXPORT(int, wxDateTime_IsEarlierThan)(void* _obj, void* datetime)
+EWXWEXPORT(bool,wxDateTime_IsEarlierThan)(wxDateTime* self,wxDateTime* datetime)
 {
-	return (int)((wxDateTime*)_obj)->IsEarlierThan(*((wxDateTime*)datetime));
+	return self->IsEarlierThan(*datetime);
 }
 	
-EWXWEXPORT(int, wxDateTime_IsLaterThan)(void* _obj, void* datetime)
+EWXWEXPORT(bool,wxDateTime_IsLaterThan)(wxDateTime* self,wxDateTime* datetime)
 {
-	return (int)((wxDateTime*)_obj)->IsLaterThan(*((wxDateTime*)datetime));
+	return self->IsLaterThan(*datetime);
 }
 	
-EWXWEXPORT(int, wxDateTime_IsStrictlyBetween)(void* _obj, void* t1, void* t2)
+EWXWEXPORT(bool,wxDateTime_IsStrictlyBetween)(wxDateTime* self,wxDateTime* t1,wxDateTime* t2)
 {
-	return (int)((wxDateTime*)_obj)->IsStrictlyBetween(*((wxDateTime*)t1), *((wxDateTime*)t2));
+	return self->IsStrictlyBetween(*t1,*t2);
 }
 	
-EWXWEXPORT(int, wxDateTime_IsBetween)(void* _obj, void* t1, void* t2)
+EWXWEXPORT(bool,wxDateTime_IsBetween)(wxDateTime* self,wxDateTime* t1,wxDateTime* t2)
 {
-	return (int)((wxDateTime*)_obj)->IsBetween(*((wxDateTime*)t1), *((wxDateTime*)t2));
+	return self->IsBetween(*t1,*t2);
 }
 	
-EWXWEXPORT(int, wxDateTime_IsSameDate)(void* _obj, void* dt)
+EWXWEXPORT(bool,wxDateTime_IsSameDate)(wxDateTime* self,wxDateTime* dt)
 {
-	return (int)((wxDateTime*)_obj)->IsSameDate(*((wxDateTime*)dt));
+	return self->IsSameDate(*dt);
 }
 	
-EWXWEXPORT(int, wxDateTime_IsSameTime)(void* _obj, void* dt)
+EWXWEXPORT(bool,wxDateTime_IsSameTime)(wxDateTime* self,wxDateTime* dt)
 {
-	return (int)((wxDateTime*)_obj)->IsSameTime(*((wxDateTime*)dt));
+	return self->IsSameTime(*dt);
 }
 	
-EWXWEXPORT(int, wxDateTime_IsEqualUpTo)(void* _obj, void* dt, void* ts)
+EWXWEXPORT(bool,wxDateTime_IsEqualUpTo)(wxDateTime* self,wxDateTime* dt,wxTimeSpan* ts)
 {
-	return (int)((wxDateTime*)_obj)->IsEqualUpTo(*((wxDateTime*)dt), *((wxTimeSpan*)ts));
+	return self->IsEqualUpTo(*dt,*ts);
 }
 	
-EWXWEXPORT(void, wxDateTime_AddTime)(void* _obj,  void* diff, void* _ref)
+EWXWEXPORT(void,wxDateTime_AddTime)(wxDateTime* self,wxTimeSpan* diff,wxDateTime* _ref)
 {
-	*((wxDateTime*)_ref) = ((wxDateTime*)_obj)->Add(*((wxTimeSpan*)diff));
+	*_ref = self->Add(*diff);
 }
 	
-EWXWEXPORT(void, wxDateTime_SubtractTime)(void* _obj, void* diff, void* _ref)
+EWXWEXPORT(void,wxDateTime_SubtractTime)(wxDateTime* self,wxTimeSpan* diff,wxDateTime* _ref)
 {
-	*((wxDateTime*)_ref) = ((wxDateTime*)_obj)->Subtract(*((wxTimeSpan*)diff));
+	*_ref = self->Subtract(*diff);
 }
 	
-EWXWEXPORT(void, wxDateTime_AddDate)(void* _obj, void* diff, void* _ref)
+EWXWEXPORT(void,wxDateTime_AddDate)(wxDateTime* self,wxDateSpan* diff,wxDateTime* _ref)
 {
-	*((wxDateTime*)_ref) = ((wxDateTime*)_obj)->Add(*((wxDateSpan*)diff));
+	*_ref = self->Add(*diff);
 }
 	
-EWXWEXPORT(void, wxDateTime_SubtractDate)(void* _obj, void* diff, void* _ref)
+EWXWEXPORT(void,wxDateTime_SubtractDate)(wxDateTime* self,wxDateSpan* diff,wxDateTime* _ref)
 {
-	*((wxDateTime*)_ref) = ((wxDateTime*)_obj)->Subtract(*((wxDateSpan*)diff));
+	*_ref = self->Subtract(*diff);
 }
 	
-EWXWEXPORT(void*, wxDateTime_ParseRfc822Date)(void* _obj, void* date)
+EWXWEXPORT(void*,wxDateTime_ParseRfc822Date)(wxDateTime* self,void* date)
 {
-	return (void*)((wxDateTime*)_obj)->ParseRfc822Date((const wxChar*)date);
+	return (void*)self->ParseRfc822Date((const wxChar*)date);
 }
 	
-EWXWEXPORT(void*, wxDateTime_ParseFormat)(void* _obj, void* date, void* format, void* dateDef)
+EWXWEXPORT(void*,wxDateTime_ParseFormat)(wxDateTime* self,void* date,void* format,wxDateTime* dateDef)
 {
-	return (void*)((wxDateTime*)_obj)->ParseFormat((const wxChar*)date, (const wxChar*)format, *((wxDateTime*)dateDef));
+	return (void*)self->ParseFormat((const wxChar*)date, (const wxChar*)format,*dateDef);
 }
 	
-EWXWEXPORT(void*, wxDateTime_ParseDateTime)(void* _obj, void* datetime)
+EWXWEXPORT(void*,wxDateTime_ParseDateTime)(wxDateTime* self,void* datetime)
 {
-	return (void*)((wxDateTime*)_obj)->ParseDateTime((const wxChar*)datetime);
+	return (void*)self->ParseDateTime((const wxChar*)datetime);
 }
 	
-EWXWEXPORT(void*, wxDateTime_ParseDate)(void* _obj, void* date)
+EWXWEXPORT(void*,wxDateTime_ParseDate)(wxDateTime* self,void* date)
 {
-	return (void*)((wxDateTime*)_obj)->ParseDate((const wxChar*)date);
+	return (void*)self->ParseDate((const wxChar*)date);
 }
 	
-EWXWEXPORT(void*, wxDateTime_ParseTime)(void* _obj, void* time)
+EWXWEXPORT(void*,wxDateTime_ParseTime)(wxDateTime* self,void* time)
 {
-	return (void*)((wxDateTime*)_obj)->ParseTime((const wxChar*)time);
+	return (void*)self->ParseTime((const wxChar*)time);
 }
 	
-EWXWEXPORT(int, wxDateTime_Format)(void* _obj, void* format, int tz, void* _buf)
+EWXWEXPORT(wxString*,wxDateTime_Format)(wxDateTime* self,void* format,int tz)
 {
-	wxString result = ((wxDateTime*)_obj)->Format((const wxChar*)format, wxDateTime::TimeZone((wxDateTime::TZ)tz));
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = self->Format((const wxChar*)format, wxDateTime::TimeZone((wxDateTime::TZ)tz));
+	return result;
 }
 	
-EWXWEXPORT(int, wxDateTime_FormatDate)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxDateTime_FormatDate)(wxDateTime* self)
 {
-	wxString result = ((wxDateTime*)_obj)->FormatDate();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = self->FormatDate();
+	return result;
 }
 	
-EWXWEXPORT(int, wxDateTime_FormatTime)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxDateTime_FormatTime)(wxDateTime* self)
 {
-	wxString result = ((wxDateTime*)_obj)->FormatTime();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = self->FormatTime();
+	return result;
 }
 	
-EWXWEXPORT(int, wxDateTime_FormatISODate)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxDateTime_FormatISODate)(wxDateTime* self)
 {
-	wxString result = ((wxDateTime*)_obj)->FormatISODate();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result =  self->FormatISODate();
+	return result;
 }
 	
-EWXWEXPORT(int, wxDateTime_FormatISOTime)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxDateTime_FormatISOTime)(wxDateTime* self)
 {
-	wxString result = ((wxDateTime*)_obj)->FormatISOTime();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = self->FormatISOTime();
+	return result;
 }
 	
-EWXWEXPORT(void*, wxDateTime_wxDateTime)(long hi_long, unsigned long lo_long)
+EWXWEXPORT(wxDateTime*,wxDateTime_wxDateTime)(long hi_long,unsigned long lo_long)
 {
-	return (void*) new wxDateTime(wxLongLong(hi_long, lo_long));
+	return new wxDateTime(wxLongLong(hi_long, lo_long));
 }
 	
-EWXWEXPORT(void, wxDateTime_GetValue)(void* _obj, long* hi_long, unsigned long* lo_long)
+EWXWEXPORT(void,wxDateTime_GetValue)(wxDateTime* self,long* hi_long,unsigned long* lo_long)
 {
-	wxLongLong val = ((wxDateTime*)_obj)->GetValue();
+	wxLongLong val = self->GetValue();
 	*hi_long = val.GetHi();
 	*lo_long = val.GetLo();
 }
 	
-EWXWEXPORT(int, wxDateTime_GetTimeNow)()
+EWXWEXPORT(int,wxDateTime_GetTimeNow)()
 {
 	return (int)wxDateTime::GetTimeNow();
 }
 	
-EWXWEXPORT(void, wxDateTime_AddTimeValues)(void* _obj,  int _hrs, int _min, int _sec, int _mls)
+EWXWEXPORT(void,wxDateTime_AddTimeValues)(wxDateTime* self,int _hrs,int _min,int _sec,int _mls)
 {
-	((wxDateTime*)_obj)->Add(wxTimeSpan((long)_hrs, (long)_min, (long)_sec, (long)_mls));
+	self->Add(wxTimeSpan((long)_hrs, (long)_min, (long)_sec, (long)_mls));
 }
 	
-EWXWEXPORT(void, wxDateTime_AddDateValues)(void* _obj,  int _yrs, int _mnt, int _wek, int _day)
+EWXWEXPORT(void,wxDateTime_AddDateValues)(wxDateTime* self,int _yrs,int _mnt,int _wek,int _day)
 {
-	((wxDateTime*)_obj)->Add(wxDateSpan((long)_yrs, (long)_mnt, (long)_wek, (long)_day));
+	self->Add(wxDateSpan((long)_yrs, (long)_mnt, (long)_wek, (long)_day));
 }
 	
 }
diff --git a/wxc/src/eljdc.cpp b/wxc/src/eljdc.cpp
--- a/wxc/src/eljdc.cpp
+++ b/wxc/src/eljdc.cpp
@@ -6,234 +6,234 @@
 extern "C"
 {
 
-EWXWEXPORT(void, wxDC_Delete) (void* _obj)
+EWXWEXPORT(void,wxDC_Delete)(wxDC* self)
 {
-	delete (wxDC*) _obj;
+	delete  self;
 }
 
   // deprecated
-EWXWEXPORT(void, wxDC_BeginDrawing)(void* _obj)
+EWXWEXPORT(void,wxDC_BeginDrawing)(wxDC* self)
 {
 #if WXWIN_COMPATIBILITY_2_6
-	((wxDC*)_obj)->BeginDrawing();
+	self->BeginDrawing();
 #endif
 }
 	
   // deprecated
-EWXWEXPORT(void, wxDC_EndDrawing)(void* _obj)
+EWXWEXPORT(void,wxDC_EndDrawing)(wxDC* self)
 {
 #if WXWIN_COMPATIBILITY_2_6
-	((wxDC*)_obj)->EndDrawing();
+	self->EndDrawing();
 #endif
 }
 	
-EWXWEXPORT(void, wxDC_FloodFill)(void* _obj, int x, int y, void* col, int style)
+EWXWEXPORT(void,wxDC_FloodFill)(wxDC* self,int x,int y,wxColour* col,int style)
 {
-	((wxDC*)_obj)->FloodFill((wxCoord)x, (wxCoord)y, *((wxColour*)col), style);
+	self->FloodFill((wxCoord)x, (wxCoord)y,*col, style);
 }
 	
-EWXWEXPORT(int, wxDC_GetPixel)(void* _obj, int x, int y, void* col)
+EWXWEXPORT(int,wxDC_GetPixel)(wxDC* self,int x,int y,wxColour* col)
 {
-	return ((wxDC*)_obj)->GetPixel((wxCoord)x, (wxCoord)y, (wxColour*)col);
+	return self->GetPixel((wxCoord)x, (wxCoord)y, col);
 }
 	
-EWXWEXPORT(void, wxDC_DrawLine)(void* _obj, int x1, int y1, int x2, int y2)
+EWXWEXPORT(void,wxDC_DrawLine)(wxDC* self,int x1,int y1,int x2,int y2)
 {
-	((wxDC*)_obj)->DrawLine((wxCoord)x1, (wxCoord)y1, (wxCoord)x2, (wxCoord)y2);
+	self->DrawLine((wxCoord)x1, (wxCoord)y1, (wxCoord)x2, (wxCoord)y2);
 }
 	
-EWXWEXPORT(void, wxDC_CrossHair)(void* _obj, int x, int y)
+EWXWEXPORT(void,wxDC_CrossHair)(wxDC* self,int x,int y)
 {
-	((wxDC*)_obj)->CrossHair((wxCoord)x, (wxCoord)y);
+	self->CrossHair((wxCoord)x, (wxCoord)y);
 }
 	
-EWXWEXPORT(void, wxDC_DrawArc)(void* _obj, int x1, int y1, int x2, int y2, int xc, int yc)
+EWXWEXPORT(void,wxDC_DrawArc)(wxDC* self,int x1,int y1,int x2,int y2,int xc,int yc)
 {
-	((wxDC*)_obj)->DrawArc((wxCoord)x1, (wxCoord)y1, (wxCoord)x2, (wxCoord)y2, (wxCoord)xc, (wxCoord)yc);
+	self->DrawArc((wxCoord)x1, (wxCoord)y1, (wxCoord)x2, (wxCoord)y2, (wxCoord)xc, (wxCoord)yc);
 }
 	
-EWXWEXPORT(void, wxDC_DrawCheckMark)(void* _obj, int x, int y, int width, int height)
+EWXWEXPORT(void,wxDC_DrawCheckMark)(wxDC* self,int x,int y,int width,int height)
 {
-	((wxDC*)_obj)->DrawCheckMark((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height);
+	self->DrawCheckMark((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height);
 }
 	
-EWXWEXPORT(void, wxDC_DrawEllipticArc)(void* _obj, int x, int y, int w, int h, double sa, double ea)
+EWXWEXPORT(void,wxDC_DrawEllipticArc)(wxDC* self,int x,int y,int w,int h,double sa,double ea)
 {
-	((wxDC*)_obj)->DrawEllipticArc((wxCoord)x, (wxCoord)y, (wxCoord)w, (wxCoord)h, sa, ea);
+	self->DrawEllipticArc((wxCoord)x, (wxCoord)y, (wxCoord)w, (wxCoord)h, sa, ea);
 }
 	
-EWXWEXPORT(void, wxDC_DrawPoint)(void* _obj, int x, int y)
+EWXWEXPORT(void,wxDC_DrawPoint)(wxDC* self,int x,int y)
 {
-	((wxDC*)_obj)->DrawPoint((wxCoord)x, (wxCoord)y);
+	self->DrawPoint((wxCoord)x, (wxCoord)y);
 }
 	
-EWXWEXPORT(void, wxDC_DrawLines)(void* _obj, int n, void* x, void* y, int xoffset, int yoffset)
+EWXWEXPORT(void,wxDC_DrawLines)(wxDC* self,int n,void* x,void* y,int xoffset,int yoffset)
 {
 	wxPoint* lst = (wxPoint*)malloc (n * sizeof(wxPoint));
 	
 	for (int i = 0; i < n; i++)
 		lst[i] = wxPoint((int)((intptr_t*)x)[i], (int)((intptr_t*)y)[i]);
 	
-	((wxDC*)_obj)->DrawLines(n, lst, (wxCoord)xoffset, (wxCoord)yoffset);
+	self->DrawLines(n, lst, (wxCoord)xoffset, (wxCoord)yoffset);
 	
 	free (lst);
 }
 	
-EWXWEXPORT(void, wxDC_DrawPolygon)(void* _obj, int n, void* x, void* y, int xoffset, int yoffset, int fillStyle)
+EWXWEXPORT(void,wxDC_DrawPolygon)(wxDC* self,int n,void* x,void* y,int xoffset,int yoffset,int fillStyle)
 {
 	wxPoint* lst = (wxPoint*)malloc (n * sizeof(wxPoint));
 	
 	for (int i = 0; i < n; i++)
 		lst[i] = wxPoint(((intptr_t*)x)[i], ((intptr_t*)y)[i]);
 	
-	((wxDC*)_obj)->DrawPolygon(n, lst, (wxCoord)xoffset, (wxCoord)yoffset, fillStyle);
+	self->DrawPolygon(n, lst, (wxCoord)xoffset, (wxCoord)yoffset, fillStyle);
 	
 	free (lst);
 }
 	
-EWXWEXPORT(void, wxDC_DrawRectangle)(void* _obj, int x, int y, int width, int height)
+EWXWEXPORT(void,wxDC_DrawRectangle)(wxDC* self,int x,int y,int width,int height)
 {
-	((wxDC*)_obj)->DrawRectangle((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height);
+	self->DrawRectangle((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height);
 }
 	
-EWXWEXPORT(void, wxDC_DrawRoundedRectangle)(void* _obj, int x, int y, int width, int height, double radius)
+EWXWEXPORT(void,wxDC_DrawRoundedRectangle)(wxDC* self,int x,int y,int width,int height,double radius)
 {
-	((wxDC*)_obj)->DrawRoundedRectangle((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height, radius);
+	self->DrawRoundedRectangle((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height, radius);
 }
 	
-EWXWEXPORT(void, wxDC_DrawCircle)(void* _obj, int x, int y, int radius)
+EWXWEXPORT(void,wxDC_DrawCircle)(wxDC* self,int x,int y,int radius)
 {
-	((wxDC*)_obj)->DrawCircle((wxCoord)x, (wxCoord)y, (wxCoord)radius);
+	self->DrawCircle((wxCoord)x, (wxCoord)y, (wxCoord)radius);
 }
 	
-EWXWEXPORT(void, wxDC_DrawEllipse)(void* _obj, int x, int y, int width, int height)
+EWXWEXPORT(void,wxDC_DrawEllipse)(wxDC* self,int x,int y,int width,int height)
 {
-	((wxDC*)_obj)->DrawEllipse((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height);
+	self->DrawEllipse((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height);
 }
 	
-EWXWEXPORT(void, wxDC_DrawIcon)(void* _obj, void* icon, int x, int y)
+EWXWEXPORT(void,wxDC_DrawIcon)(wxDC* self,wxIcon* icon,int x,int y)
 {
-	((wxDC*)_obj)->DrawIcon(*((wxIcon*)icon), (wxCoord)x, (wxCoord)y);
+	self->DrawIcon(*icon, (wxCoord)x, (wxCoord)y);
 }
 	
-EWXWEXPORT(void, wxDC_DrawBitmap)(void* _obj, void* bmp, int x, int y, int useMask)
+EWXWEXPORT(void,wxDC_DrawBitmap)(wxDC* self,wxBitmap* bmp,int x,int y,bool useMask)
 {
-	((wxDC*)_obj)->DrawBitmap(*((wxBitmap*)bmp), (wxCoord)x, (wxCoord)y, useMask != 0);
+	self->DrawBitmap(*bmp, (wxCoord)x, (wxCoord)y, useMask);
 }
 	
-EWXWEXPORT(void, wxDC_DrawText)(void* _obj, void* text, int x, int y)
+EWXWEXPORT(void,wxDC_DrawText)(wxDC* self,wxString* text,int x,int y)
 {
-	((wxDC*)_obj)->DrawText((wxChar*)text, (wxCoord)x, (wxCoord)y);
+	self->DrawText(*text, (wxCoord)x, (wxCoord)y);
 }
 	
-EWXWEXPORT(void, wxDC_DrawRotatedText)(void* _obj, void* text, int x, int y, double angle)
+EWXWEXPORT(void,wxDC_DrawRotatedText)(wxDC* self,wxString* text,int x,int y,double angle)
 {
-	((wxDC*)_obj)->DrawRotatedText((wxChar*)text, (wxCoord)x, (wxCoord)y, angle);
+	self->DrawRotatedText(*text, (wxCoord)x, (wxCoord)y, angle);
 }
 	
-EWXWEXPORT(int, wxDC_Blit)(void* _obj, int xdest, int ydest, int width, int height, void* source, int xsrc, int ysrc, int rop, int useMask)
+EWXWEXPORT(bool,wxDC_Blit)(wxDC* self,int xdest,int ydest,int width,int height,wxDC* source,int xsrc,int ysrc,int rop,bool useMask)
 {
-	return (int)((wxDC*)_obj)->Blit((wxCoord)xdest, (wxCoord)ydest, (wxCoord)width, (wxCoord)height, (wxDC*)source, (wxCoord)xsrc, (wxCoord)ysrc, rop, useMask != 0);
+	return self->Blit((wxCoord)xdest, (wxCoord)ydest, (wxCoord)width, (wxCoord)height, source, (wxCoord)xsrc, (wxCoord)ysrc, rop, useMask);
 }
 	
-EWXWEXPORT(void, wxDC_Clear)(void* _obj)
+EWXWEXPORT(void,wxDC_Clear)(wxDC* self)
 {
-	((wxDC*)_obj)->Clear();
+	self->Clear();
 }
 	
-EWXWEXPORT(void, wxDC_ComputeScaleAndOrigin) (wxDC* dc)
+EWXWEXPORT(void,wxDC_ComputeScaleAndOrigin)(wxDC* dc)
 {
 	dc->ComputeScaleAndOrigin();
 }
 	
-EWXWEXPORT(int, wxDC_StartDoc)(void* _obj, void* msg)
+EWXWEXPORT(bool,wxDC_StartDoc)(wxDC* self,wxString* msg)
 {
-	return (int)((wxDC*)_obj)->StartDoc((wxChar*)msg);
+	return self->StartDoc(*msg);
 }
 	
-EWXWEXPORT(void, wxDC_EndDoc)(void* _obj)
+EWXWEXPORT(void,wxDC_EndDoc)(wxDC* self)
 {
-	((wxDC*)_obj)->EndDoc();
+	self->EndDoc();
 }
 	
-EWXWEXPORT(void, wxDC_StartPage)(void* _obj)
+EWXWEXPORT(void,wxDC_StartPage)(wxDC* self)
 {
-	((wxDC*)_obj)->StartPage();
+	self->StartPage();
 }
 	
-EWXWEXPORT(void, wxDC_EndPage)(void* _obj)
+EWXWEXPORT(void,wxDC_EndPage)(wxDC* self)
 {
-	((wxDC*)_obj)->EndPage();
+	self->EndPage();
 }
 	
-EWXWEXPORT(void, wxDC_SetFont)(void* _obj, void* font)
+EWXWEXPORT(void,wxDC_SetFont)(wxDC* self,wxFont* font)
 {
-	((wxDC*)_obj)->SetFont(*((wxFont*)font));
+	self->SetFont(*font);
 }
 	
-EWXWEXPORT(void, wxDC_SetPen)(void* _obj, void* pen)
+EWXWEXPORT(void,wxDC_SetPen)(wxDC* self,wxPen* pen)
 {
-	((wxDC*)_obj)->SetPen(*((wxPen*)pen));
+	self->SetPen(*pen);
 }
 	
-EWXWEXPORT(void, wxDC_SetBrush)(void* _obj, void* brush)
+EWXWEXPORT(void,wxDC_SetBrush)(wxDC* self,wxBrush* brush)
 {
-	((wxDC*)_obj)->SetBrush(*((wxBrush*)brush));
+	self->SetBrush(*brush);
 }
 	
-EWXWEXPORT(void, wxDC_SetBackground)(void* _obj, void* brush)
+EWXWEXPORT(void,wxDC_SetBackground)(wxDC* self,wxBrush* brush)
 {
-	((wxDC*)_obj)->SetBackground(*((wxBrush*)brush));
+	self->SetBackground(*brush);
 }
 	
-EWXWEXPORT(void, wxDC_SetBackgroundMode)(void* _obj, int mode)
+EWXWEXPORT(void,wxDC_SetBackgroundMode)(wxDC* self,int mode)
 {
-	((wxDC*)_obj)->SetBackgroundMode(mode);
+	self->SetBackgroundMode(mode);
 }
 	
-EWXWEXPORT(void, wxDC_SetPalette)(void* _obj, void* palette)
+EWXWEXPORT(void,wxDC_SetPalette)(wxDC* self,wxPalette* palette)
 {
-	((wxDC*)_obj)->SetPalette(*((wxPalette*)palette));
+	self->SetPalette(*palette);
 }
 	
-EWXWEXPORT(void, wxDC_SetClippingRegion)(void* _obj, int x, int y, int width, int height)
+EWXWEXPORT(void,wxDC_SetClippingRegion)(wxDC* self,int x,int y,int width,int height)
 {
-	((wxDC*)_obj)->SetClippingRegion((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height);
+	self->SetClippingRegion((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height);
 }
 	
-EWXWEXPORT(void, wxDC_SetClippingRegionFromRegion)(void* _obj, void* region)
+EWXWEXPORT(void,wxDC_SetClippingRegionFromRegion)(wxDC* self,wxRegion* region)
 {
-	((wxDC*)_obj)->SetClippingRegion(*((wxRegion*)region));
+	self->SetClippingRegion(*region);
 }
 	
-EWXWEXPORT(void, wxDC_DestroyClippingRegion)(void* _obj)
+EWXWEXPORT(void,wxDC_DestroyClippingRegion)(wxDC* self)
 {
-	((wxDC*)_obj)->DestroyClippingRegion();
+	self->DestroyClippingRegion();
 }
 	
-EWXWEXPORT(void, wxDC_GetClippingBox)(void* _obj, void* x, void* y, void* w, void* h)
+EWXWEXPORT(void,wxDC_GetClippingBox)(wxDC* self,wxCoord* x,wxCoord* y,wxCoord* w,wxCoord* h)
 {
-	((wxDC*)_obj)->GetClippingBox((wxCoord*)x, (wxCoord*)y, (wxCoord*)w, (wxCoord*)h);
+	self->GetClippingBox(x,y,w,h);
 }
 	
-EWXWEXPORT(int, wxDC_GetCharHeight)(void* _obj)
+EWXWEXPORT(wxCoord,wxDC_GetCharHeight)(wxDC* self)
 {
-	return (int)((wxDC*)_obj)->GetCharHeight();
+	return self->GetCharHeight();
 }
 	
-EWXWEXPORT(int, wxDC_GetCharWidth)(void* _obj)
+EWXWEXPORT(wxCoord,wxDC_GetCharWidth)(wxDC* self)
 {
-	return (int)((wxDC*)_obj)->GetCharWidth();
+	return self->GetCharWidth();
 }
 	
-EWXWEXPORT(void, wxDC_GetTextExtent)(wxDC* self, wxChar* string, void* w, void* h, void* descent, void* externalLeading, void* theFont)
+EWXWEXPORT(void,wxDC_GetTextExtent)(wxDC* self,wxString* string,wxCoord* w,wxCoord* h,wxCoord* descent,wxCoord* externalLeading,wxFont* theFont)
 {
-	self->GetTextExtent(string, (wxCoord*)w, (wxCoord*)h, (wxCoord*)descent, (wxCoord*)externalLeading, (wxFont*)theFont);
+	self->GetTextExtent(*string,w,h,descent,externalLeading,theFont);
 }
 	
-EWXWEXPORT(void, wxDC_GetMultiLineTextExtent)(wxDC* self, wxChar* string, void* w, void* h, void* heightLine, void* theFont)
+EWXWEXPORT(void,wxDC_GetMultiLineTextExtent)(wxDC* self,wxString* string,wxCoord* w,wxCoord* h,wxCoord* heightLine,wxFont* theFont)
 {
-	self->GetMultiLineTextExtent(string, (wxCoord*)w, (wxCoord*)h, (wxCoord*)heightLine, (wxFont*)theFont);
+	self->GetMultiLineTextExtent(*string, w, h, heightLine, theFont);
 }
 
 EWXWEXPORT(void, wxDC_GetSize)(void* _obj, void* width, void* height)
@@ -246,59 +246,59 @@
 	((wxDC*)_obj)->GetSizeMM((int*)width, (int*)height);
 }
 	
-EWXWEXPORT(int, wxDC_DeviceToLogicalX)(void* _obj, int x)
+EWXWEXPORT(wxCoord,wxDC_DeviceToLogicalX)(wxDC* self,wxCoord x)
 {
-	return (int)((wxDC*)_obj)->DeviceToLogicalX((wxCoord)x);
+	return self->DeviceToLogicalX(x);
 }
 	
-EWXWEXPORT(int, wxDC_DeviceToLogicalY)(void* _obj, int y)
+EWXWEXPORT(wxCoord,wxDC_DeviceToLogicalY)(wxDC* self,wxCoord y)
 {
-	return (int)((wxDC*)_obj)->DeviceToLogicalY((wxCoord)y);
+	return self->DeviceToLogicalY(y);
 }
 	
-EWXWEXPORT(int, wxDC_DeviceToLogicalXRel)(void* _obj, int x)
+EWXWEXPORT(wxCoord,wxDC_DeviceToLogicalXRel)(wxDC* self,wxCoord x)
 {
-	return (int)((wxDC*)_obj)->DeviceToLogicalXRel((wxCoord)x);
+	return self->DeviceToLogicalXRel(x);
 }
 	
-EWXWEXPORT(int, wxDC_DeviceToLogicalYRel)(void* _obj, int y)
+EWXWEXPORT(wxCoord,wxDC_DeviceToLogicalYRel)(wxDC* self,int y)
 {
-	return (int)((wxDC*)_obj)->DeviceToLogicalYRel((wxCoord)y);
+	return self->DeviceToLogicalYRel((wxCoord)y);
 }
 	
-EWXWEXPORT(int, wxDC_LogicalToDeviceX)(void* _obj, int x)
+EWXWEXPORT(wxCoord,wxDC_LogicalToDeviceX)(wxDC* self,int x)
 {
-	return (int)((wxDC*)_obj)->LogicalToDeviceX((wxCoord)x);
+	return self->LogicalToDeviceX((wxCoord)x);
 }
 	
-EWXWEXPORT(int, wxDC_LogicalToDeviceY)(void* _obj, int y)
+EWXWEXPORT(wxCoord,wxDC_LogicalToDeviceY)(wxDC* self,int y)
 {
-	return (int)((wxDC*)_obj)->LogicalToDeviceY((wxCoord)y);
+	return self->LogicalToDeviceY((wxCoord)y);
 }
 	
-EWXWEXPORT(int, wxDC_LogicalToDeviceXRel)(void* _obj, int x)
+EWXWEXPORT(wxCoord,wxDC_LogicalToDeviceXRel)(wxDC* self,int x)
 {
-	return (int)((wxDC*)_obj)->LogicalToDeviceXRel((wxCoord)x);
+	return self->LogicalToDeviceXRel((wxCoord)x);
 }
 	
-EWXWEXPORT(int, wxDC_LogicalToDeviceYRel)(void* _obj, int y)
+EWXWEXPORT(wxCoord,wxDC_LogicalToDeviceYRel)(wxDC* self,int y)
 {
-	return (int)((wxDC*)_obj)->LogicalToDeviceYRel((wxCoord)y);
+	return self->LogicalToDeviceYRel((wxCoord)y);
 }
 	
-EWXWEXPORT(int, wxDC_CanDrawBitmap)(void* _obj)
+EWXWEXPORT(bool,wxDC_CanDrawBitmap)(wxDC* self)
 {
-	return (int)((wxDC*)_obj)->CanDrawBitmap();
+	return self->CanDrawBitmap();
 }
 	
-EWXWEXPORT(int, wxDC_CanGetTextExtent)(void* _obj)
+EWXWEXPORT(bool,wxDC_CanGetTextExtent)(wxDC* self)
 {
-	return (int)((wxDC*)_obj)->CanGetTextExtent();
+	return self->CanGetTextExtent();
 }
 	
-EWXWEXPORT(int, wxDC_GetDepth)(void* _obj)
+EWXWEXPORT(int,wxDC_GetDepth)(wxDC* self)
 {
-	return ((wxDC*)_obj)->GetDepth();
+	return self->GetDepth();
 }
 	
 EWXWEXPORT(void, wxDC_GetPPI)(void* _obj, void* width, void* height)
@@ -308,312 +308,312 @@
 	*((int*)height) = result.y;
 }
 	
-EWXWEXPORT(int, wxDC_Ok)(void* _obj)
+EWXWEXPORT(bool,wxDC_IsOk)(wxDC* self)
 {
-	return (int)((wxDC*)_obj)->Ok();
+	return self->IsOk();
 }
 	
-EWXWEXPORT(int, wxDC_GetBackgroundMode)(void* _obj)
+EWXWEXPORT(int,wxDC_GetBackgroundMode)(wxDC* self)
 {
-	return ((wxDC*)_obj)->GetBackgroundMode();
+	return self->GetBackgroundMode();
 }
 	
-EWXWEXPORT(void, wxDC_GetBackground)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxDC_GetBackground)(wxDC* self,wxBrush* _ref)
 {
-	*((wxBrush*)_ref) = ((wxDC*)_obj)->GetBackground();
+	*_ref = self->GetBackground();
 }
 	
-EWXWEXPORT(void, wxDC_GetBrush)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxDC_GetBrush)(wxDC* self,wxBrush* _ref)
 {
-	*((wxBrush*)_ref) = ((wxDC*)_obj)->GetBrush();
+	*_ref = self->GetBrush();
 }
 	
-EWXWEXPORT(void, wxDC_GetFont)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxDC_GetFont)(wxDC* self,wxFont* _ref)
 {
-	*((wxFont*)_ref) = ((wxDC*)_obj)->GetFont();
+	*_ref = self->GetFont();
 }
 	
-EWXWEXPORT(void, wxDC_GetPen)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxDC_GetPen)(wxDC* self,wxPen* _ref)
 {
-	*((wxPen*)_ref) = ((wxDC*)_obj)->GetPen();
+	*_ref = self->GetPen();
 }
 	
-EWXWEXPORT(void, wxDC_GetTextBackground)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxDC_GetTextBackground)(wxDC* self,wxColour* _ref)
 {
-	*((wxColour*)_ref) = ((wxDC*)_obj)->GetTextBackground();
+	*_ref = self->GetTextBackground();
 }
 	
-EWXWEXPORT(void, wxDC_GetTextForeground)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxDC_GetTextForeground)(wxDC* self,wxColour* _ref)
 {
-	*((wxColour*)_ref) = ((wxDC*)_obj)->GetTextForeground();
+	*_ref = self->GetTextForeground();
 }
 	
-EWXWEXPORT(void, wxDC_SetTextForeground)(void* _obj, void* colour)
+EWXWEXPORT(void,wxDC_SetTextForeground)(wxDC* self,wxColour* colour)
 {
-	((wxDC*)_obj)->SetTextForeground(*((wxColour*)colour));
+	self->SetTextForeground(*colour);
 }
 	
-EWXWEXPORT(void, wxDC_SetTextBackground)(void* _obj, void* colour)
+EWXWEXPORT(void,wxDC_SetTextBackground)(wxDC* self,wxColour* colour)
 {
-	((wxDC*)_obj)->SetTextBackground(*((wxColour*)colour));
+	self->SetTextBackground(*colour);
 }
 	
-EWXWEXPORT(int, wxDC_GetMapMode)(void* _obj)
+EWXWEXPORT(int,wxDC_GetMapMode)(wxDC* self)
 {
-	return ((wxDC*)_obj)->GetMapMode();
+	return self->GetMapMode();
 }
 	
-EWXWEXPORT(void, wxDC_SetMapMode)(void* _obj, int mode)
+EWXWEXPORT(void,wxDC_SetMapMode)(wxDC* self,int mode)
 {
-	((wxDC*)_obj)->SetMapMode(mode);
+	self->SetMapMode(mode);
 }
 	
-EWXWEXPORT(void, wxDC_GetUserScale)(void* _obj, void* x, void* y)
+EWXWEXPORT(void,wxDC_GetUserScale)(wxDC* self,double* x,double* y)
 {
-	((wxDC*)_obj)->GetUserScale((double*)x, (double*)y);
+	self->GetUserScale(x,y);
 }
 	
-EWXWEXPORT(void, wxDC_SetUserScale)(void* _obj, double x, double y)
+EWXWEXPORT(void,wxDC_SetUserScale)(wxDC* self,double x,double y)
 {
-	((wxDC*)_obj)->SetUserScale(x, y);
+	self->SetUserScale(x, y);
 }
 	
-EWXWEXPORT(void, wxDC_GetLogicalScale)(void* _obj, void* x, void* y)
+EWXWEXPORT(void,wxDC_GetLogicalScale)(wxDC* self,double* x,double* y)
 {
-	((wxDC*)_obj)->GetLogicalScale((double*)x, (double*)y);
+	self->GetLogicalScale(x,y);
 }
 	
-EWXWEXPORT(void, wxDC_SetLogicalScale)(void* _obj, double x, double y)
+EWXWEXPORT(void,wxDC_SetLogicalScale)(wxDC* self,double x,double y)
 {
-	((wxDC*)_obj)->SetLogicalScale(x, y);
+	self->SetLogicalScale(x, y);
 }
 	
-EWXWEXPORT(void, wxDC_GetLogicalOrigin)(void* _obj, void* x, void* y)
+EWXWEXPORT(void,wxDC_GetLogicalOrigin)(wxDC* self,wxCoord* x,wxCoord* y)
 {
-	((wxDC*)_obj)->GetLogicalOrigin((wxCoord*)x, (wxCoord*)y);
+	self->GetLogicalOrigin(x,y);
 }
 	
-EWXWEXPORT(void, wxDC_SetLogicalOrigin)(void* _obj, int x, int y)
+EWXWEXPORT(void,wxDC_SetLogicalOrigin)(wxDC* self,int x,int y)
 {
-	((wxDC*)_obj)->SetLogicalOrigin((wxCoord)x, (wxCoord)y);
+	self->SetLogicalOrigin((wxCoord)x, (wxCoord)y);
 }
 	
-EWXWEXPORT(void, wxDC_GetDeviceOrigin)(void* _obj, void* x, void* y)
+EWXWEXPORT(void,wxDC_GetDeviceOrigin)(wxDC* self,wxCoord* x,wxCoord* y)
 {
-	((wxDC*)_obj)->GetDeviceOrigin((wxCoord*)x, (wxCoord*)y);
+	self->GetDeviceOrigin(x,y);
 }
 	
-EWXWEXPORT(void, wxDC_SetDeviceOrigin)(void* _obj, int x, int y)
+EWXWEXPORT(void,wxDC_SetDeviceOrigin)(wxDC* self,int x,int y)
 {
-	((wxDC*)_obj)->SetDeviceOrigin((wxCoord)x, (wxCoord)y);
+	self->SetDeviceOrigin((wxCoord)x, (wxCoord)y);
 }
 	
-EWXWEXPORT(void, wxDC_SetAxisOrientation)(void* _obj, int xLeftRight, int yBottomUp)
+EWXWEXPORT(void,wxDC_SetAxisOrientation)(wxDC* self,bool xLeftRight,bool yBottomUp)
 {
-	((wxDC*)_obj)->SetAxisOrientation(xLeftRight != 0, yBottomUp != 0);
+	self->SetAxisOrientation(xLeftRight, yBottomUp);
 }
 	
-EWXWEXPORT(int, wxDC_GetLogicalFunction)(void* _obj)
+EWXWEXPORT(int,wxDC_GetLogicalFunction)(wxDC* self)
 {
-	return ((wxDC*)_obj)->GetLogicalFunction();
+	return self->GetLogicalFunction();
 }
 	
-EWXWEXPORT(void, wxDC_SetLogicalFunction)(void* _obj, int function)
+EWXWEXPORT(void,wxDC_SetLogicalFunction)(wxDC* self,int function)
 {
-	((wxDC*)_obj)->SetLogicalFunction(function);
+	self->SetLogicalFunction(function);
 }
 	
-EWXWEXPORT(void, wxDC_CalcBoundingBox)(void* _obj, int x, int y)
+EWXWEXPORT(void,wxDC_CalcBoundingBox)(wxDC* self,int x,int y)
 {
-	((wxDC*)_obj)->CalcBoundingBox((wxCoord)x, (wxCoord)y);
+	self->CalcBoundingBox((wxCoord)x, (wxCoord)y);
 }
 	
-EWXWEXPORT(void, wxDC_ResetBoundingBox)(void* _obj)
+EWXWEXPORT(void,wxDC_ResetBoundingBox)(wxDC* self)
 {
-	((wxDC*)_obj)->ResetBoundingBox();
+	self->ResetBoundingBox();
 }
 	
-EWXWEXPORT(int, wxDC_MinX)(void* _obj)
+EWXWEXPORT(wxCoord,wxDC_MinX)(wxDC* self)
 {
-	return (int)((wxDC*)_obj)->MinX();
+	return self->MinX();
 }
 	
-EWXWEXPORT(int, wxDC_MaxX)(void* _obj)
+EWXWEXPORT(wxCoord,wxDC_MaxX)(wxDC* self)
 {
-	return (int)((wxDC*)_obj)->MaxX();
+	return self->MaxX();
 }
 	
-EWXWEXPORT(int, wxDC_MinY)(void* _obj)
+EWXWEXPORT(wxCoord,wxDC_MinY)(wxDC* self)
 {
-	return (int)((wxDC*)_obj)->MinY();
+	return self->MinY();
 }
 	
-EWXWEXPORT(int, wxDC_MaxY)(void* _obj)
+EWXWEXPORT(wxCoord,wxDC_MaxY)(wxDC* self)
 {
-	return (int)((wxDC*)_obj)->MaxY();
+	return self->MaxY();
 }
 
-EWXWEXPORT(void*, wxWindowDC_Create) (void* win)
+EWXWEXPORT(wxWindowDC*,wxWindowDC_Create)(wxWindow* win)
 {
-	return (void*) new wxWindowDC((wxWindow*)win);
+	return new wxWindowDC(win);
 }
 
-EWXWEXPORT(void, wxWindowDC_Delete) (void* _obj)
+EWXWEXPORT(void,wxWindowDC_Delete)(wxWindowDC* self)
 {
-	delete (wxWindowDC*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(void*, wxClientDC_Create) (void* win)
+EWXWEXPORT(wxClientDC*,wxClientDC_Create)(wxWindow* win)
 {
-	return (void*) new wxClientDC((wxWindow*)win);
+	return new wxClientDC(win);
 }
 
-EWXWEXPORT(void, wxClientDC_Delete) (void* _obj)
+EWXWEXPORT(void,wxClientDC_Delete)(wxClientDC* self)
 {
-	delete (wxClientDC*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(void*, wxPaintDC_Create) (void* win)
+EWXWEXPORT(wxPaintDC*,wxPaintDC_Create)(wxWindow* win)
 {
-	return (void*) new wxPaintDC((wxWindow*)win);
+	return new wxPaintDC(win);
 }
 
-EWXWEXPORT(void, wxPaintDC_Delete) (void* _obj)
+EWXWEXPORT(void,wxPaintDC_Delete)(wxPaintDC* self)
 {
-	delete (wxPaintDC*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(void*, wxMemoryDC_Create) ()
+EWXWEXPORT(wxMemoryDC*,wxMemoryDC_Create)()
 {
-	return (void*) new wxMemoryDC();
+	return new wxMemoryDC();
 }
 
-EWXWEXPORT(void*, wxMemoryDC_CreateCompatible) (void* dc)
+EWXWEXPORT(wxMemoryDC*,wxMemoryDC_CreateCompatible)(wxDC* dc)
 {
-	return (void*) new wxMemoryDC((wxDC*) dc);
+	return new wxMemoryDC(dc);
 }
 
-EWXWEXPORT(wxMemoryDC*, wxMemoryDC_CreateWithBitmap) (wxBitmap* bitmap)
+EWXWEXPORT(wxMemoryDC*,wxMemoryDC_CreateWithBitmap)(wxBitmap* bitmap)
 {
 	return new wxMemoryDC(*bitmap);
 }
 
-EWXWEXPORT(void, wxMemoryDC_Delete) (void* _obj)
+EWXWEXPORT(void,wxMemoryDC_Delete)(wxMemoryDC* self)
 {
-	delete (wxMemoryDC*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(void, wxMemoryDC_SelectObject)(void* _obj, void* bitmap)
+EWXWEXPORT(void,wxMemoryDC_SelectObject)(wxMemoryDC* self,wxBitmap* bitmap)
 {
-	((wxMemoryDC*)_obj)->SelectObject(*((wxBitmap*)bitmap));
+	self->SelectObject(*bitmap);
 }
 
-EWXWEXPORT(wxMirrorDC*, wxMirrorDC_Create) (wxDC* dc, bool mirror)
+EWXWEXPORT(wxMirrorDC*,wxMirrorDC_Create)(wxDC* dc,bool mirror)
 {
 	return new wxMirrorDC(*dc, mirror);
 }
 
-EWXWEXPORT(void, wxMirrorDC_Delete) (wxMirrorDC* self)
+EWXWEXPORT(void,wxMirrorDC_Delete)(wxMirrorDC* self)
 {
 	if (self) delete self;
 }
 
-EWXWEXPORT(void*, wxScreenDC_Create) ()
+EWXWEXPORT(wxScreenDC*,wxScreenDC_Create)()
 {
-	return (void*) new wxScreenDC();
+	return new wxScreenDC();
 }
 
-EWXWEXPORT(void, wxScreenDC_Delete) (void* _obj)
+EWXWEXPORT(void,wxScreenDC_Delete)(wxScreenDC* self)
 {
-	delete (wxScreenDC*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(int, wxScreenDC_StartDrawingOnTopOfWin)(void* _obj, void* win)
+EWXWEXPORT(bool,wxScreenDC_StartDrawingOnTopOfWin)(wxScreenDC* self,wxWindow* win)
 {
-	return (int)((wxScreenDC*)_obj)->StartDrawingOnTop((wxWindow*)win);
+	return self->StartDrawingOnTop(win);
 }
 	
-EWXWEXPORT(int, wxScreenDC_StartDrawingOnTop)(void* _obj, int l, int t, int w, int h)
+EWXWEXPORT(bool,wxScreenDC_StartDrawingOnTop)(wxScreenDC* self,int l,int t,int w,int h)
 {
 	wxRect rect(l, t, w, h);
-	return (int)((wxScreenDC*)_obj)->StartDrawingOnTop(&rect);
+	return self->StartDrawingOnTop(&rect);
 }
 	
-EWXWEXPORT(int, wxScreenDC_EndDrawingOnTop)(void* _obj)
+EWXWEXPORT(bool,wxScreenDC_EndDrawingOnTop)(wxScreenDC* self)
 {
-	return (int)((wxScreenDC*)_obj)->EndDrawingOnTop();
+	return self->EndDrawingOnTop();
 }
 
-EWXWEXPORT(wxBufferedDC*, wxBufferedDC_CreateByDCAndSize) ( wxDC *dc, int width, int hight, int style )
+EWXWEXPORT(wxBufferedDC*,wxBufferedDC_CreateByDCAndSize)(wxDC* dc,int width,int hight,int style)
 {
 	return new wxBufferedDC(dc, wxSize(width, hight), style);
 }
 
-EWXWEXPORT(wxBufferedDC*, wxBufferedDC_CreateByDCAndBitmap) ( wxDC *dc, wxBitmap* buffer, int style )
+EWXWEXPORT(wxBufferedDC*,wxBufferedDC_CreateByDCAndBitmap)(wxDC* dc,wxBitmap* buffer,int style)
 {
-	return new wxBufferedDC(dc, *buffer, style);
+	return new wxBufferedDC(dc,*buffer, style);
 }
 
-EWXWEXPORT(void, wxBufferedDC_Delete) (wxBufferedDC* self)
+EWXWEXPORT(void,wxBufferedDC_Delete)(wxBufferedDC* self)
 {
 	if (self) delete self;
 }
 
-EWXWEXPORT(wxBufferedPaintDC*, wxBufferedPaintDC_Create) ( wxWindow *window, int style )
+EWXWEXPORT(wxBufferedPaintDC*,wxBufferedPaintDC_Create)(wxWindow* window,int style)
 {
 	return new wxBufferedPaintDC(window, style);
 }
 
-EWXWEXPORT(wxBufferedPaintDC*, wxBufferedPaintDC_CreateWithBitmap) ( wxWindow *window, wxBitmap* buffer, int style )
+EWXWEXPORT(wxBufferedPaintDC*,wxBufferedPaintDC_CreateWithBitmap)(wxWindow* window,wxBitmap* buffer,int style)
 {
-	return new wxBufferedPaintDC(window, *buffer, style);
+	return new wxBufferedPaintDC(window,*buffer, style);
 }
 
-EWXWEXPORT(void, wxBufferedPaintDC_Delete) (wxBufferedPaintDC* self)
+EWXWEXPORT(void,wxBufferedPaintDC_Delete)(wxBufferedPaintDC* self)
 {
 	if (self) delete self;
 }
 
-EWXWEXPORT(wxAutoBufferedPaintDC*, wxAutoBufferedPaintDC_Create) ( wxWindow *window )
+EWXWEXPORT(wxAutoBufferedPaintDC*,wxAutoBufferedPaintDC_Create)(wxWindow* window)
 {
 	return new wxAutoBufferedPaintDC(window);
 }
 
-EWXWEXPORT(void, wxAutoBufferedPaintDC_Delete) (wxAutoBufferedPaintDC* self)
+EWXWEXPORT(void,wxAutoBufferedPaintDC_Delete)(wxAutoBufferedPaintDC* self)
 {
 	if (self) delete self;
 }
 
-EWXWEXPORT(void*,wxMetafileDC_Create)(void* _file)
+EWXWEXPORT(void*,wxMetafileDC_Create)(wxString* _file)
 {
-#if defined(__WXGTK__) || defined(__WXMAC__) 
+#if defined(__WXGTK__)
 	return NULL;
 #else
 	wxString file;
 	
 	if (_file) file = (wxChar*)_file;
 
-    return (void*)new wxMetafileDC(file);
+	return (void*)new wxMetafileDC(file);
 #endif
 }
 
-EWXWEXPORT(void*, wxMetafileDC_Close) (void* _obj)
+EWXWEXPORT(void*, wxMetafileDC_Close) (void* self)
 {
 #if defined(__WXGTK__)
 	return NULL;
 #else
-	return (void*)((wxMetafileDC*)_obj)->Close();
+	return (void*)((wxMetafileDC*)self)->Close();
 #endif
 }
 
-EWXWEXPORT(void, wxMetafileDC_Delete) (void* _obj)
+EWXWEXPORT(void, wxMetafileDC_Delete) (void* self)
 {
 #if !defined(__WXGTK__)
-	delete (wxMetafileDC*)_obj;
+	delete (wxMetafileDC*)self;
 #endif
 }
 
-EWXWEXPORT(void*,wxMetafile_Create)(void* _file)
+EWXWEXPORT(void*,wxMetafile_Create)(wxString* _file)
 {
 #if defined(__WXGTK__)
 	return NULL;
@@ -622,56 +622,56 @@
 	
 	if (_file) file = (wxChar*)_file;
 
-    return (void*)new wxMetafile(file);
+	return (void*)new wxMetafile(file);
 #endif
 }
 
-EWXWEXPORT(int,wxMetafile_SetClipboard)(void* _obj, int width, int height)
+EWXWEXPORT(bool,wxMetafile_SetClipboard)(wxMetafile* self,int width,int height)
 {
 #if defined(__WXGTK__)
-	return 0;
+	return false;
 #else
-	return (int)((wxMetafile*)_obj)->SetClipboard(width, height);
+	return self->SetClipboard(width, height);
 #endif
 }
 	
-EWXWEXPORT(int,wxMetafile_Play)(void* _obj, void* _dc)
+EWXWEXPORT(bool,wxMetafile_Play)(wxMetafile* self,wxDC* _dc)
 {
 #if defined(__WXGTK__)
-	return 0;
+	return false;
 #else
-	return (int)((wxMetafile*)_obj)->Play((wxDC*)_dc);
+	return self->Play(_dc);
 #endif
 }
 	
-EWXWEXPORT(int,wxMetafile_Ok)(void* _obj)
+EWXWEXPORT(bool,wxMetafile_IsOk)(wxMetafile* self)
 {
 #if defined(__WXGTK__)
-	return 0;
+	return false;
 #else
-	return (int)((wxMetafile*)_obj)->Ok();
+	return self->IsOk();
 #endif
 }
 	
-EWXWEXPORT(void, wxMetafile_Delete) (void* _obj)
+EWXWEXPORT(void,wxMetafile_Delete)(wxMetafile* self)
 {
 #if !defined(__WXGTK__)
-	delete (wxMetafile*)_obj;
+	delete self;
 #endif
 }
 
 #if wxCHECK_VERSION (2,8,0)
-EWXWEXPORT(void, wxDC_DrawLabel)(void* _obj, void *str, int x, int y, int w, int h, int align, int indexAccel)
+EWXWEXPORT(void,wxDC_DrawLabel)(void* _obj,wxString* str,int x,int y,int w,int h,int align,int indexAccel)
 {
   wxRect rect(x, y, w, h);
-  ((wxDC*)_obj)->DrawLabel((wxChar *)str, rect, align, indexAccel);
+  ((wxDC*)_obj)->DrawLabel(*str, rect, align, indexAccel);
 }
 
-EWXWEXPORT(void, wxDC_DrawLabelBitmap)(void* _obj, void *str, void *bmp, int x, int y, int w, int h, int align, int indexAccel, int *_x, int *_y, int *_w, int *_h)
+EWXWEXPORT(void, wxDC_DrawLabelBitmap)(void* _obj, wxString* str, void *bmp, int x, int y, int w, int h, int align, int indexAccel, int *_x, int *_y, int *_w, int *_h)
 {
   wxRect rect(x, y, w, h);
   wxRect bound;
-  ((wxDC*)_obj)->DrawLabel((wxChar *)str, *((wxBitmap *)bmp), rect, align, indexAccel, &bound);
+  ((wxDC*)_obj)->DrawLabel(*str, *((wxBitmap *)bmp), rect, align, indexAccel, &bound);
   *_x = bound.GetX();
   *_y = bound.GetY();
   *_w = bound.GetWidth();
diff --git a/wxc/src/eljdcsvg.cpp b/wxc/src/eljdcsvg.cpp
--- a/wxc/src/eljdcsvg.cpp
+++ b/wxc/src/eljdcsvg.cpp
@@ -7,34 +7,34 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxSVGFileDC_Create)(wxChar* a_filename)
+EWXWEXPORT(void*,wxSVGFileDC_Create)(wxString* a_filename)
 {
 #ifdef wxUSE_SVG
-	return (void*) new wxSVGFileDC(wxString(a_filename));
+	return (void*) new wxSVGFileDC(*a_filename);
 #else
 	return NULL;
 #endif
 }
 
-EWXWEXPORT(void*, wxSVGFileDC_CreateWithSize)(wxChar* a_filename, int a_width, int a_height)
+EWXWEXPORT(void*,wxSVGFileDC_CreateWithSize)(wxString* a_filename,int a_width,int a_height)
 {
 #ifdef wxUSE_SVG
-	return (void*) new wxSVGFileDC(wxString(a_filename), a_width, a_height);
+	return (void*) new wxSVGFileDC(*a_filename, a_width, a_height);
 #else
 	return NULL;
 #endif
 }
 
-EWXWEXPORT(void*, wxSVGFileDC_CreateWithSizeAndResolution)(wxChar* a_filename, int a_width, int a_height, float a_dpi)
+EWXWEXPORT(void*,wxSVGFileDC_CreateWithSizeAndResolution)(wxString* a_filename,int a_width,int a_height,float a_dpi)
 {
 #ifdef wxUSE_SVG
-	return (void*) new wxSVGFileDC(wxString(a_filename), a_width, a_height, a_dpi);
+	return (void*) new wxSVGFileDC(*a_filename, a_width, a_height, a_dpi);
 #else
 	return NULL;
 #endif
 }
 
-EWXWEXPORT(void, wxSVGFileDC_Delete) (void* _obj)
+EWXWEXPORT(void,wxSVGFileDC_Delete)(void* _obj)
 {
 #ifdef wxUSE_SVG
 	delete (wxSVGFileDC*)_obj;
diff --git a/wxc/src/eljdialog.cpp b/wxc/src/eljdialog.cpp
--- a/wxc/src/eljdialog.cpp
+++ b/wxc/src/eljdialog.cpp
@@ -3,40 +3,40 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxDialog_Create) (void* _prt, int _id, wxChar* _txt, int _lft, int _top, int _wdt, int _hgt, int _stl)
+EWXWEXPORT(wxDialog*,wxDialog_Create)(wxWindow* _prt,int _id,wxString* _txt,int _lft,int _top,int _wdt,int _hgt,int _stl)
 {
-	return (void*) new wxDialog ((wxWindow*)_prt, _id, _txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+	return new wxDialog (_prt, _id, *_txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
 }
 
-EWXWEXPORT(int, wxDialog_IsModal)(void* _obj)
+EWXWEXPORT(bool,wxDialog_IsModal)(wxDialog* self)
 {
-	return (int)((wxDialog*)_obj)->IsModal();
+	return self->IsModal();
 }
 	
-EWXWEXPORT(int, wxDialog_ShowModal)(void* _obj)
+EWXWEXPORT(int,wxDialog_ShowModal)(wxDialog* self)
 {
-	return ((wxDialog*)_obj)->ShowModal();
+	return self->ShowModal();
 }
 	
-EWXWEXPORT(void, wxDialog_EndModal)(void* _obj, int retCode)
+EWXWEXPORT(void,wxDialog_EndModal)(wxDialog* self,int retCode)
 {
-	((wxDialog*)_obj)->EndModal(retCode);
+	self->EndModal(retCode);
 }
 	
-EWXWEXPORT(void, wxDialog_SetReturnCode)(void* _obj, int returnCode)
+EWXWEXPORT(void,wxDialog_SetReturnCode)(wxDialog* self,int returnCode)
 {
-	((wxDialog*)_obj)->SetReturnCode(returnCode);
+	self->SetReturnCode(returnCode);
 }
 	
-EWXWEXPORT(int, wxDialog_GetReturnCode)(void* _obj)
+EWXWEXPORT(int,wxDialog_GetReturnCode)(wxDialog* self)
 {
-	return ((wxDialog*)_obj)->GetReturnCode();
+	return self->GetReturnCode();
 }
 	
 #if (wxVERSION_NUMBER >= 2400) && (wxVERSION_NUMBER < 2800)
-EWXWEXPORT(void, wxDialog_SetIcons)(void* _obj, void* _icons)
+EWXWEXPORT(void,wxDialog_SetIcons)(wxDialog* self,wxIconBundle* _icons)
 {
-	((wxDialog*)_obj)->SetIcons(*((wxIconBundle*)_icons));
+	self->SetIcons(*_icons);
 }
 #endif
 
diff --git a/wxc/src/eljdialup.cpp b/wxc/src/eljdialup.cpp
--- a/wxc/src/eljdialup.cpp
+++ b/wxc/src/eljdialup.cpp
@@ -4,25 +4,25 @@
 extern "C"
 {
 
-EWXWEXPORT(void*,wxDialUpManager_Create)()
+EWXWEXPORT(wxDialUpManager*,wxDialUpManager_Create)()
 {
-	return (void*) wxDialUpManager::Create();
+	return wxDialUpManager::Create();
 }
 
-EWXWEXPORT(void,wxDialUpManager_Delete)(void* _obj)
+EWXWEXPORT(void,wxDialUpManager_Delete)(wxDialUpManager* self)
 {
-	delete (wxDialUpManager*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(int,wxDialUpManager_IsOk)(void* _obj)
+EWXWEXPORT(bool,wxDialUpManager_IsOk)(wxDialUpManager* self)
 {
-	return (int)((wxDialUpManager*)_obj)->IsOk();
+	return self->IsOk();
 }
 	
-EWXWEXPORT(int,wxDialUpManager_GetISPNames)(void* _obj, void* _lst)
+EWXWEXPORT(int,wxDialUpManager_GetISPNames)(wxDialUpManager* self,void* _lst)
 {
 	wxArrayString arr;
-	((wxDialUpManager*)_obj)->GetISPNames(arr);
+	self->GetISPNames(arr);
 
 	if (_lst)
 	{
@@ -33,70 +33,70 @@
 	return arr.GetCount();
 }
 	
-EWXWEXPORT(int,wxDialUpManager_Dial)(void* _obj, void* nameOfISP, void* username, void* password, int async)
+EWXWEXPORT(bool,wxDialUpManager_Dial)(wxDialUpManager* self,wxString* nameOfISP,wxString* username,wxString* password,bool async)
 {
-	return (int)((wxDialUpManager*)_obj)->Dial((const wxChar*)nameOfISP, (const wxChar*)username, (const wxChar*)password, async != 0);
+	return self->Dial(*nameOfISP,*username,*password, async);
 }
 	
-EWXWEXPORT(int,wxDialUpManager_IsDialing)(void* _obj)
+EWXWEXPORT(bool,wxDialUpManager_IsDialing)(wxDialUpManager* self)
 {
-	return (int)((wxDialUpManager*)_obj)->IsDialing();
+	return self->IsDialing();
 }
 	
-EWXWEXPORT(int,wxDialUpManager_CancelDialing)(void* _obj)
+EWXWEXPORT(bool,wxDialUpManager_CancelDialing)(wxDialUpManager* self)
 {
-	return (int)((wxDialUpManager*)_obj)->CancelDialing();
+	return self->CancelDialing();
 }
 	
-EWXWEXPORT(int,wxDialUpManager_HangUp)(void* _obj)
+EWXWEXPORT(bool,wxDialUpManager_HangUp)(wxDialUpManager* self)
 {
-	return (int)((wxDialUpManager*)_obj)->HangUp();
+	return self->HangUp();
 }
 	
-EWXWEXPORT(int,wxDialUpManager_IsAlwaysOnline)(void* _obj)
+EWXWEXPORT(bool,wxDialUpManager_IsAlwaysOnline)(wxDialUpManager* self)
 {
-	return (int)((wxDialUpManager*)_obj)->IsAlwaysOnline();
+	return self->IsAlwaysOnline();
 }
 	
-EWXWEXPORT(int,wxDialUpManager_IsOnline)(void* _obj)
+EWXWEXPORT(bool,wxDialUpManager_IsOnline)(wxDialUpManager* self)
 {
-	return (int)((wxDialUpManager*)_obj)->IsOnline();
+	return self->IsOnline();
 }
 	
-EWXWEXPORT(void,wxDialUpManager_SetOnlineStatus)(void* _obj, int isOnline)
+EWXWEXPORT(void,wxDialUpManager_SetOnlineStatus)(wxDialUpManager* self,bool isOnline)
 {
-	((wxDialUpManager*)_obj)->SetOnlineStatus(isOnline != 0);
+	self->SetOnlineStatus(isOnline);
 }
 	
-EWXWEXPORT(int,wxDialUpManager_EnableAutoCheckOnlineStatus)(void* _obj, int nSeconds)
+EWXWEXPORT(bool,wxDialUpManager_EnableAutoCheckOnlineStatus)(wxDialUpManager* self,size_t nSeconds)
 {
-	return (int)((wxDialUpManager*)_obj)->EnableAutoCheckOnlineStatus((size_t)nSeconds);
+	return self->EnableAutoCheckOnlineStatus(nSeconds);
 }
 	
-EWXWEXPORT(void,wxDialUpManager_DisableAutoCheckOnlineStatus)(void* _obj)
+EWXWEXPORT(void,wxDialUpManager_DisableAutoCheckOnlineStatus)(wxDialUpManager* self)
 {
-	((wxDialUpManager*)_obj)->DisableAutoCheckOnlineStatus();
+	self->DisableAutoCheckOnlineStatus();
 }
 	
-EWXWEXPORT(void,wxDialUpManager_SetWellKnownHost)(void* _obj, void* hostname, int portno)
+EWXWEXPORT(void,wxDialUpManager_SetWellKnownHost)(wxDialUpManager* self,wxString* hostname,int portno)
 {
-	((wxDialUpManager*)_obj)->SetWellKnownHost((const wxChar*)hostname, portno);
+	self->SetWellKnownHost(*hostname, portno);
 }
 	
-EWXWEXPORT(void,wxDialUpManager_SetConnectCommand)(void* _obj, void* commandDial, void* commandHangup)
+EWXWEXPORT(void,wxDialUpManager_SetConnectCommand)(wxDialUpManager* self,wxString* commandDial,wxString* commandHangup)
 {
-	((wxDialUpManager*)_obj)->SetConnectCommand((const wxChar*)commandDial, (const wxChar*)commandHangup);
+	self->SetConnectCommand(*commandDial,*commandHangup);
 }
 	
 
-EWXWEXPORT(int,wxDialUpEvent_IsConnectedEvent)(void* _obj)
+EWXWEXPORT(bool,wxDialUpEvent_IsConnectedEvent)(wxDialUpEvent* self)
 {
-	return (int)((wxDialUpEvent*)_obj)->IsConnectedEvent();
+	return self->IsConnectedEvent();
 }
 	
-EWXWEXPORT(int,wxDialUpEvent_IsOwnEvent)(void* _obj)
+EWXWEXPORT(bool,wxDialUpEvent_IsOwnEvent)(wxDialUpEvent* self)
 {
-	return (int)((wxDialUpEvent*)_obj)->IsOwnEvent();
+	return self->IsOwnEvent();
 }
-	
+
 }
diff --git a/wxc/src/eljdirdlg.cpp b/wxc/src/eljdirdlg.cpp
--- a/wxc/src/eljdirdlg.cpp
+++ b/wxc/src/eljdirdlg.cpp
@@ -3,46 +3,48 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxDirDialog_Create) (void* _prt, void* _msg, void* _dir, int _lft, int _top, int _stl)
+EWXWEXPORT(void*,wxDirDialog_Create)(wxWindow* _prt,wxString* _msg,wxString* _dir, int _lft, int _top, int _stl)
 {
-	return (void*) new wxDirDialog ((wxWindow*)_prt, (wxChar*)_msg, (wxChar*) _dir, _stl, wxPoint(_lft, _top));
+	return (void*) new wxDirDialog (_prt, *_msg, * _dir, _stl, wxPoint(_lft, _top));
 }
 
-EWXWEXPORT(void, wxDirDialog_SetMessage)(void* _obj, void* msg)
+EWXWEXPORT(void,wxDirDialog_SetMessage)(void* _obj,wxString* msg)
 {
-	((wxDirDialog*)_obj)->SetMessage((wxChar*)msg);
+	((wxDirDialog*)_obj)->SetMessage(*msg);
 }
 	
-EWXWEXPORT(void, wxDirDialog_SetPath)(void* _obj, void* pth)
+EWXWEXPORT(void,wxDirDialog_SetPath)(void* _obj,wxString* pth)
 {
-	((wxDirDialog*)_obj)->SetPath((wxChar*) pth);
+	((wxDirDialog*)_obj)->SetPath(* pth);
 }
 	
-EWXWEXPORT(void, wxDirDialog_SetStyle)(void* _obj, int style)
+EWXWEXPORT(void,wxDirDialog_SetStyle)(void* _obj,int style)
 {
 #if WXWIN_COMPATIBILITY_2_6
 	((wxDirDialog*)_obj)->SetStyle((long)style);
 #endif
 }
 	
-EWXWEXPORT(int, wxDirDialog_GetMessage)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxDirDialog_GetMessage)(void* _obj)
 {
-	wxString result =((wxDirDialog*)_obj)->GetMessage();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = ((wxDirDialog*)_obj)->GetMessage();
+	return result;
 }
 	
-EWXWEXPORT(int, wxDirDialog_GetPath)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxDirDialog_GetPath)(void* _obj)
 {
-	wxString result =((wxDirDialog*)_obj)->GetPath();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = ((wxDirDialog*)_obj)->GetPath();
+	return result;
 }
 	
-EWXWEXPORT(int, wxDirDialog_GetStyle)(void* _obj)
+EWXWEXPORT(int,wxDirDialog_GetStyle)(void* _obj)
 {
 #if WXWIN_COMPATIBILITY_2_6
 	return (int)((wxDirDialog*)_obj)->GetStyle();
 #else
-  return 0;
+	return 0;
 #endif
 }
 	
diff --git a/wxc/src/eljdnd.cpp b/wxc/src/eljdnd.cpp
--- a/wxc/src/eljdnd.cpp
+++ b/wxc/src/eljdnd.cpp
@@ -126,7 +126,7 @@
 bool ELJFileDropTarget::OnDropFiles(wxCoord x, wxCoord y, const wxArrayString& filenames)
 {
 	bool result = false;
-	const wxChar** arr = (const wxChar**)malloc (sizeof(wxChar*) * filenames.GetCount());
+	const wxChar** arr = (const wxChar**)malloc (sizeof(wxChar*)* filenames.GetCount());
 	
 	for (unsigned int i = 0; i < filenames.GetCount(); i++)
 		arr[i] = filenames.Item(i).c_str();
@@ -145,53 +145,54 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, ELJFileDropTarget_Create)(void* _obj, void* _func)
+EWXWEXPORT(void*,ELJFileDropTarget_Create)(void* self,void* _func)
 {
-	return (void*) new ELJFileDropTarget(_obj, (FileDropFunc)_func);
+	return (void*)new ELJFileDropTarget(self, (FileDropFunc)_func);
 }
 
-EWXWEXPORT(void, ELJFileDropTarget_Delete)(void* _obj)
+EWXWEXPORT(void,ELJFileDropTarget_Delete)(ELJFileDropTarget* self)
 {
-	delete (ELJFileDropTarget*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(void*, ELJTextDropTarget_Create)(void* _obj, void* _func)
+EWXWEXPORT(void*,ELJTextDropTarget_Create)(void* self,void* _func)
 {
-	return (void*) new ELJTextDropTarget(_obj, (TextDropFunc)_func);
+	return (void*)new ELJTextDropTarget(self, (TextDropFunc)_func);
 }
 
-EWXWEXPORT(void, ELJTextDropTarget_Delete)(void* _obj)
+EWXWEXPORT(void,ELJTextDropTarget_Delete)(ELJTextDropTarget* self)
 {
-	delete (ELJTextDropTarget*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(void*, TextDataObject_Create)(void* _txt)
+EWXWEXPORT(void*,TextDataObject_Create)(wxString* _txt)
 {
-	return (void*) new wxTextDataObject((wxChar*)_txt);
+	return (void*)new wxTextDataObject(*_txt);
 }
 
-EWXWEXPORT(void, TextDataObject_Delete)(void* _obj)
+EWXWEXPORT(void,TextDataObject_Delete)(void* self)
 {
-	delete (wxTextDataObject*)_obj;
+	delete (wxTextDataObject*)self;
 }
 
-EWXWEXPORT(size_t, TextDataObject_GetTextLength)(void* _obj)
+EWXWEXPORT(size_t,TextDataObject_GetTextLength)(void* self)
 {
-	return ((wxTextDataObject*)_obj)->GetTextLength();
+	return ((wxTextDataObject*)self)->GetTextLength();
 }
 
-EWXWEXPORT(int, TextDataObject_GetText)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,TextDataObject_GetText)(void* self)
 {
-	wxString result =((wxTextDataObject*)_obj)->GetText();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = ((wxTextDataObject*)self)->GetText();
+	return result;
 }
 
-EWXWEXPORT(void, TextDataObject_SetText)(void* _obj, const wxString* strText)
+EWXWEXPORT(void,TextDataObject_SetText)(void* _obj,wxString* strText)
 {
 	((wxTextDataObject*)_obj)->SetText(*strText);
 }
 
-EWXWEXPORT(void*, FileDataObject_Create)(int _cnt, void* _lst )
+EWXWEXPORT(void*,FileDataObject_Create)(int _cnt,void* _lst)
 {
 	wxFileDataObject* result = new wxFileDataObject();
 	if (_cnt)
@@ -199,22 +200,22 @@
 		for (int i = 0; i < _cnt; i++)
 			result->AddFile(((wxChar**)_lst)[i]);
 	}
-	return (void*) result;
+	return (void*)result;
 }
 
-EWXWEXPORT(void, FileDataObject_Delete)(void* _obj)
+EWXWEXPORT(void,FileDataObject_Delete)(void* self)
 {
-	delete (wxFileDataObject*)_obj;
+	delete (wxFileDataObject*)self;
 }
 
-EWXWEXPORT(void, FileDataObject_AddFile)(void* _obj, void* _fle)
+EWXWEXPORT(void,FileDataObject_AddFile)(void* self,wxString* _fle)
 {
-	((wxFileDataObject*)_obj)->AddFile((wxChar*)_fle);
+	((wxFileDataObject*)self)->AddFile(*_fle);
 }
 
-EWXWEXPORT(int, FileDataObject_GetFilenames)(void* _obj, void* _lst)
+EWXWEXPORT(int,FileDataObject_GetFilenames)(void* self,void* _lst)
 {
-	wxArrayString arr = ((wxFileDataObject*)_obj)->GetFilenames();
+	wxArrayString arr = ((wxFileDataObject*)self)->GetFilenames();
 	if (_lst)
 	{
 		for (unsigned int i = 0; i < arr.GetCount(); i++)
@@ -224,169 +225,169 @@
 }
 
 
-EWXWEXPORT(void*, BitmapDataObject_Create)(void* _bmp)
+EWXWEXPORT(void*,BitmapDataObject_Create)(wxBitmap* _bmp)
 {
-	return (void*) new wxBitmapDataObject(*((wxBitmap*)_bmp));
+	return (void*)new wxBitmapDataObject(*_bmp);
 }
 
-EWXWEXPORT(void*, BitmapDataObject_CreateEmpty)()
+EWXWEXPORT(void*,BitmapDataObject_CreateEmpty)()
 {
-	return (void*) new wxBitmapDataObject();
+	return (void*)new wxBitmapDataObject();
 }
 
-EWXWEXPORT(void, BitmapDataObject_Delete)(void* _obj)
+EWXWEXPORT(void,BitmapDataObject_Delete)(void* self)
 {
-	delete (wxBitmapDataObject*)_obj;
+	delete (wxBitmapDataObject*)self;
 }
 
-EWXWEXPORT(void, BitmapDataObject_SetBitmap)(void* _obj, void* _bmp)
+EWXWEXPORT(void,BitmapDataObject_SetBitmap)(void* self,wxBitmap* _bmp)
 {
-	((wxBitmapDataObject*)_obj)->SetBitmap (*((wxBitmap*)_bmp));
+	((wxBitmapDataObject*)self)->SetBitmap (*_bmp);
 }
 
-EWXWEXPORT(void, BitmapDataObject_GetBitmap)(void* _obj, void* _bmp)
+EWXWEXPORT(void,BitmapDataObject_GetBitmap)(void* self,wxBitmap* _bmp)
 {
-	*((wxBitmap*)_bmp) = ((wxBitmapDataObject*)_obj)->GetBitmap ();
+	*_bmp = ((wxBitmapDataObject*)self)->GetBitmap ();
 }
 
 
-EWXWEXPORT(void*, DropSource_Create)(wxDataObject* data, void* win, void* copy, void* move, void* none)
+EWXWEXPORT(void*,DropSource_Create)(wxDataObject* data,wxWindow* win,void* copy,void* move,void* none)
 {
 #if (wxCHECK_VERSION(2,5,0) && defined(__WXMAC__)) || defined(__WIN32__)
-	return (void*) new wxDropSource(*data, (wxWindow*)win, *((wxCursor*)copy), *((wxCursor*)move), *((wxCursor*)none));
+	return (void*)new wxDropSource(*data, win,*((wxCursor*)copy),*((wxCursor*)move),*((wxCursor*)none));
 #else
-	return (void*) new wxDropSource(*data, (wxWindow*)win, *((wxIcon*)copy), *((wxIcon*)move), *((wxIcon*)none));
+	return (void*)new wxDropSource(*data, win,*((wxIcon*)copy),*((wxIcon*)move),*((wxIcon*)none));
 #endif
 }
 
-EWXWEXPORT(void, DropSource_Delete)(void* _obj)
+EWXWEXPORT(void,DropSource_Delete)(void* self)
 {
-	delete (wxDropSource*)_obj;
+	delete (wxDropSource*)self;
 }
 
-EWXWEXPORT(int, DropSource_DoDragDrop)(void* _obj, int _move)
+EWXWEXPORT(int,DropSource_DoDragDrop)(void* self,bool _move)
 {
-	return (int)((wxDropSource*)_obj)->DoDragDrop(_move != 0);
+	return (int)((wxDropSource*)self)->DoDragDrop(_move);
 }
 
-EWXWEXPORT(void*, ELJDropTarget_Create)(void* _obj)
+EWXWEXPORT(void*,ELJDropTarget_Create)(void* self)
 {
-	return (void*) new ELJDropTarget(_obj);
+	return (void*)new ELJDropTarget(self);
 }
 
-EWXWEXPORT(void, ELJDropTarget_Delete)(void* _obj)
+EWXWEXPORT(void,ELJDropTarget_Delete)(void* self)
 {
-	delete (ELJDropTarget*)_obj;
+	delete (ELJDropTarget*)self;
 }
 
-EWXWEXPORT(void, ELJFileDropTarget_SetOnData)(void* _obj, void* _func)
+EWXWEXPORT(void,ELJFileDropTarget_SetOnData)(void* self,void* _func)
 {
-	((ELJFileDropTarget*)_obj)->SetOnData((DragThreeFunc)_func);
+	((ELJFileDropTarget*)self)->SetOnData((DragThreeFunc)_func);
 }
 
-EWXWEXPORT(void, ELJFileDropTarget_SetOnDrop)(void* _obj, void* _func)
+EWXWEXPORT(void,ELJFileDropTarget_SetOnDrop)(void* self,void* _func)
 {
-	((ELJFileDropTarget*)_obj)->SetOnDrop((DragTwoFunc)_func);
+	((ELJFileDropTarget*)self)->SetOnDrop((DragTwoFunc)_func);
 }
 
-EWXWEXPORT(void, ELJFileDropTarget_SetOnEnter)(void* _obj, void* _func)
+EWXWEXPORT(void,ELJFileDropTarget_SetOnEnter)(void* self,void* _func)
 {
-	((ELJFileDropTarget*)_obj)->SetOnEnter((DragThreeFunc)_func);
+	((ELJFileDropTarget*)self)->SetOnEnter((DragThreeFunc)_func);
 }
 
-EWXWEXPORT(void, ELJFileDropTarget_SetOnDragOver)(void* _obj, void* _func)
+EWXWEXPORT(void,ELJFileDropTarget_SetOnDragOver)(void* self,void* _func)
 {
-	((ELJFileDropTarget*)_obj)->SetOnDragOver((DragThreeFunc)_func);
+	((ELJFileDropTarget*)self)->SetOnDragOver((DragThreeFunc)_func);
 }
 
-EWXWEXPORT(void, ELJFileDropTarget_SetOnLeave)(void* _obj, void* _func)
+EWXWEXPORT(void,ELJFileDropTarget_SetOnLeave)(void* self,void* _func)
 {
-	((ELJFileDropTarget*)_obj)->SetOnLeave((DragZeroFunc)_func);
+	((ELJFileDropTarget*)self)->SetOnLeave((DragZeroFunc)_func);
 }
 
-EWXWEXPORT(void, ELJTextDropTarget_SetOnData)(void* _obj, void* _func)
+EWXWEXPORT(void,ELJTextDropTarget_SetOnData)(void* self,void* _func)
 {
-	((ELJTextDropTarget*)_obj)->SetOnData((DragThreeFunc)_func);
+	((ELJTextDropTarget*)self)->SetOnData((DragThreeFunc)_func);
 }
 
-EWXWEXPORT(void, ELJTextDropTarget_SetOnDrop)(void* _obj, void* _func)
+EWXWEXPORT(void,ELJTextDropTarget_SetOnDrop)(void* self,void* _func)
 {
-	((ELJTextDropTarget*)_obj)->SetOnDrop((DragTwoFunc)_func);
+	((ELJTextDropTarget*)self)->SetOnDrop((DragTwoFunc)_func);
 }
 
-EWXWEXPORT(void, ELJTextDropTarget_SetOnEnter)(void* _obj, void* _func)
+EWXWEXPORT(void,ELJTextDropTarget_SetOnEnter)(void* self,void* _func)
 {
-	((ELJTextDropTarget*)_obj)->SetOnEnter((DragThreeFunc)_func);
+	((ELJTextDropTarget*)self)->SetOnEnter((DragThreeFunc)_func);
 }
 
-EWXWEXPORT(void, ELJTextDropTarget_SetOnDragOver)(void* _obj, void* _func)
+EWXWEXPORT(void,ELJTextDropTarget_SetOnDragOver)(void* self,void* _func)
 {
-	((ELJTextDropTarget*)_obj)->SetOnDragOver((DragThreeFunc)_func);
+	((ELJTextDropTarget*)self)->SetOnDragOver((DragThreeFunc)_func);
 }
 
-EWXWEXPORT(void, ELJTextDropTarget_SetOnLeave)(void* _obj, void* _func)
+EWXWEXPORT(void,ELJTextDropTarget_SetOnLeave)(void* self,void* _func)
 {
-	((ELJTextDropTarget*)_obj)->SetOnLeave((DragZeroFunc)_func);
+	((ELJTextDropTarget*)self)->SetOnLeave((DragZeroFunc)_func);
 }
 
-EWXWEXPORT(void, ELJDropTarget_SetOnData)(void* _obj, void* _func)
+EWXWEXPORT(void,ELJDropTarget_SetOnData)(void* self,void* _func)
 {
-	((ELJDropTarget*)_obj)->SetOnData((DragThreeFunc)_func);
+	((ELJDropTarget*)self)->SetOnData((DragThreeFunc)_func);
 }
 
-EWXWEXPORT(void, ELJDropTarget_SetOnDrop)(void* _obj, void* _func)
+EWXWEXPORT(void,ELJDropTarget_SetOnDrop)(void* self,void* _func)
 {
-	((ELJDropTarget*)_obj)->SetOnDrop((DragTwoFunc)_func);
+	((ELJDropTarget*)self)->SetOnDrop((DragTwoFunc)_func);
 }
 
-EWXWEXPORT(void, ELJDropTarget_SetOnEnter)(void* _obj, void* _func)
+EWXWEXPORT(void,ELJDropTarget_SetOnEnter)(void* self,void* _func)
 {
-	((ELJDropTarget*)_obj)->SetOnEnter((DragThreeFunc)_func);
+	((ELJDropTarget*)self)->SetOnEnter((DragThreeFunc)_func);
 }
 
-EWXWEXPORT(void, ELJDropTarget_SetOnDragOver)(void* _obj, void* _func)
+EWXWEXPORT(void,ELJDropTarget_SetOnDragOver)(void* self,void* _func)
 {
-	((ELJDropTarget*)_obj)->SetOnDragOver((DragThreeFunc)_func);
+	((ELJDropTarget*)self)->SetOnDragOver((DragThreeFunc)_func);
 }
 
-EWXWEXPORT(void, ELJDropTarget_SetOnLeave)(void* _obj, void* _func)
+EWXWEXPORT(void,ELJDropTarget_SetOnLeave)(void* self,void* _func)
 {
-	((ELJDropTarget*)_obj)->SetOnLeave((DragZeroFunc)_func);
+	((ELJDropTarget*)self)->SetOnLeave((DragZeroFunc)_func);
 }
 
-EWXWEXPORT(void, wxDropTarget_GetData)(void* _obj)
+EWXWEXPORT(void,wxDropTarget_GetData)(void* self)
 {
-	((wxDropTarget*)_obj)->GetData();
+	((wxDropTarget*)self)->GetData();
 }
 
-EWXWEXPORT(void, wxDropTarget_SetDataObject)(void* _obj, void* _dat)
+EWXWEXPORT(void,wxDropTarget_SetDataObject)(void* self,void* _dat)
 {
-	((wxDropTarget*)_obj)->SetDataObject((wxDataObject*)_dat);
+	((wxDropTarget*)self)->SetDataObject((wxDataObject*)_dat);
 }
 
-EWXWEXPORT(void*, ELJDragDataObject_Create)(void* _obj, void* _fmt, void* _func1, void* _func2, void* _func3)
+EWXWEXPORT(void*,ELJDragDataObject_Create)(void* self,wxString* _fmt,void* _func1,void* _func2,void* _func3)
 {
-	return (void*) new ELJDragDataObject(_obj, (wxChar*)_fmt, (DataGetDataSize)_func1, (DataGetDataHere)_func2, (DataSetData)_func3);
+	return (void*)new ELJDragDataObject(self, const_cast<wxChar*>(_fmt->c_str()), (DataGetDataSize)_func1, (DataGetDataHere)_func2, (DataSetData)_func3);
 }
 
-EWXWEXPORT(void, ELJDragDataObject_Delete)(void* _obj)
+EWXWEXPORT(void,ELJDragDataObject_Delete)(void* self)
 {
-	delete (ELJDragDataObject*)_obj;
+	delete (ELJDragDataObject*)self;
 }
 
-EWXWEXPORT(void*, wxDataObjectComposite_Create)()
+EWXWEXPORT(void*,wxDataObjectComposite_Create)()
 {
-	return (void*) new wxDataObjectComposite();
+	return (void*)new wxDataObjectComposite();
 }
 
-EWXWEXPORT(void, wxDataObjectComposite_Delete)(void* _obj)
+EWXWEXPORT(void,wxDataObjectComposite_Delete)(void* self)
 {
-	delete (wxDataObjectComposite*)_obj;
+	delete (wxDataObjectComposite*)self;
 }
 
-EWXWEXPORT(void, wxDataObjectComposite_Add)(void* _obj, void* _dat, int _preferred)
+EWXWEXPORT(void,wxDataObjectComposite_Add)(void* self,void* _dat,bool _preferred)
 {
-	((wxDataObjectComposite*)_obj)->Add((wxDataObjectSimple*)_dat, _preferred != 0);
+	((wxDataObjectComposite*)self)->Add((wxDataObjectSimple*)_dat, _preferred);
 }
 
 }
diff --git a/wxc/src/eljevent.cpp b/wxc/src/eljevent.cpp
--- a/wxc/src/eljevent.cpp
+++ b/wxc/src/eljevent.cpp
@@ -19,331 +19,332 @@
 extern "C"
 {
 
-EWXWEXPORT(void*,wxCommandEvent_Create)(int _typ, int _id)
+EWXWEXPORT(wxCommandEvent*,wxCommandEvent_Create)(int _typ,int _id)
 {
         return new wxCommandEvent((wxEventType)_typ, _id);
 }
 
-EWXWEXPORT(void,wxCommandEvent_Delete)(void* _obj)
+EWXWEXPORT(void,wxCommandEvent_Delete)(wxCommandEvent* self)
 {
-        delete (wxCommandEvent*)_obj;
+        delete self;
 }
 
-EWXWEXPORT(int, wxEvent_GetTimestamp)(void* _obj)
+EWXWEXPORT(int,wxEvent_GetTimestamp)(wxEvent* self)
 {
-        return ((wxEvent*)_obj)->GetTimestamp();
+        return self->GetTimestamp();
 }
 
-EWXWEXPORT(void, wxEvent_Skip)(void* _obj)
+EWXWEXPORT(void,wxEvent_Skip)(wxEvent* self)
 {
-        ((wxEvent*)_obj)->Skip();
+        self->Skip();
 }
 
-EWXWEXPORT(int, wxEvent_GetEventType)(void* _obj)
+EWXWEXPORT(int,wxEvent_GetEventType)(wxEvent* self)
 {
-        return (int)((wxEvent*)_obj)->GetEventType();
+        return (int)self->GetEventType();
 }
 
-EWXWEXPORT(void, wxEvent_SetEventType)(void* _obj, int typ)
+EWXWEXPORT(void,wxEvent_SetEventType)(wxEvent* self,int typ)
 {
-        ((wxEvent*)_obj)->SetEventType((wxEventType) typ);
+        self->SetEventType((wxEventType) typ);
 }
 
-EWXWEXPORT(void*, wxEvent_GetEventObject)(void* _obj)
+EWXWEXPORT(void*,wxEvent_GetEventObject)(wxEvent* self)
 {
-        return (void*)((wxEvent*)_obj)->GetEventObject();
+        return (void*)self->GetEventObject();
 }
 
-EWXWEXPORT(void, wxEvent_SetEventObject)(void* _obj, void* obj)
+EWXWEXPORT(void,wxEvent_SetEventObject)(wxEvent* self,wxObject* obj)
 {
-        ((wxEvent*)_obj)->SetEventObject((wxObject*) obj);
+        self->SetEventObject(obj);
 }
 
-EWXWEXPORT(void, wxEvent_SetTimestamp)(void* _obj, int ts)
+EWXWEXPORT(void,wxEvent_SetTimestamp)(wxEvent* self,int ts)
 {
-        ((wxEvent*)_obj)->SetTimestamp((long)ts);
+        self->SetTimestamp((long)ts);
 }
 
-EWXWEXPORT(int, wxEvent_GetId)(void* _obj)
+EWXWEXPORT(int,wxEvent_GetId)(wxEvent* self)
 {
-        return ((wxEvent*)_obj)->GetId();
+        return self->GetId();
 }
 
-EWXWEXPORT(void, wxEvent_SetId)(void* _obj, int Id)
+EWXWEXPORT(void,wxEvent_SetId)(wxEvent* self,int Id)
 {
-        ((wxEvent*)_obj)->SetId(Id);
+        self->SetId(Id);
 }
 
-EWXWEXPORT(int, wxEvent_GetSkipped)(void* _obj)
+EWXWEXPORT(bool,wxEvent_GetSkipped)(wxEvent* self)
 {
-        return (int)((wxEvent*)_obj)->GetSkipped();
+        return self->GetSkipped();
 }
 
-EWXWEXPORT(int, wxEvent_IsCommandEvent)(void* _obj)
+EWXWEXPORT(bool,wxEvent_IsCommandEvent)(wxEvent* self)
 {
-        return (int)((wxEvent*)_obj)->IsCommandEvent();
+        return self->IsCommandEvent();
 }
 
-EWXWEXPORT(void, wxEvent_CopyObject)(void* _obj, void* object_dest)
+EWXWEXPORT(void,wxEvent_CopyObject)(wxEvent* self,wxObject* object_dest)
 {
 #if wxVERSION_NUMBER < 2400
-        ((wxEvent*)_obj)->CopyObject(*((wxObject*) object_dest));
+        self->CopyObject(*object_dest);
 #endif
 }
 
-EWXWEXPORT(void, wxEvent_SetCallbackUserData)(void* _obj, wxObject* obj)
+EWXWEXPORT(void,wxEvent_SetCallbackUserData)(wxEvent* self,wxObject* obj)
 {
-        ((wxEvent*)_obj)->m_callbackUserData = (wxObject*) obj;
+        self->m_callbackUserData = obj;
 }
 
-EWXWEXPORT(void*, wxEvent_GetCallbackUserData)(void* _obj)
+EWXWEXPORT(void*,wxEvent_GetCallbackUserData)(wxEvent* self)
 {
-        return (void*)((wxEvent*)_obj)->m_callbackUserData;
+        return (void*)self->m_callbackUserData;
 }
 
-EWXWEXPORT(void, wxCommandEvent_SetClientData)(void* _obj, void* clientData)
+EWXWEXPORT(void,wxCommandEvent_SetClientData)(wxCommandEvent* self,void* clientData)
 {
-        ((wxCommandEvent*)_obj)->SetClientData(clientData);
+        self->SetClientData(clientData);
 }
 
-EWXWEXPORT(void*, wxCommandEvent_GetClientData)(void* _obj)
+EWXWEXPORT(void*,wxCommandEvent_GetClientData)(wxCommandEvent* self)
 {
-        return ((wxCommandEvent*)_obj)->GetClientData();
+        return self->GetClientData();
 }
 
-EWXWEXPORT(void, wxCommandEvent_SetClientObject)(void* _obj, void* clientObject)
+EWXWEXPORT(void,wxCommandEvent_SetClientObject)(wxCommandEvent* self,void* clientObject)
 {
-        ((wxCommandEvent*)_obj)->SetClientObject((wxClientData*) clientObject);
+        self->SetClientObject((wxClientData*)clientObject);
 }
 
-EWXWEXPORT(void*, wxCommandEvent_GetClientObject)(void* _obj)
+EWXWEXPORT(void*,wxCommandEvent_GetClientObject)(wxCommandEvent* self)
 {
-        return (void*)((wxCommandEvent*)_obj)->GetClientObject();
+        return (void*)self->GetClientObject();
 }
 
-EWXWEXPORT(int, wxCommandEvent_GetSelection)(void* _obj)
+EWXWEXPORT(int,wxCommandEvent_GetSelection)(wxCommandEvent* self)
 {
-        return ((wxCommandEvent*)_obj)->GetSelection();
+        return self->GetSelection();
 }
 
-EWXWEXPORT(void, wxCommandEvent_SetString)(void* _obj, wxChar* s)
+EWXWEXPORT(void,wxCommandEvent_SetString)(wxCommandEvent* self,wxString* s)
 {
-        ((wxCommandEvent*)_obj)->SetString(s);
+        self->SetString(*s);
 }
 
-EWXWEXPORT(int, wxCommandEvent_GetString)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxCommandEvent_GetString)(wxCommandEvent* self)
 {
-        wxString result = ((wxCommandEvent*)_obj)->GetString();
-        return copyStrToBuf(_buf, result);
+        wxString *result = new wxString();
+        *result = self->GetString();
+        return result;
 }
 
-EWXWEXPORT(int, wxCommandEvent_IsChecked)(void* _obj)
+EWXWEXPORT(bool,wxCommandEvent_IsChecked)(wxCommandEvent* self)
 {
-        return (int)((wxCommandEvent*)_obj)->IsChecked();
+        return self->IsChecked();
 }
 
-EWXWEXPORT(int, wxCommandEvent_IsSelection)(void* _obj)
+EWXWEXPORT(bool,wxCommandEvent_IsSelection)(wxCommandEvent* self)
 {
-        return (int)((wxCommandEvent*)_obj)->IsSelection();
+        return self->IsSelection();
 }
 
-EWXWEXPORT(void, wxCommandEvent_SetExtraLong)(void* _obj, long extraLong)
+EWXWEXPORT(void,wxCommandEvent_SetExtraLong)(wxCommandEvent* self,long extraLong)
 {
-        ((wxCommandEvent*)_obj)->SetExtraLong(extraLong);
+        self->SetExtraLong(extraLong);
 }
 
-EWXWEXPORT(long, wxCommandEvent_GetExtraLong)(void* _obj)
+EWXWEXPORT(long,wxCommandEvent_GetExtraLong)(wxCommandEvent* self)
 {
-        return ((wxCommandEvent*)_obj)->GetExtraLong();
+        return self->GetExtraLong();
 }
 
-EWXWEXPORT(void, wxCommandEvent_SetInt)(void* _obj, int i)
+EWXWEXPORT(void,wxCommandEvent_SetInt)(wxCommandEvent* self,int i)
 {
-        ((wxCommandEvent*)_obj)->SetInt(i);
+        self->SetInt(i);
 }
 
-EWXWEXPORT(long, wxCommandEvent_GetInt)(void* _obj)
+EWXWEXPORT(long,wxCommandEvent_GetInt)(wxCommandEvent* self)
 {
-        return ((wxCommandEvent*)_obj)->GetInt();
+        return self->GetInt();
 }
 
-EWXWEXPORT(void, wxCommandEvent_CopyObject)(void* _obj, void* object_dest)
+EWXWEXPORT(void,wxCommandEvent_CopyObject)(wxCommandEvent* self,wxObject* object_dest)
 {
 #if wxVERSION_NUMBER < 2400
-        ((wxCommandEvent*)_obj)->CopyObject(*((wxObject*) object_dest));
+        self->CopyObject(*object_dest);
 #endif
 }
 
-EWXWEXPORT(void, wxNotifyEvent_Veto)(void* _obj)
+EWXWEXPORT(void,wxNotifyEvent_Veto)(wxNotifyEvent* self)
 {
-        ((wxNotifyEvent*)_obj)->Veto();
+        self->Veto();
 }
 
-EWXWEXPORT(void, wxNotifyEvent_Allow)(void* _obj)
+EWXWEXPORT(void,wxNotifyEvent_Allow)(wxNotifyEvent* self)
 {
-        ((wxNotifyEvent*)_obj)->Allow();
+        self->Allow();
 }
 
-EWXWEXPORT(int, wxNotifyEvent_IsAllowed)(void* _obj)
+EWXWEXPORT(bool,wxNotifyEvent_IsAllowed)(wxNotifyEvent* self)
 {
-        return (int)((wxNotifyEvent*)_obj)->IsAllowed();
+        return self->IsAllowed();
 }
 
-EWXWEXPORT(void, wxNotifyEvent_CopyObject)(void* _obj, void* object_dest)
+EWXWEXPORT(void,wxNotifyEvent_CopyObject)(wxNotifyEvent* self,wxObject* object_dest)
 {
 #if wxVERSION_NUMBER < 2400
-        ((wxNotifyEvent*)_obj)->CopyObject(*((wxObject*) object_dest));
+        self->CopyObject(*object_dest);
 #endif
 }
 
-EWXWEXPORT(int, wxScrollWinEvent_GetOrientation)(void* _obj)
+EWXWEXPORT(int,wxScrollWinEvent_GetOrientation)(wxScrollWinEvent* self)
 {
-        return ((wxScrollWinEvent*)_obj)->GetOrientation();
+        return self->GetOrientation();
 }
 
-EWXWEXPORT(int, wxScrollWinEvent_GetPosition)(void* _obj)
+EWXWEXPORT(int,wxScrollWinEvent_GetPosition)(wxScrollWinEvent* self)
 {
-        return ((wxScrollWinEvent*)_obj)->GetPosition();
+        return self->GetPosition();
 }
 
-EWXWEXPORT(void, wxScrollWinEvent_SetOrientation)(void* _obj, int orient)
+EWXWEXPORT(void,wxScrollWinEvent_SetOrientation)(wxScrollWinEvent* self,int orient)
 {
-        ((wxScrollWinEvent*)_obj)->SetOrientation(orient);
+        self->SetOrientation(orient);
 }
 
-EWXWEXPORT(void, wxScrollWinEvent_SetPosition)(void* _obj, int pos)
+EWXWEXPORT(void,wxScrollWinEvent_SetPosition)(wxScrollWinEvent* self,int pos)
 {
-        ((wxScrollWinEvent*)_obj)->SetPosition(pos);
+        self->SetPosition(pos);
 }
 
-EWXWEXPORT(int, wxMouseEvent_IsButton)(void* _obj)
+EWXWEXPORT(bool,wxMouseEvent_IsButton)(wxMouseEvent* self)
 {
-        return (int)((wxMouseEvent*)_obj)->IsButton();
+        return self->IsButton();
 }
 
-EWXWEXPORT(int, wxMouseEvent_ButtonDown)(void* _obj, int but)
+EWXWEXPORT(bool,wxMouseEvent_ButtonDown)(wxMouseEvent* self,int but)
 {
-        return (int)((wxMouseEvent*)_obj)->ButtonDown(but);
+        return self->ButtonDown(but);
 }
 
-EWXWEXPORT(int, wxMouseEvent_ButtonDClick)(void* _obj, int but)
+EWXWEXPORT(bool,wxMouseEvent_ButtonDClick)(wxMouseEvent* self,int but)
 {
-        return (int)((wxMouseEvent*)_obj)->ButtonDClick(but);
+        return self->ButtonDClick(but);
 }
 
-EWXWEXPORT(int, wxMouseEvent_ButtonUp)(void* _obj, int but)
+EWXWEXPORT(bool,wxMouseEvent_ButtonUp)(wxMouseEvent* self,int but)
 {
-        return (int)((wxMouseEvent*)_obj)->ButtonUp(but);
+        return self->ButtonUp(but);
 }
 
-EWXWEXPORT(int, wxMouseEvent_Button)(void* _obj, int but)
+EWXWEXPORT(bool,wxMouseEvent_Button)(wxMouseEvent* self,int but)
 {
-        return (int)((wxMouseEvent*)_obj)->Button(but);
+        return self->Button(but);
 }
 
-EWXWEXPORT(int, wxMouseEvent_ButtonIsDown)(void* _obj, int but)
+EWXWEXPORT(bool,wxMouseEvent_ButtonIsDown)(wxMouseEvent* self,int but)
 {
-        return (int)((wxMouseEvent*)_obj)->ButtonIsDown(but);
+        return self->ButtonIsDown(but);
 }
 
-EWXWEXPORT(int, wxMouseEvent_ControlDown)(void* _obj)
+EWXWEXPORT(bool,wxMouseEvent_ControlDown)(wxMouseEvent* self)
 {
-        return (int)((wxMouseEvent*)_obj)->ControlDown();
+        return self->ControlDown();
 }
 
-EWXWEXPORT(int, wxMouseEvent_MetaDown)(void* _obj)
+EWXWEXPORT(bool,wxMouseEvent_MetaDown)(wxMouseEvent* self)
 {
-        return (int)((wxMouseEvent*)_obj)->MetaDown();
+        return self->MetaDown();
 }
 
-EWXWEXPORT(int, wxMouseEvent_AltDown)(void* _obj)
+EWXWEXPORT(bool,wxMouseEvent_AltDown)(wxMouseEvent* self)
 {
-        return (int)((wxMouseEvent*)_obj)->AltDown();
+        return self->AltDown();
 }
 
-EWXWEXPORT(int, wxMouseEvent_ShiftDown)(void* _obj)
+EWXWEXPORT(bool,wxMouseEvent_ShiftDown)(wxMouseEvent* self)
 {
-        return (int)((wxMouseEvent*)_obj)->ShiftDown();
+        return self->ShiftDown();
 }
 
-EWXWEXPORT(int, wxMouseEvent_LeftDown)(void* _obj)
+EWXWEXPORT(bool,wxMouseEvent_LeftDown)(wxMouseEvent* self)
 {
-        return (int)((wxMouseEvent*)_obj)->LeftDown();
+        return self->LeftDown();
 }
 
-EWXWEXPORT(int, wxMouseEvent_MiddleDown)(void* _obj)
+EWXWEXPORT(bool,wxMouseEvent_MiddleDown)(wxMouseEvent* self)
 {
-        return (int)((wxMouseEvent*)_obj)->MiddleDown();
+        return self->MiddleDown();
 }
 
-EWXWEXPORT(int, wxMouseEvent_RightDown)(void* _obj)
+EWXWEXPORT(bool,wxMouseEvent_RightDown)(wxMouseEvent* self)
 {
-        return (int)((wxMouseEvent*)_obj)->RightDown();
+        return self->RightDown();
 }
 
-EWXWEXPORT(int, wxMouseEvent_LeftUp)(void* _obj)
+EWXWEXPORT(bool,wxMouseEvent_LeftUp)(wxMouseEvent* self)
 {
-        return (int)((wxMouseEvent*)_obj)->LeftUp();
+        return self->LeftUp();
 }
 
-EWXWEXPORT(int, wxMouseEvent_MiddleUp)(void* _obj)
+EWXWEXPORT(bool,wxMouseEvent_MiddleUp)(wxMouseEvent* self)
 {
-        return (int)((wxMouseEvent*)_obj)->MiddleUp();
+        return self->MiddleUp();
 }
 
-EWXWEXPORT(int, wxMouseEvent_RightUp)(void* _obj)
+EWXWEXPORT(bool,wxMouseEvent_RightUp)(wxMouseEvent* self)
 {
-        return (int)((wxMouseEvent*)_obj)->RightUp();
+        return self->RightUp();
 }
 
-EWXWEXPORT(int, wxMouseEvent_LeftDClick)(void* _obj)
+EWXWEXPORT(bool,wxMouseEvent_LeftDClick)(wxMouseEvent* self)
 {
-        return (int)((wxMouseEvent*)_obj)->LeftDClick();
+        return self->LeftDClick();
 }
 
-EWXWEXPORT(int, wxMouseEvent_MiddleDClick)(void* _obj)
+EWXWEXPORT(bool,wxMouseEvent_MiddleDClick)(wxMouseEvent* self)
 {
-        return (int)((wxMouseEvent*)_obj)->MiddleDClick();
+        return self->MiddleDClick();
 }
 
-EWXWEXPORT(int, wxMouseEvent_RightDClick)(void* _obj)
+EWXWEXPORT(bool,wxMouseEvent_RightDClick)(wxMouseEvent* self)
 {
-        return (int)((wxMouseEvent*)_obj)->RightDClick();
+        return self->RightDClick();
 }
 
-EWXWEXPORT(int, wxMouseEvent_LeftIsDown)(void* _obj)
+EWXWEXPORT(bool,wxMouseEvent_LeftIsDown)(wxMouseEvent* self)
 {
-        return (int)((wxMouseEvent*)_obj)->LeftIsDown();
+        return self->LeftIsDown();
 }
 
-EWXWEXPORT(int, wxMouseEvent_MiddleIsDown)(void* _obj)
+EWXWEXPORT(bool,wxMouseEvent_MiddleIsDown)(wxMouseEvent* self)
 {
-        return (int)((wxMouseEvent*)_obj)->MiddleIsDown();
+        return self->MiddleIsDown();
 }
 
-EWXWEXPORT(int, wxMouseEvent_RightIsDown)(void* _obj)
+EWXWEXPORT(bool,wxMouseEvent_RightIsDown)(wxMouseEvent* self)
 {
-        return (int)((wxMouseEvent*)_obj)->RightIsDown();
+        return self->RightIsDown();
 }
 
-EWXWEXPORT(int, wxMouseEvent_Dragging)(void* _obj)
+EWXWEXPORT(bool,wxMouseEvent_Dragging)(wxMouseEvent* self)
 {
-        return (int)((wxMouseEvent*)_obj)->Dragging();
+        return self->Dragging();
 }
 
-EWXWEXPORT(int, wxMouseEvent_Moving)(void* _obj)
+EWXWEXPORT(bool,wxMouseEvent_Moving)(wxMouseEvent* self)
 {
-        return (int)((wxMouseEvent*)_obj)->Moving();
+        return self->Moving();
 }
 
-EWXWEXPORT(int, wxMouseEvent_Entering)(void* _obj)
+EWXWEXPORT(bool,wxMouseEvent_Entering)(wxMouseEvent* self)
 {
-        return (int)((wxMouseEvent*)_obj)->Entering();
+        return self->Entering();
 }
 
-EWXWEXPORT(int, wxMouseEvent_Leaving)(void* _obj)
+EWXWEXPORT(bool,wxMouseEvent_Leaving)(wxMouseEvent* self)
 {
-        return (int)((wxMouseEvent*)_obj)->Leaving();
+        return self->Leaving();
 }
 
 EWXWEXPORT(void, wxMouseEvent_GetPosition)(void* _obj, int* xpos, int* ypos)
@@ -358,102 +359,107 @@
         *ypos = pt.y;
 }
 
-EWXWEXPORT(int, wxMouseEvent_GetX)(void* _obj)
+EWXWEXPORT(int,wxMouseEvent_GetX)(wxMouseEvent* self)
 {
-        return ((wxMouseEvent*)_obj)->GetX();
+        return self->GetX();
 }
 
-EWXWEXPORT(int, wxMouseEvent_GetY)(void* _obj)
+EWXWEXPORT(int,wxMouseEvent_GetY)(wxMouseEvent* self)
 {
-        return ((wxMouseEvent*)_obj)->GetY();
+        return self->GetY();
 }
 
-EWXWEXPORT(void, wxMouseEvent_CopyObject)(void* _obj, void* object_dest)
+EWXWEXPORT(void,wxMouseEvent_CopyObject)(wxMouseEvent* self,wxObject* object_dest)
 {
 #if wxVERSION_NUMBER < 2400
-        ((wxMouseEvent*)_obj)->CopyObject(*((wxObject*) object_dest));
+        self->CopyObject(*object_dest);
 #endif
 }
 
-EWXWEXPORT(int, wxSetCursorEvent_GetX)(void* _obj)
+EWXWEXPORT(wxCoord,wxSetCursorEvent_GetX)(wxSetCursorEvent* self)
 {
-        return (int)((wxSetCursorEvent*)_obj)->GetX();
+        return self->GetX();
 }
 
-EWXWEXPORT(int, wxSetCursorEvent_GetY)(void* _obj)
+EWXWEXPORT(wxCoord,wxSetCursorEvent_GetY)(wxSetCursorEvent* self)
 {
-        return (int)((wxSetCursorEvent*)_obj)->GetY();
+        return self->GetY();
 }
 
-EWXWEXPORT(void, wxSetCursorEvent_SetCursor)(void* _obj, void* cursor)
+EWXWEXPORT(void,wxSetCursorEvent_SetCursor)(wxSetCursorEvent* self,wxCursor* cursor)
 {
-        ((wxSetCursorEvent*)_obj)->SetCursor(*((wxCursor*)cursor));
+        self->SetCursor(*cursor);
 }
 
-EWXWEXPORT(void*, wxSetCursorEvent_GetCursor)(void* _obj)
+EWXWEXPORT(void*,wxSetCursorEvent_GetCursor)(void* self)
 {
-        return (void*)(&((wxSetCursorEvent*)_obj)->GetCursor());
+        return (void*)(&((wxSetCursorEvent*)self)->GetCursor());
 }
 
-EWXWEXPORT(int, wxSetCursorEvent_HasCursor)(void* _obj)
+EWXWEXPORT(bool,wxSetCursorEvent_HasCursor)(wxSetCursorEvent* self)
 {
-        return (int)((wxSetCursorEvent*)_obj)->HasCursor();
+        return self->HasCursor();
 }
 
-EWXWEXPORT(int, wxKeyEvent_ControlDown)(void* _obj)
+EWXWEXPORT(bool,wxKeyEvent_ControlDown)(wxKeyEvent* self)
 {
-        return (int)((wxKeyEvent*)_obj)->ControlDown();
+        return self->ControlDown();
 }
 
-EWXWEXPORT(int, wxKeyEvent_MetaDown)(void* _obj)
+EWXWEXPORT(bool,wxKeyEvent_MetaDown)(wxKeyEvent* self)
 {
-        return (int)((wxKeyEvent*)_obj)->MetaDown();
+        return self->MetaDown();
 }
 
-EWXWEXPORT(int, wxKeyEvent_AltDown)(void* _obj)
+EWXWEXPORT(bool,wxKeyEvent_AltDown)(wxKeyEvent* self)
 {
-        return (int)((wxKeyEvent*)_obj)->AltDown();
+        return self->AltDown();
 }
 
-EWXWEXPORT(int, wxKeyEvent_ShiftDown)(void* _obj)
+EWXWEXPORT(bool,wxKeyEvent_ShiftDown)(wxKeyEvent* self)
 {
-        return (int)((wxKeyEvent*)_obj)->ShiftDown();
+        return self->ShiftDown();
 }
 
-EWXWEXPORT(int, wxKeyEvent_HasModifiers)(void* _obj)
+EWXWEXPORT(bool,wxKeyEvent_HasModifiers)(wxKeyEvent* self)
 {
-        return (int)((wxKeyEvent*)_obj)->HasModifiers();
+        return self->HasModifiers();
 }
 
-EWXWEXPORT(int, wxKeyEvent_GetKeyCode)(void* _obj)
+EWXWEXPORT(int,wxKeyEvent_GetKeyCode)(wxKeyEvent* self)
 {
-        return ((wxKeyEvent*)_obj)->GetKeyCode();
+        return self->GetKeyCode();
 }
 
-EWXWEXPORT(void, wxKeyEvent_SetKeyCode)(void* _obj, int code)
+EWXWEXPORT(int,wxKeyEvent_GetModifiers)(wxKeyEvent* self)
 {
-        ((wxKeyEvent*)_obj)->m_keyCode = code;
+        return self->GetModifiers();
 }
 
+EWXWEXPORT(void,wxKeyEvent_SetKeyCode)(wxKeyEvent* self,int code)
+{
+        self->m_keyCode = code;
+}
+
 EWXWEXPORT(void, wxKeyEvent_GetPosition)(void* _obj, int* xpos, int* ypos)
 {
         ((wxKeyEvent*)_obj)->GetPosition((wxCoord*) xpos, (wxCoord*) ypos);
 }
 
-EWXWEXPORT(int, wxKeyEvent_GetX)(void* _obj)
+EWXWEXPORT(wxCoord,wxKeyEvent_GetX)(wxKeyEvent* self)
 {
-        return (int)((wxKeyEvent*)_obj)->GetX();
+        return self->GetX();
 }
 
-EWXWEXPORT(int, wxKeyEvent_GetY)(void* _obj)
+EWXWEXPORT(wxCoord,wxKeyEvent_GetY)(wxKeyEvent* self)
 {
-        return (int)((wxKeyEvent*)_obj)->GetY();
+        return self->GetY();
 }
 
-EWXWEXPORT(void, wxKeyEvent_CopyObject)(void* _obj, void* obj)
+EWXWEXPORT(void,wxKeyEvent_CopyObject)(wxKeyEvent* self,wxObject* obj)
 {
 #if wxVERSION_NUMBER < 2400
-        ((wxKeyEvent*)_obj)->CopyObject(*((wxObject*)obj));
+        self->CopyObject(*obj);
 #endif
 }
 
@@ -464,10 +470,10 @@
         *h = sz.y;
 }
 
-EWXWEXPORT(void, wxSizeEvent_CopyObject)(void* _obj, void* obj)
+EWXWEXPORT(void,wxSizeEvent_CopyObject)(wxSizeEvent* self,wxObject* obj)
 {
 #if wxVERSION_NUMBER < 2400
-        ((wxSizeEvent*)_obj)->CopyObject(*((wxObject*)obj));
+        self->CopyObject(*obj);
 #endif
 }
 
@@ -478,100 +484,100 @@
         *y = pt.y;
 }
 
-EWXWEXPORT(void, wxMoveEvent_CopyObject)(void* _obj, void* obj)
+EWXWEXPORT(void,wxMoveEvent_CopyObject)(wxMoveEvent* self,wxObject* obj)
 {
 #if wxVERSION_NUMBER < 2400
-        ((wxMoveEvent*)_obj)->CopyObject(*((wxObject*)obj));
+        self->CopyObject(*obj);
 #endif
 }
 
-EWXWEXPORT(void*, wxEraseEvent_GetDC)(void* _obj)
+EWXWEXPORT(void*,wxEraseEvent_GetDC)(void* self)
 {
-        return (void*)((wxEraseEvent*)_obj)->GetDC();
+        return (void*)((wxEraseEvent*)self)->GetDC();
 }
 
-EWXWEXPORT(void, wxEraseEvent_CopyObject)(void* _obj, void* obj)
+EWXWEXPORT(void,wxEraseEvent_CopyObject)(wxEraseEvent* self,wxObject* obj)
 {
 #if wxVERSION_NUMBER < 2400
-        ((wxEraseEvent*)_obj)->CopyObject(*((wxObject*)obj));
+        self->CopyObject(*obj);
 #endif
 }
 
-EWXWEXPORT(int, wxActivateEvent_GetActive)(void* _obj)
+EWXWEXPORT(bool,wxActivateEvent_GetActive)(wxActivateEvent* self)
 {
-        return (int)((wxActivateEvent*)_obj)->GetActive();
+        return self->GetActive();
 }
 
-EWXWEXPORT(void, wxActivateEvent_CopyObject)(void* _obj, void* obj)
+EWXWEXPORT(void,wxActivateEvent_CopyObject)(wxActivateEvent* self,wxObject* obj)
 {
 #if wxVERSION_NUMBER < 2400
-        ((wxActivateEvent*)_obj)->CopyObject(*((wxObject*)obj));
+        self->CopyObject(*obj);
 #endif
 }
 
-EWXWEXPORT(int, wxMenuEvent_GetMenuId)(void* _obj)
+EWXWEXPORT(int,wxMenuEvent_GetMenuId)(wxMenuEvent* self)
 {
-        return ((wxMenuEvent*)_obj)->GetMenuId();
+        return self->GetMenuId();
 }
 
-EWXWEXPORT(void, wxMenuEvent_CopyObject)(void* _obj, void* obj)
+EWXWEXPORT(void,wxMenuEvent_CopyObject)(wxMenuEvent* self,wxObject* obj)
 {
 #if wxVERSION_NUMBER < 2400
-        ((wxMenuEvent*)_obj)->CopyObject(*((wxObject*)obj));
+        self->CopyObject(*obj);
 #endif
 }
 
-EWXWEXPORT(void, wxCloseEvent_SetLoggingOff)(void* _obj, int logOff)
+EWXWEXPORT(void,wxCloseEvent_SetLoggingOff)(wxCloseEvent* self,bool logOff)
 {
-        ((wxCloseEvent*)_obj)->SetLoggingOff(logOff != 0);
+        self->SetLoggingOff(logOff);
 }
 
-EWXWEXPORT(int, wxCloseEvent_GetLoggingOff)(void* _obj)
+EWXWEXPORT(bool,wxCloseEvent_GetLoggingOff)(wxCloseEvent* self)
 {
-        return (int)((wxCloseEvent*)_obj)->GetLoggingOff();
+        return self->GetLoggingOff();
 }
 
-EWXWEXPORT(void, wxCloseEvent_Veto)(void* _obj, int veto)
+EWXWEXPORT(void,wxCloseEvent_Veto)(wxCloseEvent* self,bool veto)
 {
-        ((wxCloseEvent*)_obj)->Veto(veto != 0);
+        self->Veto(veto);
 }
 
-EWXWEXPORT(void, wxCloseEvent_SetCanVeto)(void* _obj, int canVeto)
+EWXWEXPORT(void,wxCloseEvent_SetCanVeto)(wxCloseEvent* self,bool canVeto)
 {
-        ((wxCloseEvent*)_obj)->SetCanVeto(canVeto != 0);
+        self->SetCanVeto(canVeto);
 }
 
-EWXWEXPORT(int, wxCloseEvent_CanVeto)(void* _obj)
+EWXWEXPORT(bool,wxCloseEvent_CanVeto)(wxCloseEvent* self)
 {
-        return (int)((wxCloseEvent*)_obj)->CanVeto();
+        return self->CanVeto();
 }
 
-EWXWEXPORT(int, wxCloseEvent_GetVeto)(void* _obj)
+EWXWEXPORT(bool,wxCloseEvent_GetVeto)(wxCloseEvent* self)
 {
-        return (int)((wxCloseEvent*)_obj)->GetVeto();
+        return self->GetVeto();
 }
 
-EWXWEXPORT(void, wxCloseEvent_CopyObject)(void* _obj, void* obj)
+EWXWEXPORT(void,wxCloseEvent_CopyObject)(wxCloseEvent* self,wxObject* obj)
 {
 #if wxVERSION_NUMBER < 2400
-        ((wxCloseEvent*)_obj)->CopyObject(*((wxObject*)obj));
+        self->CopyObject(*obj);
 #endif
 }
 
-EWXWEXPORT(void, wxShowEvent_SetShow)(void* _obj, int show)
+EWXWEXPORT(void,wxShowEvent_SetShow)(wxShowEvent* self,bool show)
 {
-        ((wxShowEvent*)_obj)->SetShow(show != 0);
+        self->SetShow(show);
 }
 
-EWXWEXPORT(int, wxShowEvent_GetShow)(void* _obj)
+EWXWEXPORT(bool,wxShowEvent_GetShow)(wxShowEvent* self)
 {
-        return (int)((wxShowEvent*)_obj)->GetShow();
+        return self->GetShow();
 }
 
-EWXWEXPORT(void, wxShowEvent_CopyObject)(void* _obj, void* obj)
+EWXWEXPORT(void,wxShowEvent_CopyObject)(wxShowEvent* self,wxObject* obj)
 {
 #if wxVERSION_NUMBER < 2400
-        ((wxShowEvent*)_obj)->CopyObject(*((wxObject*)obj));
+        self->CopyObject(*obj);
 #endif
 }
 
@@ -582,261 +588,262 @@
         *y = pt.y;
 }
 
-EWXWEXPORT(int, wxJoystickEvent_GetZPosition)(void* _obj)
+EWXWEXPORT(int,wxJoystickEvent_GetZPosition)(wxJoystickEvent* self)
 {
-        return ((wxJoystickEvent*)_obj)->GetZPosition();
+        return self->GetZPosition();
 }
 
-EWXWEXPORT(int, wxJoystickEvent_GetButtonState)(void* _obj)
+EWXWEXPORT(int,wxJoystickEvent_GetButtonState)(wxJoystickEvent* self)
 {
-        return ((wxJoystickEvent*)_obj)->GetButtonState();
+        return self->GetButtonState();
 }
 
-EWXWEXPORT(int, wxJoystickEvent_GetButtonChange)(void* _obj)
+EWXWEXPORT(int,wxJoystickEvent_GetButtonChange)(wxJoystickEvent* self)
 {
-        return ((wxJoystickEvent*)_obj)->GetButtonChange();
+        return self->GetButtonChange();
 }
 
-EWXWEXPORT(int, wxJoystickEvent_GetJoystick)(void* _obj)
+EWXWEXPORT(int,wxJoystickEvent_GetJoystick)(wxJoystickEvent* self)
 {
-        return ((wxJoystickEvent*)_obj)->GetJoystick();
+        return self->GetJoystick();
 }
 
-EWXWEXPORT(void, wxJoystickEvent_SetJoystick)(void* _obj, int stick)
+EWXWEXPORT(void,wxJoystickEvent_SetJoystick)(wxJoystickEvent* self,int stick)
 {
-        ((wxJoystickEvent*)_obj)->SetJoystick(stick);
+        self->SetJoystick(stick);
 }
 
-EWXWEXPORT(void, wxJoystickEvent_SetButtonState)(void* _obj, int state)
+EWXWEXPORT(void,wxJoystickEvent_SetButtonState)(wxJoystickEvent* self,int state)
 {
-        ((wxJoystickEvent*)_obj)->SetButtonState(state);
+        self->SetButtonState(state);
 }
 
-EWXWEXPORT(void, wxJoystickEvent_SetButtonChange)(void* _obj, int change)
+EWXWEXPORT(void,wxJoystickEvent_SetButtonChange)(wxJoystickEvent* self,int change)
 {
-        ((wxJoystickEvent*)_obj)->SetButtonChange(change);
+        self->SetButtonChange(change);
 }
 
-EWXWEXPORT(void, wxJoystickEvent_SetPosition)(void* _obj, void* pos)
+EWXWEXPORT(void,wxJoystickEvent_SetPosition)(wxJoystickEvent* self,void* pos)
 {
-        ((wxJoystickEvent*)_obj)->SetPosition(*((wxPoint*)pos));
+        self->SetPosition(*((wxPoint*)pos));
 }
 
-EWXWEXPORT(void, wxJoystickEvent_SetZPosition)(void* _obj, int zPos)
+EWXWEXPORT(void,wxJoystickEvent_SetZPosition)(wxJoystickEvent* self,int zPos)
 {
-        ((wxJoystickEvent*)_obj)->SetZPosition(zPos);
+        self->SetZPosition(zPos);
 }
 
-EWXWEXPORT(int, wxJoystickEvent_IsButton)(void* _obj)
+EWXWEXPORT(bool,wxJoystickEvent_IsButton)(wxJoystickEvent* self)
 {
-        return (int)((wxJoystickEvent*)_obj)->IsButton();
+        return self->IsButton();
 }
 
-EWXWEXPORT(int, wxJoystickEvent_IsMove)(void* _obj)
+EWXWEXPORT(bool,wxJoystickEvent_IsMove)(wxJoystickEvent* self)
 {
-        return (int)((wxJoystickEvent*)_obj)->IsMove();
+        return self->IsMove();
 }
 
-EWXWEXPORT(int, wxJoystickEvent_IsZMove)(void* _obj)
+EWXWEXPORT(bool,wxJoystickEvent_IsZMove)(wxJoystickEvent* self)
 {
-        return (int)((wxJoystickEvent*)_obj)->IsZMove();
+        return self->IsZMove();
 }
 
-EWXWEXPORT(int, wxJoystickEvent_ButtonDown)(void* _obj, int but)
+EWXWEXPORT(bool,wxJoystickEvent_ButtonDown)(wxJoystickEvent* self,int but)
 {
-        return (int)((wxJoystickEvent*)_obj)->ButtonDown(but);
+        return self->ButtonDown(but);
 }
 
-EWXWEXPORT(int, wxJoystickEvent_ButtonUp)(void* _obj, int but)
+EWXWEXPORT(bool,wxJoystickEvent_ButtonUp)(wxJoystickEvent* self,int but)
 {
-        return (int)((wxJoystickEvent*)_obj)->ButtonUp(but);
+        return self->ButtonUp(but);
 }
 
-EWXWEXPORT(int, wxJoystickEvent_ButtonIsDown)(void* _obj, int but)
+EWXWEXPORT(bool,wxJoystickEvent_ButtonIsDown)(wxJoystickEvent* self,int but)
 {
-        return (int)((wxJoystickEvent*)_obj)->ButtonIsDown(but);
+        return self->ButtonIsDown(but);
 }
 
-EWXWEXPORT(void, wxJoystickEvent_CopyObject)(void* _obj, void* obj)
+EWXWEXPORT(void,wxJoystickEvent_CopyObject)(wxJoystickEvent* self,wxObject* obj)
 {
 #if wxVERSION_NUMBER < 2400
-        ((wxJoystickEvent*)_obj)->CopyObject(*((wxObject*)obj));
+        self->CopyObject(*obj);
 #endif
 }
 
-EWXWEXPORT(int, wxUpdateUIEvent_GetChecked)(void* _obj)
+EWXWEXPORT(bool,wxUpdateUIEvent_GetChecked)(wxUpdateUIEvent* self)
 {
-        return (int)((wxUpdateUIEvent*)_obj)->GetChecked();
+        return self->GetChecked();
 }
 
-EWXWEXPORT(int, wxUpdateUIEvent_GetEnabled)(void* _obj)
+EWXWEXPORT(bool,wxUpdateUIEvent_GetEnabled)(wxUpdateUIEvent* self)
 {
-        return (int)((wxUpdateUIEvent*)_obj)->GetEnabled();
+        return self->GetEnabled();
 }
 
-EWXWEXPORT(int, wxUpdateUIEvent_GetText)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxUpdateUIEvent_GetText)(wxUpdateUIEvent* self)
 {
-        wxString result =((wxUpdateUIEvent*)_obj)->GetText();
-        return copyStrToBuf(_buf, result); 
+        wxString *result = new wxString();
+        *result = self->GetText();
+        return result;
 }
 
-EWXWEXPORT(int, wxUpdateUIEvent_GetSetText)(void* _obj)
+EWXWEXPORT(bool,wxUpdateUIEvent_GetSetText)(wxUpdateUIEvent* self)
 {
-        return (int)((wxUpdateUIEvent*)_obj)->GetSetText();
+        return self->GetSetText();
 }
 
-EWXWEXPORT(int, wxUpdateUIEvent_GetSetChecked)(void* _obj)
+EWXWEXPORT(bool,wxUpdateUIEvent_GetSetChecked)(wxUpdateUIEvent* self)
 {
-        return (int)((wxUpdateUIEvent*)_obj)->GetSetChecked();
+        return self->GetSetChecked();
 }
 
-EWXWEXPORT(int, wxUpdateUIEvent_GetSetEnabled)(void* _obj)
+EWXWEXPORT(bool,wxUpdateUIEvent_GetSetEnabled)(wxUpdateUIEvent* self)
 {
-        return (int)((wxUpdateUIEvent*)_obj)->GetSetEnabled();
+        return self->GetSetEnabled();
 }
 
-EWXWEXPORT(void, wxUpdateUIEvent_Check)(void* _obj, int check)
+EWXWEXPORT(void,wxUpdateUIEvent_Check)(wxUpdateUIEvent* self,bool check)
 {
-        ((wxUpdateUIEvent*)_obj)->Check(check != 0);
+        self->Check(check);
 }
 
-EWXWEXPORT(void, wxUpdateUIEvent_Enable)(void* _obj, int enable)
+EWXWEXPORT(void,wxUpdateUIEvent_Enable)(wxUpdateUIEvent* self,bool enable)
 {
-        ((wxUpdateUIEvent*)_obj)->Enable(enable != 0);
+        self->Enable(enable);
 }
 
-EWXWEXPORT(void, wxUpdateUIEvent_SetText)(void* _obj, wxChar* text)
+EWXWEXPORT(void,wxUpdateUIEvent_SetText)(wxUpdateUIEvent* self,wxString* text)
 {
-        ((wxUpdateUIEvent*)_obj)->SetText(text);
+        self->SetText(*text);
 }
 
-EWXWEXPORT(void, wxUpdateUIEvent_CopyObject)(void* _obj, void* obj)
+EWXWEXPORT(void,wxUpdateUIEvent_CopyObject)(wxUpdateUIEvent* self,wxObject* obj)
 {
 #if wxVERSION_NUMBER < 2400
-        ((wxUpdateUIEvent*)_obj)->CopyObject(*((wxObject*)obj));
+        self->CopyObject(*obj);
 #endif
 }
 
-EWXWEXPORT(void, wxPaletteChangedEvent_SetChangedWindow)(void* _obj, void* win)
+EWXWEXPORT(void,wxPaletteChangedEvent_SetChangedWindow)(wxPaletteChangedEvent* self,wxWindow* win)
 {
-        ((wxPaletteChangedEvent*)_obj)->SetChangedWindow((wxWindow*) win);
+        self->SetChangedWindow(win);
 }
 
-EWXWEXPORT(void*, wxPaletteChangedEvent_GetChangedWindow)(void* _obj)
+EWXWEXPORT(void*,wxPaletteChangedEvent_GetChangedWindow)(wxPaletteChangedEvent* self)
 {
-        return (void*)((wxPaletteChangedEvent*)_obj)->GetChangedWindow();
+        return (void*)self->GetChangedWindow();
 }
 
-EWXWEXPORT(void, wxPaletteChangedEvent_CopyObject)(void* _obj, void* obj)
+EWXWEXPORT(void,wxPaletteChangedEvent_CopyObject)(wxPaletteChangedEvent* self,wxObject* obj)
 {
 #if wxVERSION_NUMBER < 2400
-        ((wxPaletteChangedEvent*)_obj)->CopyObject(*((wxObject*)obj));
+        self->CopyObject(*obj);
 #endif
 }
 
-EWXWEXPORT(void, wxQueryNewPaletteEvent_SetPaletteRealized)(void* _obj, int realized)
+EWXWEXPORT(void,wxQueryNewPaletteEvent_SetPaletteRealized)(wxQueryNewPaletteEvent* self,bool realized)
 {
-        ((wxQueryNewPaletteEvent*)_obj)->SetPaletteRealized(realized != 0);
+        self->SetPaletteRealized(realized);
 }
 
-EWXWEXPORT(int, wxQueryNewPaletteEvent_GetPaletteRealized)(void* _obj)
+EWXWEXPORT(bool,wxQueryNewPaletteEvent_GetPaletteRealized)(wxQueryNewPaletteEvent* self)
 {
-        return (int)((wxQueryNewPaletteEvent*)_obj)->GetPaletteRealized();
+        return self->GetPaletteRealized();
 }
 
-EWXWEXPORT(void, wxQueryNewPaletteEvent_CopyObject)(void* _obj, void* obj)
+EWXWEXPORT(void,wxQueryNewPaletteEvent_CopyObject)(wxQueryNewPaletteEvent* self,wxObject* obj)
 {
 #if wxVERSION_NUMBER < 2400
-        ((wxQueryNewPaletteEvent*)_obj)->CopyObject(*((wxObject*)obj));
+        self->CopyObject(*obj);
 #endif
 }
 
-EWXWEXPORT(int, wxNavigationKeyEvent_GetDirection)(void* _obj)
+EWXWEXPORT(bool,wxNavigationKeyEvent_GetDirection)(wxNavigationKeyEvent* self)
 {
-        return (int)((wxNavigationKeyEvent*)_obj)->GetDirection();
+        return self->GetDirection();
 }
 
-EWXWEXPORT(void, wxNavigationKeyEvent_SetDirection)(void* _obj, int bForward)
+EWXWEXPORT(void,wxNavigationKeyEvent_SetDirection)(wxNavigationKeyEvent* self,bool bForward)
 {
-        ((wxNavigationKeyEvent*)_obj)->SetDirection(bForward != 0);
+        self->SetDirection(bForward);
 }
 
-EWXWEXPORT(int, wxNavigationKeyEvent_IsWindowChange)(void* _obj)
+EWXWEXPORT(bool,wxNavigationKeyEvent_IsWindowChange)(wxNavigationKeyEvent* self)
 {
-        return (int)((wxNavigationKeyEvent*)_obj)->IsWindowChange();
+        return self->IsWindowChange();
 }
 
-EWXWEXPORT(void, wxNavigationKeyEvent_SetWindowChange)(void* _obj, int bIs)
+EWXWEXPORT(void,wxNavigationKeyEvent_SetWindowChange)(wxNavigationKeyEvent* self,bool bIs)
 {
-        ((wxNavigationKeyEvent*)_obj)->SetWindowChange(bIs != 0);
+        self->SetWindowChange(bIs);
 }
 
-EWXWEXPORT(int, wxNavigationKeyEvent_ShouldPropagate)(void* _obj)
+EWXWEXPORT(bool,wxNavigationKeyEvent_ShouldPropagate)(wxNavigationKeyEvent* self)
 {
-        return (int)((wxNavigationKeyEvent*)_obj)->ShouldPropagate();
+        return self->ShouldPropagate();
 }
 	
-EWXWEXPORT(void*, wxNavigationKeyEvent_GetCurrentFocus)(void* _obj)
+EWXWEXPORT(void*,wxNavigationKeyEvent_GetCurrentFocus)(wxNavigationKeyEvent* self)
 {
-        return (void*)((wxNavigationKeyEvent*)_obj)->GetCurrentFocus();
+        return (void*) self->GetCurrentFocus();
 }
 
-EWXWEXPORT(void, wxNavigationKeyEvent_SetCurrentFocus)(void* _obj, void* win)
+EWXWEXPORT(void,wxNavigationKeyEvent_SetCurrentFocus)(wxNavigationKeyEvent* self,wxWindow* win)
 {
-        ((wxNavigationKeyEvent*)_obj)->SetCurrentFocus((wxWindow*)win);
+        self->SetCurrentFocus(win);
 }
 
-EWXWEXPORT(void*, wxWindowCreateEvent_GetWindow)(void* _obj)
+EWXWEXPORT(void*,wxWindowCreateEvent_GetWindow)(wxWindowCreateEvent* self)
 {
-        return (void*)((wxWindowCreateEvent*)_obj)->GetWindow();
+        return (void*)self->GetWindow();
 }
 
-EWXWEXPORT(void*, wxWindowDestroyEvent_GetWindow)(void* _obj)
+EWXWEXPORT(void*,wxWindowDestroyEvent_GetWindow)(wxWindowDestroyEvent* self)
 {
-        return (void*)((wxWindowDestroyEvent*)_obj)->GetWindow();
+        return (void*)self->GetWindow();
 }
 
-EWXWEXPORT(void, wxIdleEvent_RequestMore)(void* _obj, int needMore)
+EWXWEXPORT(void,wxIdleEvent_RequestMore)(wxIdleEvent* self,bool needMore)
 {
-        ((wxIdleEvent*)_obj)->RequestMore(needMore != 0);
+        self->RequestMore(needMore);
 }
 
-EWXWEXPORT(int, wxIdleEvent_MoreRequested)(void* _obj)
+EWXWEXPORT(bool,wxIdleEvent_MoreRequested)(wxIdleEvent* self)
 {
-        return (int)((wxIdleEvent*)_obj)->MoreRequested();
+        return self->MoreRequested();
 }
 
-EWXWEXPORT(void, wxIdleEvent_CopyObject)(void* _obj, void* object_dest)
+EWXWEXPORT(void,wxIdleEvent_CopyObject)(wxIdleEvent* self,wxObject* object_dest)
 {
 #if wxVERSION_NUMBER < 2400
-        ((wxIdleEvent*)_obj)->CopyObject(*((wxObject*) object_dest));
+        self->CopyObject(*object_dest);
 #endif
 }
 
-EWXWEXPORT(int, wxListEvent_GetCode)(void* _obj)
+EWXWEXPORT(int,wxListEvent_GetCode)(wxListEvent* self)
 {
 #if wxCHECK_VERSION(2,5,0)
-	return ((wxListEvent*)_obj)->GetKeyCode();
+	return self->GetKeyCode();
 #else
-        return ((wxListEvent*)_obj)->GetCode();
+        return self->GetCode();
 #endif
 }
 
-EWXWEXPORT(int, wxListEvent_GetIndex)(void* _obj)
+EWXWEXPORT(long,wxListEvent_GetIndex)(wxListEvent* self)
 {
-        return (int)((wxListEvent*)_obj)->GetIndex();
+        return self->GetIndex();
 }
-EWXWEXPORT(int, wxListEvent_GetColumn)(void* _obj)
+EWXWEXPORT(int,wxListEvent_GetColumn)(wxListEvent* self)
 {
-        return ((wxListEvent*)_obj)->GetColumn();
+        return self->GetColumn();
 }
 
-EWXWEXPORT(int, wxListEvent_Cancelled)(void* _obj)
+EWXWEXPORT(bool,wxListEvent_Cancelled)(wxListEvent* self)
 {
 #if wxVERSION_NUMBER < 2400
-        return (int)((wxListEvent*)_obj)->Cancelled();
+        return self->Cancelled();
 #else
-        return 0;
+        return false;
 #endif
 }
 
@@ -847,51 +854,53 @@
         *((int*)y) = pos.y;
 }
 
-EWXWEXPORT(int, wxListEvent_GetLabel)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxListEvent_GetLabel)(wxListEvent* self)
 {
-        wxString result = ((wxListEvent*)_obj)->GetLabel();
-        return copyStrToBuf(_buf, result);
+        wxString *result = new wxString();
+        *result = self->GetLabel();
+        return result;
 }
 
-EWXWEXPORT(int, wxListEvent_GetText)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxListEvent_GetText)(wxListEvent* self)
 {
-        wxString result = ((wxListEvent*)_obj)->GetText();
-        return copyStrToBuf(_buf, result);
+        wxString *result = new wxString();
+        *result = self->GetText();
+        return result;
 }
 
-EWXWEXPORT(int, wxListEvent_GetImage)(void* _obj)
+EWXWEXPORT(int,wxListEvent_GetImage)(wxListEvent* self)
 {
-        return ((wxListEvent*)_obj)->GetImage();
+        return self->GetImage();
 }
 
-EWXWEXPORT(int, wxListEvent_GetData)(void* _obj)
+EWXWEXPORT(long,wxListEvent_GetData)(wxListEvent* self)
 {
-        return (int)((wxListEvent*)_obj)->GetData();
+        return self->GetData();
 }
 
-EWXWEXPORT(int, wxListEvent_GetMask)(void* _obj)
+EWXWEXPORT(long,wxListEvent_GetMask)(wxListEvent* self)
 {
-        return (int)((wxListEvent*)_obj)->GetMask();
+        return self->GetMask();
 }
 
-EWXWEXPORT(void, wxListEvent_GetItem)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxListEvent_GetItem)(wxListEvent* self,void* _ref)
 {
 #if wxVERSION_NUMBER < 2400
-        *((wxListItem*)_ref) = ((wxListEvent*)_obj)->GetItem();
+        *((wxListItem*)_ref) = self->GetItem();
 #else
-        wxListItem* ret = new wxListItem(((wxListEvent*)_obj)->GetItem());
+        wxListItem* ret = new wxListItem(self->GetItem());
         *((void**)_ref) = (void*)ret;
 #endif
 }
 
-EWXWEXPORT(void, wxTreeEvent_GetItem)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxTreeEvent_GetItem)(wxTreeEvent* self,wxTreeItemId* _ref)
 {
-        *((wxTreeItemId*)_ref) = ((wxTreeEvent*)_obj)->GetItem();
+        *_ref = self->GetItem();
 }
 
-EWXWEXPORT(void, wxTreeEvent_GetOldItem)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxTreeEvent_GetOldItem)(wxTreeEvent* self,wxTreeItemId* _ref)
 {
-        *((wxTreeItemId*)_ref) = ((wxTreeEvent*)_obj)->GetOldItem();
+        *_ref = self->GetOldItem();
 }
 
 EWXWEXPORT(void, wxTreeEvent_GetPoint)(void* _obj, void* x, void* y)
@@ -901,51 +910,52 @@
         *((int*)y) = pos.y;
 }
 
-EWXWEXPORT(int, wxTreeEvent_GetCode)(void* _obj)
+EWXWEXPORT(int,wxTreeEvent_GetCode)(wxTreeEvent* self)
 {
-        return ((wxTreeEvent*)_obj)->GetKeyCode();
+        return self->GetKeyCode();
 }
 
-EWXWEXPORT(int, wxTreeEvent_GetLabel)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxTreeEvent_GetLabel)(wxTreeEvent* self)
 {
-        wxString result = ((wxTreeEvent*)_obj)->GetLabel();
-        return copyStrToBuf(_buf, result);
+        wxString *result = new wxString();
+        *result = self->GetLabel();
+        return result;
 }
 
-EWXWEXPORT(int, wxSpinEvent_GetPosition)(void* _obj)
+EWXWEXPORT(int,wxSpinEvent_GetPosition)(wxSpinEvent* self)
 {
-        return ((wxSpinEvent*)_obj)->GetPosition();
+        return self->GetPosition();
 }
 
-EWXWEXPORT(void, wxSpinEvent_SetPosition)(void* _obj, int pos)
+EWXWEXPORT(void,wxSpinEvent_SetPosition)(wxSpinEvent* self,int pos)
 {
-        ((wxSpinEvent*)_obj)->SetPosition(pos);
+        self->SetPosition(pos);
 }
 
-EWXWEXPORT(int, wxTimerEvent_GetInterval)(void* _obj)
+EWXWEXPORT(int,wxTimerEvent_GetInterval)(wxTimerEvent* self)
 {
-        return ((wxTimerEvent*)_obj)->GetInterval();
+        return self->GetInterval();
 }
 
-EWXWEXPORT(int, wxCalendarEvent_GetWeekDay)(void* _obj)
+EWXWEXPORT(int,wxCalendarEvent_GetWeekDay)(wxCalendarEvent* self)
 {
-        return ((wxCalendarEvent*)_obj)->GetWeekDay();
+        return self->GetWeekDay();
 }
 
-EWXWEXPORT(void, wxCalendarEvent_GetDate)(void* _obj, void* _dte)
+EWXWEXPORT(void,wxCalendarEvent_GetDate)(wxCalendarEvent* self,wxDateTime* _dte)
 {
-        *((wxDateTime*)_dte) = ((wxCalendarEvent*)_obj)->GetDate();
+        *_dte = self->GetDate();
 }
 
 
-EWXWEXPORT(int, wxScrollEvent_GetOrientation)(void* _obj)
+EWXWEXPORT(int,wxScrollEvent_GetOrientation)(wxScrollEvent* self)
 {
-        return ((wxScrollEvent*)_obj)->GetOrientation();
+        return self->GetOrientation();
 }
 
-EWXWEXPORT(int, wxScrollEvent_GetPosition)(void* _obj)
+EWXWEXPORT(int,wxScrollEvent_GetPosition)(wxScrollEvent* self)
 {
-        return ((wxScrollEvent*)_obj)->GetPosition();
+        return self->GetPosition();
 }
 
 EWXWEXPORT(void,wxHelpEvent_GetPosition)(void* _obj, void* x, void* y)
@@ -955,31 +965,33 @@
         *((int*)y) = pos.y;
 }
 
-EWXWEXPORT(void,wxHelpEvent_SetPosition)(void* _obj, int x, int y)
+EWXWEXPORT(void,wxHelpEvent_SetPosition)(wxHelpEvent* self,int x,int y)
 {
-        ((wxHelpEvent*)_obj)->SetPosition(wxPoint(x, y));
+        self->SetPosition(wxPoint(x, y));
 }
 
-EWXWEXPORT(int,wxHelpEvent_GetLink)(void* _obj, void* _ref)
+EWXWEXPORT(wxString*,wxHelpEvent_GetLink)(wxHelpEvent* self)
 {
-        wxString tmp =((wxHelpEvent*)_obj)->GetLink();
-        return copyStrToBuf(_ref, tmp);
+        wxString *result = new wxString();
+        *result = self->GetLink();
+        return result;
 }
 
-EWXWEXPORT(void,wxHelpEvent_SetLink)(void* _obj, void* link)
+EWXWEXPORT(void,wxHelpEvent_SetLink)(wxHelpEvent* self,wxString* link)
 {
-        ((wxHelpEvent*)_obj)->SetLink((wxChar*)link);
+        self->SetLink(*link);
 }
 
-EWXWEXPORT(int,wxHelpEvent_GetTarget)(void* _obj, void* _ref)
+EWXWEXPORT(wxString*,wxHelpEvent_GetTarget)(wxHelpEvent* self)
 {
-        wxString tmp =((wxHelpEvent*)_obj)->GetTarget();
-        return copyStrToBuf(_ref, tmp);
+        wxString *result = new wxString();
+        *result = self->GetTarget();
+        return result;
 }
 
-EWXWEXPORT(void,wxHelpEvent_SetTarget)(void* _obj, void* target)
+EWXWEXPORT(void,wxHelpEvent_SetTarget)(wxHelpEvent* self,wxString* target)
 {
-        ((wxHelpEvent*)_obj)->SetTarget((wxChar*)target);
+        self->SetTarget(*target);
 }
 
 EWXWEXPORT(int,expEVT_COMMAND_BUTTON_CLICKED)()
diff --git a/wxc/src/eljfiledialog.cpp b/wxc/src/eljfiledialog.cpp
--- a/wxc/src/eljfiledialog.cpp
+++ b/wxc/src/eljfiledialog.cpp
@@ -3,61 +3,63 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxFileDialog_Create) (void* _prt, void* _msg, void* _dir, void* _fle, void* _wcd, int _lft, int _top, int _stl)
+EWXWEXPORT(void*, wxFileDialog_Create) (wxWindow* _prt,wxString* _msg,wxString* _dir,wxString* _fle,wxString* _wcd, int _lft, int _top, int _stl)
 {
-	return (void*) new wxFileDialog ((wxWindow*)_prt, (wxChar*)_msg, (wxChar*) _dir, (wxChar*) _fle, (wxChar*) _wcd, _stl, wxPoint(_lft, _top));
+	return (void*) new wxFileDialog (_prt,*_msg,*_dir,*_fle,*_wcd, _stl, wxPoint(_lft, _top));
 }
 
-EWXWEXPORT(void, wxFileDialog_SetMessage)(void* _obj, void* message)
+EWXWEXPORT(void,wxFileDialog_SetMessage)(void* _obj,wxString* message)
 {
-	((wxFileDialog*)_obj)->SetMessage((wxChar*)message);
+	((wxFileDialog*)_obj)->SetMessage(*message);
 }
 	
-EWXWEXPORT(void, wxFileDialog_SetPath)(void* _obj, void* path)
+EWXWEXPORT(void,wxFileDialog_SetPath)(void* _obj,wxString* path)
 {
-	((wxFileDialog*)_obj)->SetPath((wxChar*)path);
+	((wxFileDialog*)_obj)->SetPath(*path);
 }
 	
-EWXWEXPORT(void, wxFileDialog_SetDirectory)(void* _obj, void* dir)
+EWXWEXPORT(void,wxFileDialog_SetDirectory)(void* _obj,wxString* dir)
 {
-	((wxFileDialog*)_obj)->SetDirectory((wxChar*)dir);
+	((wxFileDialog*)_obj)->SetDirectory(*dir);
 }
 	
-EWXWEXPORT(void, wxFileDialog_SetFilename)(void* _obj, void* name)
+EWXWEXPORT(void,wxFileDialog_SetFilename)(void* _obj,wxString* name)
 {
-	((wxFileDialog*)_obj)->SetFilename((wxChar*)name);
+	((wxFileDialog*)_obj)->SetFilename(*name);
 }
 	
-EWXWEXPORT(void, wxFileDialog_SetWildcard)(void* _obj, void* wildCard)
+EWXWEXPORT(void,wxFileDialog_SetWildcard)(void* _obj,wxString* wildCard)
 {
-	((wxFileDialog*)_obj)->SetWildcard((wxChar*)wildCard);
+	((wxFileDialog*)_obj)->SetWildcard(*wildCard);
 }
 	
-EWXWEXPORT(void, wxFileDialog_SetStyle)(void* _obj, int style)
+EWXWEXPORT(void,wxFileDialog_SetStyle)(void* _obj,int style)
 {
 #if WXWIN_COMPATIBILITY_2_6
 	((wxFileDialog*)_obj)->SetStyle((long)style);
 #endif
 }
 	
-EWXWEXPORT(void, wxFileDialog_SetFilterIndex)(void* _obj, int filterIndex)
+EWXWEXPORT(void,wxFileDialog_SetFilterIndex)(void* _obj,int filterIndex)
 {
 	((wxFileDialog*)_obj)->SetFilterIndex(filterIndex);
 }
 	
-EWXWEXPORT(int, wxFileDialog_GetMessage)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxFileDialog_GetMessage)(void* _obj)
 {
-	wxString result = ((wxFileDialog*)_obj)->GetMessage();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = ((wxFileDialog*)_obj)->GetMessage();
+	return result;
 }
 	
-EWXWEXPORT(int, wxFileDialog_GetPath)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxFileDialog_GetPath)(void* _obj)
 {
-	wxString result = ((wxFileDialog*)_obj)->GetPath();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = ((wxFileDialog*)_obj)->GetPath();
+	return result;
 }
 	
-EWXWEXPORT(int, wxFileDialog_GetPaths)(void* _obj, void* paths)
+EWXWEXPORT(int,wxFileDialog_GetPaths)(void* _obj,void* paths)
 {
 	wxArrayString arr;
 	((wxFileDialog*)_obj)->GetPaths(arr);
@@ -69,19 +71,21 @@
 	return arr.GetCount();
 }
 	
-EWXWEXPORT(int, wxFileDialog_GetDirectory)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxFileDialog_GetDirectory)(void* _obj)
 {
-	wxString result =((wxFileDialog*)_obj)->GetDirectory();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = ((wxFileDialog*)_obj)->GetDirectory();
+	return result;
 }
 	
-EWXWEXPORT(int, wxFileDialog_GetFilename)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxFileDialog_GetFilename)(void* _obj)
 {
-	wxString result =((wxFileDialog*)_obj)->GetFilename();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = ((wxFileDialog*)_obj)->GetFilename();
+	return result;
 }
 	
-EWXWEXPORT(int, wxFileDialog_GetFilenames)(void* _obj, void* paths)
+EWXWEXPORT(int,wxFileDialog_GetFilenames)(void* _obj,void* paths)
 {
 	wxArrayString arr;
 	((wxFileDialog*)_obj)->GetFilenames(arr);
@@ -93,22 +97,23 @@
 	return arr.GetCount();
 }
 	
-EWXWEXPORT(int, wxFileDialog_GetWildcard)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxFileDialog_GetWildcard)(void* _obj)
 {
-	wxString result =((wxFileDialog*)_obj)->GetWildcard();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = ((wxFileDialog*)_obj)->GetWildcard();
+	return result;
 }
 	
-EWXWEXPORT(int, wxFileDialog_GetStyle)(void* _obj)
+EWXWEXPORT(int,wxFileDialog_GetStyle)(void* _obj)
 {
 #if WXWIN_COMPATIBILITY_2_6
 	return (int)((wxFileDialog*)_obj)->GetStyle();
 #else
-  return 0;
+	return 0;
 #endif
 }
 	
-EWXWEXPORT(int, wxFileDialog_GetFilterIndex)(void* _obj)
+EWXWEXPORT(int,wxFileDialog_GetFilterIndex)(void* _obj)
 {
 	return ((wxFileDialog*)_obj)->GetFilterIndex();
 }
diff --git a/wxc/src/eljfilehist.cpp b/wxc/src/eljfilehist.cpp
--- a/wxc/src/eljfilehist.cpp
+++ b/wxc/src/eljfilehist.cpp
@@ -14,12 +14,12 @@
 	delete (wxFileHistory*)_obj;
 }
 	
-EWXWEXPORT(void,wxFileHistory_AddFileToHistory)(void* _obj, void* file)
+EWXWEXPORT(void,wxFileHistory_AddFileToHistory)(void* _obj,wxString* file)
 {
-	((wxFileHistory*)_obj)->AddFileToHistory((const wxChar*)file);
+	((wxFileHistory*)_obj)->AddFileToHistory(*file);
 }
 	
-EWXWEXPORT(void,wxFileHistory_RemoveFileFromHistory)(void* _obj, int i)
+EWXWEXPORT(void,wxFileHistory_RemoveFileFromHistory)(void* _obj,int i)
 {
 	((wxFileHistory*)_obj)->RemoveFileFromHistory(i);
 }
@@ -29,27 +29,27 @@
 	return ((wxFileHistory*)_obj)->GetMaxFiles();
 }
 	
-EWXWEXPORT(void,wxFileHistory_UseMenu)(void* _obj, void* menu)
+EWXWEXPORT(void,wxFileHistory_UseMenu)(void* _obj,void* menu)
 {
 	((wxFileHistory*)_obj)->UseMenu((wxMenu*)menu);
 }
 	
-EWXWEXPORT(void,wxFileHistory_RemoveMenu)(void* _obj, void* menu)
+EWXWEXPORT(void,wxFileHistory_RemoveMenu)(void* _obj,void* menu)
 {
 	((wxFileHistory*)_obj)->RemoveMenu((wxMenu*)menu);
 }
 	
-EWXWEXPORT(void,wxFileHistory_Load)(void* _obj, void* config)
+EWXWEXPORT(void,wxFileHistory_Load)(void* _obj,void* config)
 {
 	((wxFileHistory*)_obj)->Load(*((wxConfigBase*)config));
 }
 	
-EWXWEXPORT(void,wxFileHistory_Save)(void* _obj, void* config)
+EWXWEXPORT(void,wxFileHistory_Save)(void* _obj,void* config)
 {
 	((wxFileHistory*)_obj)->Save(*((wxConfigBase*)config));
 }
 	
-EWXWEXPORT(void,wxFileHistory_AddFilesToMenu)(void* _obj, void* menu)
+EWXWEXPORT(void,wxFileHistory_AddFilesToMenu)(void* _obj,void* menu)
 {
 	if (menu)
 		((wxFileHistory*)_obj)->AddFilesToMenu((wxMenu*)menu);
@@ -57,10 +57,11 @@
 		((wxFileHistory*)_obj)->AddFilesToMenu();
 }
 	
-EWXWEXPORT(int,wxFileHistory_GetHistoryFile)(void* _obj, int i, void* _buf)
+EWXWEXPORT(wxString*,wxFileHistory_GetHistoryFile)(void* _obj,int i)
 {
-	wxString tmp = ((wxFileHistory*)_obj)->GetHistoryFile(i);
-	return copyStrToBuf(_buf, tmp);
+  wxString *result = new wxString();
+  *result = ((wxFileHistory*)_obj)->GetHistoryFile(i);
+  return result;
 }
 	
 EWXWEXPORT(int,wxFileHistory_GetCount)(void* _obj)
diff --git a/wxc/src/eljfindrepldlg.cpp b/wxc/src/eljfindrepldlg.cpp
--- a/wxc/src/eljfindrepldlg.cpp
+++ b/wxc/src/eljfindrepldlg.cpp
@@ -20,16 +20,18 @@
 	delete (wxFindReplaceData*)_obj;
 }
 	
-EWXWEXPORT(int,wxFindReplaceData_GetFindString)(void* _obj, void* _ref)
+EWXWEXPORT(wxString*,wxFindReplaceData_GetFindString)(void* _obj)
 {
-	wxString tmp = ((wxFindReplaceData*)_obj)->GetFindString();
-        return copyStrToBuf(_ref, tmp);
+	wxString *result = new wxString();
+	*result = ((wxFindReplaceData*)_obj)->GetFindString();
+	return result;
 }
 	
-EWXWEXPORT(int,wxFindReplaceData_GetReplaceString)(void* _obj, void* _ref)
+EWXWEXPORT(wxString*,wxFindReplaceData_GetReplaceString)(void* _obj)
 {
-	wxString tmp = ((wxFindReplaceData*)_obj)->GetFindString();
-        return copyStrToBuf(_ref, tmp);
+	wxString *result = new wxString();
+	*result = ((wxFindReplaceData*)_obj)->GetFindString();
+	return result;
 }
 	
 EWXWEXPORT(int,wxFindReplaceData_GetFlags)(void* _obj)
@@ -37,19 +39,19 @@
 	return ((wxFindReplaceData*)_obj)->GetFlags();
 }
 	
-EWXWEXPORT(void,wxFindReplaceData_SetFlags)(void* _obj, int flags)
+EWXWEXPORT(void,wxFindReplaceData_SetFlags)(void* _obj,int flags)
 {
 	((wxFindReplaceData*)_obj)->SetFlags((wxUint32)flags);
 }
 	
-EWXWEXPORT(void,wxFindReplaceData_SetFindString)(void* _obj, void* str)
+EWXWEXPORT(void,wxFindReplaceData_SetFindString)(void* _obj,wxString* str)
 {
-	((wxFindReplaceData*)_obj)->SetFindString((wxChar*)str);
+	((wxFindReplaceData*)_obj)->SetFindString(*str);
 }
 	
-EWXWEXPORT(void,wxFindReplaceData_SetReplaceString)(void* _obj, void* str)
+EWXWEXPORT(void,wxFindReplaceData_SetReplaceString)(void* _obj,wxString* str)
 {
-	((wxFindReplaceData*)_obj)->SetReplaceString((wxChar*)str);
+	((wxFindReplaceData*)_obj)->SetReplaceString(*str);
 }
 	
 
@@ -58,22 +60,24 @@
 	return ((wxFindDialogEvent*)_obj)->GetFlags();
 }
 	
-EWXWEXPORT(int,wxFindDialogEvent_GetFindString)(void* _obj, void* _ref)
+EWXWEXPORT(wxString*,wxFindDialogEvent_GetFindString)(void* _obj)
 {
-	wxString tmp = ((wxFindReplaceData*)_obj)->GetFindString();
-        return copyStrToBuf(_ref, tmp);
+	wxString *result = new wxString();
+	*result = ((wxFindReplaceData*)_obj)->GetFindString();
+	return result;
 }
 	
-EWXWEXPORT(int,wxFindDialogEvent_GetReplaceString)(void* _obj, void* _ref)
+EWXWEXPORT(wxString*,wxFindDialogEvent_GetReplaceString)(void* _obj)
 {
-	wxString tmp = ((wxFindReplaceData*)_obj)->GetFindString();
-        return copyStrToBuf(_ref, tmp);
+	wxString *result = new wxString();
+	*result = ((wxFindReplaceData*)_obj)->GetFindString();
+	return result;
 }
 	
 
-EWXWEXPORT(void*,wxFindReplaceDialog_Create)(void* parent, void* data, void* title, int style)
+EWXWEXPORT(void*,wxFindReplaceDialog_Create)(wxWindow* parent,void* data,wxString* title,int style)
 {
-	return (void*)new wxFindReplaceDialog((wxWindow*)parent, (wxFindReplaceData*)data, (wxChar*)title, style);
+	return (void*)new wxFindReplaceDialog(parent, (wxFindReplaceData*)data, *title, style);
 }
 	
 EWXWEXPORT(void*,wxFindReplaceDialog_GetData)(void* _obj)
@@ -81,7 +85,7 @@
 	return (void*)((wxFindReplaceDialog*)_obj)->GetData();
 }
 	
-EWXWEXPORT(void,wxFindReplaceDialog_SetData)(void* _obj, void* data)
+EWXWEXPORT(void,wxFindReplaceDialog_SetData)(void* _obj,void* data)
 {
 	((wxFindReplaceDialog*)_obj)->SetData((wxFindReplaceData*)data);
 }
diff --git a/wxc/src/eljfont.cpp b/wxc/src/eljfont.cpp
--- a/wxc/src/eljfont.cpp
+++ b/wxc/src/eljfont.cpp
@@ -6,7 +6,7 @@
 extern "C"
 {
 
-typedef int _cdecl (*TTextEnum) (void* _obj, void* _txt);
+typedef int _cdecl (*TTextEnum) (void* self, void* _txt);
 
 }
 
@@ -16,10 +16,10 @@
 		TTextEnum func;
 		void*     EiffelObject;
 	public:
-		ELJFontEnumerator (void* _obj, void* _fnc) : wxFontEnumerator()
+		ELJFontEnumerator (void* self, void* _fnc) : wxFontEnumerator()
 		{
 			func = (TTextEnum)_fnc;
-			EiffelObject = _obj;
+			EiffelObject = self;
 		}
 		
 	    virtual bool OnFacename(const wxString& facename)
@@ -36,186 +36,206 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxFont_Create) (int pointSize, int family, int style, int weight, int underlined, wxChar* face, int enc)
+EWXWEXPORT(wxFont*,wxFont_Create)(int pointSize,int family,int style,int weight,bool underlined,wxString* face,int enc)
 {
-	return new wxFont (pointSize, family, style, weight, underlined != 0, face, (wxFontEncoding)enc);
+	return new wxFont (pointSize, family, style, weight, underlined,*face, (wxFontEncoding)enc);
 }
 
-EWXWEXPORT(void*, wxFont_CreateDefault)()
+EWXWEXPORT(wxFont*,wxFont_CreateDefault)()
 {
 	return new wxFont ();
 }
 
-EWXWEXPORT(void, wxFont_Delete)(void* _obj)
+EWXWEXPORT(void*,wxFont_CreateFromStock)(int id)
 {
-	delete ((wxFont*)_obj);
+	switch(id) {
+	case 0:
+		return (void*)wxITALIC_FONT;
+	case 1:
+		return (void*)wxNORMAL_FONT;
+	case 2:
+		return (void*)wxSMALL_FONT;
+	case 3:
+		return (void*)wxSWISS_FONT;
+	}
+
+	return NULL;
 }
 
-EWXWEXPORT(int, wxFont_Ok)(void* _obj)
+EWXWEXPORT(void,wxFont_Delete)(wxFont* self)
 {
-	return (int)((wxFont*)_obj)->Ok();
+	delete self;
 }
+
+EWXWEXPORT(bool,wxFont_IsOk)(wxFont* self)
+{
+	return self->IsOk();
+}
 	
-EWXWEXPORT(int, wxFont_GetPointSize)(void* _obj)
+EWXWEXPORT(int,wxFont_GetPointSize)(wxFont* self)
 {
-	return ((wxFont*)_obj)->GetPointSize();
+	return self->GetPointSize();
 }
 	
-EWXWEXPORT(int, wxFont_GetFamily)(void* _obj)
+EWXWEXPORT(int,wxFont_GetFamily)(wxFont* self)
 {
-	return ((wxFont*)_obj)->GetFamily();
+	return self->GetFamily();
 }
 	
-EWXWEXPORT(int, wxFont_GetStyle)(void* _obj)
+EWXWEXPORT(int,wxFont_GetStyle)(wxFont* self)
 {
-	return ((wxFont*)_obj)->GetStyle();
+	return self->GetStyle();
 }
 	
-EWXWEXPORT(int, wxFont_GetWeight)(void* _obj)
+EWXWEXPORT(int,wxFont_GetWeight)(wxFont* self)
 {
-	return ((wxFont*)_obj)->GetWeight();
+	return self->GetWeight();
 }
 	
-EWXWEXPORT(int, wxFont_GetUnderlined)(void* _obj)
+EWXWEXPORT(bool,wxFont_GetUnderlined)(wxFont* self)
 {
-	return (int)((wxFont*)_obj)->GetUnderlined();
+	return self->GetUnderlined();
 }
 	
-EWXWEXPORT(int, wxFont_GetFaceName)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxFont_GetFaceName)(wxFont* self)
 {
-	wxString result = ((wxFont*)_obj)->GetFaceName();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = self->GetFaceName();
+	return result;
 }
 	
-EWXWEXPORT(int, wxFont_GetEncoding)(void* _obj)
+EWXWEXPORT(int,wxFont_GetEncoding)(wxFont* self)
 {
-	return (int)((wxFont*)_obj)->GetEncoding();
+	return (int)self->GetEncoding();
 }
 	
-EWXWEXPORT(void, wxFont_SetPointSize)(void* _obj, int pointSize)
+EWXWEXPORT(void,wxFont_SetPointSize)(wxFont* self,int pointSize)
 {
-	((wxFont*)_obj)->SetPointSize(pointSize);
+	self->SetPointSize(pointSize);
 }
 	
-EWXWEXPORT(void, wxFont_SetFamily)(void* _obj, int family)
+EWXWEXPORT(void,wxFont_SetFamily)(wxFont* self,int family)
 {
-	((wxFont*)_obj)->SetFamily(family);
+	self->SetFamily(family);
 }
 	
-EWXWEXPORT(void, wxFont_SetStyle)(void* _obj, int style)
+EWXWEXPORT(void,wxFont_SetStyle)(wxFont* self,int style)
 {
-	((wxFont*)_obj)->SetStyle(style);
+	self->SetStyle(style);
 }
 	
-EWXWEXPORT(void, wxFont_SetWeight)(void* _obj, int weight)
+EWXWEXPORT(void,wxFont_SetWeight)(wxFont* self,int weight)
 {
-	((wxFont*)_obj)->SetWeight(weight);
+	self->SetWeight(weight);
 }
 	
-EWXWEXPORT(void, wxFont_SetFaceName)(void* _obj, wxChar* faceName)
+EWXWEXPORT(void,wxFont_SetFaceName)(wxFont* self,wxString* faceName)
 {
-	((wxFont*)_obj)->SetFaceName(faceName);
+	self->SetFaceName(*faceName);
 }
 	
-EWXWEXPORT(void, wxFont_SetUnderlined)(void* _obj, int underlined)
+EWXWEXPORT(void,wxFont_SetUnderlined)(wxFont* self,bool underlined)
 {
-	((wxFont*)_obj)->SetUnderlined(underlined != 0);
+	self->SetUnderlined(underlined);
 }
 	
-EWXWEXPORT(void, wxFont_SetEncoding)(void* _obj, int encoding)
+EWXWEXPORT(void,wxFont_SetEncoding)(wxFont* self,int encoding)
 {
-	((wxFont*)_obj)->SetEncoding((wxFontEncoding)encoding);
+	self->SetEncoding((wxFontEncoding)encoding);
 }
 	
-EWXWEXPORT(int, wxFont_GetFamilyString)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxFont_GetFamilyString)(wxFont* self)
 {
-	wxString result = ((wxFont*)_obj)->GetFamilyString();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = self->GetFamilyString();
+	return result;
 }
 	
-EWXWEXPORT(int, wxFont_GetStyleString)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxFont_GetStyleString)(wxFont* self)
 {
-	wxString result = ((wxFont*)_obj)->GetStyleString();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = self->GetStyleString();
+	return result;
 }
 	
-EWXWEXPORT(int, wxFont_GetWeightString)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxFont_GetWeightString)(wxFont* self)
 {
-	wxString result = ((wxFont*)_obj)->GetWeightString();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = self->GetWeightString();
+	return result;
 }
 	
-EWXWEXPORT(int, wxFont_GetDefaultEncoding)(void* _obj)
+EWXWEXPORT(int,wxFont_GetDefaultEncoding)(wxFont* self)
 {
-	return (int)((wxFont*)_obj)->GetDefaultEncoding();
+	return (int)self->GetDefaultEncoding();
 }
 	
-EWXWEXPORT(void, wxFont_SetDefaultEncoding)(void* _obj, int encoding)
+EWXWEXPORT(void,wxFont_SetDefaultEncoding)(wxFont* self,int encoding)
 {
-	((wxFont*)_obj)->SetDefaultEncoding((wxFontEncoding) encoding);
+	self->SetDefaultEncoding((wxFontEncoding) encoding);
 }
 	
 
-EWXWEXPORT(void*, wxFontEnumerator_Create)(void* _obj, void* _fnc)
+EWXWEXPORT(void*,wxFontEnumerator_Create)(void* self,void* _fnc)
 {
-	return (void*) new ELJFontEnumerator(_obj, _fnc);
+	return (void*)new ELJFontEnumerator(self, _fnc);
 }
 
-EWXWEXPORT(void, wxFontEnumerator_Delete)(void* _obj)
+EWXWEXPORT(void,wxFontEnumerator_Delete)(ELJFontEnumerator* self)
 {
-	delete ((ELJFontEnumerator*)_obj);
+	delete self;
 }
 
-EWXWEXPORT(int,wxFontEnumerator_EnumerateFacenames)(void* _obj, int encoding, int fixedWidthOnly)
+EWXWEXPORT(bool,wxFontEnumerator_EnumerateFacenames)(ELJFontEnumerator* self,int encoding,bool fixedWidthOnly)
 {
-	return (int)((ELJFontEnumerator*)_obj)->EnumerateFacenames((wxFontEncoding)encoding, fixedWidthOnly != 0);
+	return self->EnumerateFacenames((wxFontEncoding)encoding, fixedWidthOnly);
 }
 	
-EWXWEXPORT(int,wxFontEnumerator_EnumerateEncodings)(void* _obj, void* facename)
+EWXWEXPORT(bool,wxFontEnumerator_EnumerateEncodings)(ELJFontEnumerator* self,wxString* facename)
 {
-	return (int)((ELJFontEnumerator*)_obj)->EnumerateEncodings((const wxChar*)facename);
+	return self->EnumerateEncodings(*facename);
 }
 	
 
-EWXWEXPORT(void*, wxFontMapper_Create)()
+EWXWEXPORT(void*,wxFontMapper_Create)()
 {
 	return wxTheFontMapper;
 }
 
-EWXWEXPORT(int,wxFontMapper_GetAltForEncoding)(void* _obj, int encoding, void* alt_encoding, void* _buf)
+EWXWEXPORT(bool,wxFontMapper_GetAltForEncoding)(wxFontMapper* self,int encoding,void* alt_encoding,wxString* facename)
 {
-	return (int)((wxFontMapper*)_obj)->GetAltForEncoding((wxFontEncoding)encoding, (wxFontEncoding*)alt_encoding, (const wxChar*)_buf, false);
+	return self->GetAltForEncoding((wxFontEncoding)encoding, (wxFontEncoding*)alt_encoding,*facename, false);
 }
 	
-EWXWEXPORT(int,wxFontMapper_IsEncodingAvailable)(void* _obj, int encoding, void* _buf)
+EWXWEXPORT(bool,wxFontMapper_IsEncodingAvailable)(wxFontMapper* self,int encoding,wxString* _buf)
 {
-	return (int)((wxFontMapper*)_obj)->IsEncodingAvailable((wxFontEncoding)encoding, (const wxChar*)_buf);
+	return self->IsEncodingAvailable((wxFontEncoding)encoding,*_buf);
 }
 	
 
-EWXWEXPORT(void*, wxEncodingConverter_Create)()
+EWXWEXPORT(void*,wxEncodingConverter_Create)()
 {
-	return (void*) new wxEncodingConverter();
+	return (void*)new wxEncodingConverter();
 }
 
-EWXWEXPORT(void, wxEncodingConverter_Delete)(void* _obj)
+EWXWEXPORT(void,wxEncodingConverter_Delete)(void* self)
 {
-	delete (wxEncodingConverter*)_obj;
+	delete (wxEncodingConverter*)self;
 }
 
-EWXWEXPORT(int,wxEncodingConverter_Init)(void* _obj, int input_enc, int output_enc, int method)
+EWXWEXPORT(bool,wxEncodingConverter_Init)(wxEncodingConverter* self,int input_enc,int output_enc,int method)
 {
-	return (int)((wxEncodingConverter*)_obj)->Init((wxFontEncoding)input_enc, (wxFontEncoding)output_enc, method);
+	return self->Init((wxFontEncoding)input_enc, (wxFontEncoding)output_enc, method);
 }
 	
-EWXWEXPORT(void,wxEncodingConverter_Convert)(void* _obj, void* input, void* output)
+EWXWEXPORT(void,wxEncodingConverter_Convert)(void* self,void* input,void* output)
 {
-	((wxEncodingConverter*)_obj)->Convert((const char*)input, (char*)output);
+	((wxEncodingConverter*)self)->Convert((const char*)input, (char*)output);
 }
 
-EWXWEXPORT(int,wxEncodingConverter_GetPlatformEquivalents)(void* _obj, int enc, int platform, void* _lst)
+EWXWEXPORT(int,wxEncodingConverter_GetPlatformEquivalents)(void* self,int enc,int platform,void* _lst)
 {
-	wxFontEncodingArray arr = ((wxEncodingConverter*)_obj)->GetPlatformEquivalents((wxFontEncoding)enc, platform);
+	wxFontEncodingArray arr = ((wxEncodingConverter*)self)->GetPlatformEquivalents((wxFontEncoding)enc, platform);
 	if (_lst)
 	{
 		for (unsigned int i = 0; i < arr.GetCount(); i++)
@@ -224,9 +244,9 @@
 	return (int)arr.GetCount();
 }
 
-EWXWEXPORT(int,wxEncodingConverter_GetAllEquivalents)(void* _obj, int enc, void* _lst)
+EWXWEXPORT(int,wxEncodingConverter_GetAllEquivalents)(void* self,int enc,void* _lst)
 {
-	wxFontEncodingArray arr = ((wxEncodingConverter*)_obj)->GetAllEquivalents((wxFontEncoding)enc);
+	wxFontEncodingArray arr = ((wxEncodingConverter*)self)->GetAllEquivalents((wxFontEncoding)enc);
 	if (_lst)
 	{
 		for (unsigned int i = 0; i < arr.GetCount(); i++)
diff --git a/wxc/src/eljfontdata.cpp b/wxc/src/eljfontdata.cpp
--- a/wxc/src/eljfontdata.cpp
+++ b/wxc/src/eljfontdata.cpp
@@ -3,89 +3,89 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxFontData_Create) ()
+EWXWEXPORT(void*,wxFontData_Create)()
 {
-	return (void*) new wxFontData();
+	return (void*)new wxFontData();
 }
 
-EWXWEXPORT(void, wxFontData_Delete) (void* _obj)
+EWXWEXPORT(void,wxFontData_Delete)(void* self)
 {
-	delete (wxFontData*)_obj;
+	delete (wxFontData*)self;
 }
 
-EWXWEXPORT(void, wxFontData_SetAllowSymbols)(void* _obj, int flag)
+EWXWEXPORT(void,wxFontData_SetAllowSymbols)(void* self,bool flag)
 {
-	((wxFontData*)_obj)->SetAllowSymbols(flag != 0);
+	((wxFontData*)self)->SetAllowSymbols(flag);
 }
 	
-EWXWEXPORT(int, wxFontData_GetAllowSymbols)(void* _obj)
+EWXWEXPORT(bool,wxFontData_GetAllowSymbols)(wxFontData* self)
 {
-	return (int)((wxFontData*)_obj)->GetAllowSymbols();
+	return self->GetAllowSymbols();
 }
 	
-EWXWEXPORT(void, wxFontData_SetColour)(void* _obj, void* colour)
+EWXWEXPORT(void,wxFontData_SetColour)(void* self,wxColour* colour)
 {
-	((wxFontData*)_obj)->SetColour(*((wxColour*)colour));
+	((wxFontData*)self)->SetColour(*colour);
 }
 	
-EWXWEXPORT(void, wxFontData_GetColour)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxFontData_GetColour)(void* self,wxColour* _ref)
 {
-	*((wxColour*)_ref) = ((wxFontData*)_obj)->GetColour();
+	*_ref = ((wxFontData*)self)->GetColour();
 }
 	
-EWXWEXPORT(void, wxFontData_SetShowHelp)(void* _obj, int flag)
+EWXWEXPORT(void,wxFontData_SetShowHelp)(void* self,bool flag)
 {
-	((wxFontData*)_obj)->SetShowHelp(flag != 0);
+	((wxFontData*)self)->SetShowHelp(flag);
 }
 	
-EWXWEXPORT(int, wxFontData_GetShowHelp)(void* _obj)
+EWXWEXPORT(bool,wxFontData_GetShowHelp)(wxFontData* self)
 {
-	return (int)((wxFontData*)_obj)->GetShowHelp();
+	return self->GetShowHelp();
 }
 	
-EWXWEXPORT(void, wxFontData_EnableEffects)(void* _obj, int flag)
+EWXWEXPORT(void,wxFontData_EnableEffects)(void* self,bool flag)
 {
-	((wxFontData*)_obj)->EnableEffects(flag != 0);
+	((wxFontData*)self)->EnableEffects(flag);
 }
 	
-EWXWEXPORT(int, wxFontData_GetEnableEffects)(void* _obj)
+EWXWEXPORT(bool,wxFontData_GetEnableEffects)(wxFontData* self)
 {
-	return (int)((wxFontData*)_obj)->GetEnableEffects();
+	return self->GetEnableEffects();
 }
 	
-EWXWEXPORT(void, wxFontData_SetInitialFont)(void* _obj, void* font)
+EWXWEXPORT(void,wxFontData_SetInitialFont)(void* self,wxFont* font)
 {
-	((wxFontData*)_obj)->SetInitialFont(*((wxFont*)font));
+	((wxFontData*)self)->SetInitialFont(*font);
 }
 	
-EWXWEXPORT(void, wxFontData_GetInitialFont)(void* _obj, void* ref)
+EWXWEXPORT(void,wxFontData_GetInitialFont)(void* self,wxFont* ref)
 {
-	*((wxFont*)ref) = ((wxFontData*)_obj)->GetInitialFont();
+	*ref = ((wxFontData*)self)->GetInitialFont();
 }
 	
-EWXWEXPORT(void, wxFontData_SetChosenFont)(void* _obj, void* font)
+EWXWEXPORT(void,wxFontData_SetChosenFont)(void* self,wxFont* font)
 {
-	((wxFontData*)_obj)->SetChosenFont(*((wxFont*)font));
+	((wxFontData*)self)->SetChosenFont(*font);
 }
 	
-EWXWEXPORT(void, wxFontData_GetChosenFont)(void* _obj, void* ref)
+EWXWEXPORT(void,wxFontData_GetChosenFont)(void* self,wxFont* ref)
 {
-	*((wxFont*)ref) = ((wxFontData*)_obj)->GetChosenFont();
+	*ref = ((wxFontData*)self)->GetChosenFont();
 }
 	
-EWXWEXPORT(void, wxFontData_SetRange)(void* _obj, int minRange, int maxRange)
+EWXWEXPORT(void,wxFontData_SetRange)(void* self,int minRange,int maxRange)
 {
-	((wxFontData*)_obj)->SetRange(minRange, maxRange);
+	((wxFontData*)self)->SetRange(minRange, maxRange);
 }
 	
-EWXWEXPORT(int, wxFontData_GetEncoding)(void* _obj)
+EWXWEXPORT(int,wxFontData_GetEncoding)(wxFontData* self)
 {
-	return (int)((wxFontData*)_obj)->GetEncoding();
+	return (int)self->GetEncoding();
 }
 	
-EWXWEXPORT(void, wxFontData_SetEncoding)(void* _obj, int encoding)
+EWXWEXPORT(void,wxFontData_SetEncoding)(void* self,int encoding)
 {
-	((wxFontData*)_obj)->SetEncoding((wxFontEncoding)encoding);
+	((wxFontData*)self)->SetEncoding((wxFontEncoding)encoding);
 }
 	
 }
diff --git a/wxc/src/eljframe.cpp b/wxc/src/eljframe.cpp
--- a/wxc/src/eljframe.cpp
+++ b/wxc/src/eljframe.cpp
@@ -3,207 +3,207 @@
 extern "C"
 {
 
-EWXWEXPORT(int, wxTopLevelWindow_EnableCloseButton)(void *_obj, int enable)
+EWXWEXPORT(bool,wxTopLevelWindow_EnableCloseButton)(wxTopLevelWindow* self,bool enable)
 {
-  return (int) ((wxTopLevelWindow*)_obj)->EnableCloseButton((bool) enable);
+  return self->EnableCloseButton(enable);
 }
 
-EWXWEXPORT(void*, wxTopLevelWindow_GetDefaultButton)(void *_obj)
+EWXWEXPORT(void*,wxTopLevelWindow_GetDefaultButton)(wxTopLevelWindow* self)
 {
-  return (void*)((wxTopLevelWindow*)_obj)->GetDefaultItem();
+  return (void*)self->GetDefaultItem();
 }
 
-EWXWEXPORT(void*, wxTopLevelWindow_GetDefaultItem)(void *_obj)
+EWXWEXPORT(void*,wxTopLevelWindow_GetDefaultItem)(wxTopLevelWindow* self)
 {
-  return (void*)((wxTopLevelWindow*)_obj)->GetDefaultItem();
+  return (void*)self->GetDefaultItem();
 }
 
-EWXWEXPORT(void*, wxTopLevelWindow_GetIcon)(void *_obj)
+EWXWEXPORT(void*,wxTopLevelWindow_GetIcon)(wxTopLevelWindow* self)
 {
-  static wxIcon tmp = ((wxTopLevelWindow*)_obj)->GetIcon();
-  return (void*) &tmp;
+  static wxIcon tmp = self->GetIcon();
+  return (void*)&tmp;
 }
 
-EWXWEXPORT(int, wxTopLevelWindow_GetTitle)(void *_obj, void *_out)
+EWXWEXPORT(wxString*,wxTopLevelWindow_GetTitle)(wxTopLevelWindow* self)
 {
-  wxString str = ((wxTopLevelWindow*)_obj)->GetTitle();
-  return copyStrToBuf(_out, str);
+  wxString *result = new wxString();
+  *result = self->GetTitle();
+  return result;
 }
 
-EWXWEXPORT(void, wxTopLevelWindow_Iconize)(void *_obj, int iconize)
+EWXWEXPORT(void,wxTopLevelWindow_Iconize)(wxTopLevelWindow* self,bool iconize)
 {
-  ((wxTopLevelWindow*)_obj)->Iconize((bool) iconize);
+  ((wxTopLevelWindow*)self)->Iconize(iconize);
 }
 
-EWXWEXPORT(int, wxTopLevelWindow_IsActive)(void *_obj)
+EWXWEXPORT(bool,wxTopLevelWindow_IsActive)(wxTopLevelWindow* self)
 {
-  return (int)((wxTopLevelWindow*)_obj)->IsActive();
+  return self->IsActive();
 }
 
-EWXWEXPORT(int, wxTopLevelWindow_IsIconized)(void *_obj)
+EWXWEXPORT(bool,wxTopLevelWindow_IsIconized)(wxTopLevelWindow* self)
 {
-  return (int)((wxTopLevelWindow*)_obj)->IsIconized();
+  return self->IsIconized();
 }
 
-EWXWEXPORT(int, wxTopLevelWindow_IsMaximized)(void *_obj)
+EWXWEXPORT(bool,wxTopLevelWindow_IsMaximized)(wxTopLevelWindow* self)
 {
-  return (int)((wxTopLevelWindow*)_obj)->IsMaximized();
+  return self->IsMaximized();
 }
 
-EWXWEXPORT(void, wxTopLevelWindow_Maximize)(void *_obj, int iconize)
+EWXWEXPORT(void,wxTopLevelWindow_Maximize)(void* self,bool iconize)
 {
-  ((wxTopLevelWindow*)_obj)->Maximize((bool) iconize);
+  ((wxTopLevelWindow*)self)->Maximize(iconize);
 }
 
-EWXWEXPORT(void, wxTopLevelWindow_RequestUserAttention)(void *_obj, int flags)
+EWXWEXPORT(void,wxTopLevelWindow_RequestUserAttention)(void* self,int flags)
 {
-  ((wxTopLevelWindow*)_obj)->RequestUserAttention(flags);
+  ((wxTopLevelWindow*)self)->RequestUserAttention(flags);
 }
 
-EWXWEXPORT(void, wxTopLevelWindow_SetDefaultButton)(void *_obj, void *_item)
+EWXWEXPORT(void,wxTopLevelWindow_SetDefaultButton)(void* self,void* _item)
 {
-  ((wxTopLevelWindow*)_obj)->SetDefaultItem((wxButton*) _item);
+  ((wxTopLevelWindow*)self)->SetDefaultItem((wxButton*)_item);
 }
 
-EWXWEXPORT(void, wxTopLevelWindow_SetDefaultItem)(void *_obj, void *_item)
+EWXWEXPORT(void,wxTopLevelWindow_SetDefaultItem)(void* self,wxWindow* _item)
 {
-  ((wxTopLevelWindow*)_obj)->SetDefaultItem((wxWindow*) _item);
+  ((wxTopLevelWindow*)self)->SetDefaultItem( _item);
 }
 
-EWXWEXPORT(void, wxTopLevelWindow_SetIcon)(void* _obj, void* _icons)
+EWXWEXPORT(void,wxTopLevelWindow_SetIcon)(void* self,wxIcon* _icons)
 {
-  ((wxTopLevelWindow*)_obj)->SetIcon(*((wxIcon*)_icons));
+  ((wxTopLevelWindow*)self)->SetIcon(*_icons);
 }
 
-EWXWEXPORT(void, wxTopLevelWindow_SetIcons)(void* _obj, void* _icons)
+EWXWEXPORT(void,wxTopLevelWindow_SetIcons)(void* self,void* _icons)
 {
-  ((wxTopLevelWindow*)_obj)->SetIcons(*((wxIconBundle*)_icons));
+  ((wxTopLevelWindow*)self)->SetIcons(*((wxIconBundle*)_icons));
 }
 
-EWXWEXPORT(void, wxTopLevelWindow_SetMaxSize)(void *_obj, int _w, int _h)
+EWXWEXPORT(void,wxTopLevelWindow_SetMaxSize)(void* self,int _w,int _h)
 {
-  ((wxTopLevelWindow*)_obj)->SetMaxSize(wxSize(_w, _h));
+  ((wxTopLevelWindow*)self)->SetMaxSize(wxSize(_w, _h));
 }
            
-EWXWEXPORT(void, wxTopLevelWindow_SetMinSize)(void *_obj, int _w, int _h)
+EWXWEXPORT(void,wxTopLevelWindow_SetMinSize)(void* self,int _w,int _h)
 {
-  ((wxTopLevelWindow*)_obj)->SetMinSize(wxSize(_w, _h));
+  ((wxTopLevelWindow*)self)->SetMinSize(wxSize(_w, _h));
 }
 
-EWXWEXPORT(void, wxTopLevelWindow_SetTitle)(void *_obj, void *_str)
+EWXWEXPORT(void,wxTopLevelWindow_SetTitle)(void* self,wxString* _str)
 {
-  wxChar *pStr = (wxChar*) _str;
-  ((wxTopLevelWindow*)_obj)->SetTitle(wxString(pStr));
+  ((wxTopLevelWindow*)self)->SetTitle(*_str);
 }
 
-EWXWEXPORT(void*, wxFrame_Create) (void* _prt, int _id, wxChar* _txt, int _lft, int _top, int _wdt, int _hgt, int _stl)
+EWXWEXPORT(wxFrame*,wxFrame_Create)(wxWindow* _prt,int _id,wxString* _txt,int _lft,int _top,int _wdt,int _hgt,int _stl)
 {
-	return (void*) new wxFrame ((wxWindow*)_prt, _id, _txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+	return new wxFrame (_prt, _id, *_txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
 }
 
-EWXWEXPORT(void*, wxFrame_CreateStatusBar)(void* _obj, int number, int style)
+EWXWEXPORT(wxStatusBar*,wxFrame_CreateStatusBar)(wxFrame* self,int number,int style)
 {
-	return (void*)((wxFrame*)_obj)->CreateStatusBar(number, style, 1);
+	return self->CreateStatusBar(number, style, 1);
 }
 	
 #if wxVERSION_NUMBER >= 2800
-EWXWEXPORT(void, wxFrame_Maximize)(void* _obj)
+EWXWEXPORT(void,wxFrame_Maximize)(wxFrame* self)
 {
-	((wxFrame*)_obj)->Maximize();
+	self->Maximize();
 }
 #endif
 	
-EWXWEXPORT(void, wxFrame_Restore)(void* _obj)
+EWXWEXPORT(void,wxFrame_Restore)(wxFrame* self)
 {
-	((wxFrame*)_obj)->Restore();
+	self->Restore();
 }
 	
 #if wxVERSION_NUMBER >= 2800
-EWXWEXPORT(void, wxFrame_Iconize)(void* _obj)
+EWXWEXPORT(void,wxFrame_Iconize)(wxFrame* self)
 {
-	((wxFrame*)_obj)->Iconize();
+	self->Iconize();
 }
 	
-EWXWEXPORT(int, wxFrame_IsMaximized)(void* _obj)
+EWXWEXPORT(bool,wxFrame_IsMaximized)(wxFrame* self)
 {
-	return (int)((wxFrame*)_obj)->IsMaximized();
+	return self->IsMaximized();
 }
 	
-EWXWEXPORT(int, wxFrame_IsIconized)(void* _obj)
+EWXWEXPORT(bool,wxFrame_IsIconized)(wxFrame* self)
 {
-	return (int)((wxFrame*)_obj)->IsIconized();
+	return self->IsIconized();
 }
 	
-EWXWEXPORT(void*, wxFrame_GetIcon)(void* _obj)
+EWXWEXPORT(void*,wxFrame_GetIcon)(wxFrame* self)
 {
-	return (void*) (&((wxFrame*)_obj)->GetIcon());
+	return (void*)(&self->GetIcon());
 }
 	
-EWXWEXPORT(void, wxFrame_SetIcon)(void* _obj, void* _icon)
+EWXWEXPORT(void,wxFrame_SetIcon)(wxFrame* self,wxIcon* _icon)
 {
-	((wxFrame*)_obj)->SetIcon(*((wxIcon*) _icon));
+	self->SetIcon(*_icon);
 }
 #endif
 	
-EWXWEXPORT(int, wxFrame_GetClientAreaOrigin_left)(void* _obj)
+EWXWEXPORT(int,wxFrame_GetClientAreaOrigin_left)(wxFrame* self)
 {
-	return ((wxFrame*)_obj)->GetClientAreaOrigin().x;
+	return self->GetClientAreaOrigin().x;
 }
 	
-EWXWEXPORT(int, wxFrame_GetClientAreaOrigin_top)(void* _obj)
+EWXWEXPORT(int,wxFrame_GetClientAreaOrigin_top)(wxFrame* self)
 {
-	return ((wxFrame*)_obj)->GetClientAreaOrigin().y;
+	return self->GetClientAreaOrigin().y;
 }
 	
-EWXWEXPORT(void, wxFrame_SetMenuBar)(void* _obj, void* menubar)
+EWXWEXPORT(void,wxFrame_SetMenuBar)(wxFrame* self,wxMenuBar* menubar)
 {
-	((wxFrame*)_obj)->SetMenuBar((wxMenuBar*)menubar);
+	self->SetMenuBar(menubar);
 }
 	
-EWXWEXPORT(void*, wxFrame_GetMenuBar)(void* _obj)
+EWXWEXPORT(wxMenuBar*,wxFrame_GetMenuBar)(wxFrame* self)
 {
-	return (void*)((wxFrame*)_obj)->GetMenuBar();
+	return self->GetMenuBar();
 }
 	
-EWXWEXPORT(void*, wxFrame_GetStatusBar)(void* _obj)
+EWXWEXPORT(wxStatusBar*,wxFrame_GetStatusBar)(wxFrame* self)
 {
-	return (void*)((wxFrame*)_obj)->GetStatusBar();
+	return self->GetStatusBar();
 }
 	
-EWXWEXPORT(void, wxFrame_SetStatusBar)(void* _obj, void* statBar)
+EWXWEXPORT(void,wxFrame_SetStatusBar)(wxFrame* self,wxStatusBar* statBar)
 {
-	((wxFrame*)_obj)->SetStatusBar((wxStatusBar*) statBar);
+	self->SetStatusBar(statBar);
 }
 	
-EWXWEXPORT(void, wxFrame_SetStatusText)(void* _obj, wxChar* _txt, int _number)
+EWXWEXPORT(void,wxFrame_SetStatusText)(wxFrame* self,wxString* _txt,int _number)
 {
-	((wxFrame*)_obj)->SetStatusText(_txt, _number);
+	self->SetStatusText(*_txt, _number);
 }
 	
-EWXWEXPORT(void, wxFrame_SetStatusWidths)(void* _obj, int _n, void* _widths_field)
+EWXWEXPORT(void,wxFrame_SetStatusWidths)(wxFrame* self,int _n,void* _widths_field)
 {
-	((wxFrame*)_obj)->SetStatusWidths(_n, (int*) _widths_field);
+	self->SetStatusWidths(_n, (int*)_widths_field);
 }
 	
-EWXWEXPORT(void*, wxFrame_CreateToolBar)(void* _obj, long style)
+EWXWEXPORT(void*,wxFrame_CreateToolBar)(wxFrame* self,long style)
 {
-	return (void*)((wxFrame*)_obj)->CreateToolBar(style, 1);
+	return (void*)self->CreateToolBar(style, 1);
 }
 	
-EWXWEXPORT(void*, wxFrame_GetToolBar)(void* _obj)
+EWXWEXPORT(void*,wxFrame_GetToolBar)(wxFrame* self)
 {
-	return (void*)((wxFrame*)_obj)->GetToolBar();
+	return (void*)self->GetToolBar();
 }
 	
-EWXWEXPORT(void, wxFrame_SetToolBar)(void* _obj, void* _toolbar)
+EWXWEXPORT(void,wxFrame_SetToolBar)(wxFrame* self,wxToolBar* _toolbar)
 {
-	((wxFrame*)_obj)->SetToolBar((wxToolBar*) _toolbar);
+	self->SetToolBar(_toolbar);
 }
 
 #if wxVERSION_NUMBER >= 2400 && wxVERSION_NUMBER < 2800
-EWXWEXPORT(void, wxFrame_SetIcons)(void* _obj, void* _icons)
+EWXWEXPORT(void,wxFrame_SetIcons)(wxFrame* self,void* _icons)
 {
-	((wxFrame*)_obj)->SetIcons(*((wxIconBundle*)_icons));
+	self->SetIcons(*((wxIconBundle*)_icons));
 }
 #endif
 
diff --git a/wxc/src/eljgrid.cpp b/wxc/src/eljgrid.cpp
--- a/wxc/src/eljgrid.cpp
+++ b/wxc/src/eljgrid.cpp
@@ -4,386 +4,386 @@
 extern "C"
 {
 
-EWXWEXPORT(void*,wxGridCellCoordsArray_Create)()
+EWXWEXPORT(wxGridCellCoordsArray*,wxGridCellCoordsArray_Create)()
 {
-	return (void*) new wxGridCellCoordsArray();
+	return new wxGridCellCoordsArray();
 }
 
-EWXWEXPORT(void,wxGridCellCoordsArray_Delete)(void* _obj)
+EWXWEXPORT(void,wxGridCellCoordsArray_Delete)(wxGridCellCoordsArray* self)
 {
-	delete (wxGridCellCoordsArray*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(int,wxGridCellCoordsArray_GetCount)(void* _obj)
+EWXWEXPORT(int,wxGridCellCoordsArray_GetCount)(wxGridCellCoordsArray* self)
 {
-	return ((wxGridCellCoordsArray*)_obj)->GetCount();
+	return self->GetCount();
 }
 
-EWXWEXPORT(void,wxGridCellCoordsArray_Item)(void* _obj, int _idx, void* _c, void* _r)
+EWXWEXPORT(void,wxGridCellCoordsArray_Item)(void* _obj,int _idx,int* _c,int* _r)
 {
-	*((int*)_c) = ((wxGridCellCoordsArray*)_obj)->Item(_idx).GetCol();
-	*((int*)_r) = ((wxGridCellCoordsArray*)_obj)->Item(_idx).GetRow();
+	*_c = ((wxGridCellCoordsArray*)_obj)->Item(_idx).GetCol();
+	*_r = ((wxGridCellCoordsArray*)_obj)->Item(_idx).GetRow();
 }
 
 
-EWXWEXPORT(int, wxGridCellEditor_IsCreated)(void* _obj)
+EWXWEXPORT(bool,wxGridCellEditor_IsCreated)(wxGridCellEditor* self)
 {
-	return (int)((wxGridCellEditor*)_obj)->IsCreated();
+	return self->IsCreated();
 }
 	
-EWXWEXPORT(void*, wxGridCellEditor_GetControl)(void* _obj)
+EWXWEXPORT(void*,wxGridCellEditor_GetControl)(void* _obj)
 {
 	return (void*)((wxGridCellEditor*)_obj)->GetControl();
 }
 	
-EWXWEXPORT(void, wxGridCellEditor_SetControl)(void* _obj, void* control)
+EWXWEXPORT(void,wxGridCellEditor_SetControl)(void* _obj,void* control)
 {
 	((wxGridCellEditor*)_obj)->SetControl((wxControl*) control);
 }
 	
-EWXWEXPORT(void, wxGridCellEditor_Create)(void* _obj, void* parent, int id, void* evtHandler)
+EWXWEXPORT(void,wxGridCellEditor_Create)(void* _obj,wxWindow* parent,int id,void* evtHandler)
 {
-	((wxGridCellEditor*)_obj)->Create((wxWindow*) parent, (wxWindowID) id, (wxEvtHandler*) evtHandler);
+	((wxGridCellEditor*)_obj)->Create(parent, (wxWindowID) id, (wxEvtHandler*) evtHandler);
 }
 	
-EWXWEXPORT(void, wxGridCellEditor_SetSize)(void* _obj, int x, int y, int w, int h)
+EWXWEXPORT(void,wxGridCellEditor_SetSize)(void* _obj,int x,int y,int w,int h)
 {
 	((wxGridCellEditor*)_obj)->SetSize(wxRect(x, y, w, h));
 }
 	
-EWXWEXPORT(void, wxGridCellEditor_Show)(void* _obj, int show, void* attr)
+EWXWEXPORT(void,wxGridCellEditor_Show)(wxGridCellEditor* self,bool show,void* attr)
 {
-	((wxGridCellEditor*)_obj)->Show(show != 0, (wxGridCellAttr*) attr);
+	self->Show(show, (wxGridCellAttr*)attr);
 }
 	
-EWXWEXPORT(void, wxGridCellEditor_PaintBackground)(void* _obj, int x, int y, int w, int h, void* attr)
+EWXWEXPORT(void,wxGridCellEditor_PaintBackground)(void* _obj,int x,int y,int w,int h,void* attr)
 {
 	((wxGridCellEditor*)_obj)->PaintBackground(wxRect(x, y, w, h), (wxGridCellAttr*)attr);
 }
 	
-EWXWEXPORT(void, wxGridCellEditor_BeginEdit)(void* _obj, int row, int col, void* grid)
+EWXWEXPORT(void,wxGridCellEditor_BeginEdit)(void* _obj,int row,int col,void* grid)
 {
 	((wxGridCellEditor*)_obj)->BeginEdit(row, col, (wxGrid*)grid);
 }
 	
-EWXWEXPORT(int, wxGridCellEditor_EndEdit)(void* _obj, int row, int col, void* grid)
+EWXWEXPORT(bool,wxGridCellEditor_EndEdit)(wxGridCellEditor* self,int row,int col,wxGrid* grid)
 {
-	return (int)((wxGridCellEditor*)_obj)->EndEdit(row, col, (wxGrid*) grid);
+	return self->EndEdit(row, col,  grid);
 }
 	
-EWXWEXPORT(void, wxGridCellEditor_Reset)(void* _obj)
+EWXWEXPORT(void,wxGridCellEditor_Reset)(void* _obj)
 {
 	((wxGridCellEditor*)_obj)->Reset();
 }
 	
-EWXWEXPORT(int, wxGridCellEditor_IsAcceptedKey)(void* _obj, void* event)
+EWXWEXPORT(bool,wxGridCellEditor_IsAcceptedKey)(wxGridCellEditor* self,wxKeyEvent* event)
 {
-	return (int)((wxGridCellEditor*)_obj)->IsAcceptedKey(*((wxKeyEvent*)event));
+	return self->IsAcceptedKey(*event);
 }
 	
-EWXWEXPORT(void, wxGridCellEditor_StartingKey)(void* _obj, void* event)
+EWXWEXPORT(void,wxGridCellEditor_StartingKey)(void* _obj,void* event)
 {
 	((wxGridCellEditor*)_obj)->StartingKey(*((wxKeyEvent*)event));
 }
 	
-EWXWEXPORT(void, wxGridCellEditor_StartingClick)(void* _obj)
+EWXWEXPORT(void,wxGridCellEditor_StartingClick)(void* _obj)
 {
 	((wxGridCellEditor*)_obj)->StartingClick();
 }
 	
-EWXWEXPORT(void, wxGridCellEditor_HandleReturn)(void* _obj, void* event)
+EWXWEXPORT(void,wxGridCellEditor_HandleReturn)(void* _obj,void* event)
 {
 	((wxGridCellEditor*)_obj)->HandleReturn(*((wxKeyEvent*)event));
 }
 	
-EWXWEXPORT(void, wxGridCellEditor_Destroy)(void* _obj)
+EWXWEXPORT(void,wxGridCellEditor_Destroy)(void* _obj)
 {
 	((wxGridCellEditor*)_obj)->Destroy();
 }
 	
-EWXWEXPORT(void, wxGridCellEditor_SetParameters)(void* _obj, void* params)
+EWXWEXPORT(void,wxGridCellEditor_SetParameters)(void* _obj,wxString* params)
 {
-	((wxGridCellEditor*)_obj)->SetParameters((wxChar*)params);
+	((wxGridCellEditor*)_obj)->SetParameters(*params);
 }
 	
-EWXWEXPORT(void*, wxGridCellTextEditor_Ctor)()
+EWXWEXPORT(void*,wxGridCellTextEditor_Ctor)()
 {
 	return (void*) new wxGridCellTextEditor();
 }
 
-EWXWEXPORT(void*, wxGridCellNumberEditor_Ctor)(int min, int max)
+EWXWEXPORT(void*,wxGridCellNumberEditor_Ctor)(int min,int max)
 {
 	return (void*) new wxGridCellNumberEditor(min, max);
 }
 
-EWXWEXPORT(void*, wxGridCellFloatEditor_Ctor)(int width, int precision)
+EWXWEXPORT(void*,wxGridCellFloatEditor_Ctor)(int width,int precision)
 {
 	return (void*) new wxGridCellFloatEditor(width, precision);
 }
 
-EWXWEXPORT(void*, wxGridCellBoolEditor_Ctor)()
+EWXWEXPORT(void*,wxGridCellBoolEditor_Ctor)()
 {
 	return (void*) new wxGridCellBoolEditor();
 }
 
-EWXWEXPORT(void*, wxGridCellChoiceEditor_Ctor)(int count, void* choices, int allowOthers)
+EWXWEXPORT(void*,wxGridCellChoiceEditor_Ctor)(int count,void* choices,bool allowOthers)
 {
 	wxString items[256];
 
 	for (int i = 0; i < count; i++)
 		items[i] = ((wxChar**)choices)[i];
 
-	return (void*) new wxGridCellChoiceEditor (count, items, allowOthers != 0);
+	return (void*) new wxGridCellChoiceEditor (count, items, allowOthers);
 }
 
-EWXWEXPORT(void*, wxGridCellAttr_Ctor)()
+EWXWEXPORT(void*,wxGridCellAttr_Ctor)()
 {
 	return (void*) new wxGridCellAttr();
 }
 
-EWXWEXPORT(void, wxGridCellAttr_IncRef)(void* _obj)
+EWXWEXPORT(void,wxGridCellAttr_IncRef)(void* _obj)
 {
 	((wxGridCellAttr*)_obj)->IncRef();
 }
 	
-EWXWEXPORT(void, wxGridCellAttr_DecRef)(void* _obj)
+EWXWEXPORT(void,wxGridCellAttr_DecRef)(void* _obj)
 {
 	((wxGridCellAttr*)_obj)->DecRef();
 }
 	
-EWXWEXPORT(void, wxGridCellAttr_SetTextColour)(void* _obj, void* colText)
+EWXWEXPORT(void,wxGridCellAttr_SetTextColour)(void* _obj,void* colText)
 {
 	((wxGridCellAttr*)_obj)->SetTextColour(*((wxColour*)colText));
 }
 	
-EWXWEXPORT(void, wxGridCellAttr_SetBackgroundColour)(void* _obj, void* colBack)
+EWXWEXPORT(void,wxGridCellAttr_SetBackgroundColour)(void* _obj,void* colBack)
 {
 	((wxGridCellAttr*)_obj)->SetBackgroundColour(*((wxColour*)colBack));
 }
 	
-EWXWEXPORT(void, wxGridCellAttr_SetFont)(void* _obj, void* font)
+EWXWEXPORT(void,wxGridCellAttr_SetFont)(void* _obj,void* font)
 {
 	((wxGridCellAttr*)_obj)->SetFont(*((wxFont*)font));
 }
 	
-EWXWEXPORT(void, wxGridCellAttr_SetAlignment)(void* _obj, int hAlign, int vAlign)
+EWXWEXPORT(void,wxGridCellAttr_SetAlignment)(void* _obj,int hAlign,int vAlign)
 {
 	((wxGridCellAttr*)_obj)->SetAlignment(hAlign, vAlign);
 }
 	
-EWXWEXPORT(void, wxGridCellAttr_SetReadOnly)(void* _obj, int isReadOnly)
+EWXWEXPORT(void,wxGridCellAttr_SetReadOnly)(void* _obj,bool isReadOnly)
 {
-	((wxGridCellAttr*)_obj)->SetReadOnly(isReadOnly != 0);
+	((wxGridCellAttr*)_obj)->SetReadOnly(isReadOnly);
 }
 	
-EWXWEXPORT(void, wxGridCellAttr_SetRenderer)(void* _obj, void* renderer)
+EWXWEXPORT(void,wxGridCellAttr_SetRenderer)(void* _obj,void* renderer)
 {
 	((wxGridCellAttr*)_obj)->SetRenderer((wxGridCellRenderer*)renderer);
 }
 	
-EWXWEXPORT(void, wxGridCellAttr_SetEditor)(void* _obj, void* editor)
+EWXWEXPORT(void,wxGridCellAttr_SetEditor)(void* _obj,void* editor)
 {
 	((wxGridCellAttr*)_obj)->SetEditor((wxGridCellEditor*) editor);
 }
 	
-EWXWEXPORT(int, wxGridCellAttr_HasTextColour)(void* _obj)
+EWXWEXPORT(bool,wxGridCellAttr_HasTextColour)(wxGridCellAttr* self)
 {
-	return (int)((wxGridCellAttr*)_obj)->HasTextColour();
+	return self->HasTextColour();
 }
 	
-EWXWEXPORT(int, wxGridCellAttr_HasBackgroundColour)(void* _obj)
+EWXWEXPORT(bool,wxGridCellAttr_HasBackgroundColour)(wxGridCellAttr* self)
 {
-	return (int)((wxGridCellAttr*)_obj)->HasBackgroundColour();
+	return self->HasBackgroundColour();
 }
 	
-EWXWEXPORT(int, wxGridCellAttr_HasFont)(void* _obj)
+EWXWEXPORT(bool,wxGridCellAttr_HasFont)(wxGridCellAttr* self)
 {
-	return (int)((wxGridCellAttr*)_obj)->HasFont();
+	return self->HasFont();
 }
 	
-EWXWEXPORT(int, wxGridCellAttr_HasAlignment)(void* _obj)
+EWXWEXPORT(bool,wxGridCellAttr_HasAlignment)(wxGridCellAttr* self)
 {
-	return (int)((wxGridCellAttr*)_obj)->HasAlignment();
+	return self->HasAlignment();
 }
 	
-EWXWEXPORT(int, wxGridCellAttr_HasRenderer)(void* _obj)
+EWXWEXPORT(bool,wxGridCellAttr_HasRenderer)(wxGridCellAttr* self)
 {
-	return (int)((wxGridCellAttr*)_obj)->HasRenderer();
+	return self->HasRenderer();
 }
 	
-EWXWEXPORT(int, wxGridCellAttr_HasEditor)(void* _obj)
+EWXWEXPORT(bool,wxGridCellAttr_HasEditor)(wxGridCellAttr* self)
 {
-	return (int)((wxGridCellAttr*)_obj)->HasEditor();
+	return self->HasEditor();
 }
 	
-EWXWEXPORT(void, wxGridCellAttr_GetTextColour)(void* _obj, void* colour)
+EWXWEXPORT(void,wxGridCellAttr_GetTextColour)(void* _obj,void* colour)
 {
 	*((wxColour*)colour) = ((wxGridCellAttr*)_obj)->GetTextColour();
 }
 	
-EWXWEXPORT(void, wxGridCellAttr_GetBackgroundColour)(void* _obj, void* colour)
+EWXWEXPORT(void,wxGridCellAttr_GetBackgroundColour)(void* _obj,void* colour)
 {
 	*((wxColour*)colour) = ((wxGridCellAttr*)_obj)->GetBackgroundColour();
 }
 	
-EWXWEXPORT(void, wxGridCellAttr_GetFont)(void* _obj, void* font)
+EWXWEXPORT(void,wxGridCellAttr_GetFont)(void* _obj,void* font)
 {
 	*((wxFont*)font) = ((wxGridCellAttr*)_obj)->GetFont();
 }
 	
-EWXWEXPORT(void, wxGridCellAttr_GetAlignment)(void* _obj, void* hAlign, void* vAlign)
+EWXWEXPORT(void,wxGridCellAttr_GetAlignment)(void* _obj,int* hAlign,int* vAlign)
 {
-	((wxGridCellAttr*)_obj)->GetAlignment((int*)hAlign, (int*)vAlign);
+	((wxGridCellAttr*)_obj)->GetAlignment(hAlign, vAlign);
 }
 	
-EWXWEXPORT(void*, wxGridCellAttr_GetRenderer)(void* _obj, void* grid, int row, int col)
+EWXWEXPORT(void*,wxGridCellAttr_GetRenderer)(void* _obj,void* grid,int row,int col)
 {
 	return (void*)((wxGridCellAttr*)_obj)->GetRenderer((wxGrid*)grid, row, col);
 }
 	
-EWXWEXPORT(void*, wxGridCellAttr_GetEditor)(void* _obj, void* grid, int row, int col)
+EWXWEXPORT(void*,wxGridCellAttr_GetEditor)(void* _obj,void* grid,int row,int col)
 {
 	return (void*)((wxGridCellAttr*)_obj)->GetEditor((wxGrid*)grid, row, col);
 }
 	
-EWXWEXPORT(int, wxGridCellAttr_IsReadOnly)(void* _obj)
+EWXWEXPORT(bool,wxGridCellAttr_IsReadOnly)(wxGridCellAttr* self)
 {
-	return (int)((wxGridCellAttr*)_obj)->IsReadOnly();
+	return self->IsReadOnly();
 }
 	
-EWXWEXPORT(void, wxGridCellAttr_SetDefAttr)(void* _obj, void* defAttr)
+EWXWEXPORT(void,wxGridCellAttr_SetDefAttr)(void* _obj,void* defAttr)
 {
 	((wxGridCellAttr*)_obj)->SetDefAttr((wxGridCellAttr*) defAttr);
 }
 	
-EWXWEXPORT(void*, wxGrid_Create) (void* _prt, int _id, int _lft, int _top, int _wdt, int _hgt, int _stl)
+EWXWEXPORT(void*,wxGrid_Create)(wxWindow* _prt,int _id,int _lft,int _top,int _wdt,int _hgt,int _stl)
 {
-	return (void*) new wxGrid ((wxWindow*)_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl | wxWANTS_CHARS);
+	return (void*) new wxGrid (_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl | wxWANTS_CHARS);
 }
 
-EWXWEXPORT(void, wxGrid_CreateGrid) (void* _obj, int rows, int cols, int selmode)
+EWXWEXPORT(void,wxGrid_CreateGrid)(void* _obj,int rows,int cols,int selmode)
 {
 	((wxGrid*)_obj)->CreateGrid (rows, cols, (wxGrid::wxGridSelectionModes)selmode);
 }
 
-EWXWEXPORT(void, wxGrid_SetSelectionMode)(void* _obj, int selmode)
+EWXWEXPORT(void,wxGrid_SetSelectionMode)(void* _obj,int selmode)
 {
 	((wxGrid*)_obj)->SetSelectionMode((wxGrid::wxGridSelectionModes) selmode);
 }
 	
-EWXWEXPORT(int, wxGrid_GetNumberRows)(void* _obj)
+EWXWEXPORT(int,wxGrid_GetNumberRows)(void* _obj)
 {
 	return ((wxGrid*)_obj)->GetNumberRows();
 }
 	
-EWXWEXPORT(int, wxGrid_GetNumberCols)(void* _obj)
+EWXWEXPORT(int,wxGrid_GetNumberCols)(void* _obj)
 {
 	return ((wxGrid*)_obj)->GetNumberCols();
 }
 	
-EWXWEXPORT(void, wxGrid_CalcRowLabelsExposed)(void* _obj, void* reg)
+EWXWEXPORT(void,wxGrid_CalcRowLabelsExposed)(void* _obj,void* reg)
 {
 	((wxGrid*)_obj)->CalcRowLabelsExposed(*((wxRegion*) reg));
 }
 	
-EWXWEXPORT(void, wxGrid_CalcColLabelsExposed)(void* _obj, void* reg)
+EWXWEXPORT(void,wxGrid_CalcColLabelsExposed)(void* _obj,void* reg)
 {
 	((wxGrid*)_obj)->CalcColLabelsExposed(*((wxRegion*) reg));
 }
 	
-EWXWEXPORT(void, wxGrid_CalcCellsExposed)(void* _obj, void* reg)
+EWXWEXPORT(void,wxGrid_CalcCellsExposed)(void* _obj,void* reg)
 {
 	((wxGrid*)_obj)->CalcCellsExposed(*((wxRegion*)reg));
 }
 	
-EWXWEXPORT(void,wxGrid_NewCalcCellsExposed)(void* _obj, void* reg, void* arr)
+EWXWEXPORT(void,wxGrid_NewCalcCellsExposed)(void* _obj,void* reg,void* arr)
 {
 #if wxVERSION_NUMBER >= 2400
 	*((wxGridCellCoordsArray*)arr) = ((wxGrid*)_obj)->CalcCellsExposed(*((wxRegion*)reg));
 #endif
 }
 	
-EWXWEXPORT(void, wxGrid_ProcessRowLabelMouseEvent)(void* _obj, void* event)
+EWXWEXPORT(void,wxGrid_ProcessRowLabelMouseEvent)(void* _obj,void* event)
 {
 	((wxGrid*)_obj)->ProcessRowLabelMouseEvent(*((wxMouseEvent*)event));
 }
 	
-EWXWEXPORT(void, wxGrid_ProcessColLabelMouseEvent)(void* _obj, void* event)
+EWXWEXPORT(void,wxGrid_ProcessColLabelMouseEvent)(void* _obj,void* event)
 {
 	((wxGrid*)_obj)->ProcessColLabelMouseEvent(*((wxMouseEvent*)event));
 }
 	
-EWXWEXPORT(void, wxGrid_ProcessCornerLabelMouseEvent)(void* _obj, void* event)
+EWXWEXPORT(void,wxGrid_ProcessCornerLabelMouseEvent)(void* _obj,void* event)
 {
 	((wxGrid*)_obj)->ProcessCornerLabelMouseEvent(*((wxMouseEvent*) event));
 }
 	
-EWXWEXPORT(void, wxGrid_ProcessGridCellMouseEvent)(void* _obj, void* event)
+EWXWEXPORT(void,wxGrid_ProcessGridCellMouseEvent)(void* _obj,void* event)
 {
 	((wxGrid*)_obj)->ProcessGridCellMouseEvent(*((wxMouseEvent*)event));
 }
 	
-EWXWEXPORT(int, wxGrid_ProcessTableMessage)(void* _obj, void* evt)
+EWXWEXPORT(bool,wxGrid_ProcessTableMessage)(wxGrid* self,wxGridTableMessage* evt)
 {
-	return (int)((wxGrid*)_obj)->ProcessTableMessage(*((wxGridTableMessage*)evt));
+	return self->ProcessTableMessage(*evt);
 }
 	
-EWXWEXPORT(void, wxGrid_DoEndDragResizeRow)(void* _obj)
+EWXWEXPORT(void,wxGrid_DoEndDragResizeRow)(void* _obj)
 {
 	((wxGrid*)_obj)->DoEndDragResizeRow();
 }
 	
-EWXWEXPORT(void, wxGrid_DoEndDragResizeCol)(void* _obj)
+EWXWEXPORT(void,wxGrid_DoEndDragResizeCol)(void* _obj)
 {
 	((wxGrid*)_obj)->DoEndDragResizeCol();
 }
 	
-EWXWEXPORT(void*, wxGrid_GetTable)(void* _obj)
+EWXWEXPORT(void*,wxGrid_GetTable)(void* _obj)
 {
 	return (void*)((wxGrid*)_obj)->GetTable();
 }
 	
-EWXWEXPORT(int, wxGrid_SetTable)(void* _obj, void* table, int takeOwnership, int selmode)
+EWXWEXPORT(bool,wxGrid_SetTable)(wxGrid* self,wxGridTableBase* table,bool takeOwnership,int selmode)
 {
-	return (int)((wxGrid*)_obj)->SetTable((wxGridTableBase*)table, takeOwnership != 0, (wxGrid::wxGridSelectionModes) selmode);
+	return self->SetTable(table, takeOwnership , (wxGrid::wxGridSelectionModes) selmode);
 }
 	
-EWXWEXPORT(void, wxGrid_ClearGrid)(void* _obj)
+EWXWEXPORT(void,wxGrid_ClearGrid)(void* self)
 {
-	((wxGrid*)_obj)->ClearGrid();
+	((wxGrid*)self)->ClearGrid();
 }
 	
-EWXWEXPORT(int, wxGrid_InsertRows)(void* _obj, int pos, int numRows, int updateLabels)
+EWXWEXPORT(bool,wxGrid_InsertRows)(wxGrid* self,int pos,int numRows,bool updateLabels)
 {
-	return (int)((wxGrid*)_obj)->InsertRows(pos, numRows, updateLabels != 0);
+	return self->InsertRows(pos, numRows, updateLabels);
 }
 	
-EWXWEXPORT(int, wxGrid_AppendRows)(void* _obj, int numRows, int updateLabels)
+EWXWEXPORT(bool,wxGrid_AppendRows)(wxGrid* self,int numRows,bool updateLabels)
 {
-	return (int)((wxGrid*)_obj)->AppendRows(numRows, updateLabels != 0);
+	return self->AppendRows(numRows, updateLabels);
 }
 	
-EWXWEXPORT(int, wxGrid_DeleteRows)(void* _obj, int pos, int numRows, int updateLabels)
+EWXWEXPORT(bool,wxGrid_DeleteRows)(wxGrid* self,int pos,int numRows,bool updateLabels)
 {
-	return (int)((wxGrid*)_obj)->DeleteRows(pos, numRows, updateLabels != 0);
+	return self->DeleteRows(pos, numRows, updateLabels);
 }
 	
-EWXWEXPORT(int, wxGrid_InsertCols)(void* _obj, int pos, int numCols, int updateLabels)
+EWXWEXPORT(bool,wxGrid_InsertCols)(wxGrid* self,int pos,int numCols,bool updateLabels)
 {
-	return (int)((wxGrid*)_obj)->InsertCols(pos, numCols, updateLabels != 0);
+	return self->InsertCols(pos, numCols, updateLabels);
 }
 	
-EWXWEXPORT(int, wxGrid_AppendCols)(void* _obj, int numCols, int updateLabels )
+EWXWEXPORT(bool,wxGrid_AppendCols)(wxGrid* self,int numCols,int updateLabels)
 {
-	return (int)((wxGrid*)_obj)->AppendCols( numCols, updateLabels);
+	return self->AppendCols( numCols, updateLabels);
 }
 	
-EWXWEXPORT(int, wxGrid_DeleteCols)(void* _obj, int pos, int numCols, int updateLabels)
+EWXWEXPORT(bool,wxGrid_DeleteCols)(wxGrid* self,int pos,int numCols,bool updateLabels)
 {
-	return (int)((wxGrid*)_obj)->DeleteCols(pos, numCols, updateLabels != 0);
+	return self->DeleteCols(pos, numCols, updateLabels);
 }
 	
-EWXWEXPORT(void, wxGrid_DrawGridCellArea)(void* _obj, void* dc)
+EWXWEXPORT(void,wxGrid_DrawGridCellArea)(void* _obj,void* dc)
 {
 #if wxVERSION_NUMBER >= 2400
 	wxGridCellCoordsArray arr;
@@ -393,34 +393,34 @@
 #endif
 }
 	
-EWXWEXPORT(void,wxGrid_NewDrawGridCellArea)(void* _obj, void* dc, void* arr)
+EWXWEXPORT(void,wxGrid_NewDrawGridCellArea)(void* _obj,void* dc,void* arr)
 {
 #if wxVERSION_NUMBER >= 2400
 	((wxGrid*)_obj)->DrawGridCellArea(*((wxDC*) dc), *((wxGridCellCoordsArray*)arr));
 #endif
 }
 	
-EWXWEXPORT(void, wxGrid_DrawGridSpace)(void* _obj, void* dc)
+EWXWEXPORT(void,wxGrid_DrawGridSpace)(void* _obj,void* dc)
 {
 	((wxGrid*)_obj)->DrawGridSpace(*((wxDC*) dc));
 }
 	
-EWXWEXPORT(void, wxGrid_DrawCellBorder)(void* _obj, void* dc, int _row, int _col)
+EWXWEXPORT(void,wxGrid_DrawCellBorder)(void* _obj,void* dc,int _row,int _col)
 {
 	((wxGrid*)_obj)->DrawCellBorder(*((wxDC*) dc), wxGridCellCoords(_row, _col));
 }
 	
-EWXWEXPORT(void, wxGrid_DrawAllGridLines)(void* _obj, void* dc, void* reg)
+EWXWEXPORT(void,wxGrid_DrawAllGridLines)(void* _obj,void* dc,void* reg)
 {
 	((wxGrid*)_obj)->DrawAllGridLines(*((wxDC*) dc), *((wxRegion*) reg));
 }
 	
-EWXWEXPORT(void, wxGrid_DrawCell)(void* _obj, void* dc, int _row, int _col)
+EWXWEXPORT(void,wxGrid_DrawCell)(void* _obj,void* dc,int _row,int _col)
 {
 	((wxGrid*)_obj)->DrawCell(*((wxDC*) dc), wxGridCellCoords(_row, _col));
 }
 	
-EWXWEXPORT(void, wxGrid_DrawHighlight)(void* _obj, void* dc)
+EWXWEXPORT(void,wxGrid_DrawHighlight)(void* _obj,void* dc)
 {
 #if wxVERSION_NUMBER >= 2400
 	wxGridCellCoordsArray arr;
@@ -430,19 +430,19 @@
 #endif
 }
 	
-EWXWEXPORT(void, wxGrid_NewDrawHighlight)(void* _obj, void* dc, void* arr)
+EWXWEXPORT(void,wxGrid_NewDrawHighlight)(void* _obj,void* dc,void* arr)
 {
 #if wxVERSION_NUMBER >= 2400
 	((wxGrid*)_obj)->DrawHighlight(*((wxDC*) dc), *((wxGridCellCoordsArray*)arr));
 #endif
 }
 	
-EWXWEXPORT(void, wxGrid_DrawCellHighlight)(void* _obj, void* dc, void* attr)
+EWXWEXPORT(void,wxGrid_DrawCellHighlight)(void* _obj,void* dc,void* attr)
 {
 	((wxGrid*)_obj)->DrawCellHighlight(*((wxDC*) dc), (const wxGridCellAttr*) attr);
 }
 	
-EWXWEXPORT(void, wxGrid_DrawRowLabels)(void* _obj, void* dc)
+EWXWEXPORT(void,wxGrid_DrawRowLabels)(void* _obj,void* dc)
 {
 #if wxVERSION_NUMBER >= 2400
 	wxArrayInt arr;
@@ -452,12 +452,12 @@
 #endif
 }
 	
-EWXWEXPORT(void, wxGrid_DrawRowLabel)(void* _obj, void* dc, int row)
+EWXWEXPORT(void,wxGrid_DrawRowLabel)(void* _obj,void* dc,int row)
 {
 	((wxGrid*)_obj)->DrawRowLabel(*((wxDC*) dc), row);
 }
 	
-EWXWEXPORT(void, wxGrid_DrawColLabels)(void* _obj, void* dc)
+EWXWEXPORT(void,wxGrid_DrawColLabels)(void* _obj,void* dc)
 {
 #if wxVERSION_NUMBER >= 2400
 	wxArrayInt arr;
@@ -467,22 +467,22 @@
 #endif
 }
 	
-EWXWEXPORT(void, wxGrid_DrawColLabel)(void* _obj, void* dc, int col)
+EWXWEXPORT(void,wxGrid_DrawColLabel)(void* _obj,void* dc,int col)
 {
 	((wxGrid*)_obj)->DrawColLabel(*((wxDC*) dc), col);
 }
 	
-EWXWEXPORT(void, wxGrid_DrawTextRectangle)(void* _obj, void* dc, void* txt, int x, int y, int w, int h, int horizontalAlignment, int verticalAlignment)
+EWXWEXPORT(void,wxGrid_DrawTextRectangle)(void* _obj,void* dc,wxString* txt,int x,int y,int w,int h,int horizontalAlignment,int verticalAlignment)
 {
-	((wxGrid*)_obj)->DrawTextRectangle(*((wxDC*) dc), (wxChar*)txt, wxRect(x, y, w, h), horizontalAlignment, verticalAlignment);
+	((wxGrid*)_obj)->DrawTextRectangle(*((wxDC*) dc), *txt, wxRect(x, y, w, h), horizontalAlignment, verticalAlignment);
 }
 	
-EWXWEXPORT(int, wxGrid_StringToLines)(void* _obj,  void* value, void* lines)
+EWXWEXPORT(int,wxGrid_StringToLines)(void* _obj,wxString* value,void* lines)
 {
 	int result = 0;
 	wxArrayString arr;
 	
-	((wxGrid*)_obj)->StringToLines((wxChar*)value, arr);
+	((wxGrid*)_obj)->StringToLines(*value, arr);
 	
 	result = arr.GetCount();
 	
@@ -494,7 +494,7 @@
 	return result;
 }
 	
-EWXWEXPORT(void, wxGrid_GetTextBoxSize)(void* _obj, void* dc, int count, void* lines, void* width, void* height)
+EWXWEXPORT(void,wxGrid_GetTextBoxSize)(void* _obj,void* dc,int count,void* lines,void* width,void* height)
 {
 	wxArrayString arr;
 
@@ -504,77 +504,77 @@
 	((wxGrid*)_obj)->GetTextBoxSize(*((wxDC*) dc), arr, (long*)width, (long*)height);
 }
 	
-EWXWEXPORT(void, wxGrid_BeginBatch)(void* _obj)
+EWXWEXPORT(void,wxGrid_BeginBatch)(void* _obj)
 {
 	((wxGrid*)_obj)->BeginBatch();
 }
 	
-EWXWEXPORT(void, wxGrid_EndBatch)(void* _obj)
+EWXWEXPORT(void,wxGrid_EndBatch)(void* _obj)
 {
 	((wxGrid*)_obj)->EndBatch();
 }
 	
-EWXWEXPORT(int, wxGrid_GetBatchCount)(void* _obj)
+EWXWEXPORT(int,wxGrid_GetBatchCount)(void* _obj)
 {
 	return ((wxGrid*)_obj)->GetBatchCount();
 }
 	
-EWXWEXPORT(int, wxGrid_IsEditable)(void* _obj)
+EWXWEXPORT(bool,wxGrid_IsEditable)(wxGrid* self)
 {
-	return (int)((wxGrid*)_obj)->IsEditable();
+	return self->IsEditable();
 }
 	
-EWXWEXPORT(void, wxGrid_EnableEditing)(void* _obj, int edit)
+EWXWEXPORT(void,wxGrid_EnableEditing)(wxGrid* self,bool edit)
 {
-	((wxGrid*)_obj)->EnableEditing(edit != 0);
+	self->EnableEditing(edit);
 }
 	
-EWXWEXPORT(void, wxGrid_EnableCellEditControl)(void* _obj, int enable)
+EWXWEXPORT(void,wxGrid_EnableCellEditControl)(wxGrid* self,bool enable)
 {
-	((wxGrid*)_obj)->EnableCellEditControl(enable != 0);
+	self->EnableCellEditControl(enable);
 }
 	
-EWXWEXPORT(void, wxGrid_DisableCellEditControl)(void* _obj)
+EWXWEXPORT(void,wxGrid_DisableCellEditControl)(void* _obj)
 {
 	((wxGrid*)_obj)->DisableCellEditControl();
 }
 	
-EWXWEXPORT(int, wxGrid_CanEnableCellControl)(void* _obj)
+EWXWEXPORT(bool,wxGrid_CanEnableCellControl)(wxGrid* self)
 {
-	return (int)((wxGrid*)_obj)->CanEnableCellControl();
+	return self->CanEnableCellControl();
 }
 	
-EWXWEXPORT(int, wxGrid_IsCellEditControlEnabled)(void* _obj)
+EWXWEXPORT(bool,wxGrid_IsCellEditControlEnabled)(wxGrid* self)
 {
-	return (int)((wxGrid*)_obj)->IsCellEditControlEnabled();
+	return self->IsCellEditControlEnabled();
 }
 	
-EWXWEXPORT(int, wxGrid_IsCellEditControlShown)(void* _obj)
+EWXWEXPORT(bool,wxGrid_IsCellEditControlShown)(wxGrid* self)
 {
-	return (int)((wxGrid*)_obj)->IsCellEditControlShown();
+	return self->IsCellEditControlShown();
 }
 	
-EWXWEXPORT(int, wxGrid_IsCurrentCellReadOnly)(void* _obj)
+EWXWEXPORT(bool,wxGrid_IsCurrentCellReadOnly)(wxGrid* self)
 {
-	return (int)((wxGrid*)_obj)->IsCurrentCellReadOnly();
+	return self->IsCurrentCellReadOnly();
 }
 	
-EWXWEXPORT(void, wxGrid_ShowCellEditControl)(void* _obj)
+EWXWEXPORT(void,wxGrid_ShowCellEditControl)(void* _obj)
 {
 	((wxGrid*)_obj)->ShowCellEditControl();
 }
 	
-EWXWEXPORT(void, wxGrid_HideCellEditControl)(void* _obj)
+EWXWEXPORT(void,wxGrid_HideCellEditControl)(void* _obj)
 {
 	((wxGrid*)_obj)->HideCellEditControl();
 }
 	
-EWXWEXPORT(void, wxGrid_SaveEditControlValue)(void* _obj)
+EWXWEXPORT(void,wxGrid_SaveEditControlValue)(void* _obj)
 {
 	((wxGrid*)_obj)->SaveEditControlValue();
 }
 	
-EWXWEXPORT(void, wxGrid_XYToCell)(void* _obj, int x, int y, int* r, int* c)
+EWXWEXPORT(void,wxGrid_XYToCell)(void* _obj,int x,int y,int* r,int* c)
 {
 	wxGridCellCoords cds;
 	((wxGrid*)_obj)->XYToCell(x, y, cds);
@@ -582,22 +582,22 @@
 	*c = cds.GetCol();
 }
 	
-EWXWEXPORT(int, wxGrid_YToRow)(void* _obj, int y)
+EWXWEXPORT(int,wxGrid_YToRow)(void* _obj,int y)
 {
 	return ((wxGrid*)_obj)->YToRow(y);
 }
 	
-EWXWEXPORT(int, wxGrid_XToCol)(void* _obj, int x)
+EWXWEXPORT(int,wxGrid_XToCol)(void* _obj,int x)
 {
 	return ((wxGrid*)_obj)->XToCol(x);
 }
 	
-EWXWEXPORT(int, wxGrid_YToEdgeOfRow)(void* _obj, int y)
+EWXWEXPORT(int,wxGrid_YToEdgeOfRow)(void* _obj,int y)
 {
 	return ((wxGrid*)_obj)->YToEdgeOfRow(y);
 }
 	
-EWXWEXPORT(int, wxGrid_XToEdgeOfCol)(void* _obj, int x)
+EWXWEXPORT(int,wxGrid_XToEdgeOfCol)(void* _obj,int x)
 {
 	return ((wxGrid*)_obj)->XToEdgeOfCol(x);
 }
@@ -611,537 +611,540 @@
 	*h = rct.height;
 }
 	
-EWXWEXPORT(int, wxGrid_GetGridCursorRow)(void* _obj)
+EWXWEXPORT(int,wxGrid_GetGridCursorRow)(void* _obj)
 {
 	return ((wxGrid*)_obj)->GetGridCursorRow();
 }
 	
-EWXWEXPORT(int, wxGrid_GetGridCursorCol)(void* _obj)
+EWXWEXPORT(int,wxGrid_GetGridCursorCol)(void* _obj)
 {
 	return ((wxGrid*)_obj)->GetGridCursorCol();
 }
 	
-EWXWEXPORT(int, wxGrid_IsVisible)(void* _obj,  int row, int col, int wholeCellVisible)
+EWXWEXPORT(bool,wxGrid_IsVisible)(wxGrid* self,int row,int col,bool wholeCellVisible)
 {
-	return (int)((wxGrid*)_obj)->IsVisible(row, col, wholeCellVisible != 0);
+	return self->IsVisible(row, col, wholeCellVisible);
 }
 	
-EWXWEXPORT(void, wxGrid_MakeCellVisible)(void* _obj, int row, int col)
+EWXWEXPORT(void,wxGrid_MakeCellVisible)(void* _obj,int row,int col)
 {
 	((wxGrid*)_obj)->MakeCellVisible(row, col);
 }
 	
-EWXWEXPORT(void, wxGrid_SetGridCursor)(void* _obj, int row, int col)
+EWXWEXPORT(void,wxGrid_SetGridCursor)(void* _obj,int row,int col)
 {
 	((wxGrid*)_obj)->SetGridCursor(row, col);
 }
 	
-EWXWEXPORT(int, wxGrid_MoveCursorUp)(void* _obj, int expandSelection)
+EWXWEXPORT(bool,wxGrid_MoveCursorUp)(wxGrid* self,bool expandSelection)
 {
-	return (int)((wxGrid*)_obj)->MoveCursorUp(expandSelection != 0);
+	return self->MoveCursorUp(expandSelection);
 }
 	
-EWXWEXPORT(int, wxGrid_MoveCursorDown)(void* _obj, int expandSelection )
+EWXWEXPORT(bool,wxGrid_MoveCursorDown)(wxGrid* self,bool expandSelection)
 {
-	return (int)((wxGrid*)_obj)->MoveCursorDown(expandSelection != 0);
+	return self->MoveCursorDown(expandSelection);
 }
 	
-EWXWEXPORT(int, wxGrid_MoveCursorLeft)(void* _obj, int expandSelection)
+EWXWEXPORT(bool,wxGrid_MoveCursorLeft)(wxGrid* self,bool expandSelection)
 {
-	return (int)((wxGrid*)_obj)->MoveCursorLeft(expandSelection != 0);
+	return self->MoveCursorLeft(expandSelection);
 }
 	
-EWXWEXPORT(int, wxGrid_MoveCursorRight)(void* _obj, int expandSelection)
+EWXWEXPORT(bool,wxGrid_MoveCursorRight)(wxGrid* self,bool expandSelection)
 {
-	return (int)((wxGrid*)_obj)->MoveCursorRight(expandSelection != 0);
+	return self->MoveCursorRight(expandSelection);
 }
 	
-EWXWEXPORT(int, wxGrid_MovePageDown)(void* _obj)
+EWXWEXPORT(bool,wxGrid_MovePageDown)(wxGrid* self)
 {
-	return (int)((wxGrid*)_obj)->MovePageDown();
+	return self->MovePageDown();
 }
 	
-EWXWEXPORT(int, wxGrid_MovePageUp)(void* _obj)
+EWXWEXPORT(bool,wxGrid_MovePageUp)(wxGrid* self)
 {
-	return (int)((wxGrid*)_obj)->MovePageUp();
+	return self->MovePageUp();
 }
 	
-EWXWEXPORT(int, wxGrid_MoveCursorUpBlock)(void* _obj, int expandSelection)
+EWXWEXPORT(bool,wxGrid_MoveCursorUpBlock)(wxGrid* self,bool expandSelection)
 {
-	return (int)((wxGrid*)_obj)->MoveCursorUpBlock(expandSelection != 0);
+	return self->MoveCursorUpBlock(expandSelection);
 }
 	
-EWXWEXPORT(int, wxGrid_MoveCursorDownBlock)(void* _obj, int expandSelection)
+EWXWEXPORT(bool,wxGrid_MoveCursorDownBlock)(wxGrid* self,bool expandSelection)
 {
-	return (int)((wxGrid*)_obj)->MoveCursorDownBlock(expandSelection != 0);
+	return self->MoveCursorDownBlock(expandSelection);
 }
 	
-EWXWEXPORT(int, wxGrid_MoveCursorLeftBlock)(void* _obj, int expandSelection)
+EWXWEXPORT(bool,wxGrid_MoveCursorLeftBlock)(wxGrid* self,bool expandSelection)
 {
-	return (int)((wxGrid*)_obj)->MoveCursorLeftBlock(expandSelection != 0);
+	return self->MoveCursorLeftBlock(expandSelection);
 }
 	
-EWXWEXPORT(int, wxGrid_MoveCursorRightBlock)(void* _obj, int expandSelection)
+EWXWEXPORT(bool,wxGrid_MoveCursorRightBlock)(wxGrid* self,bool expandSelection)
 {
-	return (int)((wxGrid*)_obj)->MoveCursorRightBlock(expandSelection != 0);
+	return self->MoveCursorRightBlock(expandSelection);
 }
 	
-EWXWEXPORT(int, wxGrid_GetDefaultRowLabelSize)(void* _obj)
+EWXWEXPORT(int,wxGrid_GetDefaultRowLabelSize)(void* _obj)
 {
 	return ((wxGrid*)_obj)->GetDefaultRowLabelSize();
 }
 	
-EWXWEXPORT(int, wxGrid_GetRowLabelSize)(void* _obj)
+EWXWEXPORT(int,wxGrid_GetRowLabelSize)(void* _obj)
 {
 	return ((wxGrid*)_obj)->GetRowLabelSize();
 }
 	
-EWXWEXPORT(int, wxGrid_GetDefaultColLabelSize)(void* _obj)
+EWXWEXPORT(int,wxGrid_GetDefaultColLabelSize)(void* _obj)
 {
 	return ((wxGrid*)_obj)->GetDefaultColLabelSize();
 }
 	
-EWXWEXPORT(int, wxGrid_GetColLabelSize)(void* _obj)
+EWXWEXPORT(int,wxGrid_GetColLabelSize)(void* _obj)
 {
 	return ((wxGrid*)_obj)->GetColLabelSize();
 }
 	
-EWXWEXPORT(void, wxGrid_GetLabelBackgroundColour)(void* _obj, void* colour)
+EWXWEXPORT(void,wxGrid_GetLabelBackgroundColour)(void* _obj,void* colour)
 {
 	*((wxColour*)colour) = ((wxGrid*)_obj)->GetLabelBackgroundColour();
 }
 	
-EWXWEXPORT(void, wxGrid_GetLabelTextColour)(void* _obj, void* colour)
+EWXWEXPORT(void,wxGrid_GetLabelTextColour)(void* _obj,void* colour)
 {
 	*((wxColour*)colour) = ((wxGrid*)_obj)->GetLabelTextColour();
 }
 	
-EWXWEXPORT(void, wxGrid_GetLabelFont)(void* _obj, void* font)
+EWXWEXPORT(void,wxGrid_GetLabelFont)(void* _obj,void* font)
 {
 	*((wxFont*)font) = ((wxGrid*)_obj)->GetLabelFont();
 }
 	
-EWXWEXPORT(void, wxGrid_GetRowLabelAlignment)(void* _obj, void* horiz, void* vert)
+EWXWEXPORT(void,wxGrid_GetRowLabelAlignment)(void* _obj,int* horiz,int* vert)
 {
-	((wxGrid*)_obj)->GetRowLabelAlignment((int*)horiz, (int*)vert);
+	((wxGrid*)_obj)->GetRowLabelAlignment(horiz,vert);
 }
 	
-EWXWEXPORT(void, wxGrid_GetColLabelAlignment)(void* _obj, void* horiz, void* vert)
+EWXWEXPORT(void,wxGrid_GetColLabelAlignment)(void* _obj,int* horiz,int* vert)
 {
-	((wxGrid*)_obj)->GetColLabelAlignment((int*)horiz, (int*)vert);
+	((wxGrid*)_obj)->GetColLabelAlignment(horiz,vert);
 }
 	
-EWXWEXPORT(int, wxGrid_GetRowLabelValue)(void* _obj, int row, void* _buf)
+EWXWEXPORT(wxString*,wxGrid_GetRowLabelValue)(void* _obj,int row)
 {
-	wxString result =((wxGrid*)_obj)->GetRowLabelValue(row);
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = ((wxGrid*)_obj)->GetRowLabelValue(row);
+	return result;
 }
 	
-EWXWEXPORT(int, wxGrid_GetColLabelValue)(void* _obj, int col, void* _buf)
+EWXWEXPORT(wxString*,wxGrid_GetColLabelValue)(void* _obj,int col)
 {
-	wxString result =((wxGrid*)_obj)->GetColLabelValue(col);
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = ((wxGrid*)_obj)->GetColLabelValue(col);
+	return result;
 }
 	
-EWXWEXPORT(void, wxGrid_GetGridLineColour)(void* _obj, void* colour)
+EWXWEXPORT(void,wxGrid_GetGridLineColour)(void* _obj,void* colour)
 {
 	*((wxColour*)colour) = ((wxGrid*)_obj)->GetGridLineColour();
 }
 	
-EWXWEXPORT(void, wxGrid_GetCellHighlightColour)(void* _obj, void* colour)
+EWXWEXPORT(void,wxGrid_GetCellHighlightColour)(void* _obj,void* colour)
 {
 	*((wxColour*)colour) = ((wxGrid*)_obj)->GetCellHighlightColour();
 }
 	
-EWXWEXPORT(void, wxGrid_SetRowLabelSize)(void* _obj, int width)
+EWXWEXPORT(void,wxGrid_SetRowLabelSize)(void* _obj,int width)
 {
 	((wxGrid*)_obj)->SetRowLabelSize(width);
 }
 	
-EWXWEXPORT(void, wxGrid_SetColLabelSize)(void* _obj, int height)
+EWXWEXPORT(void,wxGrid_SetColLabelSize)(void* _obj,int height)
 {
 	((wxGrid*)_obj)->SetColLabelSize(height);
 }
 	
-EWXWEXPORT(void, wxGrid_SetLabelBackgroundColour)(void* _obj, void* colour)
+EWXWEXPORT(void,wxGrid_SetLabelBackgroundColour)(void* _obj,void* colour)
 {
 	((wxGrid*)_obj)->SetLabelBackgroundColour(*((wxColour*)colour));
 }
 	
-EWXWEXPORT(void, wxGrid_SetLabelTextColour)(void* _obj, void* colour)
+EWXWEXPORT(void,wxGrid_SetLabelTextColour)(void* _obj,void* colour)
 {
 	((wxGrid*)_obj)->SetLabelTextColour(*((wxColour*)colour));
 }
 	
-EWXWEXPORT(void, wxGrid_SetLabelFont)(void* _obj, void* font)
+EWXWEXPORT(void,wxGrid_SetLabelFont)(void* _obj,void* font)
 {
 	((wxGrid*)_obj)->SetLabelFont(*((wxFont*)font));
 }
 	
-EWXWEXPORT(void, wxGrid_SetRowLabelAlignment)(void* _obj, int horiz, int vert)
+EWXWEXPORT(void,wxGrid_SetRowLabelAlignment)(void* _obj,int horiz,int vert)
 {
 	((wxGrid*)_obj)->SetRowLabelAlignment(horiz, vert);
 }
 	
-EWXWEXPORT(void, wxGrid_SetColLabelAlignment)(void* _obj, int horiz, int vert)
+EWXWEXPORT(void,wxGrid_SetColLabelAlignment)(void* _obj,int horiz,int vert)
 {
 	((wxGrid*)_obj)->SetColLabelAlignment(horiz, vert);
 }
 	
-EWXWEXPORT(void, wxGrid_SetRowLabelValue)(void* _obj, int row, void* label)
+EWXWEXPORT(void,wxGrid_SetRowLabelValue)(void* _obj,int row,wxString* label)
 {
-	((wxGrid*)_obj)->SetRowLabelValue(row, (wxChar*)label);
+	((wxGrid*)_obj)->SetRowLabelValue(row, *label);
 }
 	
-EWXWEXPORT(void, wxGrid_SetColLabelValue)(void* _obj, int col, void* label)
+EWXWEXPORT(void,wxGrid_SetColLabelValue)(void* _obj,int col,wxString* label)
 {
-	((wxGrid*)_obj)->SetColLabelValue(col, (wxChar*)label);
+	((wxGrid*)_obj)->SetColLabelValue(col, *label);
 }
 	
-EWXWEXPORT(void, wxGrid_SetGridLineColour)(void* _obj, void* col)
+EWXWEXPORT(void,wxGrid_SetGridLineColour)(void* _obj,void* col)
 {
 	((wxGrid*)_obj)->SetGridLineColour(*((wxColour*) col));
 }
 	
-EWXWEXPORT(void, wxGrid_SetCellHighlightColour)(void* _obj, void* col)
+EWXWEXPORT(void,wxGrid_SetCellHighlightColour)(void* _obj,void* col)
 {
 	((wxGrid*)_obj)->SetCellHighlightColour(*((wxColour*) col));
 }
 	
-EWXWEXPORT(void, wxGrid_EnableDragRowSize)(void* _obj, int enable)
+EWXWEXPORT(void,wxGrid_EnableDragRowSize)(void* self,bool enable)
 {
-	((wxGrid*)_obj)->EnableDragRowSize(enable != 0);
+	((wxGrid*)self)->EnableDragRowSize(enable);
 }
 	
-EWXWEXPORT(void, wxGrid_DisableDragRowSize)(void* _obj)
+EWXWEXPORT(void,wxGrid_DisableDragRowSize)(void* self)
 {
-	((wxGrid*)_obj)->DisableDragRowSize();
+	((wxGrid*)self)->DisableDragRowSize();
 }
 	
-EWXWEXPORT(int, wxGrid_CanDragRowSize)(void* _obj)
+EWXWEXPORT(bool,wxGrid_CanDragRowSize)(wxGrid* self)
 {
-	return (int)((wxGrid*)_obj)->CanDragRowSize();
+	return self->CanDragRowSize();
 }
 	
-EWXWEXPORT(void, wxGrid_EnableDragColSize)(void* _obj, int enable)
+EWXWEXPORT(void,wxGrid_EnableDragColSize)(void* self,bool enable)
 {
-	((wxGrid*)_obj)->EnableDragColSize(enable != 0);
+	((wxGrid*)self)->EnableDragColSize(enable);
 }
 	
-EWXWEXPORT(void, wxGrid_DisableDragColSize)(void* _obj)
+EWXWEXPORT(void,wxGrid_DisableDragColSize)(void* self)
 {
-	((wxGrid*)_obj)->DisableDragColSize();
+	((wxGrid*)self)->DisableDragColSize();
 }
 	
-EWXWEXPORT(int, wxGrid_CanDragColSize)(void* _obj)
+EWXWEXPORT(bool,wxGrid_CanDragColSize)(wxGrid* self)
 {
-	return (int)((wxGrid*)_obj)->CanDragColSize();
+	return self->CanDragColSize();
 }
 	
-EWXWEXPORT(void, wxGrid_EnableDragGridSize)(void* _obj, int enable)
+EWXWEXPORT(void,wxGrid_EnableDragGridSize)(void* self,bool enable)
 {
-	((wxGrid*)_obj)->EnableDragGridSize(enable != 0);
+	((wxGrid*)self)->EnableDragGridSize(enable);
 }
 	
-EWXWEXPORT(void, wxGrid_DisableDragGridSize)(void* _obj)
+EWXWEXPORT(void,wxGrid_DisableDragGridSize)(void* self)
 {
-	((wxGrid*)_obj)->DisableDragGridSize();
+	((wxGrid*)self)->DisableDragGridSize();
 }
 	
-EWXWEXPORT(int, wxGrid_CanDragGridSize)(void* _obj)
+EWXWEXPORT(bool,wxGrid_CanDragGridSize)(wxGrid* self)
 {
-	return (int)((wxGrid*)_obj)->CanDragGridSize();
+	return self->CanDragGridSize();
 }
 	
-EWXWEXPORT(void, wxGrid_SetRowAttr)(void* _obj, int row, void* attr)
+EWXWEXPORT(void,wxGrid_SetRowAttr)(void* _obj,int row,void* attr)
 {
 	((wxGrid*)_obj)->SetRowAttr(row, (wxGridCellAttr*) attr);
 }
 	
-EWXWEXPORT(void, wxGrid_SetColAttr)(void* _obj, int col, void* attr)
+EWXWEXPORT(void,wxGrid_SetColAttr)(void* _obj,int col,void* attr)
 {
 	((wxGrid*)_obj)->SetColAttr(col, (wxGridCellAttr*) attr);
 }
 	
-EWXWEXPORT(void, wxGrid_SetColFormatBool)(void* _obj, int col)
+EWXWEXPORT(void,wxGrid_SetColFormatBool)(void* self,int col)
 {
-	((wxGrid*)_obj)->SetColFormatBool(col);
+	((wxGrid*)self)->SetColFormatBool(col);
 }
 	
-EWXWEXPORT(void, wxGrid_SetColFormatNumber)(void* _obj, int col)
+EWXWEXPORT(void,wxGrid_SetColFormatNumber)(void* _obj,int col)
 {
 	((wxGrid*)_obj)->SetColFormatNumber(col);
 }
 	
-EWXWEXPORT(void, wxGrid_SetColFormatFloat)(void* _obj, int col, int width, int precision)
+EWXWEXPORT(void,wxGrid_SetColFormatFloat)(void* _obj,int col,int width,int precision)
 {
 	((wxGrid*)_obj)->SetColFormatFloat(col, width, precision);
 }
 	
-EWXWEXPORT(void, wxGrid_SetColFormatCustom)(void* _obj, int col, void* typeName)
+EWXWEXPORT(void,wxGrid_SetColFormatCustom)(void* _obj,int col,wxString* typeName)
 {
-	((wxGrid*)_obj)->SetColFormatCustom(col, (wxChar*)typeName);
+	((wxGrid*)_obj)->SetColFormatCustom(col, *typeName);
 }
 	
-EWXWEXPORT(void, wxGrid_EnableGridLines)(void* _obj, int enable)
+EWXWEXPORT(void,wxGrid_EnableGridLines)(void* self,bool enable)
 {
-	((wxGrid*)_obj)->EnableGridLines(enable != 0);
+	((wxGrid*)self)->EnableGridLines(enable);
 }
 	
-EWXWEXPORT(int, wxGrid_GridLinesEnabled)(void* _obj)
+EWXWEXPORT(bool,wxGrid_GridLinesEnabled)(wxGrid* self)
 {
-	return (int)((wxGrid*)_obj)->GridLinesEnabled();
+	return self->GridLinesEnabled();
 }
 	
-EWXWEXPORT(int, wxGrid_GetDefaultRowSize)(void* _obj)
+EWXWEXPORT(int,wxGrid_GetDefaultRowSize)(void* _obj)
 {
 	return ((wxGrid*)_obj)->GetDefaultRowSize();
 }
 	
-EWXWEXPORT(int, wxGrid_GetRowSize)(void* _obj, int row)
+EWXWEXPORT(int,wxGrid_GetRowSize)(void* _obj,int row)
 {
 	return ((wxGrid*)_obj)->GetRowSize(row);
 }
 	
-EWXWEXPORT(int, wxGrid_GetDefaultColSize)(void* _obj)
+EWXWEXPORT(int,wxGrid_GetDefaultColSize)(void* _obj)
 {
 	return ((wxGrid*)_obj)->GetDefaultColSize();
 }
 	
-EWXWEXPORT(int, wxGrid_GetColSize)(void* _obj, int col)
+EWXWEXPORT(int,wxGrid_GetColSize)(void* _obj,int col)
 {
 	return ((wxGrid*)_obj)->GetColSize(col);
 }
 	
-EWXWEXPORT(void, wxGrid_GetDefaultCellBackgroundColour)(void* _obj, void* colour)
+EWXWEXPORT(void,wxGrid_GetDefaultCellBackgroundColour)(void* _obj,void* colour)
 {
 	*((wxColour*)colour) = ((wxGrid*)_obj)->GetDefaultCellBackgroundColour();
 }
 	
-EWXWEXPORT(void, wxGrid_GetCellBackgroundColour)(void* _obj, int row, int col, void* colour)
+EWXWEXPORT(void,wxGrid_GetCellBackgroundColour)(void* _obj,int row,int col,void* colour)
 {
 	*((wxColour*)colour) = ((wxGrid*)_obj)->GetCellBackgroundColour(row, col);
 }
 	
-EWXWEXPORT(void, wxGrid_GetDefaultCellTextColour)(void* _obj, void* colour)
+EWXWEXPORT(void,wxGrid_GetDefaultCellTextColour)(void* _obj,void* colour)
 {
 	*((wxColour*)colour) = ((wxGrid*)_obj)->GetDefaultCellTextColour();
 }
 	
-EWXWEXPORT(void, wxGrid_GetCellTextColour)(void* _obj, int row, int col, void* colour)
+EWXWEXPORT(void,wxGrid_GetCellTextColour)(void* _obj,int row,int col,void* colour)
 {
 	*((wxColour*)colour) = ((wxGrid*)_obj)->GetCellTextColour(row, col);
 }
 	
-EWXWEXPORT(void, wxGrid_GetDefaultCellFont)(void* _obj, void* font)
+EWXWEXPORT(void,wxGrid_GetDefaultCellFont)(void* _obj,void* font)
 {
 	*((wxFont*)font) = ((wxGrid*)_obj)->GetDefaultCellFont();
 }
 	
-EWXWEXPORT(void, wxGrid_GetCellFont)(void* _obj, int row, int col, void* font)
+EWXWEXPORT(void,wxGrid_GetCellFont)(void* _obj,int row,int col,void* font)
 {
 	*((wxFont*)font) = ((wxGrid*)_obj)->GetCellFont(row, col);
 }
 	
-EWXWEXPORT(void, wxGrid_GetDefaultCellAlignment)(void* _obj, void* horiz, void* vert)
+EWXWEXPORT(void,wxGrid_GetDefaultCellAlignment)(void* _obj,int* horiz,int* vert)
 {
-	((wxGrid*)_obj)->GetDefaultCellAlignment((int*)horiz, (int*)vert);
+	((wxGrid*)_obj)->GetDefaultCellAlignment(horiz,vert);
 }
 	
-EWXWEXPORT(void, wxGrid_GetCellAlignment)(void* _obj,  int row, int col, void* horiz, void* vert)
+EWXWEXPORT(void,wxGrid_GetCellAlignment)(void* _obj,int row,int col,int* horiz,int* vert)
 {
-	((wxGrid*)_obj)->GetCellAlignment(row, col, (int*)horiz, (int*)vert);
+	((wxGrid*)_obj)->GetCellAlignment(row, col, horiz,vert);
 }
 	
-EWXWEXPORT(void, wxGrid_SetDefaultRowSize)(void* _obj, int height, int resizeExistingRows)
+EWXWEXPORT(void,wxGrid_SetDefaultRowSize)(void* self,int height,bool resizeExistingRows)
 {
-	((wxGrid*)_obj)->SetDefaultRowSize(height, resizeExistingRows != 0);
+	((wxGrid*)self)->SetDefaultRowSize(height, resizeExistingRows);
 }
 	
-EWXWEXPORT(void, wxGrid_SetRowSize)(void* _obj,  int row, int height)
+EWXWEXPORT(void,wxGrid_SetRowSize)(void* self,int row,int height)
 {
-	((wxGrid*)_obj)->SetRowSize(row, height);
+	((wxGrid*)self)->SetRowSize(row, height);
 }
 	
-EWXWEXPORT(void, wxGrid_SetDefaultColSize)(void* _obj, int width, int resizeExistingCols)
+EWXWEXPORT(void,wxGrid_SetDefaultColSize)(void* self,int width,bool resizeExistingCols)
 {
-	((wxGrid*)_obj)->SetDefaultColSize(width, resizeExistingCols != 0);
+	((wxGrid*)self)->SetDefaultColSize(width, resizeExistingCols);
 }
 	
-EWXWEXPORT(void, wxGrid_SetColSize)(void* _obj, int col, int width)
+EWXWEXPORT(void,wxGrid_SetColSize)(void* self,int col,int width)
 {
-	((wxGrid*)_obj)->SetColSize(col, width);
+	((wxGrid*)self)->SetColSize(col, width);
 }
 	
-EWXWEXPORT(void, wxGrid_AutoSizeColumn)(void* _obj, int col, int setAsMin)
+EWXWEXPORT(void,wxGrid_AutoSizeColumn)(void* self,int col,bool setAsMin)
 {
-	((wxGrid*)_obj)->AutoSizeColumn(col, setAsMin != 0);
+	((wxGrid*)self)->AutoSizeColumn(col, setAsMin);
 }
 	
-EWXWEXPORT(void, wxGrid_AutoSizeRow)(void* _obj, int row, int setAsMin)
+EWXWEXPORT(void,wxGrid_AutoSizeRow)(void* self,int row,bool setAsMin)
 {
-	((wxGrid*)_obj)->AutoSizeRow(row, setAsMin != 0);
+	((wxGrid*)self)->AutoSizeRow(row, setAsMin);
 }
 	
-EWXWEXPORT(void, wxGrid_AutoSizeColumns)(void* _obj, int setAsMin)
+EWXWEXPORT(void,wxGrid_AutoSizeColumns)(void* self,bool setAsMin)
 {
-	((wxGrid*)_obj)->AutoSizeColumns(setAsMin != 0);
+	((wxGrid*)self)->AutoSizeColumns(setAsMin);
 }
 	
-EWXWEXPORT(void, wxGrid_AutoSizeRows)(void* _obj, int setAsMin)
+EWXWEXPORT(void,wxGrid_AutoSizeRows)(void* self,bool setAsMin)
 {
-	((wxGrid*)_obj)->AutoSizeRows(setAsMin != 0);
+	((wxGrid*)self)->AutoSizeRows(setAsMin);
 }
 	
-EWXWEXPORT(void, wxGrid_AutoSize)(void* _obj)
+EWXWEXPORT(void,wxGrid_AutoSize)(void* self)
 {
-	((wxGrid*)_obj)->AutoSize();
+	((wxGrid*)self)->AutoSize();
 }
 	
-EWXWEXPORT(void, wxGrid_SetColMinimalWidth)(void* _obj, int col, int width)
+EWXWEXPORT(void,wxGrid_SetColMinimalWidth)(void* _obj,int col,int width)
 {
 	((wxGrid*)_obj)->SetColMinimalWidth(col, width);
 }
 	
-EWXWEXPORT(void, wxGrid_SetRowMinimalHeight)(void* _obj, int row, int width)
+EWXWEXPORT(void,wxGrid_SetRowMinimalHeight)(void* _obj,int row,int width)
 {
 	((wxGrid*)_obj)->SetRowMinimalHeight(row, width);
 }
 	
-EWXWEXPORT(void, wxGrid_SetDefaultCellBackgroundColour)(void* _obj, void* colour)
+EWXWEXPORT(void,wxGrid_SetDefaultCellBackgroundColour)(void* _obj,void* colour)
 {
 	((wxGrid*)_obj)->SetDefaultCellBackgroundColour(*((wxColour*)colour));
 }
 	
-EWXWEXPORT(void, wxGrid_SetCellBackgroundColour)(void* _obj, int row, int col, void* colour)
+EWXWEXPORT(void,wxGrid_SetCellBackgroundColour)(void* _obj,int row,int col,void* colour)
 {
 	((wxGrid*)_obj)->SetCellBackgroundColour(row, col, *((wxColour*) colour));
 }
 	
-EWXWEXPORT(void, wxGrid_SetDefaultCellTextColour)(void* _obj, void* colour)
+EWXWEXPORT(void,wxGrid_SetDefaultCellTextColour)(void* _obj,void* colour)
 {
 	((wxGrid*)_obj)->SetDefaultCellTextColour(*((wxColour*)colour));
 }
 	
-EWXWEXPORT(void, wxGrid_SetCellTextColour)(void* _obj, int row, int col, void* colour)
+EWXWEXPORT(void,wxGrid_SetCellTextColour)(void* _obj,int row,int col,void* colour)
 {
 	((wxGrid*)_obj)->SetCellTextColour(row, col, *((wxColour*) colour));
 }
 	
-EWXWEXPORT(void, wxGrid_SetDefaultCellFont)(void* _obj, void* font)
+EWXWEXPORT(void,wxGrid_SetDefaultCellFont)(void* _obj,void* font)
 {
 	((wxGrid*)_obj)->SetDefaultCellFont(*((wxFont*)font));
 }
 	
-EWXWEXPORT(void, wxGrid_SetCellFont)(void* _obj,  int row, int col, void* font)
+EWXWEXPORT(void,wxGrid_SetCellFont)(void* _obj,int row,int col,void* font)
 {
 	((wxGrid*)_obj)->SetCellFont(row, col, *((wxFont*)font) );
 }
 	
-EWXWEXPORT(void, wxGrid_SetDefaultCellAlignment)(void* _obj, int horiz, int vert)
+EWXWEXPORT(void,wxGrid_SetDefaultCellAlignment)(void* _obj,int horiz,int vert)
 {
 	((wxGrid*)_obj)->SetDefaultCellAlignment(horiz, vert);
 }
 	
-EWXWEXPORT(void, wxGrid_SetCellAlignment)(void* _obj,  int row, int col, int horiz, int vert)
+EWXWEXPORT(void,wxGrid_SetCellAlignment)(void* _obj,int row,int col,int horiz,int vert)
 {
 	((wxGrid*)_obj)->SetCellAlignment(row, col, horiz, vert);
 }
 	
-EWXWEXPORT(void, wxGrid_SetDefaultRenderer)(void* _obj, void* renderer)
+EWXWEXPORT(void,wxGrid_SetDefaultRenderer)(void* _obj,void* renderer)
 {
 	((wxGrid*)_obj)->SetDefaultRenderer((wxGridCellRenderer*) renderer);
 }
 	
-EWXWEXPORT(void, wxGrid_SetCellRenderer)(void* _obj, int row, int col, void* renderer)
+EWXWEXPORT(void,wxGrid_SetCellRenderer)(void* _obj,int row,int col,void* renderer)
 {
 	((wxGrid*)_obj)->SetCellRenderer(row, col, (wxGridCellRenderer*)renderer);
 }
 	
-EWXWEXPORT(void*, wxGrid_GetDefaultRenderer)(void* _obj)
+EWXWEXPORT(void*,wxGrid_GetDefaultRenderer)(void* _obj)
 {
 	return (void*)((wxGrid*)_obj)->GetDefaultRenderer();
 }
 	
-EWXWEXPORT(void*, wxGrid_GetCellRenderer)(void* _obj, int row, int col)
+EWXWEXPORT(void*,wxGrid_GetCellRenderer)(void* _obj,int row,int col)
 {
 	return (void*)((wxGrid*)_obj)->GetCellRenderer(row, col);
 }
 	
-EWXWEXPORT(void, wxGrid_SetDefaultEditor)(void* _obj, void* editor)
+EWXWEXPORT(void,wxGrid_SetDefaultEditor)(void* _obj,void* editor)
 {
 	((wxGrid*)_obj)->SetDefaultEditor((wxGridCellEditor*)editor);
 }
 	
-EWXWEXPORT(void, wxGrid_SetCellEditor)(void* _obj, int row, int col, void* editor)
+EWXWEXPORT(void,wxGrid_SetCellEditor)(void* _obj,int row,int col,void* editor)
 {
 	((wxGrid*)_obj)->SetCellEditor(row, col, (wxGridCellEditor*)editor);
 }
 	
-EWXWEXPORT(void*, wxGrid_GetDefaultEditor)(void* _obj)
+EWXWEXPORT(void*,wxGrid_GetDefaultEditor)(void* _obj)
 {
 	return (void*)((wxGrid*)_obj)->GetDefaultEditor();
 }
 	
-EWXWEXPORT(void*, wxGrid_GetCellEditor)(void* _obj, int row, int col)
+EWXWEXPORT(void*,wxGrid_GetCellEditor)(void* _obj,int row,int col)
 {
 	return (void*)((wxGrid*)_obj)->GetCellEditor(row, col);
 }
 	
-EWXWEXPORT(int, wxGrid_GetCellValue)(void* _obj, int row, int col, void* _buf)
+EWXWEXPORT(wxString*,wxGrid_GetCellValue)(void* _obj,int row,int col)
 {
-	wxString result =((wxGrid*)_obj)->GetCellValue(row, col);
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = ((wxGrid*)_obj)->GetCellValue(row, col);
+	return result;
 }
 	
-EWXWEXPORT(void, wxGrid_SetCellValue)(void* _obj,  int row, int col, void* s)
+EWXWEXPORT(void,wxGrid_SetCellValue)(void* _obj,int row,int col,wxString* s)
 {
-	((wxGrid*)_obj)->SetCellValue(row, col, (wxChar*) s);
+	((wxGrid*)_obj)->SetCellValue(row, col, * s);
 }
 	
-EWXWEXPORT(int, wxGrid_IsReadOnly)(void* _obj, int row, int col)
+EWXWEXPORT(bool,wxGrid_IsReadOnly)(wxGrid* self,int row,int col)
 {
-	return (int)((wxGrid*)_obj)->IsReadOnly(row, col);
+	return self->IsReadOnly(row, col);
 }
 	
-EWXWEXPORT(void, wxGrid_SetReadOnly)(void* _obj, int row, int col, int isReadOnly)
+EWXWEXPORT(void,wxGrid_SetReadOnly)(void* self,int row,int col,bool isReadOnly)
 {
-	((wxGrid*)_obj)->SetReadOnly(row, col, isReadOnly != 0);
+	((wxGrid*)self)->SetReadOnly(row, col, isReadOnly);
 }
 	
-EWXWEXPORT(void, wxGrid_SelectRow)(void* _obj, int row, int addToSelected)
+EWXWEXPORT(void,wxGrid_SelectRow)(void* self,int row,bool addToSelected)
 {
-	((wxGrid*)_obj)->SelectRow(row, addToSelected != 0);
+	((wxGrid*)self)->SelectRow(row, addToSelected);
 }
 	
-EWXWEXPORT(void, wxGrid_SelectCol)(void* _obj, int col, int addToSelected)
+EWXWEXPORT(void,wxGrid_SelectCol)(void* self,int col,bool addToSelected)
 {
-	((wxGrid*)_obj)->SelectCol(col, addToSelected != 0);
+	((wxGrid*)self)->SelectCol(col, addToSelected);
 }
 	
-EWXWEXPORT(void, wxGrid_SelectBlock)(void* _obj,  int topRow, int leftCol, int bottomRow, int rightCol, int addToSelected)
+EWXWEXPORT(void,wxGrid_SelectBlock)(void* self,int topRow,int leftCol,int bottomRow,int rightCol,bool addToSelected)
 {
-	((wxGrid*)_obj)->SelectBlock(topRow, leftCol, bottomRow, rightCol, addToSelected != 0);
+	((wxGrid*)self)->SelectBlock(topRow, leftCol, bottomRow, rightCol, addToSelected);
 }
 	
-EWXWEXPORT(void, wxGrid_SelectAll)(void* _obj)
+EWXWEXPORT(void,wxGrid_SelectAll)(void* self)
 {
-	((wxGrid*)_obj)->SelectAll();
+	((wxGrid*)self)->SelectAll();
 }
 	
-EWXWEXPORT(int, wxGrid_IsSelection)(void* _obj)
+EWXWEXPORT(bool,wxGrid_IsSelection)(wxGrid* self)
 {
-	return (int)((wxGrid*)_obj)->IsSelection();
+	return self->IsSelection();
 }
 	
-EWXWEXPORT(void, wxGrid_ClearSelection)(void* _obj)
+EWXWEXPORT(void,wxGrid_ClearSelection)(void* _obj)
 {
 	((wxGrid*)_obj)->ClearSelection();
 }
 	
-EWXWEXPORT(int, wxGrid_IsInSelection)(void* _obj, int row, int col )
+EWXWEXPORT(bool,wxGrid_IsInSelection)(wxGrid* _obj,int row,int col)
 {
-	return (int)((wxGrid*)_obj)->IsInSelection(row, col );
+	return _obj->IsInSelection(row, col );
 }
 	
 EWXWEXPORT(void, wxGrid_BlockToDeviceRect)(void* _obj, int top, int left, int bottom, int right, int* x, int* y, int* w, int* h)
@@ -1153,72 +1156,72 @@
 	*h = rct.height;
 }
 	
-EWXWEXPORT(void, wxGrid_GetSelectionBackground)(void* _obj, void* colour)
+EWXWEXPORT(void,wxGrid_GetSelectionBackground)(void* _obj,void* colour)
 {
 	*((wxColour*)colour) = ((wxGrid*)_obj)->GetSelectionBackground();
 }
 	
-EWXWEXPORT(void, wxGrid_GetSelectionForeground)(void* _obj, void* colour)
+EWXWEXPORT(void,wxGrid_GetSelectionForeground)(void* _obj,void* colour)
 {
 	*((wxColour*)colour) = ((wxGrid*)_obj)->GetSelectionForeground();
 }
 	
-EWXWEXPORT(void, wxGrid_SetSelectionBackground)(void* _obj, void* c)
+EWXWEXPORT(void,wxGrid_SetSelectionBackground)(void* _obj,void* c)
 {
 	((wxGrid*)_obj)->SetSelectionBackground(*((wxColour*) c));
 }
 	
-EWXWEXPORT(void, wxGrid_SetSelectionForeground)(void* _obj, void* c)
+EWXWEXPORT(void,wxGrid_SetSelectionForeground)(void* _obj,void* c)
 {
 	((wxGrid*)_obj)->SetSelectionForeground(*((wxColour*) c));
 }
 	
-EWXWEXPORT(void, wxGrid_RegisterDataType)(void* _obj, void* typeName, void* renderer, void* editor)
+EWXWEXPORT(void,wxGrid_RegisterDataType)(void* _obj,wxString* typeName,void* renderer,void* editor)
 {
-	((wxGrid*)_obj)->RegisterDataType((wxChar*) typeName, (wxGridCellRenderer*) renderer, (wxGridCellEditor*) editor);
+	((wxGrid*)_obj)->RegisterDataType(* typeName, (wxGridCellRenderer*) renderer, (wxGridCellEditor*) editor);
 }
 	
-EWXWEXPORT(void*, wxGrid_GetDefaultEditorForCell)(void* _obj, int row, int col)
+EWXWEXPORT(void*,wxGrid_GetDefaultEditorForCell)(void* _obj,int row,int col)
 {
 	return (void*)((wxGrid*)_obj)->GetDefaultEditorForCell(row, col);
 }
 	
-EWXWEXPORT(void*, wxGrid_GetDefaultRendererForCell)(void* _obj, int row, int col)
+EWXWEXPORT(void*,wxGrid_GetDefaultRendererForCell)(void* _obj,int row,int col)
 {
 	return (void*)((wxGrid*)_obj)->GetDefaultRendererForCell(row, col);
 }
 	
-EWXWEXPORT(void*, wxGrid_GetDefaultEditorForType)(void* _obj, void* typeName)
+EWXWEXPORT(void*,wxGrid_GetDefaultEditorForType)(void* _obj,wxString* typeName)
 {
-	return (void*)((wxGrid*)_obj)->GetDefaultEditorForType((wxChar*) typeName);
+	return (void*)((wxGrid*)_obj)->GetDefaultEditorForType(* typeName);
 }
 	
-EWXWEXPORT(void*, wxGrid_GetDefaultRendererForType)(void* _obj, void* typeName)
+EWXWEXPORT(void*,wxGrid_GetDefaultRendererForType)(void* _obj,wxString* typeName)
 {
-	return (void*)((wxGrid*)_obj)->GetDefaultRendererForType((wxChar*) typeName);
+	return (void*)((wxGrid*)_obj)->GetDefaultRendererForType(* typeName);
 }
 	
-EWXWEXPORT(void, wxGrid_SetMargins)(void* _obj, int extraWidth, int extraHeight)
+EWXWEXPORT(void,wxGrid_SetMargins)(void* _obj,int extraWidth,int extraHeight)
 {
 	((wxGrid*)_obj)->SetMargins(extraWidth, extraHeight);
 }
 
-EWXWEXPORT(void,wxGrid_GetSelectedCells)(void* _obj, void* _arr)
+EWXWEXPORT(void,wxGrid_GetSelectedCells)(void* _obj,void* _arr)
 {
 	*((wxGridCellCoordsArray*)_arr) = ((wxGrid*)_obj)->GetSelectedCells();
 }
 	
-EWXWEXPORT(void,wxGrid_GetSelectionBlockTopLeft)(void* _obj, void* _arr)
+EWXWEXPORT(void,wxGrid_GetSelectionBlockTopLeft)(void* _obj,void* _arr)
 {
 	*((wxGridCellCoordsArray*)_arr) = ((wxGrid*)_obj)->GetSelectionBlockTopLeft();
 }
 	
-EWXWEXPORT(void,wxGrid_GetSelectionBlockBottomRight)(void* _obj, void* _arr)
+EWXWEXPORT(void,wxGrid_GetSelectionBlockBottomRight)(void* _obj,void* _arr)
 {
 	*((wxGridCellCoordsArray*)_arr) = ((wxGrid*)_obj)->GetSelectionBlockBottomRight();
 }
 	
-EWXWEXPORT(int,wxGrid_GetSelectedRows)(void* _obj, void* _arr)
+EWXWEXPORT(int,wxGrid_GetSelectedRows)(void* _obj,void* _arr)
 {
 	wxArrayInt arr = ((wxGrid*)_obj)->GetSelectedRows();
 	if (_arr)
@@ -1229,7 +1232,7 @@
 	return arr.GetCount();
 }
 	
-EWXWEXPORT(int,wxGrid_GetSelectedCols)(void* _obj, void* _arr)
+EWXWEXPORT(int,wxGrid_GetSelectedCols)(void* _obj,void* _arr)
 {
 	wxArrayInt arr = ((wxGrid*)_obj)->GetSelectedCols();
 	if (_arr)
@@ -1242,23 +1245,7 @@
 	
 
 
-EWXWEXPORT(void*,ELJGridTable_Create)(void* _obj,
-                                      void* _EifGetNumberRows,
-                                      void* _EifGetNumberCols,
-                                      void* _EifGetValue,
-                                      void* _EifSetValue,
-                                      void* _EifIsEmptyCell,
-                                      void* _EifClear,
-                                      void* _EifInsertRows,
-                                      void* _EifAppendRows,
-                                      void* _EifDeleteRows,
-                                      void* _EifInsertCols,
-                                      void* _EifAppendCols,
-                                      void* _EifDeleteCols,
-                                      void* _EifSetRowLabelValue,
-                                      void* _EifSetColLabelValue,
-                                      void* _EifGetRowLabelValue,
-                                      void* _EifGetColLabelValue)
+EWXWEXPORT(void*,ELJGridTable_Create)(void* _obj,void* _EifGetNumberRows,void* _EifGetNumberCols,void* _EifGetValue,void* _EifSetValue,void* _EifIsEmptyCell,void* _EifClear,void* _EifInsertRows,void* _EifAppendRows,void* _EifDeleteRows,void* _EifInsertCols,void* _EifAppendCols,void* _EifDeleteCols,void* _EifSetRowLabelValue,void* _EifSetColLabelValue,void* _EifGetRowLabelValue,void* _EifGetColLabelValue)
 {
 	return (void*)new ELJGridTable (_obj,
 	                                _EifGetNumberRows,
@@ -1289,7 +1276,7 @@
 	return (void*)((ELJGridTable*)_obj)->GetView();
 }
 
-EWXWEXPORT(void,ELJGridTable_SendTableMessage)(void* _obj, int id, int val1, int val2)
+EWXWEXPORT(void,ELJGridTable_SendTableMessage)(void* _obj,int id,int val1,int val2)
 {
 	wxGridTableMessage msg((ELJGridTable*)_obj, id, val1, val2);
 	((ELJGridTable*)_obj)->GetView()->ProcessTableMessage(msg);
@@ -1305,36 +1292,36 @@
 	return ((wxGridEvent*)_obj)->GetCol();
 }
 	
-EWXWEXPORT(void,wxGridEvent_GetPosition)(void* _obj, void* _x, void* _y)
+EWXWEXPORT(void,wxGridEvent_GetPosition)(void* _obj,void* _x,void* _y)
 {
 	wxPoint pt = ((wxGridEvent*)_obj)->GetPosition();
 	*((int*)_x) = pt.x;
 	*((int*)_y) = pt.y;
 }
 	
-EWXWEXPORT(int,wxGridEvent_Selecting)(void* _obj)
+EWXWEXPORT(bool,wxGridEvent_Selecting)(wxGridEvent* self)
 {
-	return (int)((wxGridEvent*)_obj)->Selecting();
+	return self->Selecting();
 }
 	
-EWXWEXPORT(int,wxGridEvent_ControlDown)(void* _obj)
+EWXWEXPORT(bool,wxGridEvent_ControlDown)(wxGridEvent* self)
 {
-	return  (int)((wxGridEvent*)_obj)->ControlDown();
+	return self->ControlDown();
 }
 	
-EWXWEXPORT(int,wxGridEvent_MetaDown)(void* _obj)
+EWXWEXPORT(bool,wxGridEvent_MetaDown)(wxGridEvent* self)
 {
-	return (int)((wxGridEvent*)_obj)->MetaDown();
+	return self->MetaDown();
 }
 	
-EWXWEXPORT(int,wxGridEvent_ShiftDown)(void* _obj)
+EWXWEXPORT(bool,wxGridEvent_ShiftDown)(wxGridEvent* self)
 {
-	return (int)((wxGridEvent*)_obj)->ShiftDown();
+	return self->ShiftDown();
 }
 	
-EWXWEXPORT(int,wxGridEvent_AltDown)(void* _obj)
+EWXWEXPORT(bool,wxGridEvent_AltDown)(wxGridEvent* self)
 {
-	return (int)((wxGridEvent*)_obj)->AltDown();
+	return self->AltDown();
 }
 	
 
@@ -1343,46 +1330,46 @@
 	return ((wxGridSizeEvent*)_obj)->GetRowOrCol();
 }
 	
-EWXWEXPORT(void,wxGridSizeEvent_GetPosition)(void* _obj, void* _x, void* _y)
+EWXWEXPORT(void,wxGridSizeEvent_GetPosition)(void* _obj,void* _x, void* _y)
 {
 	wxPoint pt = ((wxGridSizeEvent*)_obj)->GetPosition();
 	*((int*)_x) = pt.x;
 	*((int*)_y) = pt.y;
 }
 	
-EWXWEXPORT(int,wxGridSizeEvent_ControlDown)(void* _obj)
+EWXWEXPORT(bool,wxGridSizeEvent_ControlDown)(wxGridSizeEvent* self)
 {
-	return (int)((wxGridSizeEvent*)_obj)->ControlDown();
+	return self->ControlDown();
 }
 	
-EWXWEXPORT(int,wxGridSizeEvent_MetaDown)(void* _obj)
+EWXWEXPORT(bool,wxGridSizeEvent_MetaDown)(wxGridSizeEvent* self)
 {
-	return (int)((wxGridSizeEvent*)_obj)->MetaDown();
+	return self->MetaDown();
 }
 	
-EWXWEXPORT(int,wxGridSizeEvent_ShiftDown)(void* _obj)
+EWXWEXPORT(bool,wxGridSizeEvent_ShiftDown)(wxGridSizeEvent* self)
 {
-	return (int)((wxGridSizeEvent*)_obj)->ShiftDown();
+	return self->ShiftDown();
 }
 	
-EWXWEXPORT(int,wxGridSizeEvent_AltDown)(void* _obj)
+EWXWEXPORT(bool,wxGridSizeEvent_AltDown)(wxGridSizeEvent* self)
 {
-	return (int)((wxGridSizeEvent*)_obj)->AltDown();
+	return self->AltDown();
 }
 	
 
-EWXWEXPORT(void,wxGridRangeSelectEvent_GetTopLeftCoords)(void* _obj, void* _c, void* _r)
+EWXWEXPORT(void,wxGridRangeSelectEvent_GetTopLeftCoords)(void* _obj,int* _c,int* _r)
 {
 	wxGridCellCoords crd = ((wxGridRangeSelectEvent*)_obj)->GetTopLeftCoords();
-	*((int*)_c) = crd.GetRow();
-	*((int*)_r) = crd.GetCol();
+	*_c = crd.GetRow();
+	*_r = crd.GetCol();
 }
 	
-EWXWEXPORT(void,wxGridRangeSelectEvent_GetBottomRightCoords)(void* _obj, void* _c, void* _r)
+EWXWEXPORT(void,wxGridRangeSelectEvent_GetBottomRightCoords)(void* _obj,int* _c,int* _r)
 {
 	wxGridCellCoords crd = ((wxGridRangeSelectEvent*)_obj)->GetBottomRightCoords();
-	*((int*)_c) = crd.GetRow();
-	*((int*)_r) = crd.GetCol();
+	*_c = crd.GetRow();
+	*_r = crd.GetCol();
 }
 	
 EWXWEXPORT(int,wxGridRangeSelectEvent_GetTopRow)(void* _obj)
@@ -1405,29 +1392,29 @@
 	return ((wxGridRangeSelectEvent*)_obj)->GetRightCol();
 }
 	
-EWXWEXPORT(int,wxGridRangeSelectEvent_Selecting)(void* _obj)
+EWXWEXPORT(bool,wxGridRangeSelectEvent_Selecting)(wxGridRangeSelectEvent* self)
 {
-	return (int)((wxGridRangeSelectEvent*)_obj)->Selecting();
+	return self->Selecting();
 }
 	
-EWXWEXPORT(int,wxGridRangeSelectEvent_ControlDown)(void* _obj)
+EWXWEXPORT(bool,wxGridRangeSelectEvent_ControlDown)(wxGridRangeSelectEvent* self)
 {
-	return (int)((wxGridRangeSelectEvent*)_obj)->ControlDown();
+	return self->ControlDown();
 }
 	
-EWXWEXPORT(int,wxGridRangeSelectEvent_MetaDown)(void* _obj)
+EWXWEXPORT(bool,wxGridRangeSelectEvent_MetaDown)(wxGridRangeSelectEvent* self)
 {
-	return (int)((wxGridRangeSelectEvent*)_obj)->MetaDown();
+	return self->MetaDown();
 }
 	
-EWXWEXPORT(int,wxGridRangeSelectEvent_ShiftDown)(void* _obj)
+EWXWEXPORT(bool,wxGridRangeSelectEvent_ShiftDown)(wxGridRangeSelectEvent* self)
 {
-	return (int)((wxGridRangeSelectEvent*)_obj)->ShiftDown();
+	return self->ShiftDown();
 }
 	
-EWXWEXPORT(int,wxGridRangeSelectEvent_AltDown)(void* _obj)
+EWXWEXPORT(bool,wxGridRangeSelectEvent_AltDown)(wxGridRangeSelectEvent* self)
 {
-	return (int)((wxGridRangeSelectEvent*)_obj)->AltDown();
+	return self->AltDown();
 }
 	
 
@@ -1446,17 +1433,17 @@
 	return (void*)((wxGridEditorCreatedEvent*)_obj)->GetControl();
 }
 	
-EWXWEXPORT(void,wxGridEditorCreatedEvent_SetRow)(void* _obj, int row)
+EWXWEXPORT(void,wxGridEditorCreatedEvent_SetRow)(void* _obj,int row)
 {
 	((wxGridEditorCreatedEvent*)_obj)->SetRow(row);
 }
 	
-EWXWEXPORT(void,wxGridEditorCreatedEvent_SetCol)(void* _obj, int col)
+EWXWEXPORT(void,wxGridEditorCreatedEvent_SetCol)(void* _obj,int col)
 {
 	((wxGridEditorCreatedEvent*)_obj)->SetCol(col);
 }
 	
-EWXWEXPORT(void,wxGridEditorCreatedEvent_SetControl)(void* _obj, void* ctrl)
+EWXWEXPORT(void,wxGridEditorCreatedEvent_SetControl)(void* _obj,void* ctrl)
 {
 	((wxGridEditorCreatedEvent*)_obj)->SetControl((wxControl*)ctrl);
 }
diff --git a/wxc/src/eljhelpcontroller.cpp b/wxc/src/eljhelpcontroller.cpp
--- a/wxc/src/eljhelpcontroller.cpp
+++ b/wxc/src/eljhelpcontroller.cpp
@@ -4,120 +4,120 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxHtmlHelpController_Create)(int _style)
+EWXWEXPORT(void*,wxHtmlHelpController_Create)(int _style)
 {
 	wxGetApp().InitZipFileSystem();
 	wxGetApp().InitImageHandlers();
-	return (void*) new wxHtmlHelpController(_style);
+	return (void*)new wxHtmlHelpController(_style);
 }
 
-EWXWEXPORT(void, wxHtmlHelpController_Delete)(void* _obj)
+EWXWEXPORT(void,wxHtmlHelpController_Delete)(void* self)
 {
-	delete (wxHtmlHelpController*)_obj;
+	delete (wxHtmlHelpController*)self;
 }
 
-EWXWEXPORT(void, wxHtmlHelpController_SetTitleFormat)(void* _obj, void* format)
+EWXWEXPORT(void,wxHtmlHelpController_SetTitleFormat)(void* self,wxString* format)
 {
-	((wxHtmlHelpController*)_obj)->SetTitleFormat((wxChar*)format);
+	((wxHtmlHelpController*)self)->SetTitleFormat(*format);
 }
 	
-EWXWEXPORT(void, wxHtmlHelpController_SetTempDir)(void* _obj, void* path)
+EWXWEXPORT(void,wxHtmlHelpController_SetTempDir)(void* self,wxString* path)
 {
-	((wxHtmlHelpController*)_obj)->SetTempDir((wxChar*)path);
+	((wxHtmlHelpController*)self)->SetTempDir(*path);
 }
 	
-EWXWEXPORT(int, wxHtmlHelpController_AddBook)(void* _obj, void* book, int show_wait_msg)
+EWXWEXPORT(bool,wxHtmlHelpController_AddBook)(wxHtmlHelpController* self,wxString* book,bool show_wait_msg)
 {
-	return (int)((wxHtmlHelpController*)_obj)->AddBook((wxChar*) book, show_wait_msg != 0);
+	return self->AddBook(*book, show_wait_msg);
 }
 	
-EWXWEXPORT(int, wxHtmlHelpController_Display)(void* _obj, void* x)
+EWXWEXPORT(void,wxHtmlHelpController_Display)(wxHtmlHelpController* self,wxString* x)
 {
-	return (int)((wxHtmlHelpController*)_obj)->Display((wxChar*)x);
+	self->Display(*x);
 }
 	
-EWXWEXPORT(int, wxHtmlHelpController_DisplayNumber)(void* _obj, int id)
+EWXWEXPORT(void,wxHtmlHelpController_DisplayNumber)(wxHtmlHelpController* self,int id)
 {
-	return (int)((wxHtmlHelpController*)_obj)->Display(id);
+	self->Display(id);
 }
 	
-EWXWEXPORT(int, wxHtmlHelpController_DisplayContents)(void* _obj)
+EWXWEXPORT(void,wxHtmlHelpController_DisplayContents)(wxHtmlHelpController* self)
 {
-	return (int)((wxHtmlHelpController*)_obj)->DisplayContents();
+	self->DisplayContents();
 }
 	
-EWXWEXPORT(int, wxHtmlHelpController_DisplayIndex)(void* _obj)
+EWXWEXPORT(void,wxHtmlHelpController_DisplayIndex)(wxHtmlHelpController* self)
 {
-	return (int)((wxHtmlHelpController*)_obj)->DisplayIndex();
+	self->DisplayIndex();
 }
 	
-EWXWEXPORT(int, wxHtmlHelpController_KeywordSearch)(void* _obj, void* keyword)
+EWXWEXPORT(bool,wxHtmlHelpController_KeywordSearch)(wxHtmlHelpController* self,wxString* keyword)
 {
-	return (int)((wxHtmlHelpController*)_obj)->KeywordSearch((wxChar*) keyword);
+	return self->KeywordSearch(*keyword);
 }
 	
-EWXWEXPORT(void*, wxHtmlHelpController_GetFrame)(void* _obj)
+EWXWEXPORT(void*,wxHtmlHelpController_GetFrame)(void* self)
 {
-	return (void*)((wxHtmlHelpController*)_obj)->GetFrame();
+	return (void*)((wxHtmlHelpController*)self)->GetFrame();
 }
 	
-EWXWEXPORT(void, wxHtmlHelpController_UseConfig)(void* _obj, void* config, void* rootpath)
+EWXWEXPORT(void,wxHtmlHelpController_UseConfig)(void* self,wxConfigBase* config,wxString* rootpath)
 {
-	((wxHtmlHelpController*)_obj)->UseConfig((wxConfigBase*)config, (wxChar*)rootpath);
+	((wxHtmlHelpController*)self)->UseConfig(config,*rootpath);
 }
 	
-EWXWEXPORT(void, wxHtmlHelpController_ReadCustomization)(void* _obj, void* cfg, void* path)
+EWXWEXPORT(void,wxHtmlHelpController_ReadCustomization)(void* self,wxConfigBase* cfg,wxString* path)
 {
-	((wxHtmlHelpController*)_obj)->ReadCustomization((wxConfigBase*)cfg, (wxChar*)path);
+	((wxHtmlHelpController*)self)->ReadCustomization(cfg,*path);
 }
 	
-EWXWEXPORT(void, wxHtmlHelpController_WriteCustomization)(void* _obj, void* cfg, void* path)
+EWXWEXPORT(void,wxHtmlHelpController_WriteCustomization)(void* self,wxConfigBase* cfg,wxString* path)
 {
-	((wxHtmlHelpController*)_obj)->WriteCustomization((wxConfigBase*)cfg, (wxChar*)path);
+	((wxHtmlHelpController*)self)->WriteCustomization(cfg,*path);
 }
 	
-EWXWEXPORT(int, wxHtmlHelpController_Initialize)(void* _obj, void* file)
+EWXWEXPORT(bool,wxHtmlHelpController_Initialize)(wxHtmlHelpController* self,wxString* file)
 {
-	return (int)((wxHtmlHelpController*)_obj)->Initialize((wxChar*)file);
+	return self->Initialize(*file);
 }
 	
-EWXWEXPORT(void, wxHtmlHelpController_SetViewer)(void* _obj, void* viewer, int flags)
+EWXWEXPORT(void,wxHtmlHelpController_SetViewer)(void* self,wxString* viewer,int flags)
 {
-	((wxHtmlHelpController*)_obj)->SetViewer((wxChar*)viewer, (long)flags);
+	((wxHtmlHelpController*)self)->SetViewer(*viewer, (long)flags);
 }
 	
-EWXWEXPORT(int, wxHtmlHelpController_LoadFile)(void* _obj, void* file)
+EWXWEXPORT(bool,wxHtmlHelpController_LoadFile)(wxHtmlHelpController* self,wxString* file)
 {
-	return (int)((wxHtmlHelpController*)_obj)->LoadFile((wxChar*) file);
+	return self->LoadFile(*file);
 }
 	
-EWXWEXPORT(int, wxHtmlHelpController_DisplaySectionNumber)(void* _obj, int sectionNo)
+EWXWEXPORT(bool,wxHtmlHelpController_DisplaySectionNumber)(wxHtmlHelpController* self,int sectionNo)
 {
-	return (int)((wxHtmlHelpController*)_obj)->DisplaySection(sectionNo);
+	return self->DisplaySection(sectionNo);
 }
 	
-EWXWEXPORT(int, wxHtmlHelpController_DisplaySection)(void* _obj, void* section)
+EWXWEXPORT(bool,wxHtmlHelpController_DisplaySection)(wxHtmlHelpController* self,wxString* section)
 {
-	return (int)((wxHtmlHelpController*)_obj)->DisplaySection((wxChar*)section);
+	return self->DisplaySection(*section);
 }
 	
-EWXWEXPORT(int, wxHtmlHelpController_DisplayBlock)(void* _obj, int blockNo)
+EWXWEXPORT(bool,wxHtmlHelpController_DisplayBlock)(wxHtmlHelpController* self,int blockNo)
 {
-	return (int)((wxHtmlHelpController*)_obj)->DisplayBlock((long)blockNo);
+	return self->DisplayBlock((long)blockNo);
 }
 	
-EWXWEXPORT(void, wxHtmlHelpController_SetFrameParameters)(void* _obj, void* title, int width, int height, int pos_x, int pos_y, int newFrameEachTime)
+EWXWEXPORT(void,wxHtmlHelpController_SetFrameParameters)(void* self,wxString* title,int width,int height,int pos_x,int pos_y,bool newFrameEachTime)
 {
-	((wxHtmlHelpController*)_obj)->SetFrameParameters((wxChar*) title, wxSize(width, height), wxPoint(pos_x, pos_y), newFrameEachTime != 0);
+	((wxHtmlHelpController*)self)->SetFrameParameters(*title, wxSize(width, height), wxPoint(pos_x, pos_y), newFrameEachTime);
 }
 	
-EWXWEXPORT(void*, wxHtmlHelpController_GetFrameParameters)(void* _obj, void* title, int* width, int* height, int* pos_x, int* pos_y, int* newFrameEachTime)
+EWXWEXPORT(void*,wxHtmlHelpController_GetFrameParameters)(void* self,void* title,int* width,int* height,int* pos_x,int* pos_y,int* newFrameEachTime)
 {
 	void* result;
 	wxPoint pos;
 	wxSize size;
 
-	result = (void*)((wxHtmlHelpController*)_obj)->GetFrameParameters(&size, &pos, (bool*)newFrameEachTime);
+	result = (void*)((wxHtmlHelpController*)self)->GetFrameParameters(&size, &pos, (bool*)newFrameEachTime);
 	
 	*height = size.y;
 	*width  = size.x;
@@ -127,9 +127,9 @@
 	return result;
 }
 	
-EWXWEXPORT(int, wxHtmlHelpController_Quit)(void* _obj)
+EWXWEXPORT(bool,wxHtmlHelpController_Quit)(wxHtmlHelpController* self)
 {
-	return (int)((wxHtmlHelpController*)_obj)->Quit();
+	return self->Quit();
 }
 	
 }
diff --git a/wxc/src/eljicnbndl.cpp b/wxc/src/eljicnbndl.cpp
--- a/wxc/src/eljicnbndl.cpp
+++ b/wxc/src/eljicnbndl.cpp
@@ -10,9 +10,9 @@
 	return (void*)new wxIconBundle();
 }
 	
-EWXWEXPORT(void*,wxIconBundle_CreateFromFile)(void* file, int type)
+EWXWEXPORT(void*,wxIconBundle_CreateFromFile)(wxString* file,int type)
 {
-	return (void*)new wxIconBundle((wxChar*)file, (long)type);
+	return (void*)new wxIconBundle(*file, (long)type);
 }
 	
 EWXWEXPORT(void*,wxIconBundle_CreateFromIcon)(void* icon)
@@ -20,7 +20,7 @@
 	return (void*) new wxIconBundle(*((wxIcon*)icon));
 }
 	
-EWXWEXPORT(void,wxIconBundle_Assign)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxIconBundle_Assign)(void* _obj,void* _ref)
 {
 	*((wxIconBundle*)_ref) = *((wxIconBundle*)_obj);
 }
@@ -30,17 +30,17 @@
 	delete (wxIconBundle*)_obj;
 }
 	
-EWXWEXPORT(void,wxIconBundle_AddIconFromFile)(void* _obj, void* file, int type)
+EWXWEXPORT(void,wxIconBundle_AddIconFromFile)(void* _obj,wxString* file,int type)
 {
-	((wxIconBundle*)_obj)->AddIcon((wxChar*)file, (long)type);
+	((wxIconBundle*)_obj)->AddIcon(*file, (long)type);
 }
 	
-EWXWEXPORT(void,wxIconBundle_AddIcon)(void* _obj, void* icon)
+EWXWEXPORT(void,wxIconBundle_AddIcon)(void* _obj,void* icon)
 {
 	((wxIconBundle*)_obj)->AddIcon(*((wxIcon*)icon));
 }
 	
-EWXWEXPORT(void,wxIconBundle_GetIcon)(void* _obj, int w, int h, void* _ref)
+EWXWEXPORT(void,wxIconBundle_GetIcon)(void* _obj,int w,int h,void* _ref)
 {
 	*((wxIcon*)_ref) = ((wxIconBundle*)_obj)->GetIcon(wxSize(w, h));
 }
diff --git a/wxc/src/eljicon.cpp b/wxc/src/eljicon.cpp
--- a/wxc/src/eljicon.cpp
+++ b/wxc/src/eljicon.cpp
@@ -3,100 +3,100 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxIcon_CreateDefault)()
+EWXWEXPORT(void*,wxIcon_CreateDefault)()
 {
-	return (void*) new wxIcon();
+	return (void*)new wxIcon();
 }
 
-EWXWEXPORT(void, wxIcon_Delete)(void* _obj)
+EWXWEXPORT(void,wxIcon_Delete)(wxIcon* self)
 {
-	delete (wxIcon*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(void*, wxIcon_FromRaw)(void* data, int width, int height)
+EWXWEXPORT(void*,wxIcon_FromRaw)(void* data,int width,int height)
 {
 #ifdef __WIN32__
-	return (void*) new wxIcon((const wxChar*) data, wxBITMAP_TYPE_ICO, width, height);
+	return (void*)new wxIcon((const wxChar*)data, wxBITMAP_TYPE_ICO, width, height);
 #else
-	return (void*) new wxIcon((const wxChar*) data, wxBITMAP_TYPE_ANY, width, height);
+	return (void*)new wxIcon((const wxChar*)data, wxBITMAP_TYPE_ANY, width, height);
 #endif
 }
 
-EWXWEXPORT(void*, wxIcon_FromXPM)(void* data)
+EWXWEXPORT(void*,wxIcon_FromXPM)(void* data)
 {
-	return (void*) new wxIcon((const wxChar*) data);
+	return (void*)new wxIcon((const wxChar*)data);
 }
 
-EWXWEXPORT(void*, wxIcon_CreateLoad) (void* name, long type, int width, int height)
+EWXWEXPORT(void*,wxIcon_CreateLoad)(wxString* name,long type,int width,int height)
 {
-	return (void*) new wxIcon((wxChar*)name, (wxBitmapType)type, width, height);
+	return (void*)new wxIcon(*name, (wxBitmapType)type, width, height);
 }
 
-EWXWEXPORT(int, wxIcon_Load)(void* _obj, void* name, long type, int width, int height)
+EWXWEXPORT(bool,wxIcon_Load)(wxIcon* self,wxString* name,long type,int width,int height)
 {
 #ifdef __WIN32__
-	return (int)((wxIcon*)_obj)->LoadFile((wxChar*)name, (wxBitmapType)type, width, height);
+	return self->LoadFile(*name, (wxBitmapType)type, width, height);
 #else
-	return (int)((wxIcon*)_obj)->LoadFile((wxChar*)name, (wxBitmapType)type);
+	return self->LoadFile(*name, (wxBitmapType)type);
 #endif
 }
 
-EWXWEXPORT(void, wxIcon_CopyFromBitmap)(void* _obj, void* bmp)
+EWXWEXPORT(void,wxIcon_CopyFromBitmap)(wxIcon* self,wxBitmap* bmp)
 {
 #ifdef __WIN32__
-	((wxIcon*)_obj)->CopyFromBitmap(*((wxBitmap*)bmp));
+	self->CopyFromBitmap(*bmp);
 #endif
 }
 
-EWXWEXPORT(int, wxIcon_Ok)(void* _obj)
+EWXWEXPORT(bool,wxIcon_IsOk)(wxIcon* self)
 {
-	return (int)((wxIcon*)_obj)->Ok();
+	return self->IsOk();
 }
 
-EWXWEXPORT(int, wxIcon_GetDepth)(void* _obj)
+EWXWEXPORT(int,wxIcon_GetDepth)(wxIcon* self)
 {
-	return (int)((wxIcon*)_obj)->GetDepth();
+	return self->GetDepth();
 }
 
-EWXWEXPORT(int, wxIcon_GetWidth)(void* _obj)
+EWXWEXPORT(int,wxIcon_GetWidth)(wxIcon* self)
 {
-	return (int)((wxIcon*)_obj)->GetWidth();
+	return self->GetWidth();
 }
 
-EWXWEXPORT(int, wxIcon_GetHeight)(void* _obj)
+EWXWEXPORT(int,wxIcon_GetHeight)(wxIcon* self)
 {
-	return (int)((wxIcon*)_obj)->GetHeight();
+	return self->GetHeight();
 }
 
 #if (wxVERSION_NUMBER >= 2800)
-EWXWEXPORT(void, wxIcon_SetDepth)(void* _obj, int depth)
+EWXWEXPORT(void,wxIcon_SetDepth)(wxIcon* self,int depth)
 {
-	((wxIcon*)_obj)->SetDepth(depth);
+	self->SetDepth(depth);
 }
 
-EWXWEXPORT(void, wxIcon_SetWidth)(void* _obj, int width)
+EWXWEXPORT(void,wxIcon_SetWidth)(wxIcon* self,int width)
 {
-	((wxIcon*)_obj)->SetWidth(width);
+	self->SetWidth(width);
 }
 
-EWXWEXPORT(void, wxIcon_SetHeight)(void* _obj, int height)
+EWXWEXPORT(void,wxIcon_SetHeight)(wxIcon* self,int height)
 {
-	((wxIcon*)_obj)->SetHeight(height);
+	self->SetHeight(height);
 }
 #endif
 
-EWXWEXPORT(void, wxIcon_Assign)(void* _obj, void* other)
+EWXWEXPORT(void,wxIcon_Assign)(wxIcon* self,void* other)
 {
-	*((wxIcon*)_obj) = *((wxIcon*)other);
+	*self = *((wxIcon*)other);
 }
 
-EWXWEXPORT(int, wxIcon_IsEqual)(void* _obj, void* other)
+EWXWEXPORT(bool,wxIcon_IsEqual)(wxIcon* self,wxIcon* other)
 {
 #if (wxVERSION_NUMBER <= 2800)
-	return (int)(*((wxIcon*)_obj) == *((wxIcon*)other));
+	return *self == *other;
 #else
-	wxIcon* icon1 = (wxIcon *)_obj;
-	wxIcon* icon2 = (wxIcon *)other;
+	wxIcon* icon1 = self;
+	wxIcon* icon2 = other;
 	wxBitmap bmp1;
 	wxBitmap bmp2;
 	bmp1.CopyFromIcon(*icon1);
@@ -118,9 +118,9 @@
 					img1->GetAlpha(sx,sy)==img2->GetAlpha(sx,sy));
 			}
 		}
-		return (int)equal;
+		return equal;
 	} else {
-		return 0;
+		return false;
 	}
 #endif
 }
diff --git a/wxc/src/eljimage.cpp b/wxc/src/eljimage.cpp
--- a/wxc/src/eljimage.cpp
+++ b/wxc/src/eljimage.cpp
@@ -3,240 +3,245 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxImage_CreateDefault)()
+EWXWEXPORT(wxImage*,wxImage_CreateDefault)()
 {
-	return (void*) new wxImage();
+	return new wxImage();
 }
 
-EWXWEXPORT(void*, wxImage_CreateSized)(int width, int height)
+EWXWEXPORT(wxImage*,wxImage_CreateSized)(int width,int height)
 {
-	return (void*) new wxImage(width, height);
+	return new wxImage(width, height);
 }
 
-EWXWEXPORT(void*, wxImage_CreateFromByteString) (const char* data, size_t length,int type)
+EWXWEXPORT(wxImage*,wxImage_CreateFromByteString)(char* data,size_t length,int type)
 {
 	wxMemoryInputStream in(data,length);
-	return (void*) new wxImage(in, type);
+	return new wxImage(in, type);
 }
 
-EWXWEXPORT(void*, wxImage_CreateFromLazyByteString) (const char* data, size_t length,int type)
+EWXWEXPORT(wxImage*,wxImage_CreateFromLazyByteString)(char* data,size_t length,int type)
 {
 	wxMemoryInputStream in(data,length);
-	return (void*) new wxImage(in, type);
+	return new wxImage(in, type);
 }
 
-EWXWEXPORT(size_t, wxImage_ConvertToByteString) (wxImage* _obj, int type, char* data )
+EWXWEXPORT(size_t,wxImage_ConvertToByteString)(wxImage* self,int type,char* data)
 {
 	wxMemoryOutputStream out;
-	_obj->SaveFile(out, type);
+	self->SaveFile(out, type);
 	size_t len = out.GetLength();
         return out.CopyTo(data, len);
 }
 
-EWXWEXPORT(size_t, wxImage_ConvertToLazyByteString) (wxImage* _obj, int type, char* data )
+EWXWEXPORT(size_t,wxImage_ConvertToLazyByteString)(wxImage* self,int type,char* data)
 {
 	wxMemoryOutputStream out;
-	_obj->SaveFile(out, type);
+	self->SaveFile(out, type);
 	size_t len = out.GetLength();
         return out.CopyTo(data, len);
 }
 
-EWXWEXPORT(void*, wxImage_CreateFromData)(int width, int height, void* data)
+EWXWEXPORT(wxImage*,wxImage_CreateFromData)(int width,int height,void* data)
 {
-	return (void*) new wxImage(width, height, (unsigned char*)data, true);
+	return new wxImage(width, height, (unsigned char*)data, true);
 }
 
-EWXWEXPORT(void*, wxImage_CreateFromFile)(void* name)
+EWXWEXPORT(wxImage*,wxImage_CreateFromFile)(wxString* name)
 {
-	return (void*) new wxImage((wxChar*)name);
+	return new wxImage(*name);
 }
 
-EWXWEXPORT(void*, wxImage_CreateFromBitmap)(void* bitmap)
+EWXWEXPORT(wxImage*,wxImage_CreateFromBitmap)(wxBitmap* bitmap)
 {
-	return (void*) new wxImage(((wxBitmap*)bitmap)->ConvertToImage());
+	return new wxImage(bitmap->ConvertToImage());
 }
 
-EWXWEXPORT(void, wxImage_ConvertToBitmap)(void* _obj, void* bitmap)
+EWXWEXPORT(void,wxImage_ConvertToBitmap)(wxImage* self,wxBitmap* bitmap)
 {
-	wxBitmap tmp(*((wxImage*)_obj));
-	*((wxBitmap*)bitmap) = tmp;
+	wxBitmap tmp(*self);
+	*bitmap = tmp;
 }
 	
-EWXWEXPORT(void, wxImage_Initialize)(void* _obj, int width, int height)
+EWXWEXPORT(void,wxImage_Initialize)(wxImage* self,int width,int height)
 {
-	((wxImage*)_obj)->Create(width, height);
+	self->Create(width, height);
 }
 	
-EWXWEXPORT(void, wxImage_InitializeFromData)(void* _obj, int width, int height, void* data)
+EWXWEXPORT(void,wxImage_InitializeFromData)(wxImage* self,int width,int height,void* data)
 {
-	((wxImage*)_obj)->Create(width, height, (unsigned char*)data, true);
+	self->Create(width, height, (unsigned char*)data, true);
 }
 	
-EWXWEXPORT(void, wxImage_Destroy)(void* _obj)
+EWXWEXPORT(void,wxImage_Destroy)(wxImage* self)
 {
-	((wxImage*)_obj)->Destroy();
+	self->Destroy();
 }
 	
-EWXWEXPORT(void, wxImage_GetSubImage)(void* _obj, int x, int y, int w, int h, void* image)
+EWXWEXPORT(void,wxImage_GetSubImage)(wxImage* self,int x,int y,int w,int h,wxImage* image)
 {
-	*((wxImage*)image) = ((wxImage*)_obj)->GetSubImage(wxRect(x, y, w, h));
+	*image = self->GetSubImage(wxRect(x, y, w, h));
 }
 	
-EWXWEXPORT(void, wxImage_Paste)(void* _obj, void* image, int x, int y)
+EWXWEXPORT(void,wxImage_Paste)(wxImage* self,wxImage* image,int x,int y)
 {
-	((wxImage*)_obj)->Paste(*((wxImage*)image), x, y);
+	self->Paste(*image, x, y);
 }
 	
-EWXWEXPORT(void, wxImage_Scale)(void* _obj, int width, int height, void* image)
+EWXWEXPORT(void,wxImage_Scale)(wxImage* self,int width,int height,wxImage* image)
 {
-	*((wxImage*)image) = ((wxImage*)_obj)->Scale(width, height);
+	*image = self->Scale(width, height);
 }
 	
-EWXWEXPORT(void, wxImage_Rescale)(void* _obj, int width, int height)
+EWXWEXPORT(void,wxImage_Rescale)(wxImage* self,int width,int height)
 {
-	((wxImage*)_obj)->Rescale(width, height);
+	self->Rescale(width, height);
 }
 	
-EWXWEXPORT(void, wxImage_Rotate)(void* _obj, double angle, int c_x, int c_y, int interpolating, void* offset_after_rotation, void* image)
+EWXWEXPORT(void,wxImage_Rotate)(wxImage* self,double angle,int c_x,int c_y,bool interpolating,void* offset_after_rotation,wxImage* image)
 {
-	*((wxImage*)image) = ((wxImage*)_obj)->Rotate(angle, wxPoint(c_x, c_y), interpolating != 0, (wxPoint*)offset_after_rotation);
+	*image = self->Rotate(angle, wxPoint(c_x, c_y), interpolating, (wxPoint*)offset_after_rotation);
 }
 	
-EWXWEXPORT(void, wxImage_Rotate90)(void* _obj, int clockwise, void* image)
+EWXWEXPORT(void,wxImage_Rotate90)(wxImage* self,bool clockwise,wxImage* image)
 {
-	*((wxImage*)image) = ((wxImage*)_obj)->Rotate90(clockwise != 0);
+	*image = self->Rotate90(clockwise);
 }
 	
-EWXWEXPORT(void, wxImage_Mirror)(void* _obj, int horizontally, void* image)
+EWXWEXPORT(void,wxImage_Mirror)(wxImage* self,bool horizontally,wxImage* image)
 {
-	*((wxImage*)image) = ((wxImage*)_obj)->Mirror(horizontally != 0);
+	*image = self->Mirror(horizontally);
 }
 	
-EWXWEXPORT(void, wxImage_Replace)(void* _obj, char r1, char g1, char b1, char r2, char g2, char b2)
+EWXWEXPORT(void,wxImage_Replace)(wxImage* self,wxUint8 r1,wxUint8 g1,wxUint8 b1,wxUint8 r2,wxUint8 g2,wxUint8 b2)
 {
-	((wxImage*)_obj)->Replace(r1, g1, b1, r2, g2, b2);
+	self->Replace(r1, g1, b1, r2, g2, b2);
 }
 	
-EWXWEXPORT(void, wxImage_SetRGB)(void* _obj, int x, int y, char r, char g, char b)
+EWXWEXPORT(void,wxImage_SetRGB)(wxImage* self,int x,int y,wxUint8 r,wxUint8 g,wxUint8 b)
 {
-	((wxImage*)_obj)->SetRGB(x, y, r, g, b);
+	self->SetRGB(x, y, r, g, b);
 }
 	
-EWXWEXPORT(char, wxImage_GetRed)(void* _obj, int x, int y)
+EWXWEXPORT(wxUint8,wxImage_GetRed)(wxImage* self,int x,int y)
 {
-	return ((wxImage*)_obj)->GetRed(x, y);
+	return self->GetRed(x, y);
 }
 	
-EWXWEXPORT(char, wxImage_GetGreen)(void* _obj, int x, int y)
+EWXWEXPORT(wxUint8,wxImage_GetGreen)(wxImage* self,int x,int y)
 {
-	return ((wxImage*)_obj)->GetGreen(x, y);
+	return self->GetGreen(x, y);
 }
 	
-EWXWEXPORT(char, wxImage_GetBlue)(void* _obj, int x, int y)
+EWXWEXPORT(wxUint8,wxImage_GetBlue)(wxImage* self,int x,int y)
 {
-	return ((wxImage*)_obj)->GetBlue(x, y);
+	return self->GetBlue(x, y);
 }
 	
-EWXWEXPORT(int, wxImage_CanRead)(void* name)
+EWXWEXPORT(bool,wxImage_CanRead)(wxString* name)
 {
-	return (int)wxImage::CanRead((wxChar*)name);
+	return wxImage::CanRead(*name);
 }
 	
-EWXWEXPORT(int, wxImage_LoadFile)(void* _obj, void* name, int type)
+EWXWEXPORT(bool,wxImage_LoadFile)(wxImage* self,wxString* name,int type)
 {
-	return (int)((wxImage*)_obj)->LoadFile((wxChar*)name, (long)type);
+	return self->LoadFile(*name, (long)type);
 }
 	
-EWXWEXPORT(int, wxImage_SaveFile)(void* _obj, void* name, int type)
+EWXWEXPORT(bool,wxImage_SaveFile)(wxImage* self,wxString* name,int type)
 {
-	return (int)((wxImage*)_obj)->SaveFile((wxChar*)name, (long)type);
+	return self->SaveFile(*name, (long)type);
 }
 	
-EWXWEXPORT(int, wxImage_Ok)(void* _obj)
+EWXWEXPORT(bool,wxImage_IsOk)(wxImage* self)
 {
-	return (int)((wxImage*)_obj)->Ok();
+	return self->IsOk();
 }
 	
-EWXWEXPORT(int, wxImage_GetWidth)(void* _obj)
+EWXWEXPORT(int,wxImage_GetWidth)(wxImage* self)
 {
-	return ((wxImage*)_obj)->GetWidth();
+	return self->GetWidth();
 }
 	
-EWXWEXPORT(int, wxImage_GetHeight)(void* _obj)
+EWXWEXPORT(int,wxImage_GetHeight)(wxImage* self)
 {
-	return ((wxImage*)_obj)->GetHeight();
+	return self->GetHeight();
 }
 	
-EWXWEXPORT(void*, wxImage_GetData)(void* _obj)
+EWXWEXPORT(void*,wxImage_GetData)(wxImage* self)
 {
-	return (void*)((wxImage*)_obj)->GetData();
+	return (void*)self->GetData();
 }
 	
-EWXWEXPORT(void, wxImage_SetData)(void* _obj, void* data)
+EWXWEXPORT(void,wxImage_SetData)(wxImage* self,void* data)
 {
-	((wxImage*)_obj)->SetData((unsigned char*)data);
+	self->SetData((unsigned char*)data);
 }
 	
-EWXWEXPORT(void, wxImage_SetDataAndSize)(void* _obj, char *data, int new_width, int new_height)
+EWXWEXPORT(void,wxImage_SetDataAndSize)(wxImage* self,char* data,int new_width,int new_height)
 {
-	((wxImage*)_obj)->SetData((unsigned char*)data, new_width, new_height);
+	self->SetData((unsigned char*)data, new_width, new_height);
 }
 	
-EWXWEXPORT(void, wxImage_SetMaskColour)(void* _obj, char r, char g, char b)
+EWXWEXPORT(void,wxImage_SetMaskColour)(wxImage* self,wxUint8 r,wxUint8 g,wxUint8 b)
 {
-	((wxImage*)_obj)->SetMaskColour(r, g, b);
+	self->SetMaskColour(r, g, b);
 }
 	
-EWXWEXPORT(char, wxImage_GetMaskRed)(void* _obj)
+EWXWEXPORT(wxUint8,wxImage_GetMaskRed)(wxImage* self)
 {
-	return ((wxImage*)_obj)->GetMaskRed();
+	return self->GetMaskRed();
 }
 	
-EWXWEXPORT(char, wxImage_GetMaskGreen)(void* _obj)
+EWXWEXPORT(wxUint8,wxImage_GetMaskGreen)(wxImage* self)
 {
-	return ((wxImage*)_obj)->GetMaskGreen();
+	return self->GetMaskGreen();
 }
 	
-EWXWEXPORT(char, wxImage_GetMaskBlue)(void* _obj)
+EWXWEXPORT(wxUint8,wxImage_GetMaskBlue)(wxImage* self)
 {
-	return ((wxImage*)_obj)->GetMaskBlue();
+	return self->GetMaskBlue();
 }
 	
-EWXWEXPORT(void, wxImage_SetMask)(void* _obj, int mask)
+EWXWEXPORT(void,wxImage_SetMask)(wxImage* self,bool mask)
 {
-	((wxImage*)_obj)->SetMask(mask != 0);
+	self->SetMask(mask);
 }
 	
-EWXWEXPORT(int, wxImage_HasMask)(void* _obj)
+EWXWEXPORT(bool,wxImage_HasMask)(wxImage* self)
 {
-	return (int)((wxImage*)_obj)->HasMask();
+	return self->HasMask();
 }
 	
-EWXWEXPORT(int, wxImage_CountColours)(void* _obj, int stopafter)
+EWXWEXPORT(int,wxImage_CountColours)(wxImage* self,int stopafter)
 {
-	return ((wxImage*)_obj)->CountColours((long)stopafter);
+	return self->CountColours((long)stopafter);
 }
 
-EWXWEXPORT (int, wxImage_GetOption)(wxImage* _obj, wxString* key, wxChar* out) {
-	wxString result = _obj->GetOption(*key);
-	return copyStrToBuf(out, result);
+EWXWEXPORT (wxString*,wxImage_GetOption)(wxImage* self,wxString* key)
+{
+	wxString *result = new wxString();
+	*result = self->GetOption(*key);
+	return result;
 }
 
-EWXWEXPORT (int, wxImage_GetOptionInt)(wxImage* _obj, wxString* key) {
-	return  _obj->GetOptionInt(*key);
+EWXWEXPORT (int,wxImage_GetOptionInt)(wxImage* self,wxString* key)
+{
+	return  self->GetOptionInt(*key);
 }
 
-EWXWEXPORT(void, wxImage_SetOption)(wxImage* _obj, wxString* key, wxString* value) {
-	_obj->SetOption(*key, *value);
+EWXWEXPORT(void,wxImage_SetOption)(wxImage* self,wxString* key,wxString* value)
+{
+	self->SetOption(*key,*value);
 }
 
-EWXWEXPORT(void, wxImage_SetOptionInt)(wxImage* _obj, wxString* key, int value) {
-	_obj->SetOption(*key, value);
+EWXWEXPORT(void,wxImage_SetOptionInt)(wxImage* self,wxString* key,int value)
+{
+	self->SetOption(*key, value);
 }
 
-EWXWEXPORT(int, wxImage_HasOption)(wxImage* _obj, wxString* key)
+EWXWEXPORT(int,wxImage_HasOption)(wxImage* self,wxString* key)
 {
-	return _obj->HasOption(*key);
+	return self->HasOption(*key);
 }
 
 }
diff --git a/wxc/src/eljimagelist.cpp b/wxc/src/eljimagelist.cpp
--- a/wxc/src/eljimagelist.cpp
+++ b/wxc/src/eljimagelist.cpp
@@ -3,72 +3,72 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxImageList_Create)(int width, int height, int mask, int initialCount)
+EWXWEXPORT(wxImageList*,wxImageList_Create)(int width,int height,bool mask,int initialCount)
 {
-	return (void*) new wxImageList(width, height, mask != 0, initialCount);
+	return new wxImageList(width, height, mask, initialCount);
 }
 	
-EWXWEXPORT(void, wxImageList_Delete)(void* _obj)
+EWXWEXPORT(void,wxImageList_Delete)(wxImageList* self)
 {
-	delete (wxImageList*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(int, wxImageList_GetImageCount)(void* _obj)
+EWXWEXPORT(int,wxImageList_GetImageCount)(void* self)
 {
-	return ((wxImageList*)_obj)->GetImageCount();
+	return ((wxImageList*)self)->GetImageCount();
 }
 	
-EWXWEXPORT(void, wxImageList_GetSize)(void* _obj, int index, int* width, int* height)
+EWXWEXPORT(void,wxImageList_GetSize)(void* self,int index,int* width,int* height)
 {
-	bool success = ((wxImageList*)_obj)->GetSize(index, *((int*)width), *((int*)height));
+	bool success = ((wxImageList*)self)->GetSize(index,*width,*height);
         if (!success) {
           *width = -1;
           *height = -1;
         };
 }
 	
-EWXWEXPORT(int, wxImageList_AddBitmap)(void* _obj, void* bitmap, void* mask)
+EWXWEXPORT(int,wxImageList_AddBitmap)(void* self,wxBitmap* bitmap,wxBitmap* mask)
 {
-	return ((wxImageList*)_obj)->Add(*((wxBitmap*)bitmap), *((wxBitmap*)mask));
+	return ((wxImageList*)self)->Add(*bitmap,*mask);
 }
 	
-EWXWEXPORT(int, wxImageList_AddMasked)(void* _obj, void* bitmap, void* maskColour)
+EWXWEXPORT(int,wxImageList_AddMasked)(void* self,wxBitmap* bitmap,wxColour* maskColour)
 {
-	return ((wxImageList*)_obj)->Add(*((wxBitmap*)bitmap), *((wxColour*)maskColour));
+	return ((wxImageList*)self)->Add(*bitmap,*maskColour);
 }
 	
-EWXWEXPORT(int, wxImageList_AddIcon)(void* _obj, void* icon)
+EWXWEXPORT(int,wxImageList_AddIcon)(void* self,wxIcon* icon)
 {
-	return ((wxImageList*)_obj)->Add(*((wxIcon*)icon));
+	return ((wxImageList*)self)->Add(*icon);
 }
 	
-EWXWEXPORT(int, wxImageList_Replace)(void* _obj, int index, void* bitmap, void* mask)
+EWXWEXPORT(bool,wxImageList_Replace)(wxImageList* self,int index,wxBitmap* bitmap,wxBitmap* mask)
 {
 #ifdef __WIN32__
-	return (int)((wxImageList*)_obj)->Replace(index, *((wxBitmap*)bitmap), *((wxBitmap*)mask));
+	return self->Replace(index,*bitmap,*mask);
 #else
-	return (int)((wxImageList*)_obj)->Replace(index, *((wxBitmap*)bitmap));
+	return self->Replace(index,*bitmap);
 #endif
 }
 	
-EWXWEXPORT(int, wxImageList_ReplaceIcon)(void* _obj, int index, void* icon)
+EWXWEXPORT(bool,wxImageList_ReplaceIcon)(wxImageList* self,int index,wxIcon* icon)
 {
-	return (int)((wxImageList*)_obj)->Replace(index, *((wxIcon*)icon));
+	return self->Replace(index,*icon);
 }
 	
-EWXWEXPORT(int, wxImageList_Remove)(void* _obj, int index)
+EWXWEXPORT(bool,wxImageList_Remove)(wxImageList* self,int index)
 {
-	return (int)((wxImageList*)_obj)->Remove(index);
+	return self->Remove(index);
 }
 	
-EWXWEXPORT(int, wxImageList_RemoveAll)(void* _obj)
+EWXWEXPORT(bool,wxImageList_RemoveAll)(wxImageList* self)
 {
-	return (int)((wxImageList*)_obj)->RemoveAll();
+	return self->RemoveAll();
 }
 	
-EWXWEXPORT(int, wxImageList_Draw)(void* _obj, int index, void* dc, int x, int y, int flags, int solidBackground)
+EWXWEXPORT(bool,wxImageList_Draw)(wxImageList* self,int index,wxDC* dc,int x,int y,int flags,bool solidBackground)
 {
-	return (int)((wxImageList*)_obj)->Draw(index, *((wxDC*)dc), x, y, flags, solidBackground != 0);
+	return self->Draw(index,*dc, x, y, flags, solidBackground);
 }
 	
 }
diff --git a/wxc/src/eljipc.cpp b/wxc/src/eljipc.cpp
--- a/wxc/src/eljipc.cpp
+++ b/wxc/src/eljipc.cpp
@@ -3,124 +3,124 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, ELJConnection_CreateDefault)()
+EWXWEXPORT(void*,ELJConnection_CreateDefault)()
 {
 	return new ELJConnection();
 }
 
-EWXWEXPORT(void*, ELJConnection_Create)(void* buffer, int size)
+EWXWEXPORT(void*,ELJConnection_Create)(wxChar* buffer,int size)
 {
-	return new ELJConnection((wxChar*)buffer, size);
+	return new ELJConnection(buffer, size);
 }
 
-EWXWEXPORT(void, ELJConnection_Delete)(void* _obj)
+EWXWEXPORT(void,ELJConnection_Delete)(void* self)
 {
-	delete (ELJConnection*)_obj;
+	delete (ELJConnection*)self;
 }
 
-EWXWEXPORT(int, ELJConnection_Execute)(void* _obj, void* data, int size, int format)
+EWXWEXPORT(bool,ELJConnection_Execute)(ELJConnection* self,wxString* data,int size,int format)
 {
-	return (int)((ELJConnection*)_obj)->Execute((wxChar*)data, size, (wxIPCFormat)format);
+	return self->Execute(*data, size, (wxIPCFormat)format);
 }
 	
-EWXWEXPORT(void*, ELJConnection_Request)(void* _obj, void* item, void* size, int format)
+EWXWEXPORT(void*,ELJConnection_Request)(void* self,wxString* item,void* size,int format)
 {
-	return (void*)((ELJConnection*)_obj)->Request((wxChar*)item, (int*)size, (wxIPCFormat)format);
+	return (void*)((ELJConnection*)self)->Request(*item, (int*)size, (wxIPCFormat)format);
 }
 	
-EWXWEXPORT(int, ELJConnection_Poke)(void* _obj, void* item, void* data, int size, int format)
+EWXWEXPORT(bool,ELJConnection_Poke)(ELJConnection* self,wxString* item,wxChar* data,int size,int format)
 {
-	return (int)((ELJConnection*)_obj)->Poke((wxChar*)item, (wxChar*)data, size, (wxIPCFormat)format);
+	return self->Poke(*item, data, size, (wxIPCFormat)format);
 }
 	
-EWXWEXPORT(int, ELJConnection_StartAdvise)(void* _obj, void* item)
+EWXWEXPORT(bool,ELJConnection_StartAdvise)(ELJConnection* self,wxString* item)
 {
-	return (int)((ELJConnection*)_obj)->StartAdvise((wxChar*)item);
+	return self->StartAdvise(*item);
 }
 	
-EWXWEXPORT(int, ELJConnection_StopAdvise)(void* _obj, void* item)
+EWXWEXPORT(bool,ELJConnection_StopAdvise)(ELJConnection* self,wxString* item)
 {
-	return (int)((ELJConnection*)_obj)->StopAdvise((wxChar*)item);
+	return self->StopAdvise(*item);
 }
 	
-EWXWEXPORT(int, ELJConnection_Advise)(void* _obj, void* item, void* data, int size, int format)
+EWXWEXPORT(bool,ELJConnection_Advise)(ELJConnection* self,wxString* item,wxChar* data,int size,int format)
 {
-	return (int)((ELJConnection*)_obj)->Advise((wxChar*)item, (wxChar*)data, size, (wxIPCFormat)format);
+	return self->Advise(*item, data, size, (wxIPCFormat)format);
 }
 	
-EWXWEXPORT(int, ELJConnection_Disconnect)(void* _obj)
+EWXWEXPORT(bool,ELJConnection_Disconnect)(ELJConnection* self)
 {
-	return (int)((ELJConnection*)_obj)->Disconnect();
+	return self->Disconnect();
 }
 	
-EWXWEXPORT(void, ELJConnection_Compress)(void* _obj, int on)
+EWXWEXPORT(void,ELJConnection_Compress)(void* self,bool on)
 {
-	((ELJConnection*)_obj)->Compress(on != 0);
+	((ELJConnection*)self)->Compress(on);
 }
 	
-EWXWEXPORT(void, ELJConnection_SetOnAdvise)(void* _obj, void* _fnc)
+EWXWEXPORT(void,ELJConnection_SetOnAdvise)(void* self,void* _fnc)
 {
-	((ELJConnection*)_obj)->SetOnAdvise(_fnc);
+	((ELJConnection*)self)->SetOnAdvise(_fnc);
 }
 	
-EWXWEXPORT(void, ELJConnection_SetOnExecute)(void* _obj, void* _fnc)
+EWXWEXPORT(void,ELJConnection_SetOnExecute)(void* self,void* _fnc)
 {
-	((ELJConnection*)_obj)->SetOnExecute(_fnc);
+	((ELJConnection*)self)->SetOnExecute(_fnc);
 }
 	
-EWXWEXPORT(void, ELJConnection_SetOnRequest)(void* _obj, void* _fnc)
+EWXWEXPORT(void,ELJConnection_SetOnRequest)(void* self,void* _fnc)
 {
-	((ELJConnection*)_obj)->SetOnRequest(_fnc);
+	((ELJConnection*)self)->SetOnRequest(_fnc);
 }
 	
-EWXWEXPORT(void, ELJConnection_SetOnPoke)(void* _obj, void* _fnc)
+EWXWEXPORT(void,ELJConnection_SetOnPoke)(void* self,void* _fnc)
 {
-	((ELJConnection*)_obj)->SetOnPoke(_fnc);
+	((ELJConnection*)self)->SetOnPoke(_fnc);
 }
 	
-EWXWEXPORT(void, ELJConnection_SetOnStartAdvise)(void* _obj, void* _fnc)
+EWXWEXPORT(void,ELJConnection_SetOnStartAdvise)(void* self,void* _fnc)
 {
-	((ELJConnection*)_obj)->SetOnStartAdvise(_fnc);
+	((ELJConnection*)self)->SetOnStartAdvise(_fnc);
 }
 	
-EWXWEXPORT(void, ELJConnection_SetOnStopAdvise)(void* _obj, void* _fnc)
+EWXWEXPORT(void,ELJConnection_SetOnStopAdvise)(void* self,void* _fnc)
 {
-	((ELJConnection*)_obj)->SetOnStopAdvise(_fnc);
+	((ELJConnection*)self)->SetOnStopAdvise(_fnc);
 }
 
-EWXWEXPORT(void, ELJConnection_SetOnDisconnect)(void* _obj, void* _fnc)
+EWXWEXPORT(void,ELJConnection_SetOnDisconnect)(void* self,void* _fnc)
 {
-	((ELJConnection*)_obj)->SetOnDisconnect(_fnc);
+	((ELJConnection*)self)->SetOnDisconnect(_fnc);
 }
 
-EWXWEXPORT(void*, ELJServer_Create)(void* _eobj, void* _cnct)
+EWXWEXPORT(void*,ELJServer_Create)(void* _eobj,void* _cnct)
 {
 	return new ELJServer(_eobj, _cnct);
 }
 
-EWXWEXPORT(void, ELJServer_Delete)(void* _obj)
+EWXWEXPORT(void,ELJServer_Delete)(void* self)
 {
-	delete (ELJServer*)_obj;
+	delete (ELJServer*)self;
 }
 
-EWXWEXPORT(int, ELJServer_Initialize)(void* _obj, void* name)
+EWXWEXPORT(int,ELJServer_Initialize)(void* self,wxString* name)
 {
-	return ((ELJServer*)_obj)->Create((wxChar*)name);
+	return ((ELJServer*)self)->Create(*name);
 }
 	
-EWXWEXPORT(void*, ELJClient_Create)(void* _eobj, void* _cnct)
+EWXWEXPORT(void*,ELJClient_Create)(void* _eobj,void* _cnct)
 {
 	return new ELJClient(_eobj, _cnct);
 }
 
-EWXWEXPORT(void, ELJClient_Delete)(void* _obj)
+EWXWEXPORT(void,ELJClient_Delete)(void* self)
 {
-	delete (ELJClient*)_obj;
+	delete (ELJClient*)self;
 }
 
-EWXWEXPORT(void, ELJClient_MakeConnection)(void* _obj, void* host, void* server, void* topic)
+EWXWEXPORT(void,ELJClient_MakeConnection)(void* self,wxString* host,wxString* server,wxString* topic)
 {
-	((ELJClient*)_obj)->MakeConnection((wxChar*)host, (wxChar*)server, (wxChar*)topic);
+	((ELJClient*)self)->MakeConnection(*host,*server,*topic);
 }
 	
 }
diff --git a/wxc/src/eljjoystick.cpp b/wxc/src/eljjoystick.cpp
--- a/wxc/src/eljjoystick.cpp
+++ b/wxc/src/eljjoystick.cpp
@@ -6,14 +6,14 @@
 
 #if wxUSE_JOYSTICK
 
-EWXWEXPORT(void*,wxJoystick_Create)(int joystick)
+EWXWEXPORT(wxJoystick*,wxJoystick_Create)(int joystick)
 {
-	return (void*)new wxJoystick(joystick);
+	return new wxJoystick(joystick);
 }
 
-EWXWEXPORT(void,wxJoystick_Delete)(void* _obj)
+EWXWEXPORT(void,wxJoystick_Delete)(wxJoystick* self)
 {
-	delete (wxJoystick*)_obj;
+	delete self;
 }
 
 EWXWEXPORT(void,wxJoystick_GetPosition)(void* _obj, void* _x, void* _y)
@@ -23,210 +23,211 @@
 	*((int*)_y) = pt.y;
 }
 	
-EWXWEXPORT(int,wxJoystick_GetZPosition)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetZPosition)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetZPosition();
+	return self->GetZPosition();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetButtonState)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetButtonState)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetButtonState();
+	return self->GetButtonState();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetPOVPosition)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetPOVPosition)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetPOVPosition();
+	return self->GetPOVPosition();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetPOVCTSPosition)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetPOVCTSPosition)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetPOVCTSPosition();
+	return self->GetPOVCTSPosition();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetRudderPosition)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetRudderPosition)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetRudderPosition();
+	return self->GetRudderPosition();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetUPosition)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetUPosition)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetUPosition();
+	return self->GetUPosition();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetVPosition)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetVPosition)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetVPosition();
+	return self->GetVPosition();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetMovementThreshold)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetMovementThreshold)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetMovementThreshold();
+	return self->GetMovementThreshold();
 }
 	
-EWXWEXPORT(void,wxJoystick_SetMovementThreshold)(void* _obj, int threshold)
+EWXWEXPORT(void,wxJoystick_SetMovementThreshold)(wxJoystick* self,int threshold)
 {
-	((wxJoystick*)_obj)->SetMovementThreshold(threshold);
+	self->SetMovementThreshold(threshold);
 }
 	
-EWXWEXPORT(int,wxJoystick_IsOk)(void* _obj)
+EWXWEXPORT(bool,wxJoystick_IsOk)(wxJoystick* self)
 {
-	return (int)((wxJoystick*)_obj)->IsOk();
+	return self->IsOk();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetNumberJoysticks)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetNumberJoysticks)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetNumberJoysticks();
+	return self->GetNumberJoysticks();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetManufacturerId)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetManufacturerId)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetManufacturerId();
+	return self->GetManufacturerId();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetProductId)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetProductId)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetProductId();
+	return self->GetProductId();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetProductName)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxJoystick_GetProductName)(wxJoystick* _obj)
 {
-	wxString res = ((wxJoystick*)_obj)->GetProductName();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = self->GetProductName();
+	return result;
 }
 	
-EWXWEXPORT(int,wxJoystick_GetXMin)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetXMin)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetXMin();
+	return self->GetXMin();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetYMin)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetYMin)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetYMin();
+	return self->GetYMin();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetZMin)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetZMin)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetZMin();
+	return self->GetZMin();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetXMax)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetXMax)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetXMax();
+	return self->GetXMax();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetYMax)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetYMax)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetYMax();
+	return self->GetYMax();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetZMax)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetZMax)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetZMax();
+	return self->GetZMax();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetNumberButtons)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetNumberButtons)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetNumberButtons();
+	return self->GetNumberButtons();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetNumberAxes)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetNumberAxes)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetNumberAxes();
+	return self->GetNumberAxes();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetMaxButtons)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetMaxButtons)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetMaxButtons();
+	return self->GetMaxButtons();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetMaxAxes)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetMaxAxes)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetMaxAxes();
+	return self->GetMaxAxes();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetPollingMin)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetPollingMin)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetPollingMin();
+	return self->GetPollingMin();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetPollingMax)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetPollingMax)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetPollingMax();
+	return self->GetPollingMax();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetRudderMin)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetRudderMin)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetRudderMin();
+	return self->GetRudderMin();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetRudderMax)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetRudderMax)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetRudderMax();
+	return self->GetRudderMax();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetUMin)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetUMin)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetUMin();
+	return self->GetUMin();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetUMax)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetUMax)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetUMax();
+	return self->GetUMax();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetVMin)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetVMin)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetVMin();
+	return self->GetVMin();
 }
 	
-EWXWEXPORT(int,wxJoystick_GetVMax)(void* _obj)
+EWXWEXPORT(int,wxJoystick_GetVMax)(wxJoystick* self)
 {
-	return ((wxJoystick*)_obj)->GetVMax();
+	return self->GetVMax();
 }
 	
-EWXWEXPORT(int,wxJoystick_HasRudder)(void* _obj)
+EWXWEXPORT(bool,wxJoystick_HasRudder)(wxJoystick* self)
 {
-	return (int)((wxJoystick*)_obj)->HasRudder();
+	return self->HasRudder();
 }
 	
-EWXWEXPORT(int,wxJoystick_HasZ)(void* _obj)
+EWXWEXPORT(bool,wxJoystick_HasZ)(wxJoystick* self)
 {
-	return (int)((wxJoystick*)_obj)->HasZ();
+	return self->HasZ();
 }
 	
-EWXWEXPORT(int,wxJoystick_HasU)(void* _obj)
+EWXWEXPORT(bool,wxJoystick_HasU)(wxJoystick* self)
 {
-	return (int)((wxJoystick*)_obj)->HasU();
+	return self->HasU();
 }
 	
-EWXWEXPORT(int,wxJoystick_HasV)(void* _obj)
+EWXWEXPORT(bool,wxJoystick_HasV)(wxJoystick* self)
 {
-	return (int)((wxJoystick*)_obj)->HasV();
+	return self->HasV();
 }
 	
-EWXWEXPORT(int,wxJoystick_HasPOV)(void* _obj)
+EWXWEXPORT(bool,wxJoystick_HasPOV)(wxJoystick* self)
 {
-	return (int)((wxJoystick*)_obj)->HasPOV();
+	return self->HasPOV();
 }
 	
-EWXWEXPORT(int,wxJoystick_HasPOV4Dir)(void* _obj)
+EWXWEXPORT(bool,wxJoystick_HasPOV4Dir)(wxJoystick* self)
 {
-	return (int)((wxJoystick*)_obj)->HasPOV4Dir();
+	return self->HasPOV4Dir();
 }
 	
-EWXWEXPORT(int,wxJoystick_HasPOVCTS)(void* _obj)
+EWXWEXPORT(bool,wxJoystick_HasPOVCTS)(wxJoystick* self)
 {
-	return (int)((wxJoystick*)_obj)->HasPOVCTS();
+	return self->HasPOVCTS();
 }
 	
-EWXWEXPORT(int,wxJoystick_SetCapture)(void* _obj, void* win, int pollingFreq)
+EWXWEXPORT(bool,wxJoystick_SetCapture)(wxJoystick* self,wxWindow* win,int pollingFreq)
 {
-	return (int)((wxJoystick*)_obj)->SetCapture((wxWindow*)win, pollingFreq);
+	return self->SetCapture(win, pollingFreq);
 }
 	
-EWXWEXPORT(int,wxJoystick_ReleaseCapture)(void* _obj)
+EWXWEXPORT(bool,wxJoystick_ReleaseCapture)(wxJoystick* self)
 {
-	return (int)((wxJoystick*)_obj)->ReleaseCapture();
+	return self->ReleaseCapture();
 }
 
 #else
@@ -240,7 +241,7 @@
 {
 }
 
-EWXWEXPORT(void,wxJoystick_GetPosition)(void* _obj, void* _x, void* _y)
+EWXWEXPORT(void,wxJoystick_GetPosition)(void* _obj,void* _x,void* _y)
 {
 }
 	
@@ -284,13 +285,13 @@
 	return 0;
 }
 	
-EWXWEXPORT(void,wxJoystick_SetMovementThreshold)(void* _obj, int threshold)
+EWXWEXPORT(void,wxJoystick_SetMovementThreshold)(void* _obj,int threshold)
 {
 }
 	
-EWXWEXPORT(int,wxJoystick_IsOk)(void* _obj)
+EWXWEXPORT(bool,wxJoystick_IsOk)(wxJoystick* _obj)
 {
-	return 0;
+	return _obj->isOk();
 }
 	
 EWXWEXPORT(int,wxJoystick_GetNumberJoysticks)(void* _obj)
@@ -308,7 +309,7 @@
 	return 0;
 }
 	
-EWXWEXPORT(int,wxJoystick_GetProductName)(void* _obj, void* _buf)
+EWXWEXPORT(int,wxJoystick_GetProductName)(void* _obj,void* _buf)
 {
 	return 0;
 }
@@ -438,7 +439,7 @@
 	return 0;
 }
 	
-EWXWEXPORT(int,wxJoystick_SetCapture)(void* _obj, void* win, int pollingFreq)
+EWXWEXPORT(int,wxJoystick_SetCapture)(void* _obj,void* win,int pollingFreq)
 {
 	return 0;
 }
diff --git a/wxc/src/eljlayoutconstraints.cpp b/wxc/src/eljlayoutconstraints.cpp
--- a/wxc/src/eljlayoutconstraints.cpp
+++ b/wxc/src/eljlayoutconstraints.cpp
@@ -3,179 +3,179 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxLayoutConstraints_left)(void* _obj)
+EWXWEXPORT(void*,wxLayoutConstraints_left)(void* self)
 {
-	return (void*)(&((wxLayoutConstraints*)_obj)->left);
+	return (void*)(&((wxLayoutConstraints*)self)->left);
 }
 	
-EWXWEXPORT(void*, wxLayoutConstraints_top)(void* _obj)
+EWXWEXPORT(void*,wxLayoutConstraints_top)(void* self)
 {
-	return (void*)(&((wxLayoutConstraints*)_obj)->top);
+	return (void*)(&((wxLayoutConstraints*)self)->top);
 }
 	
-EWXWEXPORT(void*, wxLayoutConstraints_right)(void* _obj)
+EWXWEXPORT(void*,wxLayoutConstraints_right)(void* self)
 {
-	return (void*)(&((wxLayoutConstraints*)_obj)->right);
+	return (void*)(&((wxLayoutConstraints*)self)->right);
 }
 	
-EWXWEXPORT(void*, wxLayoutConstraints_bottom)(void* _obj)
+EWXWEXPORT(void*,wxLayoutConstraints_bottom)(void* self)
 {
-	return (void*)(&((wxLayoutConstraints*)_obj)->bottom);
+	return (void*)(&((wxLayoutConstraints*)self)->bottom);
 }
 	
-EWXWEXPORT(void*, wxLayoutConstraints_width)(void* _obj)
+EWXWEXPORT(void*,wxLayoutConstraints_width)(void* self)
 {
-	return (void*)(&((wxLayoutConstraints*)_obj)->width);
+	return (void*)(&((wxLayoutConstraints*)self)->width);
 }
 	
-EWXWEXPORT(void*, wxLayoutConstraints_height)(void* _obj)
+EWXWEXPORT(void*,wxLayoutConstraints_height)(void* self)
 {
-	return (void*)(&((wxLayoutConstraints*)_obj)->height);
+	return (void*)(&((wxLayoutConstraints*)self)->height);
 }
 	
-EWXWEXPORT(void*, wxLayoutConstraints_centreX)(void* _obj)
+EWXWEXPORT(void*,wxLayoutConstraints_centreX)(void* self)
 {
-	return (void*)(&((wxLayoutConstraints*)_obj)->centreX);
+	return (void*)(&((wxLayoutConstraints*)self)->centreX);
 }
 	
-EWXWEXPORT(void*, wxLayoutConstraints_centreY)(void* _obj)
+EWXWEXPORT(void*,wxLayoutConstraints_centreY)(void* self)
 {
-	return (void*)(&((wxLayoutConstraints*)_obj)->centreY);
+	return (void*)(&((wxLayoutConstraints*)self)->centreY);
 }
 	
-EWXWEXPORT(void*, wxLayoutConstraints_Create)()
+EWXWEXPORT(void*,wxLayoutConstraints_Create)()
 {
-	return (void*) new wxLayoutConstraints();
+	return (void*)new wxLayoutConstraints();
 }
 
-EWXWEXPORT(void, wxIndividualLayoutConstraint_Set)(void* _obj, int rel, void* otherW, int otherE, int val, int marg)
+EWXWEXPORT(void,wxIndividualLayoutConstraint_Set)(void* self,int rel,wxWindowBase* otherW,int otherE,int val,int marg)
 {
-	((wxIndividualLayoutConstraint*)_obj)->Set((wxRelationship)rel, (wxWindowBase*) otherW, (wxEdge)otherE, val, marg);
+	((wxIndividualLayoutConstraint*)self)->Set((wxRelationship)rel,  otherW, (wxEdge)otherE, val, marg);
 }
 	
-EWXWEXPORT(void, wxIndividualLayoutConstraint_LeftOf)(void* _obj, void* sibling, int marg)
+EWXWEXPORT(void,wxIndividualLayoutConstraint_LeftOf)(void* self,wxWindowBase* sibling,int marg)
 {
-	((wxIndividualLayoutConstraint*)_obj)->LeftOf((wxWindowBase*) sibling, (wxEdge)marg);
+	((wxIndividualLayoutConstraint*)self)->LeftOf( sibling, (wxEdge)marg);
 }
 	
-EWXWEXPORT(void, wxIndividualLayoutConstraint_RightOf)(void* _obj, void* sibling, int marg)
+EWXWEXPORT(void,wxIndividualLayoutConstraint_RightOf)(void* self,wxWindowBase* sibling,int marg)
 {
-	((wxIndividualLayoutConstraint*)_obj)->RightOf((wxWindowBase*)sibling, (wxEdge)marg);
+	((wxIndividualLayoutConstraint*)self)->RightOf(sibling, (wxEdge)marg);
 }
 	
-EWXWEXPORT(void, wxIndividualLayoutConstraint_Above)(void* _obj, void* sibling, int marg)
+EWXWEXPORT(void,wxIndividualLayoutConstraint_Above)(void* self,wxWindow* sibling,int marg)
 {
-	((wxIndividualLayoutConstraint*)_obj)->Above((wxWindowBase*)sibling, marg);
+	((wxIndividualLayoutConstraint*)self)->Above(sibling,marg);
 }
 	
-EWXWEXPORT(void, wxIndividualLayoutConstraint_Below)(void* _obj, void* sibling, int marg)
+EWXWEXPORT(void,wxIndividualLayoutConstraint_Below)(void* self,wxWindow* sibling,int marg)
 {
-	((wxIndividualLayoutConstraint*)_obj)->Below((wxWindowBase*)sibling, marg);
+	((wxIndividualLayoutConstraint*)self)->Below(sibling, marg);
 }
 	
-EWXWEXPORT(void, wxIndividualLayoutConstraint_SameAs)(void* _obj, void* otherW, int edge, int marg)
+EWXWEXPORT(void,wxIndividualLayoutConstraint_SameAs)(void* self,wxWindowBase* otherW,int edge,int marg)
 {
-	((wxIndividualLayoutConstraint*)_obj)->SameAs((wxWindowBase*)otherW, (wxEdge)edge, (wxEdge)marg);
+	((wxIndividualLayoutConstraint*)self)->SameAs(otherW, (wxEdge)edge, (wxEdge)marg);
 }
 	
-EWXWEXPORT(void, wxIndividualLayoutConstraint_PercentOf)(void* _obj, void* otherW, int wh, int per)
+EWXWEXPORT(void,wxIndividualLayoutConstraint_PercentOf)(void* self,wxWindowBase* otherW,int wh,int per)
 {
-	((wxIndividualLayoutConstraint*)_obj)->PercentOf((wxWindowBase*)otherW, (wxEdge)wh, per);
+	((wxIndividualLayoutConstraint*)self)->PercentOf(otherW, (wxEdge)wh, per);
 }
 	
-EWXWEXPORT(void, wxIndividualLayoutConstraint_Absolute)(void* _obj, int val)
+EWXWEXPORT(void,wxIndividualLayoutConstraint_Absolute)(void* self,int val)
 {
-	((wxIndividualLayoutConstraint*)_obj)->Absolute(val);
+	((wxIndividualLayoutConstraint*)self)->Absolute(val);
 }
 	
-EWXWEXPORT(void, wxIndividualLayoutConstraint_Unconstrained)(void* _obj)
+EWXWEXPORT(void,wxIndividualLayoutConstraint_Unconstrained)(void* self)
 {
-	((wxIndividualLayoutConstraint*)_obj)->Unconstrained();
+	((wxIndividualLayoutConstraint*)self)->Unconstrained();
 }
 	
-EWXWEXPORT(void, wxIndividualLayoutConstraint_AsIs)(void* _obj)
+EWXWEXPORT(void,wxIndividualLayoutConstraint_AsIs)(void* self)
 {
-	((wxIndividualLayoutConstraint*)_obj)->AsIs();
+	((wxIndividualLayoutConstraint*)self)->AsIs();
 }
 	
-EWXWEXPORT(void*, wxIndividualLayoutConstraint_GetOtherWindow)(void* _obj)
+EWXWEXPORT(void*,wxIndividualLayoutConstraint_GetOtherWindow)(void* self)
 {
-	return (void*)((wxIndividualLayoutConstraint*)_obj)->GetOtherWindow();
+	return (void*)((wxIndividualLayoutConstraint*)self)->GetOtherWindow();
 }
 	
-EWXWEXPORT(int, wxIndividualLayoutConstraint_GetMyEdge)(void* _obj)
+EWXWEXPORT(int,wxIndividualLayoutConstraint_GetMyEdge)(wxIndividualLayoutConstraint* self)
 {
-	return (int)((wxIndividualLayoutConstraint*)_obj)->GetMyEdge();
+	return (int)self->GetMyEdge();
 }
 	
-EWXWEXPORT(void, wxIndividualLayoutConstraint_SetEdge)(void* _obj, int which)
+EWXWEXPORT(void,wxIndividualLayoutConstraint_SetEdge)(void* self,int which)
 {
-	((wxIndividualLayoutConstraint*)_obj)->SetEdge((wxEdge)which);
+	((wxIndividualLayoutConstraint*)self)->SetEdge((wxEdge)which);
 }
 	
-EWXWEXPORT(void, wxIndividualLayoutConstraint_SetValue)(void* _obj, int v)
+EWXWEXPORT(void,wxIndividualLayoutConstraint_SetValue)(void* self,int v)
 {
-	((wxIndividualLayoutConstraint*)_obj)->SetValue(v);
+	((wxIndividualLayoutConstraint*)self)->SetValue(v);
 }
 	
-EWXWEXPORT(int, wxIndividualLayoutConstraint_GetMargin)(void* _obj)
+EWXWEXPORT(int,wxIndividualLayoutConstraint_GetMargin)(void* self)
 {
-	return ((wxIndividualLayoutConstraint*)_obj)->GetMargin();
+	return ((wxIndividualLayoutConstraint*)self)->GetMargin();
 }
 	
-EWXWEXPORT(void, wxIndividualLayoutConstraint_SetMargin)(void* _obj, int m)
+EWXWEXPORT(void,wxIndividualLayoutConstraint_SetMargin)(void* self,int m)
 {
-	((wxIndividualLayoutConstraint*)_obj)->SetMargin(m);
+	((wxIndividualLayoutConstraint*)self)->SetMargin(m);
 }
 	
-EWXWEXPORT(int, wxIndividualLayoutConstraint_GetValue)(void* _obj)
+EWXWEXPORT(int,wxIndividualLayoutConstraint_GetValue)(void* self)
 {
-	return ((wxIndividualLayoutConstraint*)_obj)->GetValue();
+	return ((wxIndividualLayoutConstraint*)self)->GetValue();
 }
 	
-EWXWEXPORT(int, wxIndividualLayoutConstraint_GetPercent)(void* _obj)
+EWXWEXPORT(int,wxIndividualLayoutConstraint_GetPercent)(void* self)
 {
-	return ((wxIndividualLayoutConstraint*)_obj)->GetPercent();
+	return ((wxIndividualLayoutConstraint*)self)->GetPercent();
 }
 	
-EWXWEXPORT(int, wxIndividualLayoutConstraint_GetOtherEdge)(void* _obj)
+EWXWEXPORT(int,wxIndividualLayoutConstraint_GetOtherEdge)(void* self)
 {
-	return ((wxIndividualLayoutConstraint*)_obj)->GetOtherEdge();
+	return ((wxIndividualLayoutConstraint*)self)->GetOtherEdge();
 }
 	
-EWXWEXPORT(int, wxIndividualLayoutConstraint_GetDone)(void* _obj)
+EWXWEXPORT(bool,wxIndividualLayoutConstraint_GetDone)(wxIndividualLayoutConstraint* self)
 {
-	return (int)((wxIndividualLayoutConstraint*)_obj)->GetDone();
+	return self->GetDone();
 }
 	
-EWXWEXPORT(void, wxIndividualLayoutConstraint_SetDone)(void* _obj, int d)
+EWXWEXPORT(void,wxIndividualLayoutConstraint_SetDone)(void* self,bool d)
 {
-	((wxIndividualLayoutConstraint*)_obj)->SetDone(d != 0);
+	((wxIndividualLayoutConstraint*)self)->SetDone(d);
 }
 	
-EWXWEXPORT(int, wxIndividualLayoutConstraint_GetRelationship)(void* _obj)
+EWXWEXPORT(int,wxIndividualLayoutConstraint_GetRelationship)(void* self)
 {
-	return ((wxIndividualLayoutConstraint*)_obj)->GetRelationship();
+	return ((wxIndividualLayoutConstraint*)self)->GetRelationship();
 }
 	
-EWXWEXPORT(void, wxIndividualLayoutConstraint_SetRelationship)(void* _obj, int r)
+EWXWEXPORT(void,wxIndividualLayoutConstraint_SetRelationship)(void* self,int r)
 {
-	((wxIndividualLayoutConstraint*)_obj)->SetRelationship((wxRelationship)r);
+	((wxIndividualLayoutConstraint*)self)->SetRelationship((wxRelationship)r);
 }
 	
-EWXWEXPORT(int, wxIndividualLayoutConstraint_ResetIfWin)(void* _obj, void* otherW)
+EWXWEXPORT(bool,wxIndividualLayoutConstraint_ResetIfWin)(wxIndividualLayoutConstraint* self,wxWindowBase* otherW)
 {
-	return (int)((wxIndividualLayoutConstraint*)_obj)->ResetIfWin((wxWindowBase*)otherW);
+	return self->ResetIfWin(otherW);
 }
 	
-EWXWEXPORT(int, wxIndividualLayoutConstraint_SatisfyConstraint)(void* _obj, void* constraints, void* win)
+EWXWEXPORT(bool,wxIndividualLayoutConstraint_SatisfyConstraint)(wxIndividualLayoutConstraint* self,void* constraints,wxWindowBase* win)
 {
-	return (int)((wxIndividualLayoutConstraint*)_obj)->SatisfyConstraint((wxLayoutConstraints*)constraints, (wxWindowBase*)win);
+	return self->SatisfyConstraint((wxLayoutConstraints*)constraints, win);
 }
 	
-EWXWEXPORT(int, wxIndividualLayoutConstraint_GetEdge)(void* _obj, int which, void* thisWin, void* other)
+EWXWEXPORT(int,wxIndividualLayoutConstraint_GetEdge)(void* self,int which,wxWindowBase* thisWin,wxWindowBase* other)
 {
-	return ((wxIndividualLayoutConstraint*)_obj)->GetEdge((wxEdge)which, (wxWindowBase*) thisWin, (wxWindowBase*) other);
+	return ((wxIndividualLayoutConstraint*)self)->GetEdge((wxEdge)which,  thisWin, other);
 }
 	
 }
diff --git a/wxc/src/eljlistbox.cpp b/wxc/src/eljlistbox.cpp
--- a/wxc/src/eljlistbox.cpp
+++ b/wxc/src/eljlistbox.cpp
@@ -3,7 +3,7 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxListBox_Create) (void* _prt, int _id, int _lft, int _top, int _wdt, int _hgt, int _n, void* _str, int _stl)
+EWXWEXPORT(void*,wxListBox_Create)(wxWindow* _prt, int _id, int _lft, int _top, int _wdt, int _hgt, int _n, void* _str, int _stl)
 {
 	wxListBox* result = new wxListBox ((wxWindow*)_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), 0, NULL, _stl, wxDefaultValidator);
 
@@ -13,56 +13,57 @@
 	return (void*) result;
 }
 
-EWXWEXPORT(void, wxListBox_Clear)(void* _obj)
+EWXWEXPORT(void,wxListBox_Clear)(wxListBox* self)
 {
-	((wxListBox*)_obj)->Clear();
+	self->Clear();
 }
 	
-EWXWEXPORT(void, wxListBox_Delete)(void* _obj, int n)
+EWXWEXPORT(void,wxListBox_Delete)(wxListBox* self,int n)
 {
-	((wxListBox*)_obj)->Delete(n);
+	self->Delete(n);
 }
 	
-EWXWEXPORT(int, wxListBox_GetCount)(void* _obj)
+EWXWEXPORT(int,wxListBox_GetCount)(wxListBox* self)
 {
-	return ((wxListBox*)_obj)->GetCount();
+	return self->GetCount();
 }
 	
-EWXWEXPORT(int, wxListBox_GetString)(void* _obj, int n, void* _buf)
+EWXWEXPORT(wxString*,wxListBox_GetString)(wxListBox* self,int n)
 {
-	wxString result = ((wxListBox*)_obj)->GetString(n);
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = self->GetString(n);
+	return result;
 }
 	
-EWXWEXPORT(void, wxListBox_SetString)(void* _obj, int n, wxChar* s)
+EWXWEXPORT(void,wxListBox_SetString)(wxListBox* self,int n,wxString* s)
 {
-	((wxListBox*)_obj)->SetString(n, s);
+	self->SetString(n,*s);
 }
 	
-EWXWEXPORT(int, wxListBox_FindString)(void* _obj, wxChar* s)
+EWXWEXPORT(int,wxListBox_FindString)(wxListBox* self,wxString* s)
 {
-	return ((wxListBox*)_obj)->FindString(s);
+	return self->FindString(*s);
 }
 	
-EWXWEXPORT(int, wxListBox_IsSelected)(void* _obj, int n)
+EWXWEXPORT(bool,wxListBox_IsSelected)(wxListBox* self,int n)
 {
-	return (int)((wxListBox*)_obj)->IsSelected(n);
+	return self->IsSelected(n);
 }
 	
-EWXWEXPORT(void, wxListBox_SetSelection)(void* _obj, int n, int select)
+EWXWEXPORT(void,wxListBox_SetSelection)(wxListBox* self,int n,bool select)
 {
-	((wxListBox*)_obj)->SetSelection(n, select != 0);
+	self->SetSelection(n, select);
 }
 	
-EWXWEXPORT(int, wxListBox_GetSelection)(void* _obj)
+EWXWEXPORT(int,wxListBox_GetSelection)(wxListBox* self)
 {
-	return ((wxListBox*)_obj)->GetSelection();
+	return self->GetSelection();
 }
 	
-EWXWEXPORT(int, wxListBox_GetSelections)(void* _obj, int* aSelections, int allocated)
+EWXWEXPORT(int,wxListBox_GetSelections)(wxListBox* self,int* aSelections,int allocated)
 {
 	wxArrayInt sel;
-	int result = ((wxListBox*)_obj)->GetSelections(sel);
+	int result = self->GetSelections(sel);
 	
 	if (allocated < result) return -result;
 	
@@ -70,44 +71,44 @@
 	return result;
 }
 	
-EWXWEXPORT(void, wxListBox_Append)(void* _obj, wxChar* item)
+EWXWEXPORT(void,wxListBox_Append)(wxListBox* self,wxString* item)
 {
-	((wxListBox*)_obj)->Append(item);
+	self->Append(*item);
 }
 	
-EWXWEXPORT(void, wxListBox_AppendData)(void* _obj, wxChar* item, void* _data)
+EWXWEXPORT(void,wxListBox_AppendData)(wxListBox* self,wxString* item,void* _data)
 {
-	((wxListBox*)_obj)->Append(item, _data);
+	self->Append(*item, _data);
 }
 	
-EWXWEXPORT(void, wxListBox_InsertItems)(void* _obj, void* items, int pos, int count)
+EWXWEXPORT(void,wxListBox_InsertItems)(wxListBox* self,void* items,int pos,int count)
 {
 	wxArrayString array;
 	
 	for (int i = 0; i< count; i++)
 		array[i] = ((wxChar**)items)[i];
 	
-	((wxListBox*)_obj)->InsertItems(array, pos);
+	self->InsertItems(array, pos);
 }
 	
-EWXWEXPORT(void, wxListBox_SetFirstItem)(void* _obj, int n)
+EWXWEXPORT(void,wxListBox_SetFirstItem)(wxListBox* self,int n)
 {
-	((wxListBox*)_obj)->SetFirstItem(n);
+	self->SetFirstItem(n);
 }
 	
-EWXWEXPORT(void, wxListBox_SetClientData)(void* _obj, int n, void* clientData)
+EWXWEXPORT(void,wxListBox_SetClientData)(wxListBox* self,int n,void* clientData)
 {
-	((wxListBox*)_obj)->SetClientData(n, clientData);
+	self->SetClientData(n, clientData);
 }
 	
-EWXWEXPORT(void*, wxListBox_GetClientData)(void* _obj, int n)
+EWXWEXPORT(void*,wxListBox_GetClientData)(wxListBox* self,int n)
 {
-	return (void*)((wxListBox*)_obj)->GetClientData(n);
+	return (void*) self->GetClientData(n);
 }
 	
-EWXWEXPORT(void, wxListBox_SetStringSelection)(void* _obj, wxChar* str, int sel)
+EWXWEXPORT(void,wxListBox_SetStringSelection)(wxListBox* self,wxString* str,bool sel)
 {
-	((wxListBox*)_obj)->SetStringSelection(str, sel != 0);
+	self->SetStringSelection(*str, sel);
 }
-	
+
 }
diff --git a/wxc/src/eljlistctrl.cpp b/wxc/src/eljlistctrl.cpp
--- a/wxc/src/eljlistctrl.cpp
+++ b/wxc/src/eljlistctrl.cpp
@@ -16,264 +16,266 @@
 	return ((EiffelSort*)sortData)->fnc (((EiffelSort*)sortData)->obj, (int)item1, (int)item2);
 }
 
-EWXWEXPORT(void*, wxListItem_Create)()
+EWXWEXPORT(wxListItem*,wxListItem_Create)()
 {
-	return (void*) new wxListItem();
+	return new wxListItem();
 }
 
-EWXWEXPORT(void, wxListItem_Delete)(void* _obj)
+EWXWEXPORT(void,wxListItem_Delete)(wxListItem* self)
 {
-	delete (wxListItem*)_obj;
+	delete self;
 }
-EWXWEXPORT(void, wxListItem_Clear)(void* _obj)
+EWXWEXPORT(void,wxListItem_Clear)(wxListItem* self)
 {
-	((wxListItem*)_obj)->Clear();
+	self->Clear();
 }
 	
-EWXWEXPORT(void, wxListItem_ClearAttributes)(void* _obj)
+EWXWEXPORT(void,wxListItem_ClearAttributes)(wxListItem* self)
 {
-	((wxListItem*)_obj)->ClearAttributes();
+	self->ClearAttributes();
 }
 	
-EWXWEXPORT(void, wxListItem_SetMask)(void* _obj, int mask)
+EWXWEXPORT(void,wxListItem_SetMask)(wxListItem* self,int mask)
 {
-	((wxListItem*)_obj)->SetMask((long)mask);
+	self->SetMask((long)mask);
 }
 	
-EWXWEXPORT(void, wxListItem_SetId)(void* _obj, int id)
+EWXWEXPORT(void,wxListItem_SetId)(wxListItem* self,int id)
 {
-	((wxListItem*)_obj)->SetId((long)id);
+	self->SetId((long)id);
 }
 	
-EWXWEXPORT(void, wxListItem_SetColumn)(void* _obj, int col)
+EWXWEXPORT(void,wxListItem_SetColumn)(wxListItem* self,int col)
 {
-	((wxListItem*)_obj)->SetColumn(col);
+	self->SetColumn(col);
 }
 	
-EWXWEXPORT(void, wxListItem_SetState)(void* _obj, int state)
+EWXWEXPORT(void,wxListItem_SetState)(wxListItem* self,int state)
 {
-	((wxListItem*)_obj)->SetState((long)state);
+	self->SetState((long)state);
 }
 	
-EWXWEXPORT(void, wxListItem_SetStateMask)(void* _obj, int stateMask)
+EWXWEXPORT(void,wxListItem_SetStateMask)(wxListItem* self,int stateMask)
 {
-	((wxListItem*)_obj)->SetStateMask((long)stateMask);
+	self->SetStateMask((long)stateMask);
 }
 	
-EWXWEXPORT(void, wxListItem_SetText)(void* _obj, void* text)
+EWXWEXPORT(void,wxListItem_SetText)(wxListItem* self,wxString* text)
 {
-	((wxListItem*)_obj)->SetText((wxChar*)text);
+	self->SetText(*text);
 }
 	
-EWXWEXPORT(void, wxListItem_SetImage)(void* _obj, int image)
+EWXWEXPORT(void,wxListItem_SetImage)(wxListItem* self,int image)
 {
-	((wxListItem*)_obj)->SetImage(image);
+	self->SetImage(image);
 }
 	
-EWXWEXPORT(void, wxListItem_SetData)(void* _obj, int data)
+EWXWEXPORT(void,wxListItem_SetData)(wxListItem* self,int data)
 {
-	((wxListItem*)_obj)->SetData((long)data);
+	self->SetData((long)data);
 }
 	
-EWXWEXPORT(void, wxListItem_SetDataPointer)(void* _obj, void *data)
+EWXWEXPORT(void,wxListItem_SetDataPointer)(wxListItem* self,void* data)
 {
-	((wxListItem*)_obj)->SetData(data);
+	self->SetData(data);
 }
 	
-EWXWEXPORT(void, wxListItem_SetWidth)(void* _obj, int width)
+EWXWEXPORT(void,wxListItem_SetWidth)(wxListItem* self,int width)
 {
-	((wxListItem*)_obj)->SetWidth(width);
+	self->SetWidth(width);
 }
 	
-EWXWEXPORT(void, wxListItem_SetAlign)(void* _obj, int align)
+EWXWEXPORT(void,wxListItem_SetAlign)(wxListItem* self,int align)
 {
-	((wxListItem*)_obj)->SetAlign((wxListColumnFormat)align);
+	self->SetAlign((wxListColumnFormat)align);
 }
 	
-EWXWEXPORT(void, wxListItem_SetTextColour)(void* _obj, void* colText)
+EWXWEXPORT(void,wxListItem_SetTextColour)(wxListItem* self,wxColour* colText)
 {
-	((wxListItem*)_obj)->SetTextColour(*((wxColour*)colText));
+	self->SetTextColour(*colText);
 }
 	
-EWXWEXPORT(void, wxListItem_SetBackgroundColour)(void* _obj, void* colBack)
+EWXWEXPORT(void,wxListItem_SetBackgroundColour)(wxListItem* self,wxColour* colBack)
 {
-	((wxListItem*)_obj)->SetBackgroundColour(*((wxColour*)colBack));
+	self->SetBackgroundColour(*colBack);
 }
 	
-EWXWEXPORT(void, wxListItem_SetFont)(void* _obj, void* font)
+EWXWEXPORT(void,wxListItem_SetFont)(wxListItem* self,wxFont* font)
 {
-	((wxListItem*)_obj)->SetFont(*((wxFont*)font));
+	self->SetFont(*font);
 }
 	
-EWXWEXPORT(int, wxListItem_GetMask)(void* _obj)
+EWXWEXPORT(long,wxListItem_GetMask)(wxListItem* self)
 {
-	return (int)((wxListItem*)_obj)->GetMask();
+	return self->GetMask();
 }
 	
-EWXWEXPORT(int, wxListItem_GetId)(void* _obj)
+EWXWEXPORT(long,wxListItem_GetId)(wxListItem* self)
 {
-	return (int)((wxListItem*)_obj)->GetId();
+	return self->GetId();
 }
 	
-EWXWEXPORT(int, wxListItem_GetColumn)(void* _obj)
+EWXWEXPORT(int,wxListItem_GetColumn)(wxListItem* self)
 {
-	return ((wxListItem*)_obj)->GetColumn();
+	return self->GetColumn();
 }
 	
-EWXWEXPORT(int, wxListItem_GetState)(void* _obj)
+EWXWEXPORT(long,wxListItem_GetState)(wxListItem* self)
 {
-	return (int)((wxListItem*)_obj)->GetState();
+	return self->GetState();
 }
 	
-EWXWEXPORT(int, wxListItem_GetText)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxListItem_GetText)(wxListItem* self)
 {
-	wxString result = ((wxListItem*)_obj)->GetText();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = self->GetText();
+	return result;
 }
 	
-EWXWEXPORT(int, wxListItem_GetImage)(void* _obj)
+EWXWEXPORT(int,wxListItem_GetImage)(wxListItem* self)
 {
-	return ((wxListItem*)_obj)->GetImage();
+	return self->GetImage();
 }
 	
-EWXWEXPORT(int, wxListItem_GetData)(void* _obj)
+EWXWEXPORT(long,wxListItem_GetData)(wxListItem* self)
 {
-	return (int)((wxListItem*)_obj)->GetData();
+	return self->GetData();
 }
 	
-EWXWEXPORT(int, wxListItem_GetWidth)(void* _obj)
+EWXWEXPORT(int,wxListItem_GetWidth)(wxListItem* self)
 {
-	return ((wxListItem*)_obj)->GetWidth();
+	return self->GetWidth();
 }
 	
-EWXWEXPORT(int, wxListItem_GetAlign)(void* _obj)
+EWXWEXPORT(int,wxListItem_GetAlign)(wxListItem* self)
 {
-	return (int)((wxListItem*)_obj)->GetAlign();
+	return (int)self->GetAlign();
 }
 	
-EWXWEXPORT(void*, wxListItem_GetAttributes)(void* _obj)
+EWXWEXPORT(void*,wxListItem_GetAttributes)(wxListItem* self)
 {
-	return (void*)((wxListItem*)_obj)->GetAttributes();
+	return (void*)self->GetAttributes();
 }
 	
-EWXWEXPORT(int, wxListItem_HasAttributes)(void* _obj)
+EWXWEXPORT(int,wxListItem_HasAttributes)(wxListItem* self)
 {
-	return (int)((wxListItem*)_obj)->HasAttributes();
+	return (int)self->HasAttributes();
 }
 	
-EWXWEXPORT(void, wxListItem_GetTextColour)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxListItem_GetTextColour)(wxListItem* self,wxColour* _ref)
 {
-	*((wxColour*)_ref) = ((wxListItem*)_obj)->GetTextColour();
+	*_ref = self->GetTextColour();
 }
 	
-EWXWEXPORT(void, wxListItem_GetBackgroundColour)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxListItem_GetBackgroundColour)(wxListItem* self,wxColour* _ref)
 {
-	*((wxColour*)_ref) = ((wxListItem*)_obj)->GetBackgroundColour();
+	*_ref = self->GetBackgroundColour();
 }
 	
-EWXWEXPORT(void, wxListItem_GetFont)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxListItem_GetFont)(wxListItem* self,wxFont* _ref)
 {
-	*((wxFont*)_ref) = ((wxListItem*)_obj)->GetFont();
+	*_ref = self->GetFont();
 }
 	
-EWXWEXPORT(void*, wxListCtrl_Create) (void* _prt, int _id, int _lft, int _top, int _wdt, int _hgt, int _stl)
+EWXWEXPORT(void*,wxListCtrl_Create)(wxWindow* _prt,int _id, int _lft,int _top,int _wdt,int _hgt,int _stl)
 {
-	return (void*) new wxListCtrl ((wxWindow*)_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+	return (void*) new wxListCtrl (_prt, _id,wxPoint(_lft, _top),wxSize(_wdt, _hgt), _stl);
 }
 
-EWXWEXPORT(int, wxListCtrl_SetForegroundColour)(void* _obj, void* col)
+EWXWEXPORT(int,wxListCtrl_SetForegroundColour)(wxListCtrl* self,wxColour* col)
 {
-	return (int)((wxListCtrl*)_obj)->SetForegroundColour(*((wxColour*)col));
+	return (int)self->SetForegroundColour(*col);
 }
 	
-EWXWEXPORT(int, wxListCtrl_SetBackgroundColour)(void* _obj, void* col)
+EWXWEXPORT(int,wxListCtrl_SetBackgroundColour)(wxListCtrl* self,wxColour* col)
 {
-	return (int)((wxListCtrl*)_obj)->SetBackgroundColour(*((wxColour*)col));
+	return (int)self->SetBackgroundColour(*col);
 }
 	
-EWXWEXPORT(int, wxListCtrl_GetColumn)(void* _obj, int col, void* item)
+EWXWEXPORT(int,wxListCtrl_GetColumn)(wxListCtrl* self,int col,wxListItem* item)
 {
-	return (int)((wxListCtrl*)_obj)->GetColumn(col, *((wxListItem*)item));
+	return (int)self->GetColumn(col,*item);
 }
 	
-EWXWEXPORT(int, wxListCtrl_SetColumn)(void* _obj, int col, void* item)
+EWXWEXPORT(int,wxListCtrl_SetColumn)(wxListCtrl* self,int col,wxListItem* item)
 {
-	return (int)((wxListCtrl*)_obj)->SetColumn(col, *((wxListItem*)item));
+	return (int)self->SetColumn(col,*item);
 }
 	
-EWXWEXPORT(int, wxListCtrl_GetColumnWidth)(void* _obj, int col)
+EWXWEXPORT(int,wxListCtrl_GetColumnWidth)(void* self,int col)
 {
-	return ((wxListCtrl*)_obj)->GetColumnWidth(col);
+	return ((wxListCtrl*)self)->GetColumnWidth(col);
 }
 	
-EWXWEXPORT(int, wxListCtrl_SetColumnWidth)(void* _obj, int col, int width)
+EWXWEXPORT(bool,wxListCtrl_SetColumnWidth)(wxListCtrl* self,int col,int width)
 {
-	return (int)((wxListCtrl*)_obj)->SetColumnWidth(col, width);
+	return self->SetColumnWidth(col, width);
 }
 	
-EWXWEXPORT(int, wxListCtrl_GetCountPerPage)(void* _obj)
+EWXWEXPORT(int,wxListCtrl_GetCountPerPage)(wxListCtrl* self)
 {
-	return ((wxListCtrl*)_obj)->GetCountPerPage();
+	return self->GetCountPerPage();
 }
 	
-EWXWEXPORT(void*, wxListCtrl_GetEditControl)(void* _obj)
+EWXWEXPORT(void*,wxListCtrl_GetEditControl)(wxListCtrl* self)
 {
 #ifdef __WIN32__
-	return (void*)((wxListCtrl*)_obj)->GetEditControl();
+	return (void*)self->GetEditControl();
 #else
 	return NULL;
 #endif
 }
 	
-EWXWEXPORT(int, wxListCtrl_GetItem)(void* _obj, void* info)
+EWXWEXPORT(int,wxListCtrl_GetItem)(wxListCtrl* self,wxListItem* info)
 {
-	return (int)((wxListCtrl*)_obj)->GetItem(*((wxListItem*)info));
+	return (int)self->GetItem(*info);
 }
 	
-EWXWEXPORT(int, wxListCtrl_SetItemFromInfo)(void* _obj, void* info)
+EWXWEXPORT(bool,wxListCtrl_SetItemFromInfo)(wxListCtrl* self,wxListItem* info)
 {
-	return (int)((wxListCtrl*)_obj)->SetItem(*((wxListItem*)info));
+	return self->SetItem(*info);
 }
 	
-EWXWEXPORT(int, wxListCtrl_SetItem)(void* _obj, int index, int col, void* label, int imageId)
+EWXWEXPORT(bool,wxListCtrl_SetItem)(wxListCtrl* self,int index,int col,wxString* label,int imageId)
 {
-	return (int)((wxListCtrl*)_obj)->SetItem((long)index, col, (wxChar*)label, imageId);
+	return self->SetItem((long)index, col,*label, imageId);
 }
 	
-EWXWEXPORT(int, wxListCtrl_GetItemState)(void* _obj, int item, int stateMask)
+EWXWEXPORT(int,wxListCtrl_GetItemState)(void* self,int item,int stateMask)
 {
-	return ((wxListCtrl*)_obj)->GetItemState((long)item, (long)stateMask);
+	return ((wxListCtrl*)self)->GetItemState((long)item, (long)stateMask);
 }
 	
-EWXWEXPORT(int, wxListCtrl_SetItemState)(void* _obj, int item, int state, int stateMask)
+EWXWEXPORT(bool,wxListCtrl_SetItemState)(wxListCtrl* self,int item,int state,int stateMask)
 {
-	return (int)((wxListCtrl*)_obj)->SetItemState((long)item, (long)state, (long)stateMask);
+	return self->SetItemState((long)item, (long)state, (long)stateMask);
 }
 	
-EWXWEXPORT(int, wxListCtrl_SetItemImage)(void* _obj, int item, int image, int selImage)
+EWXWEXPORT(bool,wxListCtrl_SetItemImage)(wxListCtrl* self,int item,int image,int selImage)
 {
-	return (int)((wxListCtrl*)_obj)->SetItemImage((long)item, image, selImage);
+	return self->SetItemImage((long)item, image, selImage);
 }
 	
-EWXWEXPORT(int, wxListCtrl_GetItemText)(void* _obj, int item, void* buf)
+EWXWEXPORT(wxString*,wxListCtrl_GetItemText)(wxListCtrl* self,int item)
 {
-	wxString res = ((wxListCtrl*)_obj)->GetItemText((long)item);
-        return copyStrToBuf(buf, res);
+	wxString *result = new wxString();
+	*result = self->GetItemText((long)item);
+	return result;
 }
 	
-EWXWEXPORT(void, wxListCtrl_SetItemText)(void* _obj, int item, void* str)
+EWXWEXPORT(void,wxListCtrl_SetItemText)(wxListCtrl* self,int item,wxString* str)
 {
-	((wxListCtrl*)_obj)->SetItemText((long)item, (wxChar*)str);
+	self->SetItemText((long)item,*str);
 }
 	
-EWXWEXPORT(int, wxListCtrl_GetItemData)(void* _obj, int item)
+EWXWEXPORT(int,wxListCtrl_GetItemData)(wxListCtrl* self,int item)
 {
-	return (int)((wxListCtrl*)_obj)->GetItemData((long)item);
+	return (int)self->GetItemData((long)item);
 }
 	
-EWXWEXPORT(int, wxListCtrl_SetItemData)(void* _obj, int item, int data)
+EWXWEXPORT(bool,wxListCtrl_SetItemData)(wxListCtrl* self,int item,int data)
 {
-	return (int)((wxListCtrl*)_obj)->SetItemData((long)item, (long)data);
+	return self->SetItemData((long)item, (long)data);
 }
 	
 EWXWEXPORT(int, wxListCtrl_GetItemRect)(void* _obj, int item, int code, void* x, void* y, void* w, void* h)
@@ -300,30 +302,25 @@
 	return result;
 }
 	
-EWXWEXPORT(int, wxListCtrl_SetItemPosition)(void* _obj, int item, int x, int y)
+EWXWEXPORT(int,wxListCtrl_SetItemPosition)(wxListCtrl* self,int item,int x,int y)
 {
-	wxPoint pos;
-	int result = (int)((wxListCtrl*)_obj)->SetItemPosition((long)item, pos);
-	*((int*)x) = pos.x;
-	*((int*)y) = pos.y;
-
-	return result;
+	return self->SetItemPosition((long)item, wxPoint(x,y));
 }
 	
-EWXWEXPORT(int, wxListCtrl_GetItemCount)(void* _obj)
+EWXWEXPORT(int,wxListCtrl_GetItemCount)(wxListCtrl* self)
 {
-	return ((wxListCtrl*)_obj)->GetItemCount();
+	return self->GetItemCount();
 }
 	
-EWXWEXPORT(int, wxListCtrl_GetColumnCount)(void* _obj)
+EWXWEXPORT(int,wxListCtrl_GetColumnCount)(wxListCtrl* self)
 {
-	return ((wxListCtrl*)_obj)->GetColumnCount();
+	return self->GetColumnCount();
 }
 	
-EWXWEXPORT(void, wxListCtrl_GetItemSpacing)(void* _obj, int isSmall, int* h, int* w)
+EWXWEXPORT(void,wxListCtrl_GetItemSpacing)(void* _obj,bool isSmall,int* h,int* w)
 {
 #if (wxVERSION_NUMBER <= 2600)
-	int x = ((wxListCtrl*)_obj)->GetItemSpacing(isSmall != 0);
+	int x = ((wxListCtrl*)_obj)->GetItemSpacing(isSmall);
         *h = x;
         *w = x;
 #else
@@ -333,165 +330,165 @@
 #endif
 }
 	
-EWXWEXPORT(int, wxListCtrl_GetSelectedItemCount)(void* _obj)
+EWXWEXPORT(int,wxListCtrl_GetSelectedItemCount)(wxListCtrl* self)
 {
-	return ((wxListCtrl*)_obj)->GetSelectedItemCount();
+	return self->GetSelectedItemCount();
 }
 	
-EWXWEXPORT(void, wxListCtrl_GetTextColour)(void* _obj, void* colour)
+EWXWEXPORT(void,wxListCtrl_GetTextColour)(wxListCtrl* self,wxColour* colour)
 {
-	*((wxColour*)colour) = ((wxListCtrl*)_obj)->GetTextColour();
+	*colour = self->GetTextColour();
 }
 	
-EWXWEXPORT(void, wxListCtrl_SetTextColour)(void* _obj, void* col)
+EWXWEXPORT(void,wxListCtrl_SetTextColour)(wxListCtrl* self,wxColour* col)
 {
-	((wxListCtrl*)_obj)->SetTextColour(*((wxColour*)col));
+	self->SetTextColour(*col);
 }
 	
-EWXWEXPORT(int, wxListCtrl_GetTopItem)(void* _obj)
+EWXWEXPORT(int,wxListCtrl_GetTopItem)(wxListCtrl* self)
 {
-	return (int)((wxListCtrl*)_obj)->GetTopItem();
+	return (int)self->GetTopItem();
 }
 	
-EWXWEXPORT(void, wxListCtrl_SetSingleStyle)(void* _obj, int style, int add)
+EWXWEXPORT(void,wxListCtrl_SetSingleStyle)(wxListCtrl* self,int style,bool add)
 {
-	((wxListCtrl*)_obj)->SetSingleStyle((long)style, add != 0);
+	self->SetSingleStyle((long)style, add);
 }
 	
-EWXWEXPORT(void, wxListCtrl_SetWindowStyleFlag)(void* _obj, int style)
+EWXWEXPORT(void,wxListCtrl_SetWindowStyleFlag)(wxListCtrl* self,int style)
 {
-	((wxListCtrl*)_obj)->SetWindowStyleFlag((long)style);
+	self->SetWindowStyleFlag((long)style);
 }
 	
-EWXWEXPORT(int, wxListCtrl_GetNextItem)(void* _obj, int item, int geometry, int state)
+EWXWEXPORT(int,wxListCtrl_GetNextItem)(wxListCtrl* self,int item,int geometry,int state)
 {
-	return ((wxListCtrl*)_obj)->GetNextItem((long)item, geometry, state);
+	return self->GetNextItem((long)item, geometry, state);
 }
 	
-EWXWEXPORT(void*, wxListCtrl_GetImageList)(void* _obj, int which)
+EWXWEXPORT(void*,wxListCtrl_GetImageList)(wxListCtrl* self,int which)
 {
-	return (void*)((wxListCtrl*)_obj)->GetImageList(which);
+	return (void*)self->GetImageList(which);
 }
 	
-EWXWEXPORT(void, wxListCtrl_SetImageList)(void* _obj, void* imageList, int which)
+EWXWEXPORT(void,wxListCtrl_SetImageList)(wxListCtrl* self,void* imageList,int which)
 {
-	((wxListCtrl*)_obj)->SetImageList((wxImageList*)imageList, which);
+	self->SetImageList((wxImageList*)imageList, which);
 }
 	
-EWXWEXPORT(int, wxListCtrl_Arrange)(void* _obj, int flag)
+EWXWEXPORT(bool,wxListCtrl_Arrange)(wxListCtrl* self,int flag)
 {
-	return (int)((wxListCtrl*)_obj)->Arrange(flag);
+	return self->Arrange(flag);
 }
 	
-EWXWEXPORT(int, wxListCtrl_DeleteItem)(void* _obj, int item)
+EWXWEXPORT(bool,wxListCtrl_DeleteItem)(wxListCtrl* self,int item)
 {
-	return (int)((wxListCtrl*)_obj)->DeleteItem((long)item);
+	return self->DeleteItem((long)item);
 }
 	
-EWXWEXPORT(int, wxListCtrl_DeleteAllItems)(void* _obj)
+EWXWEXPORT(bool,wxListCtrl_DeleteAllItems)(wxListCtrl* self)
 {
-	return (int)((wxListCtrl*)_obj)->DeleteAllItems();
+	return self->DeleteAllItems();
 }
 	
-EWXWEXPORT(int, wxListCtrl_DeleteColumn)(void* _obj, int col)
+EWXWEXPORT(bool,wxListCtrl_DeleteColumn)(wxListCtrl* self,int col)
 {
-	return (int)((wxListCtrl*)_obj)->DeleteColumn(col);
+	return self->DeleteColumn(col);
 }
 	
-EWXWEXPORT(int, wxListCtrl_DeleteAllColumns)(void* _obj)
+EWXWEXPORT(int,wxListCtrl_DeleteAllColumns)(wxListCtrl* self)
 {
-	return (int)((wxListCtrl*)_obj)->DeleteAllColumns();
+	return (int)self->DeleteAllColumns();
 }
 	
-EWXWEXPORT(void, wxListCtrl_ClearAll)(void* _obj)
+EWXWEXPORT(void,wxListCtrl_ClearAll)(wxListCtrl* self)
 {
-	((wxListCtrl*)_obj)->ClearAll();
+	self->ClearAll();
 }
 	
-EWXWEXPORT(void, wxListCtrl_EditLabel)(void* _obj, int item)
+EWXWEXPORT(void,wxListCtrl_EditLabel)(wxListCtrl* self,int item)
 {
-	((wxListCtrl*)_obj)->EditLabel((long)item);
+	self->EditLabel((long)item);
 }
 	
-EWXWEXPORT(int, wxListCtrl_EndEditLabel)(void* _obj, int cancel)
+EWXWEXPORT(bool,wxListCtrl_EndEditLabel)(wxListCtrl* self,bool cancel)
 {
 #ifdef __WIN32__
-	return (int)((wxListCtrl*)_obj)->EndEditLabel(cancel != 0);
+	return self->EndEditLabel(cancel);
 #else
-	return 0;
+	return false;
 #endif
 }
 	
-EWXWEXPORT(int, wxListCtrl_EnsureVisible)(void* _obj, int item)
+EWXWEXPORT(bool,wxListCtrl_EnsureVisible)(wxListCtrl* self,int item)
 {
-	return (int)((wxListCtrl*)_obj)->EnsureVisible((long)item);
+	return self->EnsureVisible((long)item);
 }
 	
-EWXWEXPORT(int, wxListCtrl_FindItem)(void* _obj, int start, void* str, int partial)
+EWXWEXPORT(int,wxListCtrl_FindItem)(wxListCtrl* self,int start,wxString* str,bool partial)
 {
-	return (long)((wxListCtrl*)_obj)->FindItem((long)start, (wxChar*) str, partial != 0);
+	return (long)self->FindItem((long)start,* str, partial);
 }
 	
-EWXWEXPORT(int, wxListCtrl_FindItemByData)(void* _obj, int start, int data)
+EWXWEXPORT(int,wxListCtrl_FindItemByData)(wxListCtrl* self,int start,int data)
 {
-	return (int)((wxListCtrl*)_obj)->FindItem((long)start, (long)data);
+	return (int)self->FindItem((long)start, (long)data);
 }
 	
-EWXWEXPORT(int, wxListCtrl_FindItemByPosition)(void* _obj, int start, int x, int y, int direction)
+EWXWEXPORT(int,wxListCtrl_FindItemByPosition)(wxListCtrl* self,int start,int x,int y,int direction)
 {
-	return (int)((wxListCtrl*)_obj)->FindItem((long)start, wxPoint(x, y), direction);
+	return (int)self->FindItem((long)start, wxPoint(x, y), direction);
 }
 	
-EWXWEXPORT(int, wxListCtrl_HitTest)(void* _obj, int x, int y, void* flags)
+EWXWEXPORT(int,wxListCtrl_HitTest)(wxListCtrl* self,int x,int y,void* flags)
 {
-	return ((wxListCtrl*)_obj)->HitTest(wxPoint(x, y), *((int*)flags));
+	return self->HitTest(wxPoint(x, y),*((int*)flags));
 }
 	
-EWXWEXPORT(int, wxListCtrl_InsertItem)(void* _obj, void* info)
+EWXWEXPORT(int,wxListCtrl_InsertItem)(wxListCtrl* self,wxListItem* info)
 {
-	return (int)((wxListCtrl*)_obj)->InsertItem(*((wxListItem*)info));
+	return (int)self->InsertItem(*info);
 }
 	
-EWXWEXPORT(int, wxListCtrl_InsertItemWithData)(void* _obj, int index, void* label)
+EWXWEXPORT(int,wxListCtrl_InsertItemWithData)(wxListCtrl* self,int index,wxString* label)
 {
-	return (int)((wxListCtrl*)_obj)->InsertItem((long)index, (wxChar*)label);
+	return (int)self->InsertItem((long)index,*label);
 }
 	
-EWXWEXPORT(int, wxListCtrl_InsertItemWithImage)(void* _obj, int index, int imageIndex)
+EWXWEXPORT(int,wxListCtrl_InsertItemWithImage)(wxListCtrl* self,int index,int imageIndex)
 {
-	return (int)((wxListCtrl*)_obj)->InsertItem((long)index, imageIndex);
+	return (int)self->InsertItem((long)index, imageIndex);
 }
 	
-EWXWEXPORT(int, wxListCtrl_InsertItemWithLabel)(void* _obj, int index, void* label, int imageIndex)
+EWXWEXPORT(int,wxListCtrl_InsertItemWithLabel)(wxListCtrl* self,int index,wxString* label,int imageIndex)
 {
-	return (int)((wxListCtrl*)_obj)->InsertItem((long)index, (wxChar*)label, imageIndex);
+	return (int)self->InsertItem((long)index,*label, imageIndex);
 }
 	
-EWXWEXPORT(int, wxListCtrl_InsertColumnFromInfo)(void* _obj, int col, void* info)
+EWXWEXPORT(int,wxListCtrl_InsertColumnFromInfo)(wxListCtrl* self,int col,wxListItem* info)
 {
-	return (int)((wxListCtrl*)_obj)->InsertColumn((long)col, *((wxListItem*)info));
+	return (int)self->InsertColumn((long)col,*info);
 }
 	
-EWXWEXPORT(int, wxListCtrl_InsertColumn)(void* _obj, int col, void* heading, int format, int width)
+EWXWEXPORT(int,wxListCtrl_InsertColumn)(wxListCtrl* self,int col,wxString* heading,int format,int width)
 {
-	return (int)((wxListCtrl*)_obj)->InsertColumn((long)col, (wxChar*) heading, format, width);
+	return (int)self->InsertColumn((long)col,* heading, format, width);
 }
 	
-EWXWEXPORT(int, wxListCtrl_ScrollList)(void* _obj, int dx, int dy)
+EWXWEXPORT(bool,wxListCtrl_ScrollList)(wxListCtrl* self,int dx,int dy)
 {
-	return (int)((wxListCtrl*)_obj)->ScrollList(dx, dy);
+	return self->ScrollList(dx, dy);
 }
 	
-EWXWEXPORT(int, wxListCtrl_SortItems)(void* _obj, void* fnc, void* obj)
+EWXWEXPORT(bool,wxListCtrl_SortItems)(wxListCtrl* self,void* fnc,void* obj)
 {
 	EiffelSort srt = {obj, (EiffelSortFunc)fnc};
-	return (int)((wxListCtrl*)_obj)->SortItems(ListCmp, (long)&srt);
+	return self->SortItems(ListCmp, (long)&srt);
 }
 	
-EWXWEXPORT(void, wxListCtrl_UpdateStyle)(void* _obj)
+EWXWEXPORT(void,wxListCtrl_UpdateStyle)(wxListCtrl* self)
 {
 #ifdef __WIN32__
-	((wxListCtrl*)_obj)->UpdateStyle();
+	self->UpdateStyle();
 #endif
 }
 	
diff --git a/wxc/src/eljlocale.cpp b/wxc/src/eljlocale.cpp
--- a/wxc/src/eljlocale.cpp
+++ b/wxc/src/eljlocale.cpp
@@ -4,50 +4,51 @@
 extern "C"
 {
 
-EWXWEXPORT(void*,wxLocale_Create)(int _lang, int _flags)
+EWXWEXPORT(void*,wxLocale_Create)(int _lang,int _flags)
 {
 	return (void*)new wxLocale(_lang, _flags);
 }
 
-EWXWEXPORT(void,wxLocale_Delete)(void* _obj)
+EWXWEXPORT(void,wxLocale_Delete)(wxLocale* self)
 {
-	delete (wxLocale*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(int,wxLocale_IsOk)(void* _obj)
+EWXWEXPORT(bool,wxLocale_IsOk)(wxLocale* self)
 {
-	return (int)((wxLocale*)_obj)->IsOk();
+	return self->IsOk();
 }
 	
-EWXWEXPORT(void*,wxLocale_GetLocale)(void* _obj)
+EWXWEXPORT(void*,wxLocale_GetLocale)(wxLocale* self)
 {
-	return (void*)((wxLocale*)_obj)->GetLocale();
+	return (void*)self->GetLocale();
 }
 	
-EWXWEXPORT(void,wxLocale_AddCatalogLookupPathPrefix)(void* _obj, void* prefix)
+EWXWEXPORT(void,wxLocale_AddCatalogLookupPathPrefix)(wxLocale* self,void* prefix)
 {
-	((wxLocale*)_obj)->AddCatalogLookupPathPrefix((const wxChar*)prefix);
+	self->AddCatalogLookupPathPrefix((const wxChar*)prefix);
 }
 	
-EWXWEXPORT(int,wxLocale_AddCatalog)(void* _obj, void* szDomain)
+EWXWEXPORT(bool,wxLocale_AddCatalog)(wxLocale* self,void* szDomain)
 {
-	return (int)((wxLocale*)_obj)->AddCatalog((const wxChar*)szDomain);
+	return self->AddCatalog((const wxChar*)szDomain);
 }
 	
-EWXWEXPORT(int,wxLocale_IsLoaded)(void* _obj, void* szDomain)
+EWXWEXPORT(bool,wxLocale_IsLoaded)(wxLocale* self,void* szDomain)
 {
-	return (int)((wxLocale*)_obj)->IsLoaded((const wxChar*)szDomain);
+	return self->IsLoaded((const wxChar*)szDomain);
 }
 	
-EWXWEXPORT(void*,wxLocale_GetString)(void* _obj, void* szOrigString, void* szDomain)
+EWXWEXPORT(void*,wxLocale_GetString)(wxLocale* self,void* szOrigString,void* szDomain)
 {
-	return (void*)((wxLocale*)_obj)->GetString((const wxChar*)szOrigString, (const wxChar*)szDomain);
+	return (void*)self->GetString((const wxChar*)szOrigString, (const wxChar*)szDomain);
 }
 	
-EWXWEXPORT(int,wxLocale_GetName)(void* _obj, void* _ref)
+EWXWEXPORT(wxString*,wxLocale_GetName)(void* _obj)
 {
-	wxString res = ((wxLocale*)_obj)->GetName();
-	return copyStrToBuf(_ref, res);
+	wxString *result = new wxString();
+	*result = ((wxLocale*)_obj)->GetName();
+	return result;
 }
 	
 
diff --git a/wxc/src/eljlog.cpp b/wxc/src/eljlog.cpp
--- a/wxc/src/eljlog.cpp
+++ b/wxc/src/eljlog.cpp
@@ -16,9 +16,10 @@
 		
     protected:
 		virtual void DoLog(wxLogLevel level, const wxChar *szString, time_t t)
-		{
-			func (EiffelObject, (int)level, (void*)szString, (int)t);
-		}
+                  {
+                    wxString s(szString);
+                    func (EiffelObject, (int)level, (void*)&s , (int)t);
+                  }
 
 	public:
 		ELJLog (void* _obj, void* _fnc) : wxLog()
@@ -31,44 +32,44 @@
 extern "C"
 {
 
-EWXWEXPORT(void*,ELJLog_Create)(void* _obj, void* _fnc)
+EWXWEXPORT(void*,ELJLog_Create)(void* self,void* _fnc)
 {
-	return (void*) new ELJLog(_obj, _fnc);
+	return (void*)new ELJLog(self, _fnc);
 }
 
-EWXWEXPORT(void,ELJLog_Delete)(void* _obj)
+EWXWEXPORT(void,ELJLog_Delete)(ELJLog* self)
 {
-	delete (ELJLog*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(int,ELJLog_IsEnabled)(void* _obj)
+EWXWEXPORT(bool,ELJLog_IsEnabled)(ELJLog* self)
 {
-	return (int)((ELJLog*)_obj)->IsEnabled();
+	return self->IsEnabled();
 }
 	
-EWXWEXPORT(int,ELJLog_EnableLogging)(void* _obj, int doIt)
+EWXWEXPORT(int,ELJLog_EnableLogging)(ELJLog* self,bool doIt)
 {
-	return (int)((ELJLog*)_obj)->EnableLogging(doIt != 0);
+	return (int)self->EnableLogging(doIt);
 }
 	
-EWXWEXPORT(void,ELJLog_OnLog)(void* _obj, int level, void* szString, int t)
+EWXWEXPORT(void,ELJLog_OnLog)(ELJLog* self,int level,void* szString,int t)
 {
-	((ELJLog*)_obj)->OnLog((wxLogLevel)level, (const wxChar*)szString, (time_t)t);
+	self->OnLog((wxLogLevel)level, (const wxChar*)szString, (time_t)t);
 }
 	
-EWXWEXPORT(void,ELJLog_Flush)(void* _obj)
+EWXWEXPORT(void,ELJLog_Flush)(ELJLog* self)
 {
-	((ELJLog*)_obj)->Flush();
+	self->Flush();
 }
 	
-EWXWEXPORT(int,ELJLog_HasPendingMessages)(void* _obj)
+EWXWEXPORT(int,ELJLog_HasPendingMessages)(ELJLog* self)
 {
-	return (int)((ELJLog*)_obj)->HasPendingMessages();
+	return (int)self->HasPendingMessages();
 }
 	
-EWXWEXPORT(void,ELJLog_FlushActive)(void* _obj)
+EWXWEXPORT(void,ELJLog_FlushActive)(ELJLog* self)
 {
-	((ELJLog*)_obj)->FlushActive();
+	self->FlushActive();
 }
 	
 EWXWEXPORT(void*,ELJLog_GetActiveTarget)()
@@ -76,69 +77,69 @@
 	return (void*)ELJLog::GetActiveTarget();
 }
 	
-EWXWEXPORT(void*,ELJLog_SetActiveTarget)(void* pLogger)
+EWXWEXPORT(void*,ELJLog_SetActiveTarget)(wxLog* pLogger)
 {
-	return (void*)ELJLog::SetActiveTarget((wxLog*)pLogger);
+	return (void*)ELJLog::SetActiveTarget(pLogger);
 }
 	
-EWXWEXPORT(void,ELJLog_Suspend)(void* _obj)
+EWXWEXPORT(void,ELJLog_Suspend)(ELJLog* self)
 {
-	((ELJLog*)_obj)->Suspend();
+	self->Suspend();
 }
 	
-EWXWEXPORT(void,ELJLog_Resume)(void* _obj)
+EWXWEXPORT(void,ELJLog_Resume)(ELJLog* self)
 {
-	((ELJLog*)_obj)->Resume();
+	self->Resume();
 }
 	
-EWXWEXPORT(void,ELJLog_SetVerbose)(void* _obj, int bVerbose)
+EWXWEXPORT(void,ELJLog_SetVerbose)(ELJLog* self,bool bVerbose)
 {
-	((ELJLog*)_obj)->SetVerbose(bVerbose != 0);
+	self->SetVerbose(bVerbose);
 }
 	
-EWXWEXPORT(void,ELJLog_DontCreateOnDemand)(void* _obj)
+EWXWEXPORT(void,ELJLog_DontCreateOnDemand)(ELJLog* self)
 {
-	((ELJLog*)_obj)->DontCreateOnDemand();
+	self->DontCreateOnDemand();
 }
 	
-EWXWEXPORT(void,ELJLog_SetTraceMask)(void* _obj, int ulMask)
+EWXWEXPORT(void,ELJLog_SetTraceMask)(ELJLog* self,int ulMask)
 {
-	((ELJLog*)_obj)->SetTraceMask((wxTraceMask)ulMask);
+	self->SetTraceMask((wxTraceMask)ulMask);
 }
 	
-EWXWEXPORT(void,ELJLog_AddTraceMask)(void* _obj, void* str)
+EWXWEXPORT(void,ELJLog_AddTraceMask)(ELJLog* self,void* str)
 {
-	((ELJLog*)_obj)->AddTraceMask((const wxChar*)str);
+	self->AddTraceMask((const wxChar*)str);
 }
 	
-EWXWEXPORT(void,ELJLog_RemoveTraceMask)(void* _obj, void* str)
+EWXWEXPORT(void,ELJLog_RemoveTraceMask)(ELJLog* self,void* str)
 {
-	((ELJLog*)_obj)->RemoveTraceMask((const wxChar*)str);
+	self->RemoveTraceMask((const wxChar*)str);
 }
 	
-EWXWEXPORT(void,ELJLog_SetTimestamp)(void* _obj, void* ts)
+EWXWEXPORT(void,ELJLog_SetTimestamp)(ELJLog* self,void* ts)
 {
-	((ELJLog*)_obj)->SetTimestamp((const wxChar*)ts);
+	self->SetTimestamp((const wxChar*)ts);
 }
 	
-EWXWEXPORT(int,ELJLog_GetVerbose)(void* _obj)
+EWXWEXPORT(int,ELJLog_GetVerbose)(ELJLog* self)
 {
-	return (int)((ELJLog*)_obj)->GetVerbose();
+	return (int)self->GetVerbose();
 }
 	
-EWXWEXPORT(int,ELJLog_GetTraceMask)(void* _obj)
+EWXWEXPORT(int,ELJLog_GetTraceMask)(ELJLog* self)
 {
-	return (int)((ELJLog*)_obj)->GetTraceMask();
+	return (int)self->GetTraceMask();
 }
 	
-EWXWEXPORT(int,ELJLog_IsAllowedTraceMask)(void* _obj, void* mask)
+EWXWEXPORT(bool,ELJLog_IsAllowedTraceMask)(ELJLog* self,void* mask)
 {
-	return (int)((ELJLog*)_obj)->IsAllowedTraceMask((const wxChar*)mask);
+	return self->IsAllowedTraceMask((const wxChar*)mask);
 }
 	
-EWXWEXPORT(void*,ELJLog_GetTimestamp)(void* _obj)
+EWXWEXPORT(void*,ELJLog_GetTimestamp)(ELJLog* self)
 {
-	return (void*)((ELJLog*)_obj)->GetTimestamp();
+	return (void*)self->GetTimestamp();
 }
 
 EWXWEXPORT(int,ELJSysErrorCode)()
@@ -151,24 +152,24 @@
 	return (void*)wxSysErrorMsg((unsigned long)nErrCode);
 }
 
-EWXWEXPORT(void,LogErrorMsg)(void* _msg)
+EWXWEXPORT(void,LogErrorMsg)(wxString* _msg)
 {
-	wxLogError((wxChar*)_msg);
+	wxLogError(*_msg);
 }
 
-EWXWEXPORT(void,LogFatalErrorMsg)(void* _msg)
+EWXWEXPORT(void,LogFatalErrorMsg)(wxString* _msg)
 {
-	wxLogFatalError((wxChar*)_msg);
+	wxLogFatalError(*_msg);
 }
 
-EWXWEXPORT(void,LogWarningMsg)(void* _msg)
+EWXWEXPORT(void,LogWarningMsg)(wxString* _msg)
 {
-	wxLogWarning((wxChar*)_msg);
+	wxLogWarning(*_msg);
 }
 
-EWXWEXPORT(void,LogMessageMsg)(void* _msg)
+EWXWEXPORT(void,LogMessageMsg)(wxString* _msg)
 {
-	wxLogMessage((wxChar*)_msg);
+	wxLogMessage(*_msg);
 }
 
 
@@ -177,30 +178,29 @@
 	return new wxLogChain ((wxLog*)logger);
 }
 
-EWXWEXPORT(void,wxLogChain_Delete)(void* _obj)
+EWXWEXPORT(void,wxLogChain_Delete)(wxLogChain* self)
 {
-	delete (wxLogChain*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(void,wxLogChain_SetLog)(void* _obj, void* logger)
+EWXWEXPORT(void,wxLogChain_SetLog)(wxLogChain* self,wxLog* logger)
 {
-	((wxLogChain*)_obj)->SetLog((wxLog*)logger);
+	self->SetLog(logger);
 }
 	
-EWXWEXPORT(void,wxLogChain_PassMessages)(void* _obj, int bDoPass)
+EWXWEXPORT(void,wxLogChain_PassMessages)(wxLogChain* self,bool bDoPass)
 {
-	((wxLogChain*)_obj)->PassMessages(bDoPass != 0);
+	self->PassMessages(bDoPass);
 }
 	
-EWXWEXPORT(int,wxLogChain_IsPassingMessages)(void* _obj)
+EWXWEXPORT(bool,wxLogChain_IsPassingMessages)(wxLogChain* self)
 {
-	return (int)((wxLogChain*)_obj)->IsPassingMessages();
+	return self->IsPassingMessages();
 }
 	
-EWXWEXPORT(void*,wxLogChain_GetOldLog)(void* _obj)
+EWXWEXPORT(void*,wxLogChain_GetOldLog)(wxLogChain* self)
 {
-	return (void*)((wxLogChain*)_obj)->GetOldLog();
+	return (void*)self->GetOldLog();
 }
 	
-
 }
diff --git a/wxc/src/eljmdi.cpp b/wxc/src/eljmdi.cpp
--- a/wxc/src/eljmdi.cpp
+++ b/wxc/src/eljmdi.cpp
@@ -3,27 +3,27 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxMDIParentFrame_Create) (void* _prt, int _id, wxChar* _txt, int _lft, int _top, int _wdt, int _hgt, int _stl)
+EWXWEXPORT(void*, wxMDIParentFrame_Create) (wxWindow* _prt,int _id,wxString* _txt,int _lft,int _top,int _wdt,int _hgt,int _stl)
 {
-	return (void*) new wxMDIParentFrame ((wxWindow*)_prt, _id, _txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+	return (void*) new wxMDIParentFrame (_prt, _id, *_txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
 }
 
-EWXWEXPORT(void*, wxMDIParentFrame_GetActiveChild)(void* _obj)
+EWXWEXPORT(void*,wxMDIParentFrame_GetActiveChild)(void* _obj)
 {
 	return (void*)((wxMDIParentFrame*)_obj)->GetActiveChild();
 }
 	
-EWXWEXPORT(void*, wxMDIParentFrame_GetClientWindow)(void* _obj)
+EWXWEXPORT(void*,wxMDIParentFrame_GetClientWindow)(void* _obj)
 {
 	return (void*)((wxMDIParentFrame*)_obj)->GetClientWindow();
 }
 	
-EWXWEXPORT(void*, wxMDIParentFrame_OnCreateClient)(void* _obj)
+EWXWEXPORT(void*,wxMDIParentFrame_OnCreateClient)(void* _obj)
 {
 	return (void*)((wxMDIParentFrame*)_obj)->OnCreateClient();
 }
 	
-EWXWEXPORT(void*, wxMDIParentFrame_GetWindowMenu)(void* _obj)
+EWXWEXPORT(void*,wxMDIParentFrame_GetWindowMenu)(void* _obj)
 {
 #ifdef __WIN32__
 	return (void*)((wxMDIParentFrame*)_obj)->GetWindowMenu();
@@ -32,44 +32,44 @@
 #endif
 }
 	
-EWXWEXPORT(void, wxMDIParentFrame_SetWindowMenu)(void* _obj, void* menu)
+EWXWEXPORT(void,wxMDIParentFrame_SetWindowMenu)(void* _obj,void* menu)
 {
 #ifdef __WIN32__
 	((wxMDIParentFrame*)_obj)->SetWindowMenu((wxMenu*) menu);
 #endif
 }
 	
-EWXWEXPORT(void, wxMDIParentFrame_Cascade)(void* _obj)
+EWXWEXPORT(void,wxMDIParentFrame_Cascade)(void* _obj)
 {
 	((wxMDIParentFrame*)_obj)->Cascade();
 }
 	
-EWXWEXPORT(void, wxMDIParentFrame_Tile)(void* _obj)
+EWXWEXPORT(void,wxMDIParentFrame_Tile)(void* _obj)
 {
 	((wxMDIParentFrame*)_obj)->Tile();
 }
 	
-EWXWEXPORT(void, wxMDIParentFrame_ArrangeIcons)(void* _obj)
+EWXWEXPORT(void,wxMDIParentFrame_ArrangeIcons)(void* _obj)
 {
 	((wxMDIParentFrame*)_obj)->ArrangeIcons();
 }
 	
-EWXWEXPORT(void, wxMDIParentFrame_ActivateNext)(void* _obj)
+EWXWEXPORT(void,wxMDIParentFrame_ActivateNext)(void* _obj)
 {
 	((wxMDIParentFrame*)_obj)->ActivateNext();
 }
 	
-EWXWEXPORT(void, wxMDIParentFrame_ActivatePrevious)(void* _obj)
+EWXWEXPORT(void,wxMDIParentFrame_ActivatePrevious)(void* _obj)
 {
 	((wxMDIParentFrame*)_obj)->ActivatePrevious();
 }
 	
-EWXWEXPORT(void*, wxMDIChildFrame_Create) (void* _prt, int _id, wxChar* _txt, int _lft, int _top, int _wdt, int _hgt, int _stl)
+EWXWEXPORT(void*,wxMDIChildFrame_Create)(wxWindow* _prt,int _id,wxString* _txt,int _lft,int _top,int _wdt,int _hgt,int _stl)
 {
-	return (void*) new wxMDIChildFrame ((wxMDIParentFrame *)_prt, _id, _txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+	return (void*) new wxMDIChildFrame ((wxMDIParentFrame *)_prt, _id, *_txt,wxPoint(_lft, _top),wxSize(_wdt, _hgt),_stl);
 }
 
-EWXWEXPORT(void, wxMDIChildFrame_Activate)(void* _obj)
+EWXWEXPORT(void,wxMDIChildFrame_Activate)(void* _obj)
 {
 	((wxMDIChildFrame*)_obj)->Activate();
 }
diff --git a/wxc/src/eljmenu.cpp b/wxc/src/eljmenu.cpp
--- a/wxc/src/eljmenu.cpp
+++ b/wxc/src/eljmenu.cpp
@@ -3,338 +3,344 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxMenu_Create)(wxChar* title, long style)
+EWXWEXPORT(wxMenu*,wxMenu_Create)(wxString* title,long style)
 {
-	return (void*) new wxMenu(title, style);
+	return new wxMenu(*title, style);
 }
 	
-EWXWEXPORT(void, wxMenu_DeletePointer)(void* _obj)
+EWXWEXPORT(void,wxMenu_DeletePointer)(wxMenu* self)
 {
-	delete (wxMenu*)_obj;
+	delete self;
 }
 	
-EWXWEXPORT(void, wxMenu_AppendSeparator)(void* _obj)
+EWXWEXPORT(void,wxMenu_AppendSeparator)(wxMenu* self)
 {
-	((wxMenu*)_obj)->AppendSeparator();
+	self->AppendSeparator();
 }
 	
-EWXWEXPORT(void, wxMenu_Append)(void* _obj, int id, wxChar* text, wxChar* help, int isCheckable)
+EWXWEXPORT(void,wxMenu_Append)(wxMenu* self,int id,wxString* text,wxString* help,bool isCheckable)
 {
-	((wxMenu*)_obj)->Append(id, text, help, isCheckable != 0);
+	self->Append(id,*text,*help, isCheckable);
 }
 	
-EWXWEXPORT(void, wxMenu_AppendSub)(void* _obj, int id, wxChar* text, void* submenu, wxChar* help)
+EWXWEXPORT(void,wxMenu_AppendSub)(wxMenu* self,int id,wxString* text,wxMenu* submenu,wxString* help)
 {
-	((wxMenu*)_obj)->Append(id, text, (wxMenu*) submenu, help);
+	self->Append(id,*text,submenu,*help);
 }
 	
-EWXWEXPORT(void, wxMenu_AppendItem)(void* _obj, void* _itm)
+EWXWEXPORT(void,wxMenu_AppendItem)(wxMenu* self,wxMenuItem* _itm)
 {
-	((wxMenu*)_obj)->Append((wxMenuItem*)_itm);
+	self->Append(_itm);
 }
 	
-EWXWEXPORT(void, wxMenu_Break)(void* _obj)
+EWXWEXPORT(void,wxMenu_Break)(wxMenu* self)
 {
-	((wxMenu*)_obj)->Break();
+	self->Break();
 }
 	
-EWXWEXPORT(void, wxMenu_Insert)(void* _obj, size_t pos, int id, wxChar* text, wxChar* help, int isCheckable)
+EWXWEXPORT(void,wxMenu_Insert)(wxMenu* self,size_t pos,int id,wxString* text,wxString* help,bool isCheckable)
 {
-	((wxMenu*)_obj)->Insert(pos, id, text, help, isCheckable != 0);
+	self->Insert(pos, id,*text,*help, isCheckable);
 }
 	
-EWXWEXPORT(void, wxMenu_InsertSub)(void* _obj, size_t pos, int id, wxChar* text, void* submenu, wxChar* help)
+EWXWEXPORT(void,wxMenu_InsertSub)(wxMenu* self,size_t pos,int id,wxString* text,wxMenu* submenu,wxString* help)
 {
-	((wxMenu*)_obj)->Insert(pos, id, text, (wxMenu*) submenu, help);
+	self->Insert(pos, id,*text, submenu,*help);
 }
 	
-EWXWEXPORT(void, wxMenu_InsertItem)(void* _obj, int pos, void* _itm)
+EWXWEXPORT(void,wxMenu_InsertItem)(wxMenu* self,int pos,wxMenuItem* _itm)
 {
-	((wxMenu*)_obj)->Insert((size_t)pos, (wxMenuItem*)_itm);
+	self->Insert((size_t)pos, _itm);
 }
 	
-EWXWEXPORT(void, wxMenu_Prepend)(void* _obj, int id, wxChar* text, wxChar* help, int isCheckable)
+EWXWEXPORT(void,wxMenu_Prepend)(wxMenu* self,int id,wxString* text,wxString* help,bool isCheckable)
 {
-	((wxMenu*)_obj)->Prepend(id, text, help, isCheckable!= 0);
+	self->Prepend(id,*text,*help, isCheckable);
 }
 	
-EWXWEXPORT(void, wxMenu_PrependSub)(void* _obj, int id, wxChar* text, void* submenu, wxChar* help)
+EWXWEXPORT(void,wxMenu_PrependSub)(wxMenu* self,int id,wxString* text,wxMenu* submenu,wxString* help)
 {
-	((wxMenu*)_obj)->Prepend(id, text, (wxMenu*) submenu, help);
+	self->Prepend(id,*text, submenu,*help);
 }
 	
-EWXWEXPORT(void, wxMenu_PrependItem)(void* _obj, void* _itm)
+EWXWEXPORT(void,wxMenu_PrependItem)(wxMenu* self,wxMenuItem* _itm)
 {
-	((wxMenu*)_obj)->Prepend((wxMenuItem*)_itm);
+	self->Prepend(_itm);
 }
 	
-EWXWEXPORT(void, wxMenu_RemoveByItem)(void* _obj, void* item)
+EWXWEXPORT(void,wxMenu_RemoveByItem)(wxMenu* self,wxMenuItem* item)
 {
-	((wxMenu*)_obj)->Remove((wxMenuItem*) item);
+	self->Remove(item);
 }
 	
-EWXWEXPORT(void, wxMenu_RemoveById)(void* _obj, int id, void* _itm)
+EWXWEXPORT(void,wxMenu_RemoveById)(wxMenu* self,int id,void* _itm)
 {
-	*((void**)_itm) = (void*)((wxMenu*)_obj)->Remove(id);
+	*((void**)_itm) = (void*)self->Remove(id);
 }
 	
-EWXWEXPORT(void, wxMenu_DeleteById)(void* _obj, int id)
+EWXWEXPORT(void,wxMenu_DeleteById)(wxMenu* self,int id)
 {
-	((wxMenu*)_obj)->Delete(id);
+	self->Delete(id);
 }
 	
-EWXWEXPORT(void, wxMenu_DeleteByItem)(void* _obj, void* _itm)
+EWXWEXPORT(void,wxMenu_DeleteByItem)(wxMenu* self,wxMenuItem* _itm)
 {
-	((wxMenu*)_obj)->Delete((wxMenuItem*)_itm);
+	self->Delete(_itm);
 }
 	
-EWXWEXPORT(void, wxMenu_DestroyById)(void* _obj, int id)
+EWXWEXPORT(void,wxMenu_DestroyById)(wxMenu* self,int id)
 {
-	((wxMenu*)_obj)->Destroy(id);
+	self->Destroy(id);
 }
 	
-EWXWEXPORT(void, wxMenu_DestroyByItem)(void* _obj, void* _itm)
+EWXWEXPORT(void,wxMenu_DestroyByItem)(wxMenu* self,wxMenuItem* _itm)
 {
-	((wxMenu*)_obj)->Destroy((wxMenuItem*)_itm);
+	self->Destroy(_itm);
 }
 	
-EWXWEXPORT(size_t, wxMenu_GetMenuItemCount)(void* _obj)
+EWXWEXPORT(size_t,wxMenu_GetMenuItemCount)(wxMenu* self)
 {
-	return ((wxMenu*)_obj)->GetMenuItemCount();
+	return self->GetMenuItemCount();
 }
 	
-EWXWEXPORT(int, wxMenu_GetMenuItems)(void* _obj, void* _lst)
+EWXWEXPORT(int,wxMenu_GetMenuItems)(wxMenu* self,void* _lst)
 {
 	if (_lst)
 	{
-		for (unsigned int i = 0; i < ((wxMenu*)_obj)->GetMenuItems().GetCount(); i++)
-			((void**)_lst)[i] = ((wxMenu*)_obj)->GetMenuItems().Item(i)->GetData();
+		for (unsigned int i = 0; i < self->GetMenuItems().GetCount(); i++)
+			((void**)_lst)[i] = self->GetMenuItems().Item(i)->GetData();
 	}
-	return ((wxMenu*)_obj)->GetMenuItems().GetCount();
+	return self->GetMenuItems().GetCount();
 }
 	
-EWXWEXPORT(int, wxMenu_FindItemByLabel)(void* _obj, wxChar* itemString)
+EWXWEXPORT(int,wxMenu_FindItemByLabel)(wxMenu* self,wxString* itemString)
 {
-	return ((wxMenu*)_obj)->FindItem(itemString);
+	return self->FindItem(*itemString);
 }
 	
-EWXWEXPORT(void*, wxMenu_FindItem)(void* _obj, int id)
+EWXWEXPORT(wxMenuItem*,wxMenu_FindItem)(wxMenu* self,int id)
 {
-    wxMenu* _foo = new wxMenu;
-    return (void*)((wxMenu*)_obj)->FindItem(id, &_foo);
+	return self->FindItem(id);
 }
 	
-EWXWEXPORT(void, wxMenu_Enable)(void* _obj, int id, int enable)
+EWXWEXPORT(void,wxMenu_Enable)(wxMenu* self,int id,bool enable)
 {
-	((wxMenu*)_obj)->Enable(id, enable != 0);
+	self->Enable(id, enable);
 }
 	
-EWXWEXPORT(int, wxMenu_IsEnabled)(void* _obj, int id)
+EWXWEXPORT(bool,wxMenu_IsEnabled)(wxMenu* self,int id)
 {
-	return (int)((wxMenu*)_obj)->IsEnabled(id);
+	return self->IsEnabled(id);
 }
 	
-EWXWEXPORT(void, wxMenu_Check)(void* _obj, int id, int check)
+EWXWEXPORT(void,wxMenu_Check)(wxMenu* self,int id,bool check)
 {
-	((wxMenu*)_obj)->Check(id, check != 0);
+	self->Check(id, check);
 }
 	
-EWXWEXPORT(int, wxMenu_IsChecked)(void* _obj, int id)
+EWXWEXPORT(bool,wxMenu_IsChecked)(wxMenu* self,int id)
 {
-	return (int)((wxMenu*)_obj)->IsChecked(id);
+	return self->IsChecked(id);
 }
 	
-EWXWEXPORT(void, wxMenu_SetLabel)(void* _obj, int id, wxChar* label)
+EWXWEXPORT(void,wxMenu_SetLabel)(wxMenu* self,int id,wxString* label)
 {
-	((wxMenu*)_obj)->SetLabel(id, label);
+	self->SetLabel(id,*label);
 }
 	
-EWXWEXPORT(int, wxMenu_GetLabel)(void* _obj, int id, void* _buf)
+EWXWEXPORT(wxString*,wxMenu_GetLabel)(wxMenu* self,int id)
 {
-	wxString result = ((wxMenu*)_obj)->GetLabel(id);
-	return copyStrToBuf(_buf, result); 
+	wxString *result = new wxString();
+	*result = self->GetLabel(id);
+	return result;
 }
 	
-EWXWEXPORT(void, wxMenu_SetHelpString)(void* _obj, int id, wxChar* helpString)
+EWXWEXPORT(void,wxMenu_SetHelpString)(wxMenu* self,int id,wxString* helpString)
 {
-	((wxMenu*)_obj)->SetHelpString(id, helpString);
+	self->SetHelpString(id,*helpString);
 }
 	
-EWXWEXPORT(int, wxMenu_GetHelpString)(void* _obj, int id, void* _buf)
+EWXWEXPORT(wxString*,wxMenu_GetHelpString)(wxMenu* self,int id)
 {
-	wxString result = ((wxMenu*)_obj)->GetHelpString(id);
-	return copyStrToBuf(_buf, result); 
+	wxString *result = new wxString();
+	*result = self->GetHelpString(id);
+	return result;
 }
 	
-EWXWEXPORT(void, wxMenu_SetTitle)(void* _obj, wxChar* title)
+EWXWEXPORT(void,wxMenu_SetTitle)(void* _obj,wxString* title)
 {
-	((wxMenu*)_obj)->SetTitle(title);
+	((wxMenu*)_obj)->SetTitle(*title);
 }
 	
-EWXWEXPORT(int, wxMenu_GetTitle)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxMenu_GetTitle)(wxMenu* self)
 {
-	wxString result = ((wxMenu*)_obj)->GetTitle();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = self->GetTitle();
+	return result;
 }
 	
-EWXWEXPORT(void, wxMenu_SetClientData)(void* _obj, void* clientData)
+EWXWEXPORT(void,wxMenu_SetClientData)(wxMenu* self,void* clientData)
 {
-	((wxMenu*)_obj)->SetClientData(clientData);
+	self->SetClientData(clientData);
 }
 	
-EWXWEXPORT(void*, wxMenu_GetClientData)(void* _obj)
+EWXWEXPORT(void*,wxMenu_GetClientData)(wxMenu* self)
 {
-	return (void*)((wxMenu*)_obj)->GetClientData();
+	return (void*)self->GetClientData();
 }
 	
-EWXWEXPORT(void, wxMenu_SetEventHandler)(void* _obj, void* handler)
+EWXWEXPORT(void,wxMenu_SetEventHandler)(wxMenu* self,wxEvtHandler* handler)
 {
-	((wxMenu*)_obj)->SetEventHandler((wxEvtHandler*) handler);
+	self->SetEventHandler(handler);
 }
 	
-EWXWEXPORT(void, wxMenu_SetInvokingWindow)(void* _obj, void* win)
+EWXWEXPORT(void,wxMenu_SetInvokingWindow)(wxMenu* self,wxWindow* win)
 {
-	((wxMenu*)_obj)->SetInvokingWindow((wxWindow*) win);
+	self->SetInvokingWindow(win);
 }
 	
-EWXWEXPORT(void*, wxMenu_GetInvokingWindow)(void* _obj)
+EWXWEXPORT(void*,wxMenu_GetInvokingWindow)(wxMenu* self)
 {
-	return (void*)((wxMenu*)_obj)->GetInvokingWindow();
+	return (void*)self->GetInvokingWindow();
 }
 	
-EWXWEXPORT(int, wxMenu_GetStyle)(void* _obj)
+EWXWEXPORT(int,wxMenu_GetStyle)(wxMenu* self)
 {
-	return ((wxMenu*)_obj)->GetStyle();
+	return self->GetStyle();
 }
 	
-EWXWEXPORT(void, wxMenu_UpdateUI)(void* _obj, void* source)
+EWXWEXPORT(void,wxMenu_UpdateUI)(wxMenu* self,wxEvtHandler* source)
 {
-	((wxMenu*)_obj)->UpdateUI((wxEvtHandler*) source);
+	self->UpdateUI(source);
 }
 	
-EWXWEXPORT(int, wxMenu_IsAttached)(void* _obj)
+EWXWEXPORT(bool,wxMenu_IsAttached)(wxMenu* self)
 {
-	return (int)((wxMenu*)_obj)->IsAttached();
+	return self->IsAttached();
 }
 	
-EWXWEXPORT(void, wxMenu_SetParent)(void* _obj, void* parent)
+EWXWEXPORT(void,wxMenu_SetParent)(wxMenu* self,wxMenu* parent)
 {
-	((wxMenu*)_obj)->SetParent((wxMenu*) parent);
+	self->SetParent(parent);
 }
 	
-EWXWEXPORT(void*, wxMenu_GetParent)(void* _obj)
+EWXWEXPORT(void*,wxMenu_GetParent)(wxMenu* self)
 {
-	return (void*)((wxMenu*)_obj)->GetParent();
+	return (void*)self->GetParent();
 }
 	
 
-EWXWEXPORT(void*, wxMenuItem_Create)()
+EWXWEXPORT(wxMenuItem*,wxMenuItem_Create)()
 {
-	return (void*) new wxMenuItem();
+	return new wxMenuItem();
 }
 	
-EWXWEXPORT(void, wxMenuItem_Delete)(void* _obj)
+EWXWEXPORT(void,wxMenuItem_Delete)(wxMenuItem* self)
 {
-	delete (wxMenuItem*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(void*, wxMenuItem_GetMenu)(void* _obj)
+EWXWEXPORT(wxMenu*,wxMenuItem_GetMenu)(wxMenuItem* self)
 {
-	return (void*)((wxMenuItem*)_obj)->GetMenu();
+	return self->GetMenu();
 }
 	
-EWXWEXPORT(void, wxMenuItem_SetId)(void* _obj, int id)
+EWXWEXPORT(void,wxMenuItem_SetId)(wxMenuItem* self,int id)
 {
-	((wxMenuItem*)_obj)->SetId(id);
+	self->SetId(id);
 }
 	
-EWXWEXPORT(int, wxMenuItem_GetId)(void* _obj)
+EWXWEXPORT(int,wxMenuItem_GetId)(wxMenuItem* self)
 {
-	return ((wxMenuItem*)_obj)->GetId();
+	return self->GetId();
 }
 	
-EWXWEXPORT(int, wxMenuItem_IsSeparator)(void* _obj)
+EWXWEXPORT(bool,wxMenuItem_IsSeparator)(wxMenuItem* self)
 {
-	return (int)((wxMenuItem*)_obj)->IsSeparator();
+	return self->IsSeparator();
 }
 	
-EWXWEXPORT(void, wxMenuItem_SetText)(void* _obj, void* str)
+EWXWEXPORT(void,wxMenuItem_SetText)(wxMenuItem* self,wxString* str)
 {
-	((wxMenuItem*)_obj)->SetText((wxChar*) str);
+	self->SetText(*str);
 }
 	
-EWXWEXPORT(int, wxMenuItem_GetLabel)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxMenuItem_GetLabel)(wxMenuItem* self)
 {
-	wxString result = ((wxMenuItem*)_obj)->GetLabel();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = self->GetLabel();
+	return result;
 }
 	
-EWXWEXPORT(int, wxMenuItem_GetText)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxMenuItem_GetText)(wxMenuItem* self)
 {
-	wxString result = ((wxMenuItem*)_obj)->GetText();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = self->GetText();
+	return result;
 }
 
-EWXWEXPORT(int, wxMenuItem_GetLabelFromText)(void* text, void* _buf)
+EWXWEXPORT(wxString*,wxMenuItem_GetLabelFromText)(wxString* text)
 {
-	wxString result = wxMenuItem::GetLabelFromText((wxChar*) text);
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = wxMenuItem::GetLabelFromText(* text);
+	return result;
 }
 
-EWXWEXPORT(void, wxMenuItem_SetCheckable)(void* _obj, int checkable)
+EWXWEXPORT(void,wxMenuItem_SetCheckable)(wxMenuItem* self,bool checkable)
 {
-	((wxMenuItem*)_obj)->SetCheckable(checkable != 0);
+	self->SetCheckable(checkable);
 }
 	
-EWXWEXPORT(int, wxMenuItem_IsCheckable)(void* _obj)
+EWXWEXPORT(bool,wxMenuItem_IsCheckable)(wxMenuItem* self)
 {
-	return (int)((wxMenuItem*)_obj)->IsCheckable();
+	return self->IsCheckable();
 }
 	
-EWXWEXPORT(int, wxMenuItem_IsSubMenu)(void* _obj)
+EWXWEXPORT(bool,wxMenuItem_IsSubMenu)(wxMenuItem* self)
 {
-	return (int)((wxMenuItem*)_obj)->IsSubMenu();
+	return self->IsSubMenu();
 }
 	
-EWXWEXPORT(void, wxMenuItem_SetSubMenu)(void* _obj, void* menu)
+EWXWEXPORT(void,wxMenuItem_SetSubMenu)(wxMenuItem* self,wxMenu* menu)
 {
-	((wxMenuItem*)_obj)->SetSubMenu((wxMenu*)menu);
+	self->SetSubMenu(menu);
 }
 	
-EWXWEXPORT(void*, wxMenuItem_GetSubMenu)(void* _obj)
+EWXWEXPORT(wxMenu*,wxMenuItem_GetSubMenu)(wxMenuItem* self)
 {
-	return (void*)((wxMenuItem*)_obj)->GetSubMenu();
+	return self->GetSubMenu();
 }
 	
-EWXWEXPORT(void, wxMenuItem_Enable)(void* _obj, int enable)
+EWXWEXPORT(void,wxMenuItem_Enable)(wxMenuItem* self,bool enable)
 {
-	((wxMenuItem*)_obj)->Enable(enable != 0);
+	self->Enable(enable);
 }
 	
-EWXWEXPORT(int, wxMenuItem_IsEnabled)(void* _obj)
+EWXWEXPORT(bool,wxMenuItem_IsEnabled)(wxMenuItem* self)
 {
-	return (int)((wxMenuItem*)_obj)->IsEnabled();
+	return self->IsEnabled();
 }
 	
-EWXWEXPORT(void, wxMenuItem_Check)(void* _obj, int check)
+EWXWEXPORT(void,wxMenuItem_Check)(wxMenuItem* self,bool check)
 {
-	((wxMenuItem*)_obj)->Check(check != 0);
+	self->Check(check);
 }
 	
-EWXWEXPORT(int, wxMenuItem_IsChecked)(void* _obj)
+EWXWEXPORT(bool,wxMenuItem_IsChecked)(wxMenuItem* self)
 {
-	return (int)((wxMenuItem*)_obj)->IsChecked();
+	return self->IsChecked();
 }
 	
-EWXWEXPORT(void, wxMenuItem_SetHelp)(void* _obj, void* str)
+EWXWEXPORT(void,wxMenuItem_SetHelp)(wxMenuItem* self,wxString* str)
 {
-	((wxMenuItem*)_obj)->SetHelp((wxChar*)str);
+	self->SetHelp(*str);
 }
 	
-EWXWEXPORT(int, wxMenuItem_GetHelp)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxMenuItem_GetHelp)(wxMenuItem* self)
 {
-	wxString result = ((wxMenuItem*)_obj)->GetHelp();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = self->GetHelp();
+	return result;
 }
 
 }
diff --git a/wxc/src/eljmenubar.cpp b/wxc/src/eljmenubar.cpp
--- a/wxc/src/eljmenubar.cpp
+++ b/wxc/src/eljmenubar.cpp
@@ -3,128 +3,131 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxMenuBar_Create)(int _style)
+EWXWEXPORT(void*,wxMenuBar_Create)(int _style)
 {
 	return new wxMenuBar(_style);
 }
 	
-EWXWEXPORT(void, wxMenuBar_DeletePointer)(void* _obj)
+EWXWEXPORT(void,wxMenuBar_DeletePointer)(wxMenuBar* self)
 {
-	delete (wxMenuBar*)_obj;
+	delete self;
 }
 	
-EWXWEXPORT(int, wxMenuBar_Append)(void* _obj, void* menu, wxChar* title)
+EWXWEXPORT(bool,wxMenuBar_Append)(wxMenuBar* self,wxMenu* menu,wxString* title)
 {
-	return (int)((wxMenuBar*)_obj)->Append((wxMenu*) menu, title);
+	return self->Append(menu,*title);
 }
 	
-EWXWEXPORT(int, wxMenuBar_Insert)(void* _obj, int pos, void* menu, wxChar* title)
+EWXWEXPORT(bool,wxMenuBar_Insert)(wxMenuBar* self,int pos,wxMenu* menu,wxString* title)
 {
-	return (int)((wxMenuBar*)_obj)->Insert((size_t) pos, (wxMenu*) menu, title);
+	return self->Insert((size_t)pos,menu,*title);
 }
 	
-EWXWEXPORT(int, wxMenuBar_GetMenuCount)(void* _obj)
+EWXWEXPORT(int,wxMenuBar_GetMenuCount)(wxMenuBar* self)
 {
-	return (int)((wxMenuBar*)_obj)->GetMenuCount();
+	return self->GetMenuCount();
 }
 	
-EWXWEXPORT(void*, wxMenuBar_GetMenu)(void* _obj, int pos)
+EWXWEXPORT(wxMenu*,wxMenuBar_GetMenu)(wxMenuBar* self,size_t pos)
 {
-	return (void*)((wxMenuBar*)_obj)->GetMenu((size_t) pos);
+	return self->GetMenu(pos);
 }
 	
-EWXWEXPORT(void*, wxMenuBar_Replace)(void* _obj, int pos, void* menu, wxChar* title)
+EWXWEXPORT(void*,wxMenuBar_Replace)(wxMenuBar* self,int pos,wxMenu* menu,wxString* title)
 {
-	return (void*)((wxMenuBar*)_obj)->Replace((size_t) pos, (wxMenu*) menu, title);
+	return (void*)self->Replace((size_t) pos, menu,*title);
 }
 	
-EWXWEXPORT(void*, wxMenuBar_Remove)(void* _obj, int pos)
+EWXWEXPORT(void*,wxMenuBar_Remove)(wxMenuBar* self,int pos)
 {
-	return (void*)((wxMenuBar*)_obj)->Remove((size_t) pos);
+	return (void*)self->Remove((size_t) pos);
 }
 	
-EWXWEXPORT(void, wxMenuBar_EnableTop)(void* _obj, int pos, int enable)
+EWXWEXPORT(void,wxMenuBar_EnableTop)(wxMenuBar* self,int pos,bool enable)
 {
-	((wxMenuBar*)_obj)->EnableTop((size_t) pos, enable != 0);
+	self->EnableTop((size_t) pos, enable);
 }
 	
-EWXWEXPORT(void, wxMenuBar_SetLabelTop)(void* _obj, int pos, wxChar* label)
+EWXWEXPORT(void,wxMenuBar_SetLabelTop)(wxMenuBar* self,int pos,wxString* label)
 {
-	((wxMenuBar*)_obj)->SetLabelTop((size_t) pos, label);
+	self->SetLabelTop((size_t) pos,*label);
 }
 	
-EWXWEXPORT(int, wxMenuBar_GetLabelTop)(void* _obj, int pos, void* _buf)
+EWXWEXPORT(wxString*,wxMenuBar_GetLabelTop)(wxMenuBar* self,int pos)
 {
-	wxString result = ((wxMenuBar*)_obj)->GetLabelTop((size_t) pos);
-	return copyStrToBuf(_buf, result); 
+	wxString *result = new wxString();
+	*result = self->GetLabelTop((size_t) pos);
+	return result;
 }
 	
-EWXWEXPORT(int, wxMenuBar_FindMenuItem)(void* _obj, wxChar* menuString, wxChar* itemString)
+EWXWEXPORT(int,wxMenuBar_FindMenuItem)(wxMenuBar* self,wxString* menuString,wxString* itemString)
 {
-	return ((wxMenuBar*)_obj)->FindMenuItem(menuString, itemString);
+	return self->FindMenuItem(*menuString,*itemString);
 }
 	
-EWXWEXPORT(void*, wxMenuBar_FindItem)(void* _obj, int id)
+EWXWEXPORT(void*,wxMenuBar_FindItem)(wxMenuBar* self,int id)
 {
-    wxMenu* _foo = new wxMenu;
-	return (void*)((wxMenuBar*)_obj)->FindItem(id, &_foo);
+	wxMenu* _foo = new wxMenu;
+	return (void*)self->FindItem(id, &_foo);
 }
 	
-EWXWEXPORT(int, wxMenuBar_FindMenu)(void* _obj, wxChar* title)
+EWXWEXPORT(int,wxMenuBar_FindMenu)(wxMenuBar* self,wxString* title)
 {
-	return ((wxMenuBar*)_obj)->FindMenu(title);
+	return self->FindMenu(*title);
 }
 	
-EWXWEXPORT(void, wxMenuBar_EnableItem)(void* _obj, int id, int enable)
+EWXWEXPORT(void,wxMenuBar_EnableItem)(wxMenuBar* self,int id,bool enable)
 {
-	((wxMenuBar*)_obj)->Enable(id, enable != 0);
+	self->Enable(id, enable);
 }
 	
-EWXWEXPORT(void, wxMenuBar_Check)(void* _obj, int id, int check)
+EWXWEXPORT(void,wxMenuBar_Check)(wxMenuBar* self,int id,bool check)
 {
-	((wxMenuBar*)_obj)->Check(id, check != 0);
+	self->Check(id, check);
 }
 	
-EWXWEXPORT(int, wxMenuBar_IsChecked)(void* _obj, int id)
+EWXWEXPORT(bool,wxMenuBar_IsChecked)(wxMenuBar* self,int id)
 {
-	return (int)((wxMenuBar*)_obj)->IsChecked(id);
+	return self->IsChecked(id);
 }
 	
-EWXWEXPORT(int, wxMenuBar_IsEnabled)(void* _obj, int id)
+EWXWEXPORT(bool,wxMenuBar_IsEnabled)(wxMenuBar* self,int id)
 {
-	return (int)((wxMenuBar*)_obj)->IsEnabled(id);
+	return self->IsEnabled(id);
 }
 	
-EWXWEXPORT(void, wxMenuBar_SetItemLabel)(void* _obj, int id, wxChar* label)
+EWXWEXPORT(void,wxMenuBar_SetItemLabel)(wxMenuBar* self,int id,wxString* label)
 {
-	((wxMenuBar*)_obj)->SetLabel(id, label);
+	self->SetLabel(id,*label);
 }
 	
-EWXWEXPORT(int, wxMenuBar_GetLabel)(void* _obj, int id, void* _buf)
+EWXWEXPORT(wxString*,wxMenuBar_GetLabel)(void* _obj,int id)
 {
-	wxString result = ((wxMenuBar*)_obj)->GetLabel(id);
-	return copyStrToBuf(_buf, result); 
+	wxString *result = new wxString();
+	*result = ((wxMenuBar*)_obj)->GetLabel(id);
+	return result;
 }
 	
-EWXWEXPORT(void, wxMenuBar_SetHelpString)(void* _obj, int id, wxChar* helpString)
+EWXWEXPORT(void,wxMenuBar_SetHelpString)(wxMenuBar* self,int id,wxString* helpString)
 {
-	((wxMenuBar*)_obj)->SetHelpString(id, helpString);
+	self->SetHelpString(id,*helpString);
 }
 	
-EWXWEXPORT(int, wxMenuBar_GetHelpString)(void* _obj, int id, void* _buf)
+EWXWEXPORT(wxString*,wxMenuBar_GetHelpString)(void* _obj,int id)
 {
-	wxString result = ((wxMenuBar*)_obj)->GetHelpString(id);
-	return copyStrToBuf(_buf, result); 
+	wxString *result = new wxString();
+	*result = ((wxMenuBar*)_obj)->GetHelpString(id);
+	return result;
 }
 	
-EWXWEXPORT(int, wxMenuBar_Enable)(void* _obj, int enable)
+EWXWEXPORT(void,wxMenuBar_Enable)(wxMenuBar* self,bool enable)
 {
-	return (int)((wxMenuBar*)_obj)->Enable(enable != 0);
+	self->Enable(enable);
 }
 	
-EWXWEXPORT(void, wxMenuBar_SetLabel)(void* _obj, wxChar* s)
+EWXWEXPORT(void,wxMenuBar_SetLabel)(wxMenuBar* self,wxString* s)
 {
-	((wxMenuBar*)_obj)->SetLabel(s);
+	self->SetLabel(*s);
 }
 	
 }
diff --git a/wxc/src/eljmessagedialog.cpp b/wxc/src/eljmessagedialog.cpp
--- a/wxc/src/eljmessagedialog.cpp
+++ b/wxc/src/eljmessagedialog.cpp
@@ -3,17 +3,17 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxMessageDialog_Create)(void* _prt, void* _msg, void* _cap, int _stl)
+EWXWEXPORT(void*,wxMessageDialog_Create)(wxWindow* _prt,wxString* _msg,wxString* _cap,int _stl)
 {
-	return (void*) new wxMessageDialog((wxWindow*)_prt, (wxChar*)_msg, (wxChar*)_cap, (long)_stl);
+	return (void*) new wxMessageDialog(_prt, *_msg, *_cap, (long)_stl);
 }
 
-EWXWEXPORT(void, wxMessageDialog_Delete)(void* _obj)
+EWXWEXPORT(void,wxMessageDialog_Delete)(void* _obj)
 {
 	delete (wxMessageDialog*)_obj;
 }
 
-EWXWEXPORT(int, wxMessageDialog_ShowModal)(void* _obj)
+EWXWEXPORT(int,wxMessageDialog_ShowModal)(void* _obj)
 {
 	return ((wxMessageDialog*)_obj)->ShowModal();
 }
diff --git a/wxc/src/eljmime.cpp b/wxc/src/eljmime.cpp
--- a/wxc/src/eljmime.cpp
+++ b/wxc/src/eljmime.cpp
@@ -4,35 +4,35 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxMimeTypesManager_Create) ()
+EWXWEXPORT(void*,wxMimeTypesManager_Create)()
 {
-        return (void*) wxTheMimeTypesManager;
+        return (void*)wxTheMimeTypesManager;
 }
 
-EWXWEXPORT(void*, wxMimeTypesManager_GetFileTypeFromExtension) (void* _obj, void* _ext)
+EWXWEXPORT(void*,wxMimeTypesManager_GetFileTypeFromExtension)(wxMimeTypesManager* self,wxString* _ext)
 {
-        return (void*)((wxMimeTypesManager*)_obj)->GetFileTypeFromExtension((const wxChar*)_ext);
+        return (void*)self->GetFileTypeFromExtension(*_ext);
 }
 
-EWXWEXPORT(void*, wxMimeTypesManager_GetFileTypeFromMimeType) (void* _obj, void* _name)
+EWXWEXPORT(void*,wxMimeTypesManager_GetFileTypeFromMimeType)(wxMimeTypesManager* self,wxString* _name)
 {
-        return (void*)((wxMimeTypesManager*)_obj)->GetFileTypeFromMimeType((const wxChar*)_name);
+        return (void*)self->GetFileTypeFromMimeType(*_name);
 }
 
-EWXWEXPORT(int, wxMimeTypesManager_ReadMailcap) (void* _obj, void* _file, int _fb)
+EWXWEXPORT(bool,wxMimeTypesManager_ReadMailcap)(wxMimeTypesManager* self,wxString* _file,bool _fb)
 {
-        return (int)((wxMimeTypesManager*)_obj)->ReadMailcap((const wxChar*)_file, _fb != 0);
+        return self->ReadMailcap(*_file, _fb);
 }
 
-EWXWEXPORT(int, wxMimeTypesManager_ReadMimeTypes) (void* _obj, void* _file)
+EWXWEXPORT(bool,wxMimeTypesManager_ReadMimeTypes)(wxMimeTypesManager* self,wxString* _file)
 {
-        return (int)((wxMimeTypesManager*)_obj)->ReadMimeTypes((const wxChar*)_file);
+        return self->ReadMimeTypes(*_file);
 }
 
-EWXWEXPORT(int, wxMimeTypesManager_EnumAllFileTypes) (void* _obj, void* _lst)
+EWXWEXPORT(int,wxMimeTypesManager_EnumAllFileTypes)(wxMimeTypesManager* self,void* _lst)
 {
         wxArrayString arr;
-        int result = (int)((wxMimeTypesManager*)_obj)->EnumAllFileTypes(arr);
+        int result = (int)self->EnumAllFileTypes(arr);
 
         if (_lst)
         {
@@ -43,32 +43,30 @@
         return result;
 }
 
-EWXWEXPORT(void, wxMimeTypesManager_AddFallbacks) (void* _obj, void* _types)
+EWXWEXPORT(void,wxMimeTypesManager_AddFallbacks)(wxMimeTypesManager* self,void* _types)
 {
-        ((wxMimeTypesManager*)_obj)->AddFallbacks((const wxFileTypeInfo*)_types);
+        self->AddFallbacks((const wxFileTypeInfo*)_types);
 }
 
-EWXWEXPORT(int, wxMimeTypesManager_IsOfType)(void* _obj, void* _type, void* _wildcard)
+EWXWEXPORT(bool,wxMimeTypesManager_IsOfType)(wxMimeTypesManager* self,wxString* _type,wxString* _wildcard)
 {
-        return (int)((wxMimeTypesManager*)_obj)->IsOfType ((const wxChar*)_type, (const wxChar*)_wildcard);
+        return self->IsOfType (*_type, *_wildcard);
 }
 
 
-EWXWEXPORT(int, wxFileType_GetMimeType) (void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxFileType_GetMimeType)(wxFileType* self)
 {
-        wxString result;
-
-        if (((wxFileType*)_obj)->GetMimeType(&result) && _buf)
-                copyStrToBuf(_buf, result);
-
-        return result.Length();
+        wxString *result = new wxString();
+        if (self->GetMimeType(result)!=true)
+          result->Clear();
+        return result;
 }
 
-EWXWEXPORT(int, wxFileType_GetMimeTypes) (void* _obj, void* _lst)
+EWXWEXPORT(int,wxFileType_GetMimeTypes)(void* self,void* _lst)
 {
         wxArrayString arr;
 
-        if (((wxFileType*)_obj)->GetMimeTypes(arr) && _lst)
+        if (((wxFileType*)self)->GetMimeTypes(arr) && _lst)
         {
                 for (unsigned int i = 0; i < arr.GetCount(); i++)
                         ((const wxChar**)_lst)[i] = wxStrdup (arr.Item(i).c_str());
@@ -77,11 +75,11 @@
         return arr.GetCount();
 }
 
-EWXWEXPORT(int, wxFileType_GetExtensions) (void* _obj, void* _lst)
+EWXWEXPORT(int,wxFileType_GetExtensions)(void* self,void* _lst)
 {
         wxArrayString arr;
 
-        if (((wxFileType*)_obj)->GetExtensions(arr) && _lst)
+        if (((wxFileType*)self)->GetExtensions(arr) && _lst)
         {
                 for (unsigned int i = 0; i < arr.GetCount(); i++)
                         ((const wxChar**)_lst)[i] = wxStrdup (arr.Item(i).c_str());
@@ -90,58 +88,52 @@
         return arr.GetCount();
 }
 
-EWXWEXPORT(int, wxFileType_GetIcon) (void* _obj, void *icon)
+EWXWEXPORT(bool,wxFileType_GetIcon)(wxFileType* self,wxIcon* icon)
 {
 #if wxCHECK_VERSION(2,5,0)
 	wxIconLocation iconLoc;
-	int res = ((wxFileType*)_obj)->GetIcon(&iconLoc);
-	*((wxIcon*)icon) = wxIcon(iconLoc);
+	bool res = self->GetIcon(&iconLoc);
+	*icon = wxIcon(iconLoc);
 	return res;
 #else
-	return (int)((wxFileType*)_obj)->GetIcon((wxIcon*)icon);
+	return self->GetIcon(icon);
 #endif
 }
 
-EWXWEXPORT(int, wxFileType_GetDescription) (void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxFileType_GetDescription)(wxFileType* self)
 {
-        wxString result;
-
-        if (((wxFileType*)_obj)->GetDescription(&result) && _buf)
-                copyStrToBuf(_buf, result);
-
-        return result.Length();
+        wxString *result = new wxString();
+        if (self->GetDescription(result) != true)
+          result->Clear();
+        return result;
 }
 
-EWXWEXPORT(int, wxFileType_GetOpenCommand) (void* _obj, void* _buf, void* _params)
+EWXWEXPORT(wxString*,wxFileType_GetOpenCommand)(wxFileType* self,void* _params)
 {
-        wxString result;
-
-        if (((wxFileType*)_obj)->GetOpenCommand(&result, *((wxFileType::MessageParameters*)_params)) && _buf)
-                copyStrToBuf(_buf, result);
-
-        return result.Length();
+        wxString *result = new wxString();
+        if (self->GetOpenCommand(result, *((wxFileType::MessageParameters*)_params)) != true)
+          result->Clear();
+        return result;
 }
 
-EWXWEXPORT(int, wxFileType_GetPrintCommand) (void* _obj, void* _buf, void* _params)
+EWXWEXPORT(wxString*,wxFileType_GetPrintCommand)(wxFileType* self,void* _params)
 {
-        wxString result;
-
-        if (((wxFileType*)_obj)->GetPrintCommand(&result, *((wxFileType::MessageParameters*)_params)) && _buf)
-                copyStrToBuf(_buf, result);
-
-        return result.Length();
+        wxString *result = new wxString();
+        if (self->GetPrintCommand(result, *((wxFileType::MessageParameters*)_params)) != true)
+          result->Clear();
+        return result;
 }
 
-EWXWEXPORT(int, wxFileType_ExpandCommand) (void* _obj, void* _cmd, void* _params, void* _buf)
+EWXWEXPORT(wxString*,wxFileType_ExpandCommand)(wxFileType* self,void* _cmd,void* _params)
 {
-        wxString result = ((wxFileType*)_obj)->ExpandCommand((const wxChar*)_cmd, *((wxFileType::MessageParameters*)_params));
-
-        return copyStrToBuf(_buf, result);
+        wxString *result = new wxString();
+        *result = self->ExpandCommand((const wxChar*)_cmd, *((wxFileType::MessageParameters*)_params));
+        return result;
 }
 
-EWXWEXPORT(void, wxFileType_Delete) (void* _obj)
+EWXWEXPORT(void,wxFileType_Delete)(void* self)
 {
-        delete (wxFileType*)_obj;
+        delete (wxFileType*)self;
 }
 
 
diff --git a/wxc/src/eljminiframe.cpp b/wxc/src/eljminiframe.cpp
--- a/wxc/src/eljminiframe.cpp
+++ b/wxc/src/eljminiframe.cpp
@@ -3,9 +3,9 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxMiniFrame_Create) (void* _prt, int _id, void* _txt, int _lft, int _top, int _wdt, int _hgt, int _stl)
+EWXWEXPORT(void*,wxMiniFrame_Create)(wxWindow* _prt,int _id,wxString* _txt,int _lft,int _top,int _wdt,int _hgt,int _stl)
 {
-	return (void*) new wxMiniFrame ((wxWindow*)_prt, _id, (wxChar*)_txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+	return (void*) new wxMiniFrame (_prt, _id, *_txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
 }
 
 }
diff --git a/wxc/src/eljnotebook.cpp b/wxc/src/eljnotebook.cpp
--- a/wxc/src/eljnotebook.cpp
+++ b/wxc/src/eljnotebook.cpp
@@ -23,75 +23,76 @@
     return (int)wxNB_RIGHT;
 }
 
-EWXWEXPORT(void*, wxNotebook_Create) (void* _prt, int _id, int _lft, int _top, int _wdt, int _hgt, int _stl)
+EWXWEXPORT(void*, wxNotebook_Create)(wxWindow* _prt,int _id,int _lft,int _top,int _wdt,int _hgt,int _stl)
 {
-	return (void*) new wxNotebook ((wxWindow*)_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+	return (void*) new wxNotebook (_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
 }
 
-EWXWEXPORT(int, wxNotebook_GetPageCount)(void* _obj)
+EWXWEXPORT(int,wxNotebook_GetPageCount)(wxNotebook* self)
 {
-	return ((wxNotebook*)_obj)->GetPageCount();
+	return self->GetPageCount();
 }
 	
-EWXWEXPORT(int, wxNotebook_SetSelection)(void* _obj, int nPage)
+EWXWEXPORT(int,wxNotebook_SetSelection)(wxNotebook* self,int nPage)
 {
-	return ((wxNotebook*)_obj)->SetSelection(nPage);
+	return self->SetSelection(nPage);
 }
 	
-EWXWEXPORT(void, wxNotebook_AdvanceSelection)(void* _obj, int bForward)
+EWXWEXPORT(void,wxNotebook_AdvanceSelection)(wxNotebook* self,bool bForward)
 {
-	((wxNotebook*)_obj)->AdvanceSelection(bForward != 0);
+	self->AdvanceSelection(bForward);
 }
 	
-EWXWEXPORT(int, wxNotebook_GetSelection)(void* _obj)
+EWXWEXPORT(int,wxNotebook_GetSelection)(wxNotebook* self)
 {
-	return ((wxNotebook*)_obj)->GetSelection();
+	return self->GetSelection();
 }
 	
-EWXWEXPORT(int, wxNotebook_SetPageText)(void* _obj, int nPage, void* strText)
+EWXWEXPORT(bool,wxNotebook_SetPageText)(wxNotebook* self,int nPage,wxString* strText)
 {
-	return (int)((wxNotebook*)_obj)->SetPageText(nPage, (wxChar*) strText);
+	return self->SetPageText(nPage,*strText);
 }
 	
-EWXWEXPORT(int, wxNotebook_GetPageText)(void* _obj, int nPage, void* _buf)
+EWXWEXPORT(wxString*,wxNotebook_GetPageText)(wxNotebook* self,int nPage)
 {
-	wxString result = ((wxNotebook*)_obj)->GetPageText(nPage);
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = self->GetPageText(nPage);
+	return result;
 }
 	
-EWXWEXPORT(void, wxNotebook_SetImageList)(void* _obj, void* imageList)
+EWXWEXPORT(void,wxNotebook_SetImageList)(wxNotebook* self,void* imageList)
 {
-	((wxNotebook*)_obj)->SetImageList((wxImageList*) imageList);
+	self->SetImageList((wxImageList*)imageList);
 }
 	
-EWXWEXPORT(void*, wxNotebook_GetImageList)(void* _obj)
+EWXWEXPORT(void*,wxNotebook_GetImageList)(void* self)
 {
-	return (void*)((wxNotebook*)_obj)->GetImageList();
+	return (void*)((wxNotebook*)self)->GetImageList();
 }
 	
-EWXWEXPORT(int, wxNotebook_GetPageImage)(void* _obj, int nPage)
+EWXWEXPORT(int,wxNotebook_GetPageImage)(wxNotebook* self,int nPage)
 {
-	return ((wxNotebook*)_obj)->GetPageImage(nPage);
+	return self->GetPageImage(nPage);
 }
 	
-EWXWEXPORT(int, wxNotebook_SetPageImage)(void* _obj, int nPage, int nImage)
+EWXWEXPORT(bool,wxNotebook_SetPageImage)(wxNotebook* self,int nPage,int nImage)
 {
-	return (int)((wxNotebook*)_obj)->SetPageImage(nPage, nImage);
+	return self->SetPageImage(nPage, nImage);
 }
 	
-EWXWEXPORT(int, wxNotebook_GetRowCount)(void* _obj)
+EWXWEXPORT(int,wxNotebook_GetRowCount)(wxNotebook* self)
 {
-	return ((wxNotebook*)_obj)->GetRowCount();
+	return self->GetRowCount();
 }
 	
-EWXWEXPORT(void, wxNotebook_SetPageSize)(void* _obj, int _w, int _h)
+EWXWEXPORT(void,wxNotebook_SetPageSize)(wxNotebook* self,int _w,int _h)
 {
-	((wxNotebook*)_obj)->SetPageSize(wxSize(_w, _h));
+	self->SetPageSize(wxSize(_w, _h));
 }
 	
-EWXWEXPORT(void, wxNotebook_SetPadding)(void* _obj, int _w, int _h)
+EWXWEXPORT(void,wxNotebook_SetPadding)(wxNotebook* self,int _w,int _h)
 {
-	((wxNotebook*)_obj)->SetPadding(wxSize(_w, _h));
+	self->SetPadding(wxSize(_w, _h));
 }
 
 EWXWEXPORT(int, wxNotebook_HitTest)(wxNotebook* _obj, int x, int y, long *flags)
@@ -124,34 +125,34 @@
     return (int)wxBK_HITTEST_ONPAGE;
 }
 
-EWXWEXPORT(int, wxNotebook_DeletePage)(void* _obj, int nPage)
+EWXWEXPORT(bool,wxNotebook_DeletePage)(wxNotebook* self,int nPage)
 {
-	return (int)((wxNotebook*)_obj)->DeletePage(nPage);
+	return self->DeletePage(nPage);
 }
 	
-EWXWEXPORT(int, wxNotebook_RemovePage)(void* _obj, int nPage)
+EWXWEXPORT(bool,wxNotebook_RemovePage)(wxNotebook* self,int nPage)
 {
-	return (int)((wxNotebook*)_obj)->RemovePage(nPage);
+	return self->RemovePage(nPage);
 }
 	
-EWXWEXPORT(int, wxNotebook_DeleteAllPages)(void* _obj)
+EWXWEXPORT(bool,wxNotebook_DeleteAllPages)(wxNotebook* self)
 {
-	return (int)((wxNotebook*)_obj)->DeleteAllPages();
+	return self->DeleteAllPages();
 }
 	
-EWXWEXPORT(int, wxNotebook_AddPage)(void* _obj, void* pPage, void* strText, int bSelect, int imageId)
+EWXWEXPORT(bool,wxNotebook_AddPage)(wxNotebook* self,wxNotebookPage* pPage,wxString* strText,bool bSelect,int imageId)
 {
-	return (int)((wxNotebook*)_obj)->AddPage((wxNotebookPage*) pPage, (wxChar*) strText, bSelect != 0, imageId);
+	return self->AddPage( pPage,* strText, bSelect, imageId);
 }
 	
-EWXWEXPORT(int, wxNotebook_InsertPage)(void* _obj, int nPage, void* pPage, void* strText, int bSelect, int imageId)
+EWXWEXPORT(bool,wxNotebook_InsertPage)(wxNotebook* self,int nPage,wxNotebookPage* pPage,wxString* strText,bool bSelect,int imageId)
 {
-	return (int)((wxNotebook*)_obj)->InsertPage(nPage, (wxNotebookPage*) pPage, (wxChar*) strText, bSelect != 0, imageId);
+	return self->InsertPage(nPage,  pPage,* strText, bSelect, imageId);
 }
 	
-EWXWEXPORT(void*, wxNotebook_GetPage)(void* _obj, int nPage)
+EWXWEXPORT(void*,wxNotebook_GetPage)(wxNotebook* self,int nPage)
 {
-	return (void*)((wxNotebook*)_obj)->GetPage(nPage);
+	return (void*)self->GetPage(nPage);
 }
 	
 }
diff --git a/wxc/src/eljpalette.cpp b/wxc/src/eljpalette.cpp
--- a/wxc/src/eljpalette.cpp
+++ b/wxc/src/eljpalette.cpp
@@ -3,48 +3,48 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxPalette_CreateDefault) ()
+EWXWEXPORT(void*,wxPalette_CreateDefault)()
 {
-	return (void*) new wxPalette();
+	return (void*)new wxPalette();
 }
 
-EWXWEXPORT(void*, wxPalette_CreateRGB) (int n, void* red, void* green, void* blue)
+EWXWEXPORT(void*,wxPalette_CreateRGB)(int n,void* red,void* green,void* blue)
 {
-	return (void*) new wxPalette(n, (unsigned char*)red, (unsigned char*)green, (unsigned char*)blue);
+	return (void*)new wxPalette(n, (unsigned char*)red, (unsigned char*)green, (unsigned char*)blue);
 }
 
-EWXWEXPORT(void, wxPalette_Delete) (void* _obj)
+EWXWEXPORT(void,wxPalette_Delete)(wxPalette* self)
 {
-	delete (wxPalette*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(int, wxPalette_GetPixel)(void* _obj, char red, char green, char blue)
+EWXWEXPORT(int,wxPalette_GetPixel)(wxPalette* self,wxUint8 red,wxUint8 green,wxUint8 blue)
 {
-	return ((wxPalette*)_obj)->GetPixel((unsigned char)red, (unsigned char)green, (unsigned char)blue);
+	return self->GetPixel(red,green,blue);
 }
 	
-EWXWEXPORT(int, wxPalette_GetRGB)(void* _obj, int pixel, void* red, void* green, void* blue)
+EWXWEXPORT(bool,wxPalette_GetRGB)(wxPalette* self,int pixel,void* red,void* green,void* blue)
 {
-	return (int)((wxPalette*)_obj)->GetRGB(pixel, (unsigned char*)red, (unsigned char*)green, (unsigned char*)blue);
+	return self->GetRGB(pixel, (unsigned char*)red, (unsigned char*)green, (unsigned char*)blue);
 }
 	
-EWXWEXPORT(int, wxPalette_Ok)(void* _obj)
+EWXWEXPORT(bool,wxPalette_IsOk)(wxPalette* self)
 {
-	return (int)((wxPalette*)_obj)->Ok();
+	return self->IsOk();
 }
 	
-EWXWEXPORT(void, wxPalette_Assign)(void* _obj, void* palette)
+EWXWEXPORT(void,wxPalette_Assign)(void* self,void* palette)
 {
-	*((wxPalette*)_obj) = *((wxPalette*)palette);
+	*((wxPalette*)self) = *((wxPalette*)palette);
 }
 
-EWXWEXPORT(int, wxPalette_IsEqual)(void* _obj, void* palette)
+EWXWEXPORT(bool,wxPalette_IsEqual)(wxPalette* self,wxPalette* palette)
 {
 #if (wxVERSION_NUMBER <= 2800)
-	return (int)(*((wxPalette*)_obj) == *((wxPalette*)palette));
+	return *self == *palette;
 #else
-	wxPalette* pal1 = (wxPalette *)_obj;
-	wxPalette* pal2 = (wxPalette *)palette;
+	wxPalette* pal1 = self;
+	wxPalette* pal2 = palette;
 	if (pal1->GetColoursCount() == pal2->GetColoursCount()){
 		bool equal = true;
 		unsigned char red1 = 0;
@@ -58,9 +58,9 @@
 			pal2->GetRGB(x, &red2, &green2, &blue2);
 			equal = equal && (red1==red2 && green1==green2 && blue1==blue2); 
 		}
-		return (int)equal;
+		return equal;
 	} else {
-		return 0;
+		return false;
 	}
 #endif
 }
diff --git a/wxc/src/eljpen.cpp b/wxc/src/eljpen.cpp
--- a/wxc/src/eljpen.cpp
+++ b/wxc/src/eljpen.cpp
@@ -3,26 +3,26 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxPen_CreateDefault) ()
+EWXWEXPORT(void*,wxPen_CreateDefault)()
 {
 	return new wxPen();
 }
 
-EWXWEXPORT(void*, wxPen_CreateFromColour) (void* col, int width, int style)
+EWXWEXPORT(void*,wxPen_CreateFromColour)(wxColour* col,int width,int style)
 {
-	return new wxPen(*((wxColour*)col), width, style);
+	return new wxPen(*col, width, style);
 }
 
-EWXWEXPORT(void*, wxPen_CreateFromBitmap) (void* stipple, int width)
+EWXWEXPORT(void*,wxPen_CreateFromBitmap)(wxBitmap* stipple,int width)
 {
 #ifdef __WIN32__
-	return new wxPen(*((wxBitmap*)stipple), width);
+	return new wxPen(*stipple, width);
 #else
 	return NULL;
 #endif
 }
 
-EWXWEXPORT(void*, wxPen_CreateFromStock) (int id)
+EWXWEXPORT(void*,wxPen_CreateFromStock)(int id)
 {
 	switch (id)
 	{
@@ -51,102 +51,102 @@
 	return NULL;
 }
 
-EWXWEXPORT(void, wxPen_Delete)(void* _obj)
+EWXWEXPORT(void,wxPen_Delete)(void* self)
 {
-	delete (wxPen*)_obj;
+	delete (wxPen*)self;
 }
 
-EWXWEXPORT(void, wxPen_Assign)(void* _obj, void* pen)
+EWXWEXPORT(void,wxPen_Assign)(void* self,void* pen)
 {
-	*((wxPen*)_obj) = *((wxPen*)pen);
+	*((wxPen*)self) = *((wxPen*)pen);
 }
 	
-EWXWEXPORT(int, wxPen_IsEqual)(void* _obj, void* pen)
+EWXWEXPORT(bool,wxPen_IsEqual)(wxPen* self,wxPen* pen)
 {
-	return (int)(*((wxPen*)_obj) == *((wxPen*)pen));
+	return *self == *pen;
 }
 	
-EWXWEXPORT(int, wxPen_Ok)(void* _obj)
+EWXWEXPORT(bool,wxPen_IsOk)(wxPen* self)
 {
-	return (int)((wxPen*)_obj)->Ok();
+	return self->IsOk();
 }
 	
-EWXWEXPORT(void, wxPen_SetColour)(void* _obj, void* col)
+EWXWEXPORT(void,wxPen_SetColour)(void* self,wxColour* col)
 {
-	((wxPen*)_obj)->SetColour(*((wxColour*)col));
+	((wxPen*)self)->SetColour(*col);
 }
 	
-EWXWEXPORT(void, wxPen_SetColourSingle)(void* _obj, char r, char g, char b)
+EWXWEXPORT(void,wxPen_SetColourSingle)(void* self,wxUint8 r,wxUint8 g,wxUint8 b)
 {
-	((wxPen*)_obj)->SetColour((unsigned char)r, (unsigned char)g, (unsigned char)b);
+	((wxPen*)self)->SetColour(r,g,b);
 }
 	
-EWXWEXPORT(void, wxPen_SetWidth)(void* _obj, int width)
+EWXWEXPORT(void,wxPen_SetWidth)(void* self,int width)
 {
-	((wxPen*)_obj)->SetWidth(width);
+	((wxPen*)self)->SetWidth(width);
 }
 	
-EWXWEXPORT(void, wxPen_SetStyle)(void* _obj, int style)
+EWXWEXPORT(void,wxPen_SetStyle)(void* self,int style)
 {
-	((wxPen*)_obj)->SetStyle(style);
+	((wxPen*)self)->SetStyle(style);
 }
 	
-EWXWEXPORT(void, wxPen_SetStipple)(void* _obj, void* stipple)
+EWXWEXPORT(void,wxPen_SetStipple)(void* self,wxBitmap* stipple)
 {
 #ifdef __WIN32__
-	((wxPen*)_obj)->SetStipple(*((wxBitmap*)stipple));
+	((wxPen*)self)->SetStipple(*stipple);
 #endif
 }
 	
-EWXWEXPORT(void, wxPen_SetDashes)(void* _obj, int nb_dashes, void* dash)
+EWXWEXPORT(void,wxPen_SetDashes)(void* self,int nb_dashes,void* dash)
 {
-	((wxPen*)_obj)->SetDashes(nb_dashes, (wxDash*)dash);
+	((wxPen*)self)->SetDashes(nb_dashes, (wxDash*)dash);
 }
 	
-EWXWEXPORT(void, wxPen_SetJoin)(void* _obj, int join)
+EWXWEXPORT(void,wxPen_SetJoin)(void* self,int join)
 {
-	((wxPen*)_obj)->SetJoin(join);
+	((wxPen*)self)->SetJoin(join);
 }
 	
-EWXWEXPORT(void, wxPen_SetCap)(void* _obj, int cap)
+EWXWEXPORT(void,wxPen_SetCap)(void* self,int cap)
 {
-	((wxPen*)_obj)->SetCap(cap);
+	((wxPen*)self)->SetCap(cap);
 }
 	
-EWXWEXPORT(void, wxPen_GetColour)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxPen_GetColour)(void* self,wxColour* _ref)
 {
-	*((wxColour*)_ref) = ((wxPen*)_obj)->GetColour();
+	*_ref = ((wxPen*)self)->GetColour();
 }
 	
-EWXWEXPORT(int, wxPen_GetWidth)(void* _obj)
+EWXWEXPORT(int,wxPen_GetWidth)(void* self)
 {
-	return ((wxPen*)_obj)->GetWidth();
+	return ((wxPen*)self)->GetWidth();
 }
 	
-EWXWEXPORT(int, wxPen_GetStyle)(void* _obj)
+EWXWEXPORT(int,wxPen_GetStyle)(void* self)
 {
-	return ((wxPen*)_obj)->GetStyle();
+	return ((wxPen*)self)->GetStyle();
 }
 	
-EWXWEXPORT(int, wxPen_GetJoin)(void* _obj)
+EWXWEXPORT(int,wxPen_GetJoin)(void* self)
 {
-	return ((wxPen*)_obj)->GetJoin();
+	return ((wxPen*)self)->GetJoin();
 }
 	
-EWXWEXPORT(int, wxPen_GetCap)(void* _obj)
+EWXWEXPORT(int,wxPen_GetCap)(void* self)
 {
-	return ((wxPen*)_obj)->GetCap();
+	return ((wxPen*)self)->GetCap();
 }
 	
-EWXWEXPORT(int, wxPen_GetDashes)(void* _obj, void* ptr)
+EWXWEXPORT(int,wxPen_GetDashes)(void* self,void* ptr)
 {
-	return ((wxPen*)_obj)->GetDashes((wxDash**)ptr);
+	return ((wxPen*)self)->GetDashes((wxDash**)ptr);
 }
 	
-EWXWEXPORT(void, wxPen_GetStipple)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxPen_GetStipple)(void* self,wxBitmap* _ref)
 {
 #ifdef __WIN32__
-	*((wxBitmap*)_ref) = *(((wxPen*)_obj)->GetStipple());
+	*_ref = *(((wxPen*)self)->GetStipple());
 #endif
 }
 	
diff --git a/wxc/src/eljprintdlg.cpp b/wxc/src/eljprintdlg.cpp
--- a/wxc/src/eljprintdlg.cpp
+++ b/wxc/src/eljprintdlg.cpp
@@ -3,45 +3,45 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxPrintDialog_Create) (void* parent, void* data)
+EWXWEXPORT(void*,wxPrintDialog_Create)(wxWindow* parent,wxPrintDialogData* data)
 {
-    return (void*) new wxPrintDialog((wxWindow*)parent, (wxPrintDialogData*)data);
+	return (void*)new wxPrintDialog(parent, data);
 }
 
-EWXWEXPORT(void, wxPrintDialog_GetPrintData)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxPrintDialog_GetPrintData)(wxPrintDialog* self,wxPrintData* _ref)
 {
-	*((wxPrintData*)_ref) = ((wxPrintDialog*)_obj)->GetPrintData();
+	*_ref = self->GetPrintData();
 }
 
 	
-EWXWEXPORT(void*, wxPrintDialog_GetPrintDC)(void* _obj)
+EWXWEXPORT(void*,wxPrintDialog_GetPrintDC)(wxPrintDialog* self)
 {
-	return (void*)((wxPrintDialog*)_obj)->GetPrintDC();
+	return (void*)self->GetPrintDC();
 }
 	
-EWXWEXPORT(void*, wxPageSetupDialog_Create) (void* parent, void* data)
+EWXWEXPORT(void*,wxPageSetupDialog_Create)(wxWindow* parent,wxPageSetupData* data)
 {
-    return (void*) new wxPageSetupDialog((wxWindow*)parent, (wxPageSetupData*)data);
+	return (void*)new wxPageSetupDialog(parent, data);
 }
 
-EWXWEXPORT(void, wxPageSetupDialog_GetPageSetupData)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxPageSetupDialog_GetPageSetupData)(wxPageSetupDialog* self,wxPageSetupData* _ref)
 {
-	*((wxPageSetupData*)_ref) = ((wxPageSetupDialog*)_obj)->GetPageSetupData();
+	*_ref = self->GetPageSetupData();
 }
 	
-EWXWEXPORT(void*, wxPageSetupDialogData_Create)()
+EWXWEXPORT(void*,wxPageSetupDialogData_Create)()
 {
-    return (void*) new wxPageSetupDialogData();
+	return (void*)new wxPageSetupDialogData();
 }
 
-EWXWEXPORT(void*, wxPageSetupDialogData_CreateFromData)(void* printData)
+EWXWEXPORT(void*,wxPageSetupDialogData_CreateFromData)(wxPrintData* printData)
 {
-    return (void*) new wxPageSetupDialogData(*((wxPrintData*)printData));
+	return (void*)new wxPageSetupDialogData(*printData);
 }
 
-EWXWEXPORT(void, wxPageSetupDialogData_Delete)(void* _obj)
+EWXWEXPORT(void,wxPageSetupDialogData_Delete)(wxPageSetupDialogData* self)
 {
-    delete (wxPageSetupDialogData*)_obj;
+	delete self;
 }
 
 EWXWEXPORT(void, wxPageSetupDialogData_GetPaperSize)(void* _obj, void* w, void* h)
@@ -51,9 +51,9 @@
 	*(int*)h = tmp.y;
 }
 	
-EWXWEXPORT(int, wxPageSetupDialogData_GetPaperId)(void* _obj)
+EWXWEXPORT(int,wxPageSetupDialogData_GetPaperId)(wxPageSetupDialogData* self)
 {
-	return (int)((wxPageSetupDialogData*)_obj)->GetPaperId();
+	return (int)self->GetPaperId();
 }
 	
 EWXWEXPORT(void, wxPageSetupDialogData_GetMinMarginTopLeft)(void* _obj, void* x, void* y)
@@ -84,139 +84,139 @@
 	*(int*)y = tmp.y;
 }
 	
-EWXWEXPORT(int, wxPageSetupDialogData_GetDefaultMinMargins)(void* _obj)
+EWXWEXPORT(int,wxPageSetupDialogData_GetDefaultMinMargins)(wxPageSetupDialogData* self)
 {
-	return (int)((wxPageSetupDialogData*)_obj)->GetDefaultMinMargins();
+	return (int)self->GetDefaultMinMargins();
 }
 	
-EWXWEXPORT(int, wxPageSetupDialogData_GetEnableMargins)(void* _obj)
+EWXWEXPORT(int,wxPageSetupDialogData_GetEnableMargins)(wxPageSetupDialogData* self)
 {
-	return (int)((wxPageSetupDialogData*)_obj)->GetEnableMargins();
+	return (int)self->GetEnableMargins();
 }
 	
-EWXWEXPORT(int, wxPageSetupDialogData_GetEnableOrientation)(void* _obj)
+EWXWEXPORT(int,wxPageSetupDialogData_GetEnableOrientation)(wxPageSetupDialogData* self)
 {
-	return (int)((wxPageSetupDialogData*)_obj)->GetEnableOrientation();
+	return (int)self->GetEnableOrientation();
 }
 	
-EWXWEXPORT(int, wxPageSetupDialogData_GetEnablePaper)(void* _obj)
+EWXWEXPORT(int,wxPageSetupDialogData_GetEnablePaper)(wxPageSetupDialogData* self)
 {
-	return (int)((wxPageSetupDialogData*)_obj)->GetEnablePaper();
+	return (int)self->GetEnablePaper();
 }
 	
-EWXWEXPORT(int, wxPageSetupDialogData_GetEnablePrinter)(void* _obj)
+EWXWEXPORT(int,wxPageSetupDialogData_GetEnablePrinter)(wxPageSetupDialogData* self)
 {
-	return (int)((wxPageSetupDialogData*)_obj)->GetEnablePrinter();
+	return (int)self->GetEnablePrinter();
 }
 	
-EWXWEXPORT(int, wxPageSetupDialogData_GetDefaultInfo)(void* _obj)
+EWXWEXPORT(int,wxPageSetupDialogData_GetDefaultInfo)(wxPageSetupDialogData* self)
 {
-	return (int)((wxPageSetupDialogData*)_obj)->GetDefaultInfo();
+	return (int)self->GetDefaultInfo();
 }
 	
-EWXWEXPORT(int, wxPageSetupDialogData_GetEnableHelp)(void* _obj)
+EWXWEXPORT(int,wxPageSetupDialogData_GetEnableHelp)(wxPageSetupDialogData* self)
 {
-	return (int)((wxPageSetupDialogData*)_obj)->GetEnableHelp();
+	return (int)self->GetEnableHelp();
 }
 	
-EWXWEXPORT(void, wxPageSetupDialogData_SetPaperSize)(void* _obj, int w, int h)
+EWXWEXPORT(void,wxPageSetupDialogData_SetPaperSize)(wxPageSetupDialogData* self,int w,int h)
 {
-	((wxPageSetupDialogData*)_obj)->SetPaperSize(wxSize(w, h));
+	self->SetPaperSize(wxSize(w, h));
 }
 	
-EWXWEXPORT(void, wxPageSetupDialogData_SetPaperId)(void* _obj, void* id)
+EWXWEXPORT(void,wxPageSetupDialogData_SetPaperId)(wxPageSetupDialogData* self,void* id)
 {
-	((wxPageSetupDialogData*)_obj)->SetPaperId(*((wxPaperSize*)id));
+	self->SetPaperId(*((wxPaperSize*)id));
 }
 	
-EWXWEXPORT(void, wxPageSetupDialogData_SetPaperSizeId)(void* _obj, int id)
+EWXWEXPORT(void,wxPageSetupDialogData_SetPaperSizeId)(wxPageSetupDialogData* self,int id)
 {
-	((wxPageSetupDialogData*)_obj)->SetPaperSize((wxPaperSize)id);
+	self->SetPaperSize((wxPaperSize)id);
 }
 	
-EWXWEXPORT(void, wxPageSetupDialogData_SetMinMarginTopLeft)(void* _obj, int x, int y)
+EWXWEXPORT(void,wxPageSetupDialogData_SetMinMarginTopLeft)(wxPageSetupDialogData* self,int x,int y)
 {
-	((wxPageSetupDialogData*)_obj)->SetMinMarginTopLeft(wxPoint(x, y));
+	self->SetMinMarginTopLeft(wxPoint(x, y));
 }
 	
-EWXWEXPORT(void, wxPageSetupDialogData_SetMinMarginBottomRight)(void* _obj, int x, int y)
+EWXWEXPORT(void,wxPageSetupDialogData_SetMinMarginBottomRight)(wxPageSetupDialogData* self,int x,int y)
 {
-	((wxPageSetupDialogData*)_obj)->SetMinMarginBottomRight(wxPoint(x, y));
+	self->SetMinMarginBottomRight(wxPoint(x, y));
 }
 	
-EWXWEXPORT(void, wxPageSetupDialogData_SetMarginTopLeft)(void* _obj, int x, int y)
+EWXWEXPORT(void,wxPageSetupDialogData_SetMarginTopLeft)(wxPageSetupDialogData* self,int x,int y)
 {
-	((wxPageSetupDialogData*)_obj)->SetMarginTopLeft(wxPoint(x, y));
+	self->SetMarginTopLeft(wxPoint(x, y));
 }
 	
-EWXWEXPORT(void, wxPageSetupDialogData_SetMarginBottomRight)(void* _obj, int x, int y)
+EWXWEXPORT(void,wxPageSetupDialogData_SetMarginBottomRight)(wxPageSetupDialogData* self,int x,int y)
 {
-	((wxPageSetupDialogData*)_obj)->SetMarginBottomRight(wxPoint(x, y));
+	self->SetMarginBottomRight(wxPoint(x, y));
 }
 	
-EWXWEXPORT(void, wxPageSetupDialogData_SetDefaultMinMargins)(void* _obj, int flag)
+EWXWEXPORT(void,wxPageSetupDialogData_SetDefaultMinMargins)(wxPageSetupDialogData* self,bool flag)
 {
-	((wxPageSetupDialogData*)_obj)->SetDefaultMinMargins(flag != 0);
+	self->SetDefaultMinMargins(flag);
 }
 	
-EWXWEXPORT(void, wxPageSetupDialogData_SetDefaultInfo)(void* _obj, int flag)
+EWXWEXPORT(void,wxPageSetupDialogData_SetDefaultInfo)(wxPageSetupDialogData* self,bool flag)
 {
-	((wxPageSetupDialogData*)_obj)->SetDefaultInfo(flag != 0);
+	self->SetDefaultInfo(flag);
 }
 	
-EWXWEXPORT(void, wxPageSetupDialogData_EnableMargins)(void* _obj, int flag)
+EWXWEXPORT(void,wxPageSetupDialogData_EnableMargins)(wxPageSetupDialogData* self,bool flag)
 {
-	((wxPageSetupDialogData*)_obj)->EnableMargins(flag != 0);
+	self->EnableMargins(flag);
 }
 	
-EWXWEXPORT(void, wxPageSetupDialogData_EnableOrientation)(void* _obj, int flag)
+EWXWEXPORT(void,wxPageSetupDialogData_EnableOrientation)(wxPageSetupDialogData* self,bool flag)
 {
-	((wxPageSetupDialogData*)_obj)->EnableOrientation(flag != 0);
+	self->EnableOrientation(flag);
 }
 	
-EWXWEXPORT(void, wxPageSetupDialogData_EnablePaper)(void* _obj, int flag)
+EWXWEXPORT(void,wxPageSetupDialogData_EnablePaper)(wxPageSetupDialogData* self,bool flag)
 {
-	((wxPageSetupDialogData*)_obj)->EnablePaper(flag != 0);
+	self->EnablePaper(flag);
 }
 	
-EWXWEXPORT(void, wxPageSetupDialogData_EnablePrinter)(void* _obj, int flag)
+EWXWEXPORT(void,wxPageSetupDialogData_EnablePrinter)(wxPageSetupDialogData* self,bool flag)
 {
-	((wxPageSetupDialogData*)_obj)->EnablePrinter(flag != 0);
+	self->EnablePrinter(flag);
 }
 	
-EWXWEXPORT(void, wxPageSetupDialogData_EnableHelp)(void* _obj, int flag)
+EWXWEXPORT(void,wxPageSetupDialogData_EnableHelp)(wxPageSetupDialogData* self,bool flag)
 {
-	((wxPageSetupDialogData*)_obj)->EnableHelp(flag != 0);
+	self->EnableHelp(flag);
 }
 	
-EWXWEXPORT(void, wxPageSetupDialogData_CalculateIdFromPaperSize)(void* _obj)
+EWXWEXPORT(void,wxPageSetupDialogData_CalculateIdFromPaperSize)(wxPageSetupDialogData* self)
 {
-	((wxPageSetupDialogData*)_obj)->CalculateIdFromPaperSize();
+	self->CalculateIdFromPaperSize();
 }
 	
-EWXWEXPORT(void, wxPageSetupDialogData_CalculatePaperSizeFromId)(void* _obj)
+EWXWEXPORT(void,wxPageSetupDialogData_CalculatePaperSizeFromId)(wxPageSetupDialogData* self)
 {
-	((wxPageSetupDialogData*)_obj)->CalculatePaperSizeFromId();
+	self->CalculatePaperSizeFromId();
 }
 	
-EWXWEXPORT(void, wxPageSetupDialogData_Assign)(void* _obj, void* data)
+EWXWEXPORT(void,wxPageSetupDialogData_Assign)(wxPageSetupDialogData* self,wxPageSetupDialogData* data)
 {
-	*((wxPageSetupDialogData*)_obj) = *((wxPageSetupDialogData*)data);
+	*self = *data;
 }
 	
-EWXWEXPORT(void, wxPageSetupDialogData_AssignData)(void* _obj, void* data)
+EWXWEXPORT(void,wxPageSetupDialogData_AssignData)(wxPageSetupDialogData* self,wxPrintData* data)
 {
-	*((wxPageSetupDialogData*)_obj) = *((wxPrintData*)data);
+	*self = *data;
 }
 	
-EWXWEXPORT(void, wxPageSetupDialogData_GetPrintData)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxPageSetupDialogData_GetPrintData)(wxPageSetupDialogData* self,wxPrintData* _ref)
 {
-	*((wxPrintData*)_ref) = ((wxPageSetupDialogData*)_obj)->GetPrintData();
+	*_ref = self->GetPrintData();
 }
 	
-EWXWEXPORT(void, wxPageSetupDialogData_SetPrintData)(void* _obj, void* printData)
+EWXWEXPORT(void,wxPageSetupDialogData_SetPrintData)(wxPageSetupDialogData* self,wxPrintData* printData)
 {
-	((wxPageSetupDialogData*)_obj)->SetPrintData(*((wxPrintData*)printData));
+	self->SetPrintData(*printData);
 }
 	
 }
diff --git a/wxc/src/eljprinting.cpp b/wxc/src/eljprinting.cpp
--- a/wxc/src/eljprinting.cpp
+++ b/wxc/src/eljprinting.cpp
@@ -20,367 +20,361 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxPrinter_Create)(void* data)
+EWXWEXPORT(void*,wxPrinter_Create)(void* data)
 {
-	return (void*) new wxPrinter((wxPrintDialogData*)data);
+	return (void*)new wxPrinter((wxPrintDialogData*)data);
 }
 
-EWXWEXPORT(void, wxPrinter_Delete)(void* _obj)
+EWXWEXPORT(void,wxPrinter_Delete)(wxPrinter* self)
 {
-	delete (wxPrinter*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(void*, wxPrinter_CreateAbortWindow)(void* _obj, void* parent, void* printout)
+EWXWEXPORT(void*,wxPrinter_CreateAbortWindow)(wxPrinter* self,wxWindow* parent,wxPrintout* printout)
 {
-	return (void*)((wxPrinter*)_obj)->CreateAbortWindow((wxWindow*)parent, (wxPrintout*)printout);
+	return (void*)self->CreateAbortWindow(parent, printout);
 }
 	
-EWXWEXPORT(void, wxPrinter_ReportError)(void* _obj, void* parent, void* printout, void* message)
+EWXWEXPORT(void,wxPrinter_ReportError)(wxPrinter* self,wxWindow* parent,wxPrintout* printout,wxString* message)
 {
-	((wxPrinter*)_obj)->ReportError((wxWindow*)parent, (wxPrintout*)printout, (wxChar*)message);
+	self->ReportError(parent, printout,*message);
 }
 	
-EWXWEXPORT(void, wxPrinter_GetPrintDialogData)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxPrinter_GetPrintDialogData)(wxPrinter* self,wxPrintDialogData* _ref)
 {
-	*((wxPrintDialogData*)_ref) = ((wxPrinter*)_obj)->GetPrintDialogData();
+	*_ref = self->GetPrintDialogData();
 }
 	
-EWXWEXPORT(int, wxPrinter_GetAbort)(void* _obj)
+EWXWEXPORT(bool,wxPrinter_GetAbort)(wxPrinter* self)
 {
-	return (int)((wxPrinter*)_obj)->GetAbort();
+	return self->GetAbort();
 }
 	
-EWXWEXPORT(int, wxPrinter_GetLastError)(void* _obj)
+EWXWEXPORT(int,wxPrinter_GetLastError)(wxPrinter* self)
 {
-	return ((wxPrinter*)_obj)->GetLastError();
+	return self->GetLastError();
 }
 	
-EWXWEXPORT(int, wxPrinter_Setup)(void* _obj, void* parent)
+EWXWEXPORT(bool,wxPrinter_Setup)(wxPrinter* self,wxWindow* parent)
 {
-	return (int)((wxPrinter*)_obj)->Setup((wxWindow*)parent);
+	return self->Setup(parent);
 }
 	
-EWXWEXPORT(int, wxPrinter_Print)(void* _obj, void* parent, void* printout, int prompt)
+EWXWEXPORT(bool,wxPrinter_Print)(wxPrinter* self,wxWindow* parent,wxPrintout* printout,bool prompt)
 {
-	return (int)((wxPrinter*)_obj)->Print((wxWindow*)parent, (wxPrintout*)printout, prompt != 0);
+	return self->Print(parent, printout, prompt);
 }
 	
-EWXWEXPORT(void*, wxPrinter_PrintDialog)(void* _obj, void* parent)
+EWXWEXPORT(void*,wxPrinter_PrintDialog)(wxPrinter* self,wxWindow* parent)
 {
-	return (void*)((wxPrinter*)_obj)->PrintDialog((wxWindow*)parent);
+	return (void*)self->PrintDialog(parent);
 }
 	
-EWXWEXPORT(void*, ELJPrintout_Create)(void* title, void* _obj, void* _DoOnBeginDocument, void* _DoOnEndDocument, void* _DoOnBeginPrinting, void* _DoOnEndPrinting, void* _DoOnPreparePrinting, void* _DoOnPrintPage, void* _DoOnHasPage, void* DoOnPageInfo)
+EWXWEXPORT(void*,ELJPrintout_Create)(void* title,void* self,void* _DoOnBeginDocument,void* _DoOnEndDocument,void* _DoOnBeginPrinting,void* _DoOnEndPrinting,void* _DoOnPreparePrinting,void* _DoOnPrintPage,void* _DoOnHasPage,void* DoOnPageInfo)
 {
-	return (void*) new ELJPrintout( title, _obj, _DoOnBeginDocument, _DoOnEndDocument, _DoOnBeginPrinting, _DoOnEndPrinting, _DoOnPreparePrinting, _DoOnPrintPage, _DoOnHasPage, DoOnPageInfo);
+	return (void*)new ELJPrintout( title, self, _DoOnBeginDocument, _DoOnEndDocument, _DoOnBeginPrinting, _DoOnEndPrinting, _DoOnPreparePrinting, _DoOnPrintPage, _DoOnHasPage, DoOnPageInfo);
 }
-EWXWEXPORT(void, ELJPrintout_Delete)(void* _obj)
+EWXWEXPORT(void,ELJPrintout_Delete)(ELJPrintout* self)
 {
-	delete (ELJPrintout*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(int, ELJPrintout_GetTitle)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,ELJPrintout_GetTitle)(ELJPrintout* self)
 {
-	wxString title = ((ELJPrintout*)_obj)->GetTitle();
-	if (_buf) wxStrncpy ((wxChar*)_buf, title.c_str(), title.Length());
-	return title.Length();
+	return new wxString(self->GetTitle());
 }
 	
-EWXWEXPORT(void*, ELJPrintout_GetDC)(void* _obj)
+EWXWEXPORT(void*,ELJPrintout_GetDC)(ELJPrintout* self)
 {
-	return (void*)((ELJPrintout*)_obj)->GetDC();
+	return (void*)self->GetDC();
 }
 	
-EWXWEXPORT(void, ELJPrintout_SetDC)(void* _obj, void* dc)
+EWXWEXPORT(void,ELJPrintout_SetDC)(ELJPrintout* self,wxDC* dc)
 {
-	((ELJPrintout*)_obj)->SetDC((wxDC*)dc);
+	self->SetDC(dc);
 }
 	
-EWXWEXPORT(void, ELJPrintout_SetPageSizePixels)(void* _obj, int w, int  h)
+EWXWEXPORT(void,ELJPrintout_SetPageSizePixels)(void* _obj,int w,int h)
 {
 	((ELJPrintout*)_obj)->SetPageSizePixels(w, h);
 }
 	
-EWXWEXPORT(void, ELJPrintout_GetPageSizePixels)(void* _obj, void* w, void* h)
+EWXWEXPORT(void,ELJPrintout_GetPageSizePixels)(void* _obj,int* w,int* h)
 {
-	((ELJPrintout*)_obj)->GetPageSizePixels((int*)w, (int*)h);
+	((ELJPrintout*)_obj)->GetPageSizePixels(w,h);
 }
 	
-EWXWEXPORT(void, ELJPrintout_SetPageSizeMM)(void* _obj, int w, int  h)
+EWXWEXPORT(void,ELJPrintout_SetPageSizeMM)(void* _obj,int w,int h)
 {
 	((ELJPrintout*)_obj)->SetPageSizeMM(w, h);
 }
 	
-EWXWEXPORT(void, ELJPrintout_GetPageSizeMM)(void* _obj, void* w, void* h)
+EWXWEXPORT(void,ELJPrintout_GetPageSizeMM)(void* _obj,int* w,int* h)
 {
-	((ELJPrintout*)_obj)->GetPageSizeMM((int*)w, (int*)h);
+	((ELJPrintout*)_obj)->GetPageSizeMM(w,h);
 }
 	
-EWXWEXPORT(void, ELJPrintout_SetPPIScreen)(void* _obj, int x, int y)
+EWXWEXPORT(void,ELJPrintout_SetPPIScreen)(void* _obj,int x,int y)
 {
 	((ELJPrintout*)_obj)->SetPPIScreen(x, y);
 }
 	
-EWXWEXPORT(void, ELJPrintout_GetPPIScreen)(void* _obj, void* x, void* y)
+EWXWEXPORT(void,ELJPrintout_GetPPIScreen)(void* _obj,int* x,int* y)
 {
-	((ELJPrintout*)_obj)->GetPPIScreen((int*)x, (int*)y);
+	((ELJPrintout*)_obj)->GetPPIScreen(x,y);
 }
 	
-EWXWEXPORT(void, ELJPrintout_SetPPIPrinter)(void* _obj, int x, int y)
+EWXWEXPORT(void,ELJPrintout_SetPPIPrinter)(void* _obj,int x,int y)
 {
 	((ELJPrintout*)_obj)->SetPPIPrinter(x, y);
 }
 	
-EWXWEXPORT(void, ELJPrintout_GetPPIPrinter)(void* _obj, void* x, void* y)
+EWXWEXPORT(void,ELJPrintout_GetPPIPrinter)(void* _obj,int* x,int* y)
 {
-	((ELJPrintout*)_obj)->GetPPIPrinter((int*)x, (int*)y);
+	((ELJPrintout*)_obj)->GetPPIPrinter(x,y);
 }
 	
-EWXWEXPORT(int, ELJPrintout_IsPreview)(void* _obj)
+EWXWEXPORT(bool,ELJPrintout_IsPreview)(ELJPrintout* self)
 {
-	return (int)((ELJPrintout*)_obj)->IsPreview();
+	return self->IsPreview();
 }
 	
-EWXWEXPORT(void, ELJPrintout_SetIsPreview)(void* _obj, int p)
+EWXWEXPORT(void,ELJPrintout_SetIsPreview)(ELJPrintout* self,bool p)
 {
-	((ELJPrintout*)_obj)->SetIsPreview(p != 0);
+	self->SetIsPreview(p);
 }
 
-EWXWEXPORT(void*, wxPreviewCanvas_Create) (void* preview, void* parent, int x, int y, int w, int h, int style)
+EWXWEXPORT(void*,wxPreviewCanvas_Create)(void* preview,wxWindow* parent,int x,int y,int w,int h,int style)
 {
-	return (void*) new wxPreviewCanvas(	(wxPrintPreviewBase*)preview,
-										(wxWindow*)parent,
-                    					wxPoint(x, y),
-                    					wxSize(w, h),
+	return (void*) new wxPreviewCanvas(	(wxPrintPreviewBase*)preview,parent,
+                    				 wxPoint(x, y),wxSize(w, h),
                     					(long)style);
 }
 
-EWXWEXPORT(void*, ELJPreviewFrame_Create) (void* _obj, void* _init, void* _create_canvas, void* _create_toolbar, void* preview, void* parent, void* title,int x, int y,int w, int h, int style)
+EWXWEXPORT(void*,ELJPreviewFrame_Create)(void* _obj,void* _init,void* _create_canvas,void* _create_toolbar,void* preview,void* parent,void* title,int x,int y,int w,int h,int style)
 {
     return (void*) new ELJPreviewFrame(_obj, _init, _create_canvas, _create_toolbar, preview, parent, title, x, y, w, h, style);
 }
 
-EWXWEXPORT(void, ELJPreviewFrame_Initialize) (void* _obj)
+EWXWEXPORT(void,ELJPreviewFrame_Initialize)(ELJPreviewFrame* self)
 {
-	((ELJPreviewFrame*)_obj)->Initialize();
+	self->Initialize();
 }
 	
-EWXWEXPORT(void, ELJPreviewFrame_SetPreviewCanvas) (void* _obj, void* obj)
+EWXWEXPORT(void,ELJPreviewFrame_SetPreviewCanvas)(ELJPreviewFrame* self,void* obj)
 {
-	((ELJPreviewFrame*)_obj)->SetPreviewCanvas (obj);
+	self->SetPreviewCanvas (obj);
 }
 	
-EWXWEXPORT(void, ELJPreviewFrame_SetControlBar) (void* _obj, void* obj)
+EWXWEXPORT(void,ELJPreviewFrame_SetControlBar)(ELJPreviewFrame* self,void* obj)
 {
-	((ELJPreviewFrame*)_obj)->SetControlBar (obj);
+	self->SetControlBar (obj);
 }
 	
-EWXWEXPORT(void, ELJPreviewFrame_SetPrintPreview) (void* _obj, void* obj)
+EWXWEXPORT(void,ELJPreviewFrame_SetPrintPreview)(ELJPreviewFrame* self,void* obj)
 {
-	((ELJPreviewFrame*)_obj)->SetPrintPreview (obj);
+	self->SetPrintPreview (obj);
 }
 	
-EWXWEXPORT(void*, ELJPreviewFrame_GetPreviewCanvas) (void* _obj)
+EWXWEXPORT(void*,ELJPreviewFrame_GetPreviewCanvas)(ELJPreviewFrame* self)
 {
-	return (void*)((ELJPreviewFrame*)_obj)->GetPreviewCanvas ();
+	return (void*)self->GetPreviewCanvas ();
 }
 	
-EWXWEXPORT(void*, ELJPreviewFrame_GetControlBar) (void* _obj)
+EWXWEXPORT(void*,ELJPreviewFrame_GetControlBar)(ELJPreviewFrame* self)
 {
-	return (void*)((ELJPreviewFrame*)_obj)->GetControlBar ();
+	return (void*)self->GetControlBar ();
 }
 	
-EWXWEXPORT(void*, ELJPreviewFrame_GetPrintPreview) (void* _obj)
+EWXWEXPORT(void*,ELJPreviewFrame_GetPrintPreview)(ELJPreviewFrame* self)
 {
-	return (void*)((ELJPreviewFrame*)_obj)->GetPrintPreview ();
+	return (void*)self->GetPrintPreview ();
 }
 	
-EWXWEXPORT(void*, ELJPreviewControlBar_Create) (void* preview, int buttons, void* parent, void* title,int x, int y,int w, int h, int style)
+EWXWEXPORT(void*, ELJPreviewControlBar_Create)(void* preview,int buttons,wxWindow* parent,void* title,int x,int y,int w,int h,int style)
 {
-    return (void*) new wxPreviewControlBar((wxPrintPreviewBase*)preview, (long)buttons, (wxWindow*)parent, wxPoint(x, y), wxSize(w, h), (long)style);
+    return (void*) new wxPreviewControlBar((wxPrintPreviewBase*)preview, (long)buttons, parent, wxPoint(x, y), wxSize(w, h), (long)style);
 }
 
-EWXWEXPORT(void*, wxPrintPreview_CreateFromDialogData) (void* printout, void* printoutForPrinting, void* data)
+EWXWEXPORT(void*,wxPrintPreview_CreateFromDialogData)(void* printout,void* printoutForPrinting,void* data)
 {
     return (void*) new wxPrintPreview((wxPrintout*)printout, (wxPrintout*)printoutForPrinting, (wxPrintDialogData*)data);
 }
 
-EWXWEXPORT(void*, wxPrintPreview_CreateFromData) (void* printout, void* printoutForPrinting, void* data)
+EWXWEXPORT(void*,wxPrintPreview_CreateFromData)(void* printout,void* printoutForPrinting,void* data)
 {
     return (void*) new wxPrintPreview((wxPrintout*)printout, (wxPrintout*)printoutForPrinting, (wxPrintData*)data);
 }
 
-EWXWEXPORT(void, wxPrintPreview_Delete)(void* _obj)
+EWXWEXPORT(void,wxPrintPreview_Delete)(wxPrintPreview* self)
 {
-	delete (wxPrintPreview*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(int, wxPrintPreview_SetCurrentPage)(void* _obj, int pageNum)
+EWXWEXPORT(void,wxPrintPreview_SetCurrentPage)(wxPrintPreview* self,int pageNum)
 {
-	return (int)((wxPrintPreview*)_obj)->SetCurrentPage(pageNum);
+	self->SetCurrentPage(pageNum);
 }
 	
-EWXWEXPORT(int, wxPrintPreview_GetCurrentPage)(void* _obj)
+EWXWEXPORT(int,wxPrintPreview_GetCurrentPage)(wxPrintPreview* self)
 {
-	return ((wxPrintPreview*)_obj)->GetCurrentPage();
+	return self->GetCurrentPage();
 }
 	
-EWXWEXPORT(void, wxPrintPreview_SetPrintout)(void* _obj, void* printout)
+EWXWEXPORT(void,wxPrintPreview_SetPrintout)(wxPrintPreview* self,wxPrintout* printout)
 {
-	((wxPrintPreview*)_obj)->SetPrintout((wxPrintout*)printout);
+	self->SetPrintout(printout);
 }
 	
-EWXWEXPORT(void*, wxPrintPreview_GetPrintout)(void* _obj)
+EWXWEXPORT(void*,wxPrintPreview_GetPrintout)(wxPrintPreview* self)
 {
-	return (void*)((wxPrintPreview*)_obj)->GetPrintout();
+	return (void*)self->GetPrintout();
 }
 	
-EWXWEXPORT(void*, wxPrintPreview_GetPrintoutForPrinting)(void* _obj)
+EWXWEXPORT(void*,wxPrintPreview_GetPrintoutForPrinting)(wxPrintPreview* self)
 {
-	return (void*)((wxPrintPreview*)_obj)->GetPrintoutForPrinting();
+	return (void*)self->GetPrintoutForPrinting();
 }
 	
-EWXWEXPORT(void, wxPrintPreview_SetFrame)(void* _obj, void* frame)
+EWXWEXPORT(void,wxPrintPreview_SetFrame)(wxPrintPreview* self,wxFrame* frame)
 {
-	((wxPrintPreview*)_obj)->SetFrame((wxFrame*)frame);
+	self->SetFrame(frame);
 }
 	
-EWXWEXPORT(void, wxPrintPreview_SetCanvas)(void* _obj, void* canvas)
+EWXWEXPORT(void,wxPrintPreview_SetCanvas)(wxPrintPreview* self,wxPreviewCanvas* canvas)
 {
-	((wxPrintPreview*)_obj)->SetCanvas((wxPreviewCanvas*)canvas);
+	self->SetCanvas(canvas);
 }
 	
-EWXWEXPORT(void*, wxPrintPreview_GetFrame)(void* _obj)
+EWXWEXPORT(void*,wxPrintPreview_GetFrame)(wxPrintPreview* self)
 {
-	return (void*)((wxPrintPreview*)_obj)->GetFrame();
+	return (void*)self->GetFrame();
 }
 	
-EWXWEXPORT(void*, wxPrintPreview_GetCanvas)(void* _obj)
+EWXWEXPORT(void*,wxPrintPreview_GetCanvas)(wxPrintPreview* self)
 {
-	return (void*)((wxPrintPreview*)_obj)->GetCanvas();
+	return (void*)self->GetCanvas();
 }
 	
-EWXWEXPORT(int, wxPrintPreview_PaintPage)(void* _obj, void* canvas, void* dc)
+EWXWEXPORT(bool,wxPrintPreview_PaintPage)(wxPrintPreview* self,wxPreviewCanvas* canvas,wxDC* dc)
 {
-	return (int)((wxPrintPreview*)_obj)->PaintPage((wxPreviewCanvas*)canvas, *((wxDC*)dc));
+	return self->PaintPage(canvas,*dc);
 }
 	
-EWXWEXPORT(int, wxPrintPreview_DrawBlankPage)(void* _obj, void* canvas, void* dc)
+EWXWEXPORT(bool,wxPrintPreview_DrawBlankPage)(wxPrintPreview* self,wxPreviewCanvas* canvas,wxDC* dc)
 {
-	return (int)((wxPrintPreview*)_obj)->DrawBlankPage((wxPreviewCanvas*)canvas, *((wxDC*)dc));
+	return self->DrawBlankPage(canvas,*dc);
 }
 	
-EWXWEXPORT(int, wxPrintPreview_RenderPage)(void* _obj, int pageNum)
+EWXWEXPORT(bool,wxPrintPreview_RenderPage)(wxPrintPreview* self,int pageNum)
 {
-	return (int)((wxPrintPreview*)_obj)->RenderPage(pageNum);
+	return self->RenderPage(pageNum);
 }
 	
-EWXWEXPORT(void, wxPrintPreview_GetPrintDialogData)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxPrintPreview_GetPrintDialogData)(wxPrintPreview* self,wxPrintDialogData* _ref)
 {
-	*((wxPrintDialogData*)_ref) = ((wxPrintPreview*)_obj)->GetPrintDialogData();
+	*_ref = self->GetPrintDialogData();
 }
 	
-EWXWEXPORT(void, wxPrintPreview_SetZoom)(void* _obj, int percent)
+EWXWEXPORT(void,wxPrintPreview_SetZoom)(wxPrintPreview* self,int percent)
 {
-	((wxPrintPreview*)_obj)->SetZoom(percent);
+	self->SetZoom(percent);
 }
 	
-EWXWEXPORT(int, wxPrintPreview_GetZoom)(void* _obj)
+EWXWEXPORT(int,wxPrintPreview_GetZoom)(wxPrintPreview* self)
 {
-	return ((wxPrintPreview*)_obj)->GetZoom();
+	return self->GetZoom();
 }
 	
-EWXWEXPORT(int, wxPrintPreview_GetMaxPage)(void* _obj)
+EWXWEXPORT(int,wxPrintPreview_GetMaxPage)(wxPrintPreview* self)
 {
-	return ((wxPrintPreview*)_obj)->GetMaxPage();
+	return self->GetMaxPage();
 }
 	
-EWXWEXPORT(int, wxPrintPreview_GetMinPage)(void* _obj)
+EWXWEXPORT(int,wxPrintPreview_GetMinPage)(wxPrintPreview* self)
 {
-	return ((wxPrintPreview*)_obj)->GetMinPage();
+	return self->GetMinPage();
 }
 	
-EWXWEXPORT(int, wxPrintPreview_Ok)(void* _obj)
+EWXWEXPORT(bool,wxPrintPreview_IsOk)(wxPrintPreview* self)
 {
-	return (int)((wxPrintPreview*)_obj)->Ok();
+	return self->IsOk();
 }
 	
-EWXWEXPORT(void, wxPrintPreview_SetOk)(void* _obj, int ok)
+EWXWEXPORT(void,wxPrintPreview_SetOk)(wxPrintPreview* self,bool ok)
 {
-	((wxPrintPreview*)_obj)->SetOk(ok != 0);
+	self->SetOk(ok);
 }
 	
-EWXWEXPORT(int, wxPrintPreview_Print)(void* _obj, int interactive)
+EWXWEXPORT(bool,wxPrintPreview_Print)(wxPrintPreview* self,bool interactive)
 {
-	return (int)((wxPrintPreview*)_obj)->Print(interactive != 0);
+	return self->Print(interactive);
 }
 	
-EWXWEXPORT(void, wxPrintPreview_DetermineScaling)(void* _obj)
+EWXWEXPORT(void,wxPrintPreview_DetermineScaling)(wxPrintPreview* self)
 {
-	((wxPrintPreview*)_obj)->DetermineScaling();
+	self->DetermineScaling();
 }
 	
-EWXWEXPORT(void*, wxPrintData_Create)()
+EWXWEXPORT(void*,wxPrintData_Create)()
 {
 	return (void*) new wxPrintData();
 }
 
-EWXWEXPORT(void, wxPrintData_Delete)(void* _obj)
+EWXWEXPORT(void,wxPrintData_Delete)(wxPrintData* self)
 {
-    delete (wxPrintData*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(void*, wxPostScriptPrintNativeData_Create)()
+EWXWEXPORT(void*,wxPostScriptPrintNativeData_Create)()
 {
 #ifdef wxUSE_POSTSCRIPT
-	return (void*) new wxPostScriptPrintNativeData();
+	return (void*)new wxPostScriptPrintNativeData();
 #else
 	return NULL;
 #endif
 }
 
-EWXWEXPORT(void, wxPostScriptPrintNativeData_Delete)(void* _obj)
+EWXWEXPORT(void,wxPostScriptPrintNativeData_Delete)(void* self)
 {
 #ifdef wxUSE_POSTSCRIPT
-    delete (wxPostScriptPrintNativeData*)_obj;
+	delete (wxPostScriptPrintNativeData*)self;
 #endif
 }
 
-EWXWEXPORT(int, wxPrintData_GetNoCopies)(void* _obj)
+EWXWEXPORT(int,wxPrintData_GetNoCopies)(wxPrintData* self)
 {
-	return ((wxPrintData*)_obj)->GetNoCopies();
+	return self->GetNoCopies();
 }
 	
-EWXWEXPORT(int, wxPrintData_GetCollate)(void* _obj)
+EWXWEXPORT(bool,wxPrintData_GetCollate)(wxPrintData* self)
 {
-	return (int)((wxPrintData*)_obj)->GetCollate();
+	return self->GetCollate();
 }
 	
-EWXWEXPORT(int, wxPrintData_GetOrientation)(void* _obj)
+EWXWEXPORT(int,wxPrintData_GetOrientation)(wxPrintData* self)
 {
-	return ((wxPrintData*)_obj)->GetOrientation();
+	return self->GetOrientation();
 }
 	
-EWXWEXPORT(int, wxPrintData_GetPrinterName)(void* _obj, void* _ref)
+EWXWEXPORT(wxString*,wxPrintData_GetPrinterName)(wxPrintData* self)
 {
-	wxString tmp = ((wxPrintData*)_obj)->GetPrinterName();
-	if (_ref) wxStrncpy ((wxChar*)_ref, tmp.c_str(), tmp.Length());
-	return tmp.Length();
+	return new wxString(self->GetPrinterName());
 }
 	
-EWXWEXPORT(int, wxPrintData_GetColour)(void* _obj)
+EWXWEXPORT(bool,wxPrintData_GetColour)(wxPrintData* self)
 {
-	return (int)((wxPrintData*)_obj)->GetColour();
+	return self->GetColour();
 }
 	
-EWXWEXPORT(int, wxPrintData_GetDuplex)(void* _obj)
+EWXWEXPORT(int,wxPrintData_GetDuplex)(wxPrintData* self)
 {
-	return (int)((wxPrintData*)_obj)->GetDuplex();
+	return (int)self->GetDuplex();
 }
 	
-EWXWEXPORT(int, wxPrintData_GetPaperId)(void* _obj)
+EWXWEXPORT(int,wxPrintData_GetPaperId)(wxPrintData* self)
 {
-	return (int)((wxPrintData*)_obj)->GetPaperId();
+	return (int)self->GetPaperId();
 }
 	
 EWXWEXPORT(void, wxPrintData_GetPaperSize)(void* _obj, void* w, void* h)
@@ -390,443 +384,438 @@
 	*((int*)h) = tmp.y;
 }
 	
-EWXWEXPORT(int, wxPrintData_GetQuality)(void* _obj)
+EWXWEXPORT(int,wxPrintData_GetQuality)(wxPrintData* self)
 {
-	return (int)((wxPrintData*)_obj)->GetQuality();
+	return (int)self->GetQuality();
 }
 	
-EWXWEXPORT(void, wxPrintData_SetNoCopies)(void* _obj, int v)
+EWXWEXPORT(void,wxPrintData_SetNoCopies)(wxPrintData* self,int v)
 {
-	((wxPrintData*)_obj)->SetNoCopies(v);
+	self->SetNoCopies(v);
 }
 	
-EWXWEXPORT(void, wxPrintData_SetCollate)(void* _obj, int flag)
+EWXWEXPORT(void,wxPrintData_SetCollate)(wxPrintData* self,bool flag)
 {
-	((wxPrintData*)_obj)->SetCollate(flag != 0);
+	self->SetCollate(flag);
 }
 	
-EWXWEXPORT(void, wxPrintData_SetOrientation)(void* _obj, int orient)
+EWXWEXPORT(void,wxPrintData_SetOrientation)(wxPrintData* self,int orient)
 {
-	((wxPrintData*)_obj)->SetOrientation(orient);
+	self->SetOrientation(orient);
 }
 	
-EWXWEXPORT(void, wxPrintData_SetPrinterName)(void* _obj, void* name)
+EWXWEXPORT(void,wxPrintData_SetPrinterName)(wxPrintData* self,wxString* name)
 {
-	((wxPrintData*)_obj)->SetPrinterName((wxChar*)name);
+	self->SetPrinterName(*name);
 }
 	
-EWXWEXPORT(void, wxPrintData_SetColour)(void* _obj, int colour)
+EWXWEXPORT(void,wxPrintData_SetColour)(wxPrintData* self,bool colour)
 {
-	((wxPrintData*)_obj)->SetColour(colour != 0);
+	self->SetColour(colour);
 }
 	
-EWXWEXPORT(void, wxPrintData_SetDuplex)(void* _obj, int duplex)
+EWXWEXPORT(void,wxPrintData_SetDuplex)(wxPrintData* self,int duplex)
 {
-	((wxPrintData*)_obj)->SetDuplex((wxDuplexMode)duplex);
+	self->SetDuplex((wxDuplexMode)duplex);
 }
 	
-EWXWEXPORT(void, wxPrintData_SetPaperId)(void* _obj, int sizeId)
+EWXWEXPORT(void,wxPrintData_SetPaperId)(wxPrintData* self,int sizeId)
 {
-	((wxPrintData*)_obj)->SetPaperId((wxPaperSize)sizeId);
+	self->SetPaperId((wxPaperSize)sizeId);
 }
 	
-EWXWEXPORT(void, wxPrintData_SetPaperSize)(void* _obj, int w, int h)
+EWXWEXPORT(void,wxPrintData_SetPaperSize)(wxPrintData* self,int w,int h)
 {
-	((wxPrintData*)_obj)->SetPaperSize(wxSize(w, h));
+	self->SetPaperSize(wxSize(w, h));
 }
 	
-EWXWEXPORT(void, wxPrintData_SetQuality)(void* _obj, int quality)
+EWXWEXPORT(void,wxPrintData_SetQuality)(wxPrintData* self,int quality)
 {
-	((wxPrintData*)_obj)->SetQuality((wxPrintQuality)quality);
+	self->SetQuality((wxPrintQuality)quality);
 }
 	
-EWXWEXPORT(int, wxPrintData_GetPrinterCommand)(void* _obj, void* _ref)
+EWXWEXPORT(wxString*,wxPrintData_GetPrinterCommand)(void* self)
 {
 #if wxVERSION_NUMBER < 2600 || defined (wxUSE_POSTSCRIPT)
 #ifdef wxUSE_POSTSCRIPT
-	wxString tmp = ((wxPostScriptPrintNativeData*)_obj)->GetPrinterCommand();
+	wxString tmp = ((wxPostScriptPrintNativeData*)self)->GetPrinterCommand();
 #else
-	wxString tmp = ((wxPrintData*)_obj)->GetPrinterCommand();
+	wxString tmp = ((wxPrintData*)self)->GetPrinterCommand();
 #endif
-	if (_ref) wxStrncpy ((wxChar*)_ref, tmp.c_str(), tmp.Length());
-	return tmp.Length();
+	return new wxString(tmp);
 #else
-	return false;
+	return NULL;
 #endif
 }
 	
-EWXWEXPORT(int, wxPrintData_GetPrinterOptions)(void* _obj, void* _ref)
+EWXWEXPORT(wxString*,wxPrintData_GetPrinterOptions)(void* self)
 {
 #if wxVERSION_NUMBER < 2600 || defined (wxUSE_POSTSCRIPT)
 #ifdef wxUSE_POSTSCRIPT
-	wxString tmp = ((wxPostScriptPrintNativeData*)_obj)->GetPrinterOptions();
+	wxString tmp = ((wxPostScriptPrintNativeData*)self)->GetPrinterOptions();
 #else
-	wxString tmp = ((wxPrintData*)_obj)->GetPrinterOptions();
+	wxString tmp = ((wxPrintData*)self)->GetPrinterOptions();
 #endif
-	if (_ref) wxStrncpy ((wxChar*)_ref, tmp.c_str(), tmp.Length());
-	return tmp.Length();
+	return new wxString(tmp);
 #else
-	return false;
+	return NULL;
 #endif
 }
 	
-EWXWEXPORT(int, wxPrintData_GetPreviewCommand)(void* _obj, void* _ref)
+EWXWEXPORT(wxString*,wxPrintData_GetPreviewCommand)(void* self)
 {
 #if wxVERSION_NUMBER < 2600 || defined (wxUSE_POSTSCRIPT)
 #ifdef wxUSE_POSTSCRIPT
-	wxString tmp = ((wxPostScriptPrintNativeData*)_obj)->GetPreviewCommand();
+	wxString tmp = ((wxPostScriptPrintNativeData*)self)->GetPreviewCommand();
 #else
-	wxString tmp = ((wxPrintData*)_obj)->GetPreviewCommand();
+	wxString tmp = ((wxPrintData*)self)->GetPreviewCommand();
 #endif
-	if (_ref) wxStrncpy ((wxChar*)_ref, tmp.c_str(), tmp.Length());
-	return tmp.Length();
+	return new wxString(tmp);
 #else
-	return false;
+	return NULL;
 #endif
 }
 	
-EWXWEXPORT(int, wxPrintData_GetFilename)(void* _obj, void* _ref)
+EWXWEXPORT(wxString*,wxPrintData_GetFilename)(wxPrintData* self)
 {
-	wxString tmp = ((wxPrintData*)_obj)->GetFilename();
-	if (_ref) wxStrncpy ((wxChar*)_ref, tmp.c_str(), tmp.Length());
-	return tmp.Length();
+	wxString tmp = self->GetFilename();
+	return new wxString(tmp);
 }
 	
-EWXWEXPORT(int, wxPrintData_GetFontMetricPath)(void* _obj, void* _ref)
+EWXWEXPORT(wxString*,wxPrintData_GetFontMetricPath)(void* self)
 {
 #if wxVERSION_NUMBER < 2600 || defined (wxUSE_POSTSCRIPT)
 #ifdef wxUSE_POSTSCRIPT
-	wxString tmp = ((wxPostScriptPrintNativeData*)_obj)->GetFontMetricPath();
+	wxString tmp = ((wxPostScriptPrintNativeData*)self)->GetFontMetricPath();
 #else
-	wxString tmp = ((wxPrintData*)_obj)->GetFontMetricPath();
+	wxString tmp = ((wxPrintData*)self)->GetFontMetricPath();
 #endif
-	if (_ref) wxStrncpy ((wxChar*)_ref, tmp.c_str(), tmp.Length());
-	return tmp.Length();
+	return new wxString(tmp);
 #else
-	return false;
+	return NULL;
 #endif
 }
 	
-EWXWEXPORT(double, wxPrintData_GetPrinterScaleX)(void* _obj)
+EWXWEXPORT(double,wxPrintData_GetPrinterScaleX)(void* self)
 {
 #ifdef wxUSE_POSTSCRIPT
-	return ((wxPostScriptPrintNativeData*)_obj)->GetPrinterScaleX();
+	return ((wxPostScriptPrintNativeData*)self)->GetPrinterScaleX();
 #elif wxVERSION_NUMBER < 2600
-	return ((wxPrintData*)_obj)->GetPrinterScaleX();
+	return ((wxPrintData*)self)->GetPrinterScaleX();
 #else
-	return false;
+	return 0.0;
 #endif
 }
 	
-EWXWEXPORT(double, wxPrintData_GetPrinterScaleY)(void* _obj)
+EWXWEXPORT(double,wxPrintData_GetPrinterScaleY)(void* self)
 {
 #ifdef wxUSE_POSTSCRIPT
-	return ((wxPostScriptPrintNativeData*)_obj)->GetPrinterScaleY();
+	return ((wxPostScriptPrintNativeData*)self)->GetPrinterScaleY();
 #elif wxVERSION_NUMBER < 2600
-	return ((wxPrintData*)_obj)->GetPrinterScaleY();
+	return ((wxPrintData*)self)->GetPrinterScaleY();
 #else
-	return false;
+	return 0.0;
 #endif
 }
 	
-EWXWEXPORT(int, wxPrintData_GetPrinterTranslateX)(void* _obj)
+EWXWEXPORT(int,wxPrintData_GetPrinterTranslateX)(void* self)
 {
 #ifdef wxUSE_POSTSCRIPT
-	return ((wxPostScriptPrintNativeData*)_obj)->GetPrinterTranslateX();
+	return ((wxPostScriptPrintNativeData*)self)->GetPrinterTranslateX();
 #elif wxVERSION_NUMBER < 2600
-	return ((wxPrintData*)_obj)->GetPrinterTranslateX();
+	return ((wxPrintData*)self)->GetPrinterTranslateX();
 #else
-	return false;
+	return 0;
 #endif
 }
 	
-EWXWEXPORT(int, wxPrintData_GetPrinterTranslateY)(void* _obj)
+EWXWEXPORT(int,wxPrintData_GetPrinterTranslateY)(void* self)
 {
 #ifdef wxUSE_POSTSCRIPT
-	return ((wxPostScriptPrintNativeData*)_obj)->GetPrinterTranslateY();
+	return ((wxPostScriptPrintNativeData*)self)->GetPrinterTranslateY();
 #elif wxVERSION_NUMBER < 2600
-	return ((wxPrintData*)_obj)->GetPrinterTranslateY();
+	return ((wxPrintData*)self)->GetPrinterTranslateY();
 #else
-	return false;
+	return 0;
 #endif
 }
 	
-EWXWEXPORT(int, wxPrintData_GetPrintMode)(void* _obj)
+EWXWEXPORT(int,wxPrintData_GetPrintMode)(wxPrintData* self)
 {
-	return (int)((wxPrintData*)_obj)->GetPrintMode();
+	return (int)self->GetPrintMode();
 }
 	
-EWXWEXPORT(void, wxPrintData_SetPrinterCommand)(void* _obj, void* command)
+EWXWEXPORT(void,wxPrintData_SetPrinterCommand)(void* self,wxString* command)
 {
 #ifdef wxUSE_POSTSCRIPT
-	((wxPostScriptPrintNativeData*)_obj)->SetPrinterCommand((wxChar*)command);
+	((wxPostScriptPrintNativeData*)self)->SetPrinterCommand(*command);
 #elif wxVERSION_NUMBER < 2600
-	((wxPrintData*)_obj)->SetPrinterCommand((wxChar*)command);
+	((wxPrintData*)self)->SetPrinterCommand(*command);
 #endif
 }
 	
-EWXWEXPORT(void, wxPrintData_SetPrinterOptions)(void* _obj, void* options)
+EWXWEXPORT(void,wxPrintData_SetPrinterOptions)(void* self,wxString* options)
 {
 #ifdef wxUSE_POSTSCRIPT
-	((wxPostScriptPrintNativeData*)_obj)->SetPrinterOptions((wxChar*)options);
+	((wxPostScriptPrintNativeData*)self)->SetPrinterOptions(*options);
 #elif wxVERSION_NUMBER < 2600
-	((wxPrintData*)_obj)->SetPrinterOptions((wxChar*)options);
+	((wxPrintData*)self)->SetPrinterOptions(*options);
 #endif
 }
 	
-EWXWEXPORT(void, wxPrintData_SetPreviewCommand)(void* _obj, void* command)
+EWXWEXPORT(void,wxPrintData_SetPreviewCommand)(void* self,wxString* command)
 {
 #ifdef wxUSE_POSTSCRIPT
-	((wxPostScriptPrintNativeData*)_obj)->SetPreviewCommand((wxChar*)command);
+	((wxPostScriptPrintNativeData*)self)->SetPreviewCommand(*command);
 #elif wxVERSION_NUMBER < 2600
-	((wxPrintData*)_obj)->SetPreviewCommand((wxChar*)command);
+	((wxPrintData*)self)->SetPreviewCommand(*command);
 #endif
 }
 	
-EWXWEXPORT(void, wxPrintData_SetFilename)(void* _obj, void* filename)
+EWXWEXPORT(void,wxPrintData_SetFilename)(wxPrintData* self,wxString* filename)
 {
-	((wxPrintData*)_obj)->SetFilename((wxChar*)filename);
+	self->SetFilename(*filename);
 }
 	
-EWXWEXPORT(void, wxPrintData_SetFontMetricPath)(void* _obj, void* path)
+EWXWEXPORT(void,wxPrintData_SetFontMetricPath)(void* self,wxString* path)
 {
 #ifdef wxUSE_POSTSCRIPT
-	((wxPostScriptPrintNativeData*)_obj)->SetFontMetricPath((wxChar*)path);
+	((wxPostScriptPrintNativeData*)self)->SetFontMetricPath(*path);
 #elif wxVERSION_NUMBER < 2600
-	((wxPrintData*)_obj)->SetFontMetricPath((wxChar*)path);
+	((wxPrintData*)self)->SetFontMetricPath(*path);
 #endif
 }
 	
-EWXWEXPORT(void, wxPrintData_SetPrinterScaleX)(void* _obj, double x)
+EWXWEXPORT(void,wxPrintData_SetPrinterScaleX)(void* self,double x)
 {
 #ifdef wxUSE_POSTSCRIPT
-	((wxPostScriptPrintNativeData*)_obj)->SetPrinterScaleX(x);
+	((wxPostScriptPrintNativeData*)self)->SetPrinterScaleX(x);
 #elif wxVERSION_NUMBER < 2600
-	((wxPrintData*)_obj)->SetPrinterScaleX(x);
+	((wxPrintData*)self)->SetPrinterScaleX(x);
 #endif
 }
 	
-EWXWEXPORT(void, wxPrintData_SetPrinterScaleY)(void* _obj, double y)
+EWXWEXPORT(void,wxPrintData_SetPrinterScaleY)(void* self,double y)
 {
 #ifdef wxUSE_POSTSCRIPT
-	((wxPostScriptPrintNativeData*)_obj)->SetPrinterScaleY(y);
+	((wxPostScriptPrintNativeData*)self)->SetPrinterScaleY(y);
 #elif wxVERSION_NUMBER < 2600
-	((wxPrintData*)_obj)->SetPrinterScaleY(y);
+	((wxPrintData*)self)->SetPrinterScaleY(y);
 #endif
 }
 	
-EWXWEXPORT(void, wxPrintData_SetPrinterScaling)(void* _obj, double x, double y)
+EWXWEXPORT(void,wxPrintData_SetPrinterScaling)(void* self,double x,double y)
 {
 #ifdef wxUSE_POSTSCRIPT
-	((wxPostScriptPrintNativeData*)_obj)->SetPrinterScaling(x, y);
+	((wxPostScriptPrintNativeData*)self)->SetPrinterScaling(x, y);
 #elif wxVERSION_NUMBER < 2600
-	((wxPrintData*)_obj)->SetPrinterScaling(x, y);
+	((wxPrintData*)self)->SetPrinterScaling(x, y);
 #endif
 }
 	
-EWXWEXPORT(void, wxPrintData_SetPrinterTranslateX)(void* _obj, int x)
+EWXWEXPORT(void,wxPrintData_SetPrinterTranslateX)(void* self,int x)
 {
 #ifdef wxUSE_POSTSCRIPT
-	((wxPostScriptPrintNativeData*)_obj)->SetPrinterTranslateX((int)x);
+	((wxPostScriptPrintNativeData*)self)->SetPrinterTranslateX((int)x);
 #elif wxVERSION_NUMBER < 2600
-	((wxPrintData*)_obj)->SetPrinterTranslateX((int)x);
+	((wxPrintData*)self)->SetPrinterTranslateX((int)x);
 #endif
 }
 	
-EWXWEXPORT(void, wxPrintData_SetPrinterTranslateY)(void* _obj, int y)
+EWXWEXPORT(void,wxPrintData_SetPrinterTranslateY)(void* self,int y)
 {
 #ifdef wxUSE_POSTSCRIPT
-	((wxPostScriptPrintNativeData*)_obj)->SetPrinterTranslateY((int)y);
+	((wxPostScriptPrintNativeData*)self)->SetPrinterTranslateY((int)y);
 #elif wxVERSION_NUMBER < 2600
-	((wxPrintData*)_obj)->SetPrinterTranslateY((long)y);
+	((wxPrintData*)self)->SetPrinterTranslateY((long)y);
 #endif
 }
 	
-EWXWEXPORT(void, wxPrintData_SetPrinterTranslation)(void* _obj, int x, int y)
+EWXWEXPORT(void,wxPrintData_SetPrinterTranslation)(void* self,int x,int y)
 {
 #ifdef wxUSE_POSTSCRIPT
-	((wxPostScriptPrintNativeData*)_obj)->SetPrinterTranslation((long)x, (long)y);
+	((wxPostScriptPrintNativeData*)self)->SetPrinterTranslation((long)x, (long)y);
 #elif wxVERSION_NUMBER < 2600
-	((wxPrintData*)_obj)->SetPrinterTranslation((long)x, (long)y);
+	((wxPrintData*)self)->SetPrinterTranslation((long)x, (long)y);
 #endif
 }
 	
-EWXWEXPORT(void, wxPrintData_SetPrintMode)(void* _obj, int printMode)
+EWXWEXPORT(void,wxPrintData_SetPrintMode)(void* self,int printMode)
 {
-	((wxPrintData*)_obj)->SetPrintMode((wxPrintMode)printMode);
+	((wxPrintData*)self)->SetPrintMode((wxPrintMode)printMode);
 }
 	
-EWXWEXPORT(void, wxPrintData_Assign)(void* _obj, void* data)
+EWXWEXPORT(void,wxPrintData_Assign)(void* self,void* data)
 {
-	*((wxPrintData*)_obj) = *((wxPrintData*)data);
+	*((wxPrintData*)self) = *((wxPrintData*)data);
 }
 	
-EWXWEXPORT(void*, wxPrintDialogData_CreateDefault)()
+EWXWEXPORT(void*,wxPrintDialogData_CreateDefault)()
 {
-	return (void*) new wxPrintDialogData();
+	return (void*)new wxPrintDialogData();
 }
 
-EWXWEXPORT(void*, wxPrintDialogData_CreateFromData)(void* printData)
+EWXWEXPORT(void*,wxPrintDialogData_CreateFromData)(void* printData)
 {
-	return (void*) new wxPrintDialogData(*((wxPrintData*)printData));
+	return (void*)new wxPrintDialogData(*((wxPrintData*)printData));
 }
 
-EWXWEXPORT(void, wxPrintDialogData_Delete) (void* _obj)
+EWXWEXPORT(void,wxPrintDialogData_Delete)(void* self)
 {
-	delete (wxPrintDialogData*)_obj;
+	delete (wxPrintDialogData*)self;
 }
 
-EWXWEXPORT(int, wxPrintDialogData_GetFromPage)(void* _obj)
+EWXWEXPORT(int,wxPrintDialogData_GetFromPage)(void* self)
 {
-	return ((wxPrintDialogData*)_obj)->GetFromPage();
+	return ((wxPrintDialogData*)self)->GetFromPage();
 }
 	
-EWXWEXPORT(int, wxPrintDialogData_GetToPage)(void* _obj)
+EWXWEXPORT(int,wxPrintDialogData_GetToPage)(void* self)
 {
-	return ((wxPrintDialogData*)_obj)->GetToPage();
+	return ((wxPrintDialogData*)self)->GetToPage();
 }
 	
-EWXWEXPORT(int, wxPrintDialogData_GetMinPage)(void* _obj)
+EWXWEXPORT(int,wxPrintDialogData_GetMinPage)(void* self)
 {
-	return ((wxPrintDialogData*)_obj)->GetMinPage();
+	return ((wxPrintDialogData*)self)->GetMinPage();
 }
 	
-EWXWEXPORT(int, wxPrintDialogData_GetMaxPage)(void* _obj)
+EWXWEXPORT(int,wxPrintDialogData_GetMaxPage)(void* self)
 {
-	return ((wxPrintDialogData*)_obj)->GetMaxPage();
+	return ((wxPrintDialogData*)self)->GetMaxPage();
 }
 	
-EWXWEXPORT(int, wxPrintDialogData_GetNoCopies)(void* _obj)
+EWXWEXPORT(int,wxPrintDialogData_GetNoCopies)(void* self)
 {
-	return ((wxPrintDialogData*)_obj)->GetNoCopies();
+	return ((wxPrintDialogData*)self)->GetNoCopies();
 }
 	
-EWXWEXPORT(int, wxPrintDialogData_GetAllPages)(void* _obj)
+EWXWEXPORT(bool,wxPrintDialogData_GetAllPages)(wxPrintDialogData* self)
 {
-	return (int)((wxPrintDialogData*)_obj)->GetAllPages();
+	return self->GetAllPages();
 }
 	
-EWXWEXPORT(int, wxPrintDialogData_GetSelection)(void* _obj)
+EWXWEXPORT(bool,wxPrintDialogData_GetSelection)(wxPrintDialogData* self)
 {
-	return (int)((wxPrintDialogData*)_obj)->GetSelection();
+	return self->GetSelection();
 }
 	
-EWXWEXPORT(int, wxPrintDialogData_GetCollate)(void* _obj)
+EWXWEXPORT(bool,wxPrintDialogData_GetCollate)(wxPrintDialogData* self)
 {
-	return (int)((wxPrintDialogData*)_obj)->GetCollate();
+	return self->GetCollate();
 }
 	
-EWXWEXPORT(int, wxPrintDialogData_GetPrintToFile)(void* _obj)
+EWXWEXPORT(bool,wxPrintDialogData_GetPrintToFile)(wxPrintDialogData* self)
 {
-	return (int)((wxPrintDialogData*)_obj)->GetPrintToFile();
+	return self->GetPrintToFile();
 }
 
-EWXWEXPORT(void, wxPrintDialogData_SetFromPage)(void* _obj, int v)
+EWXWEXPORT(void,wxPrintDialogData_SetFromPage)(wxPrintDialogData* self,int v)
 {
-	((wxPrintDialogData*)_obj)->SetFromPage(v);
+	self->SetFromPage(v);
 }
 	
-EWXWEXPORT(void, wxPrintDialogData_SetToPage)(void* _obj, int v)
+EWXWEXPORT(void,wxPrintDialogData_SetToPage)(wxPrintDialogData* self,int v)
 {
-	((wxPrintDialogData*)_obj)->SetToPage(v);
+	self->SetToPage(v);
 }
 	
-EWXWEXPORT(void, wxPrintDialogData_SetMinPage)(void* _obj, int v)
+EWXWEXPORT(void,wxPrintDialogData_SetMinPage)(wxPrintDialogData* self,int v)
 {
-	((wxPrintDialogData*)_obj)->SetMinPage(v);
+	self->SetMinPage(v);
 }
 	
-EWXWEXPORT(void, wxPrintDialogData_SetMaxPage)(void* _obj, int v)
+EWXWEXPORT(void,wxPrintDialogData_SetMaxPage)(wxPrintDialogData* self,int v)
 {
-	((wxPrintDialogData*)_obj)->SetMaxPage(v);
+	self->SetMaxPage(v);
 }
 	
-EWXWEXPORT(void, wxPrintDialogData_SetNoCopies)(void* _obj, int v)
+EWXWEXPORT(void,wxPrintDialogData_SetNoCopies)(wxPrintDialogData* self,int v)
 {
-	((wxPrintDialogData*)_obj)->SetNoCopies(v);
+	self->SetNoCopies(v);
 }
 	
-EWXWEXPORT(void, wxPrintDialogData_SetAllPages)(void* _obj, int flag)
+EWXWEXPORT(void,wxPrintDialogData_SetAllPages)(wxPrintDialogData* self,bool flag)
 {
-	((wxPrintDialogData*)_obj)->SetAllPages(flag != 0);
+	self->SetAllPages(flag);
 }
 	
-EWXWEXPORT(void, wxPrintDialogData_SetSelection)(void* _obj, int flag)
+EWXWEXPORT(void,wxPrintDialogData_SetSelection)(wxPrintDialogData* self,bool flag)
 {
-	((wxPrintDialogData*)_obj)->SetSelection(flag != 0);
+	self->SetSelection(flag);
 }
 	
-EWXWEXPORT(void, wxPrintDialogData_SetCollate)(void* _obj, int flag)
+EWXWEXPORT(void,wxPrintDialogData_SetCollate)(wxPrintDialogData* self,bool flag)
 {
-	((wxPrintDialogData*)_obj)->SetCollate(flag != 0);
+	self->SetCollate(flag);
 }
 	
-EWXWEXPORT(void, wxPrintDialogData_SetPrintToFile)(void* _obj, int flag)
+EWXWEXPORT(void,wxPrintDialogData_SetPrintToFile)(wxPrintDialogData* self,bool flag)
 {
-	((wxPrintDialogData*)_obj)->SetPrintToFile(flag != 0);
+	self->SetPrintToFile(flag);
 }
 
-EWXWEXPORT(void, wxPrintDialogData_EnablePrintToFile)(void* _obj, int flag)
+EWXWEXPORT(void,wxPrintDialogData_EnablePrintToFile)(wxPrintDialogData* self,bool flag)
 {
-	((wxPrintDialogData*)_obj)->EnablePrintToFile(flag != 0);
+	self->EnablePrintToFile(flag);
 }
 	
-EWXWEXPORT(void, wxPrintDialogData_EnableSelection)(void* _obj, int flag)
+EWXWEXPORT(void,wxPrintDialogData_EnableSelection)(wxPrintDialogData* self,bool flag)
 {
-	((wxPrintDialogData*)_obj)->EnableSelection(flag != 0);
+	self->EnableSelection(flag);
 }
 	
-EWXWEXPORT(void, wxPrintDialogData_EnablePageNumbers)(void* _obj, int flag)
+EWXWEXPORT(void,wxPrintDialogData_EnablePageNumbers)(wxPrintDialogData* self,bool flag)
 {
-	((wxPrintDialogData*)_obj)->EnablePageNumbers(flag != 0);
+	self->EnablePageNumbers(flag);
 }
 	
-EWXWEXPORT(void, wxPrintDialogData_EnableHelp)(void* _obj, int flag)
+EWXWEXPORT(void,wxPrintDialogData_EnableHelp)(wxPrintDialogData* self,bool flag)
 {
-	((wxPrintDialogData*)_obj)->EnableHelp(flag != 0);
+	self->EnableHelp(flag);
 }
 	
-EWXWEXPORT(int, wxPrintDialogData_GetEnablePrintToFile)(void* _obj)
+EWXWEXPORT(bool,wxPrintDialogData_GetEnablePrintToFile)(wxPrintDialogData* self)
 {
-	return (int)((wxPrintDialogData*)_obj)->GetEnablePrintToFile();
+	return self->GetEnablePrintToFile();
 }
 	
-EWXWEXPORT(int, wxPrintDialogData_GetEnableSelection)(void* _obj)
+EWXWEXPORT(bool,wxPrintDialogData_GetEnableSelection)(wxPrintDialogData* self)
 {
-	return (int)((wxPrintDialogData*)_obj)->GetEnableSelection();
+	return self->GetEnableSelection();
 }
 	
-EWXWEXPORT(int, wxPrintDialogData_GetEnablePageNumbers)(void* _obj)
+EWXWEXPORT(bool,wxPrintDialogData_GetEnablePageNumbers)(wxPrintDialogData* self)
 {
-	return (int)((wxPrintDialogData*)_obj)->GetEnablePageNumbers();
+	return self->GetEnablePageNumbers();
 }
 	
-EWXWEXPORT(int, wxPrintDialogData_GetEnableHelp)(void* _obj)
+EWXWEXPORT(bool,wxPrintDialogData_GetEnableHelp)(wxPrintDialogData* self)
 {
-	return (int)((wxPrintDialogData*)_obj)->GetEnableHelp();
+	return self->GetEnableHelp();
 }
 	
-EWXWEXPORT(void, wxPrintDialogData_GetPrintData)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxPrintDialogData_GetPrintData)(wxPrintDialogData* self,wxPrintData* _ref)
 {
-	*((wxPrintData*)_ref) = ((wxPrintDialogData*)_obj)->GetPrintData();
+	*_ref = self->GetPrintData();
 }
 	
-EWXWEXPORT(void, wxPrintDialogData_SetPrintData)(void* _obj, void* printData)
+EWXWEXPORT(void,wxPrintDialogData_SetPrintData)(wxPrintDialogData* self,wxPrintData* printData)
 {
-	((wxPrintDialogData*)_obj)->SetPrintData(*((wxPrintData*)printData));
+	self->SetPrintData(*printData);
 }
 	
-EWXWEXPORT(void, wxPrintDialogData_Assign)(void* _obj, void* data)
+EWXWEXPORT(void,wxPrintDialogData_Assign)(wxPrintDialogData* self,wxPrintDialogData* data)
 {
-	*((wxPrintDialogData*)_obj) = *((wxPrintDialogData*)data);
+	*self = *data;
 }
 	
-EWXWEXPORT(void, wxPrintDialogData_AssignData)(void* _obj, void* data)
+EWXWEXPORT(void,wxPrintDialogData_AssignData)(wxPrintDialogData* self,wxPrintData* data)
 {
-	*((wxPrintDialogData*)_obj) = *((wxPrintData*)data);
+	*self = *data;
 }
 	
-EWXWEXPORT(wxPostScriptDC*, wxPostScriptDC_Create) (const wxPrintData* printData)
+EWXWEXPORT(wxPostScriptDC*,wxPostScriptDC_Create)(wxPrintData* printData)
 {
 #ifdef wxUSE_POSTSCRIPT
 	return new wxPostScriptDC(*printData);
@@ -835,21 +824,21 @@
 #endif
 }
 
-EWXWEXPORT(void, wxPostScriptDC_Delete) (wxPostScriptDC* self)
+EWXWEXPORT(void,wxPostScriptDC_Delete)(wxPostScriptDC* self)
 {
 #ifdef wxUSE_POSTSCRIPT
 	if (self) delete self;
 #endif
 }
 
-EWXWEXPORT(void, wxPostScriptDC_SetResolution)(wxPostScriptDC* self, int ppi )
+EWXWEXPORT(void,wxPostScriptDC_SetResolution)(wxPostScriptDC* self,int ppi)
 {
 #ifdef wxUSE_POSTSCRIPT
 	self->SetResolution(ppi);
 #endif
 }
 
-EWXWEXPORT(int, wxPostScriptDC_GetResolution)(wxPostScriptDC* self, int ppi )
+EWXWEXPORT(int,wxPostScriptDC_GetResolution)(wxPostScriptDC* self,int ppi)
 {
 #ifdef wxUSE_POSTSCRIPT
 	return self->GetResolution();
@@ -858,7 +847,7 @@
 #endif
 }
 
-EWXWEXPORT(void*,wxPrinterDC_Create)(const wxPrintData* printData)
+EWXWEXPORT(void*,wxPrinterDC_Create)(wxPrintData* printData)
 {
 #if defined(__WXGTK__) 
 	return NULL;
@@ -867,10 +856,10 @@
 #endif
 }
 
-EWXWEXPORT(void, wxPrinterDC_Delete) (void* _obj)
+EWXWEXPORT(void,wxPrinterDC_Delete)(void* self)
 {
 #if !defined(__WXGTK__)
-	delete (wxPrinterDC*)_obj;
+	delete (wxPrinterDC*)self;
 #endif
 }
 
diff --git a/wxc/src/eljprocess.cpp b/wxc/src/eljprocess.cpp
--- a/wxc/src/eljprocess.cpp
+++ b/wxc/src/eljprocess.cpp
@@ -5,168 +5,168 @@
 
 {
 
-EWXWEXPORT(void*, wxProcess_CreateDefault)(void* _prt, int _id)
+EWXWEXPORT(void*,wxProcess_CreateDefault)(wxEvtHandler* _prt,int _id)
 {
-	return (void*)new wxProcess ((wxEvtHandler*)_prt, _id);
+	return (void*)new wxProcess (_prt, _id);
 }
 
-EWXWEXPORT(void*, wxProcess_CreateRedirect)(void* _prt, int _rdr)
+EWXWEXPORT(void*,wxProcess_CreateRedirect)(wxEvtHandler* _prt,bool _rdr)
 {
-	return (void*)new wxProcess ((wxEvtHandler*)_prt, _rdr != 0);
+	return (void*)new wxProcess (_prt, _rdr);
 }
 
-EWXWEXPORT(void, wxProcess_Delete)(void* _obj)
+EWXWEXPORT(void,wxProcess_Delete)(wxProcess* self)
 {
-    delete (wxProcess*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(void, wxProcess_Redirect)(void* _obj)
+EWXWEXPORT(void,wxProcess_Redirect)(wxProcess* self)
 {
-	((wxProcess*)_obj)->Redirect();
+	self->Redirect();
 }
 	
-EWXWEXPORT(int, wxProcess_IsRedirected)(void* _obj)
+EWXWEXPORT(bool,wxProcess_IsRedirected)(wxProcess* self)
 {
-	return (int)((wxProcess*)_obj)->IsRedirected();
+	return self->IsRedirected();
 }
 	
-EWXWEXPORT(void, wxProcess_Detach)(void* _obj)
+EWXWEXPORT(void,wxProcess_Detach)(wxProcess* self)
 {
-	((wxProcess*)_obj)->Detach();
+	self->Detach();
 }
 	
-EWXWEXPORT(void*, wxProcess_GetInputStream)(void* _obj)
+EWXWEXPORT(void*,wxProcess_GetInputStream)(wxProcess* self)
 {
-	return (void*)((wxProcess*)_obj)->GetInputStream();
+	return (void*)self->GetInputStream();
 }
 	
-EWXWEXPORT(void*, wxProcess_GetErrorStream)(void* _obj)
+EWXWEXPORT(void*,wxProcess_GetErrorStream)(wxProcess* self)
 {
-	return (void*)((wxProcess*)_obj)->GetErrorStream();
+	return (void*)self->GetErrorStream();
 }
 	
-EWXWEXPORT(void*, wxProcess_GetOutputStream)(void* _obj)
+EWXWEXPORT(void*,wxProcess_GetOutputStream)(wxProcess* self)
 {
-	return (void*)((wxProcess*)_obj)->GetOutputStream();
+	return (void*)self->GetOutputStream();
 }
 	
-EWXWEXPORT(void, wxProcess_CloseOutput)(void* _obj)
+EWXWEXPORT(void,wxProcess_CloseOutput)(wxProcess* self)
 {
-	((wxProcess*)_obj)->CloseOutput();
+	self->CloseOutput();
 }
 	
 
-EWXWEXPORT(int, wxProcessEvent_GetPid)(void* _obj)
+EWXWEXPORT(int,wxProcessEvent_GetPid)(wxProcessEvent* self)
 {
-	return ((wxProcessEvent*)_obj)->GetPid();
+	return self->GetPid();
 }
 
-EWXWEXPORT(int, wxProcessEvent_GetExitCode)(void* _obj)
+EWXWEXPORT(int,wxProcessEvent_GetExitCode)(wxProcessEvent* self)
 {
-	return ((wxProcessEvent*)_obj)->GetExitCode();
+	return self->GetExitCode();
 }
 
 
-EWXWEXPORT(int, wxStreamBase_GetLastError)(void* _obj)
+EWXWEXPORT(int,wxStreamBase_GetLastError)(wxStreamBase* self)
 {
-	return (int)((wxStreamBase*)_obj)->GetLastError();
+	return (int)self->GetLastError();
 }
 	
-EWXWEXPORT(int, wxStreamBase_IsOk)(void* _obj)
+EWXWEXPORT(bool,wxStreamBase_IsOk)(wxStreamBase* self)
 {
-	return (int)((wxStreamBase*)_obj)->IsOk();
+	return self->IsOk();
 }
 	
-EWXWEXPORT(int, wxStreamBase_GetSize)(void* _obj)
+EWXWEXPORT(int,wxStreamBase_GetSize)(wxStreamBase* self)
 {
-	return (int)((wxStreamBase*)_obj)->GetSize();
+	return (int)self->GetSize();
 }
 	
 
-EWXWEXPORT(void, wxOutputStream_Delete)(void* _obj)
+EWXWEXPORT(void,wxOutputStream_Delete)(wxOutputStream* self)
 {
-	delete (wxOutputStream*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(void, wxOutputStream_PutC)(void* _obj, char c)
+EWXWEXPORT(void,wxOutputStream_PutC)(wxOutputStream* self,char c)
 {
-	((wxOutputStream*)_obj)->PutC(c);
+	self->PutC(c);
 }
 	
-EWXWEXPORT(void, wxOutputStream_Write)(void* _obj, void* buffer, int size)
+EWXWEXPORT(void,wxOutputStream_Write)(wxOutputStream* self,void* buffer,int size)
 {
-	((wxOutputStream*)_obj)->Write((const void*)buffer, (size_t)size);
+	self->Write((const void*)buffer, (size_t)size);
 }
 	
-EWXWEXPORT(int, wxOutputStream_Seek)(void* _obj, int pos, int mode)
+EWXWEXPORT(int,wxOutputStream_Seek)(wxOutputStream* self,int pos,int mode)
 {
-	return (int)((wxOutputStream*)_obj)->SeekO((off_t)pos, (wxSeekMode)mode);
+	return (int)self->SeekO((off_t)pos, (wxSeekMode)mode);
 }
 	
-EWXWEXPORT(int, wxOutputStream_Tell)(void* _obj)
+EWXWEXPORT(int,wxOutputStream_Tell)(wxOutputStream* self)
 {
-	return (int)((wxOutputStream*)_obj)->TellO();
+	return (int)self->TellO();
 }
 	
-EWXWEXPORT(int, wxOutputStream_LastWrite)(void* _obj)
+EWXWEXPORT(int,wxOutputStream_LastWrite)(wxOutputStream* self)
 {
-	return (int)((wxOutputStream*)_obj)->LastWrite();
+	return (int)self->LastWrite();
 }
 	
-EWXWEXPORT(void, wxOutputStream_Sync)(void* _obj)
+EWXWEXPORT(void,wxOutputStream_Sync)(void* self)
 {
-	((wxOutputStream*)_obj)->Sync();
+	((wxOutputStream*)self)->Sync();
 }
 	
 
-EWXWEXPORT(void, wxInputStream_Delete)(void* _obj)
+EWXWEXPORT(void,wxInputStream_Delete)(wxInputStream* self)
 {
-	delete (wxInputStream*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(int, wxInputStream_Eof)(void* _obj)
+EWXWEXPORT(bool,wxInputStream_Eof)(wxInputStream* self)
 {
-	return (int)((wxInputStream*)_obj)->Eof();
+	return self->Eof();
 }
 	
-EWXWEXPORT(char, wxInputStream_Peek)(void* _obj)
+EWXWEXPORT(char,wxInputStream_Peek)(wxInputStream* self)
 {
-	return ((wxInputStream*)_obj)->Peek();
+	return self->Peek();
 }
 	
-EWXWEXPORT(char, wxInputStream_GetC)(void* _obj)
+EWXWEXPORT(char,wxInputStream_GetC)(wxInputStream* self)
 {
-	return ((wxInputStream*)_obj)->GetC();
+	return self->GetC();
 }
 	
-EWXWEXPORT(void, wxInputStream_Read)(void* _obj, void *buffer, int size)
+EWXWEXPORT(void,wxInputStream_Read)(wxInputStream* self,void* buffer,int size)
 {
-	((wxInputStream*)_obj)->Read(buffer, (size_t)size);
+	self->Read(buffer, (size_t)size);
 }
 	
-EWXWEXPORT(int, wxInputStream_SeekI)(void* _obj, int pos, int mode)
+EWXWEXPORT(int,wxInputStream_SeekI)(wxInputStream* self,int pos,int mode)
 {
-	return (int)((wxInputStream*)_obj)->SeekI((off_t)pos, (wxSeekMode)mode);
+	return (int)self->SeekI((off_t)pos, (wxSeekMode)mode);
 }
 	
-EWXWEXPORT(int, wxInputStream_Tell)(void* _obj)
+EWXWEXPORT(int,wxInputStream_Tell)(wxInputStream* self)
 {
-	return (int)((wxInputStream*)_obj)->TellI();
+	return (int)self->TellI();
 }
 	
-EWXWEXPORT(int, wxInputStream_LastRead)(void* _obj)
+EWXWEXPORT(int,wxInputStream_LastRead)(wxInputStream* self)
 {
-	return (int)((wxInputStream*)_obj)->LastRead();
+	return (int)self->LastRead();
 }	
 
-EWXWEXPORT(int, wxInputStream_UngetBuffer)(void* _obj, void* buffer, int size)
+EWXWEXPORT(int,wxInputStream_UngetBuffer)(wxInputStream* self,void* buffer,int size)
 {
-	return (int)((wxInputStream*)_obj)->Ungetch((const void*)buffer, (size_t)size);
+	return (int)self->Ungetch((const void*)buffer, (size_t)size);
 }
 	
-EWXWEXPORT(int, wxInputStream_Ungetch)(void* _obj, char c)
+EWXWEXPORT(int,wxInputStream_Ungetch)(wxInputStream* self,char c)
 {
-	return (int)((wxInputStream*)_obj)->Ungetch(c);
+	return (int)self->Ungetch(c);
 }
 	
 }
diff --git a/wxc/src/eljradiobox.cpp b/wxc/src/eljradiobox.cpp
--- a/wxc/src/eljradiobox.cpp
+++ b/wxc/src/eljradiobox.cpp
@@ -3,79 +3,83 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxRadioBox_Create) (void* _prt, int _id, wxChar* _txt, int _lft, int _top, int _wdt, int _hgt, int _n, void* _str, int _dim, int _stl)
+EWXWEXPORT(void*,wxRadioBox_Create)(wxWindow* _prt,int _id,wxString* _txt,int _lft,int _top,int _wdt,int _hgt,int _n,void* _str,int _dim,int _stl)
 {
 	wxString items[256];
 
 	for (int i = 0; i < _n; i++)
 		items[i] = ((wxChar**)_str)[i];
 
-	return (void*) new wxRadioBox ((wxWindow*)_prt, _id, _txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _n, items, _dim, _stl, wxDefaultValidator);
+	return (void*) new wxRadioBox (_prt, _id, *_txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _n, items, _dim, _stl, wxDefaultValidator);
 }
 
-EWXWEXPORT(int, wxRadioBox_FindString)(void* _obj, void* s)
+EWXWEXPORT(int,wxRadioBox_FindString)(void* _obj,wxString* s)
 {
-	return ((wxRadioBox*)_obj)->FindString((wxChar*) s);
+	return ((wxRadioBox*)_obj)->FindString(* s);
 }
 
-EWXWEXPORT(void, wxRadioBox_SetSelection)(void* _obj, int _n)
+EWXWEXPORT(void,wxRadioBox_SetSelection)(void* _obj,int _n)
 {
 	((wxRadioBox*)_obj)->SetSelection(_n);
 }
 
-EWXWEXPORT(int, wxRadioBox_GetSelection)(void* _obj)
+EWXWEXPORT(int,wxRadioBox_GetSelection)(void* _obj)
 {
 	return ((wxRadioBox*)_obj)->GetSelection();
 }
 
-EWXWEXPORT(void, wxRadioBox_SetItemLabel)(void* _obj, int item, void* label)
+EWXWEXPORT(void,wxRadioBox_SetItemLabel)(void* _obj,int item,wxString* label)
 {
 #if wxVERSION_NUMBER >= 2400
-	((wxRadioBoxBase*)_obj)->SetString(item, (wxChar*)label);
+	((wxRadioBoxBase*)_obj)->SetString(item, *label);
 #else
-	((wxRadioBox*)_obj)->SetLabel(item, (wxChar*)label);
+	((wxRadioBox*)_obj)->SetLabel(item, *label);
 #endif
 }
 
-EWXWEXPORT(void, wxRadioBox_SetItemBitmap)(void* _obj, int item, void* bitmap)
+EWXWEXPORT(void,wxRadioBox_SetItemBitmap)(void* _obj,int item,void* bitmap)
 {
 #if wxVERSION_NUMBER < 2400
 	((wxRadioBox*)_obj)->SetLabel(item, (wxBitmap*) bitmap);
 #endif
 }
 
-EWXWEXPORT(int, wxRadioBox_GetItemLabel)(void* _obj, int item, void* _buf)
+EWXWEXPORT(wxString*,wxRadioBox_GetItemLabel)(void* _obj,int item)
 {
+  wxString *result = new wxString();
+
 #if wxVERSION_NUMBER >= 2400
-	wxString result = ((wxRadioBox*)_obj)->GetString(item);
+    *result = ((wxRadioBox*)_obj)->GetString(item);
 #else
-	wxString result = ((wxRadioBox*)_obj)->GetLabel(item);
+    *result = ((wxRadioBox*)_obj)->GetLabel(item);
 #endif
-	return copyStrToBuf(_buf, result);
+
+  return result;
 }
 
-EWXWEXPORT(void, wxRadioBox_EnableItem)(void* _obj, int item, int enable)
+EWXWEXPORT(void,wxRadioBox_EnableItem)(void* self,int item,bool enable)
 {
-	((wxRadioBox*)_obj)->Enable(item, enable != 0);
+	((wxRadioBox*)self)->Enable(item, enable);
 }
 
-EWXWEXPORT(void, wxRadioBox_ShowItem)(void* _obj, int item, int show)
+EWXWEXPORT(void,wxRadioBox_ShowItem)(void* self,int item,bool show)
 {
-	((wxRadioBox*)_obj)->Show(item, show != 0);
+	((wxRadioBox*)self)->Show(item, show);
 }
 
-EWXWEXPORT(int, wxRadioBox_GetStringSelection)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxRadioBox_GetStringSelection)(void* _obj)
 {
-	wxString result = ((wxRadioBox*)_obj)->GetStringSelection();
-	return copyStrToBuf(_buf, result);
+  wxString *result = new wxString();
+  *result = ((wxRadioBox*)_obj)->GetStringSelection();
+  return result;
 }
 
-EWXWEXPORT(void, wxRadioBox_SetStringSelection)(void* _obj, void* s)
+EWXWEXPORT(void,wxRadioBox_SetStringSelection)(void* _obj,wxString* s)
 {
-	((wxRadioBox*)_obj)->SetStringSelection((wxChar*) s);
+	((wxRadioBox*)_obj)->SetStringSelection(* s);
 }
 
-EWXWEXPORT(int, wxRadioBox_Number)(void* _obj)
+EWXWEXPORT(int,wxRadioBox_Number)(void* _obj)
 {
 #if wxVERSION_NUMBER >= 2400
 	return ((wxRadioBox*)_obj)->GetCount();
@@ -84,7 +88,7 @@
 #endif
 }
 
-EWXWEXPORT(int, wxRadioBox_GetNumberOfRowsOrCols)(void* _obj)
+EWXWEXPORT(int,wxRadioBox_GetNumberOfRowsOrCols)(void* _obj)
 {
 #if wxVERSION_NUMBER >= 2600
 	return ((wxRadioBox*)_obj)->GetCount();
@@ -93,7 +97,7 @@
 #endif
 }
 
-EWXWEXPORT(void, wxRadioBox_SetNumberOfRowsOrCols)(void* _obj, int n)
+EWXWEXPORT(void,wxRadioBox_SetNumberOfRowsOrCols)(void* _obj,int n)
 {
 #if wxVERSION_NUMBER >= 2600
 	return;
diff --git a/wxc/src/eljradiobutton.cpp b/wxc/src/eljradiobutton.cpp
--- a/wxc/src/eljradiobutton.cpp
+++ b/wxc/src/eljradiobutton.cpp
@@ -3,19 +3,19 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxRadioButton_Create) (void* _prt, int _id, wxChar* _txt, int _lft, int _top, int _wdt, int _hgt, int _stl)
+EWXWEXPORT(void*,wxRadioButton_Create)(wxWindow* _prt,int _id,wxString* _txt,int _lft,int _top,int _wdt,int _hgt,int _stl)
 {
-	return (void*) new wxRadioButton ((wxWindow*)_prt, _id, _txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, wxDefaultValidator);
+	return (void*) new wxRadioButton (_prt, _id, *_txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, wxDefaultValidator);
 }
 
-EWXWEXPORT(void, wxRadioButton_SetValue)(void* _obj, int value)
+EWXWEXPORT(void,wxRadioButton_SetValue)(wxRadioButton* self,bool value)
 {
-	((wxRadioButton*)_obj)->SetValue(value != 0);
+	self->SetValue(value);
 }
 	
-EWXWEXPORT(int, wxRadioButton_GetValue)(void* _obj)
+EWXWEXPORT(bool,wxRadioButton_GetValue)(wxRadioButton* self)
 {
-	return (int)((wxRadioButton*)_obj)->GetValue();
+	return self->GetValue();
 }
 
 } 
diff --git a/wxc/src/eljrc.cpp b/wxc/src/eljrc.cpp
--- a/wxc/src/eljrc.cpp
+++ b/wxc/src/eljrc.cpp
@@ -283,86 +283,86 @@
 extern "C"
 {
 
-EWXWEXPORT(bool,wxXmlResource_Load)(wxXmlResource* _obj, wxString* filemask)
+EWXWEXPORT(bool,wxXmlResource_Load)(wxXmlResource* self,wxString* filemask)
 {
 	wxGetApp().InitZipFileSystem();
-	return _obj->Load(*filemask);
+	return self->Load(*filemask);
 }
 	
-EWXWEXPORT(void,wxXmlResource_InitAllHandlers)(wxXmlResource* _obj)
+EWXWEXPORT(void,wxXmlResource_InitAllHandlers)(wxXmlResource* self)
 {
-	_obj->InitAllHandlers();
-	_obj->AddHandler(new wxMDIParentFrameXmlHandler());
-	_obj->AddHandler(new wxMDIChildFrameXmlHandler());
-	_obj->AddHandler(new wxSplitterWindowXmlHandler());
+	self->InitAllHandlers();
+	self->AddHandler(new wxMDIParentFrameXmlHandler());
+	self->AddHandler(new wxMDIChildFrameXmlHandler());
+	self->AddHandler(new wxSplitterWindowXmlHandler());
 #ifdef wxUSE_STC
-	_obj->AddHandler(new wxStyledTextCtrlXmlHandler());
+	self->AddHandler(new wxStyledTextCtrlXmlHandler());
 #endif
-	_obj->AddHandler(new wxGridXmlHandler());
+	self->AddHandler(new wxGridXmlHandler());
 }
 	
-EWXWEXPORT(wxXmlResource*, wxXmlResource_Create)(int flags)
+EWXWEXPORT(wxXmlResource*,wxXmlResource_Create)(int flags)
 {
-	wxXmlResource* _obj = wxXmlResource::Get();
+	wxXmlResource* self = wxXmlResource::Get();
 
 	// Calling the wxc variant of InitAllHandlers() ensures additional
 	// handlers for splitters etc. get initialized as well.
-	wxXmlResource_InitAllHandlers(_obj);
-	_obj->SetFlags(flags);
-	return _obj;
+	wxXmlResource_InitAllHandlers(self);
+	self->SetFlags(flags);
+	return self;
 }
 	
-EWXWEXPORT(wxXmlResource*, wxXmlResource_CreateFromFile)(wxString* filemask, int flags)
+EWXWEXPORT(wxXmlResource*,wxXmlResource_CreateFromFile)(wxString* filemask,int flags)
 {
-	wxXmlResource* _obj = wxXmlResource_Create(flags);
-    if (_obj->Load(*filemask)) {
-		return _obj;
+	wxXmlResource* self = wxXmlResource_Create(flags);
+    if (self->Load(*filemask)) {
+		return self;
     }
 	else {
-		delete _obj;
+		delete self;
 		return NULL;
 	}
 }
 	
-EWXWEXPORT(void,wxXmlResource_AddHandler)(wxXmlResource* _obj, wxXmlResourceHandler* handler)
+EWXWEXPORT(void,wxXmlResource_AddHandler)(wxXmlResource* self,wxXmlResourceHandler* handler)
 {
-	_obj->AddHandler(handler);
+	self->AddHandler(handler);
 }
 	
-EWXWEXPORT(void,wxXmlResource_InsertHandler)(wxXmlResource* _obj, wxXmlResourceHandler* handler)
+EWXWEXPORT(void,wxXmlResource_InsertHandler)(wxXmlResource* self,wxXmlResourceHandler* handler)
 {
-	_obj->InsertHandler(handler);
+	self->InsertHandler(handler);
 }
 	
-EWXWEXPORT(void,wxXmlResource_ClearHandlers)(wxXmlResource* _obj)
+EWXWEXPORT(void,wxXmlResource_ClearHandlers)(wxXmlResource* self)
 {
-	_obj->ClearHandlers();
+	self->ClearHandlers();
 }
 	
-EWXWEXPORT(void,wxXmlResource_AddSubclassFactory)(wxXmlResource* _obj, wxXmlSubclassFactory* factory)
+EWXWEXPORT(void,wxXmlResource_AddSubclassFactory)(wxXmlResource* self,wxXmlSubclassFactory* factory)
 {
-	_obj->AddSubclassFactory(factory);
+	self->AddSubclassFactory(factory);
 }
 
-EWXWEXPORT(wxMenu*,wxXmlResource_LoadMenu)(wxXmlResource* _obj, wxString* name)
+EWXWEXPORT(wxMenu*,wxXmlResource_LoadMenu)(wxXmlResource* self,wxString* name)
 {
-	return _obj->LoadMenu(*name);
+	return self->LoadMenu(*name);
 }
 	
-EWXWEXPORT(wxMenuBar*,wxXmlResource_LoadMenuBar)(wxXmlResource* _obj, wxWindow* parent, wxString* name)
+EWXWEXPORT(wxMenuBar*,wxXmlResource_LoadMenuBar)(wxXmlResource* self,wxWindow* parent,wxString* name)
 {
-	return _obj->LoadMenuBar(parent, *name);
+	return self->LoadMenuBar(parent,*name);
 }
 	
-EWXWEXPORT(wxToolBar*,wxXmlResource_LoadToolBar)(wxXmlResource* _obj, wxWindow* parent, wxString* name)
+EWXWEXPORT(wxToolBar*,wxXmlResource_LoadToolBar)(wxXmlResource* self,wxWindow* parent,wxString* name)
 {
-	return _obj->LoadToolBar(parent, *name);
+	return self->LoadToolBar(parent,*name);
 }
 	
-EWXWEXPORT(wxDialog*,wxXmlResource_LoadDialog)(wxXmlResource* _obj, wxWindow* parent, wxString* name)
+EWXWEXPORT(wxDialog*,wxXmlResource_LoadDialog)(wxXmlResource* self,wxWindow* parent,wxString* name)
 {
     wxDialog* dlg = new wxDialog;
-    if (!_obj->LoadDialog(dlg, parent, *name)) {
+    if (!self->LoadDialog(dlg, parent,*name)) {
         delete dlg;
         return NULL;
     } else {
@@ -370,15 +370,15 @@
     }
 }
 	
-EWXWEXPORT(wxPanel*,wxXmlResource_LoadPanel)(wxXmlResource* _obj, wxWindow* parent, wxString* name)
+EWXWEXPORT(wxPanel*,wxXmlResource_LoadPanel)(wxXmlResource* self,wxWindow* parent,wxString* name)
 {
-	return _obj->LoadPanel(parent, *name);
+	return self->LoadPanel(parent,*name);
 }
 	
-EWXWEXPORT(wxFrame*,wxXmlResource_LoadFrame)(wxXmlResource* _obj, wxWindow* parent, wxString* name)
+EWXWEXPORT(wxFrame*,wxXmlResource_LoadFrame)(wxXmlResource* self,wxWindow* parent,wxString* name)
 {
     wxFrame* frame = new wxFrame;
-    if (!_obj->LoadFrame(frame, parent, *name)) {
+    if (!self->LoadFrame(frame, parent,*name)) {
         delete frame;
         return NULL;
     } else {
@@ -386,42 +386,42 @@
     }
 }
 	
-EWXWEXPORT(void,wxXmlResource_LoadBitmap)(wxXmlResource* _obj, wxString* name, void* _ref)
+EWXWEXPORT(void,wxXmlResource_LoadBitmap)(wxXmlResource* self,wxString* name,wxBitmap* _ref)
 {
-	*((wxBitmap*)_ref) = _obj->LoadBitmap(*name);
+	*_ref = self->LoadBitmap(*name);
 }
 	
-EWXWEXPORT(void,wxXmlResource_LoadIcon)(wxXmlResource* _obj, wxString* name, void* _ref)
+EWXWEXPORT(void,wxXmlResource_LoadIcon)(wxXmlResource* self,wxString* name,wxIcon* _ref)
 {
-	*((wxIcon*)_ref) = _obj->LoadIcon(*name);
+	*_ref = self->LoadIcon(*name);
 }
 	
-EWXWEXPORT(bool,wxXmlResource_Unload)(wxXmlResource* _obj, wxString* name)
+EWXWEXPORT(bool,wxXmlResource_Unload)(wxXmlResource* self,wxString* name)
 {
-	return _obj->Unload(*name);
+	return self->Unload(*name);
 }
 	
-EWXWEXPORT(bool,wxXmlResource_AttachUnknownControl)(wxXmlResource* _obj, wxString* name, wxWindow* control, wxWindow* parent)
+EWXWEXPORT(bool,wxXmlResource_AttachUnknownControl)(wxXmlResource* self,wxString* name,wxWindow* control,wxWindow* parent)
 {
-	return _obj->AttachUnknownControl(*name, control, parent);
+	return self->AttachUnknownControl(*name, control, parent);
 }
 	
-EWXWEXPORT(int,wxXmlResource_GetXRCID)(wxXmlResource* _obj, wxString* str_id)
+EWXWEXPORT(int,wxXmlResource_GetXRCID)(wxXmlResource* self,wxString* str_id)
 {
-	return _obj->GetXRCID(*str_id);
+	return self->GetXRCID(*str_id);
 }
 	
-EWXWEXPORT(long,wxXmlResource_GetVersion)(wxXmlResource* _obj)
+EWXWEXPORT(long,wxXmlResource_GetVersion)(wxXmlResource* self)
 {
-	return _obj->GetVersion();
+	return self->GetVersion();
 }
 	
-EWXWEXPORT(int,wxXmlResource_CompareVersion)(wxXmlResource* _obj, int major, int minor, int release, int revision)
+EWXWEXPORT(int,wxXmlResource_CompareVersion)(wxXmlResource* self,int major,int minor,int release,int revision)
 {
-	return _obj->CompareVersion(major, minor, release, revision);
+	return self->CompareVersion(major, minor, release, revision);
 }
 	
-EWXWEXPORT(wxXmlResource*,wxXmlResource_Get)(wxXmlResource* _obj)
+EWXWEXPORT(wxXmlResource*,wxXmlResource_Get)(wxXmlResource* self)
 {
   return wxXmlResource::Get();
 }
@@ -429,7 +429,7 @@
 // BUILD_XRCGETCTRL_FN constructs functions for geting control pointers out of 
 // window hierarchies created from XRC files. The functions themselves 
 #define BUILD_XRCGETCTRL_FN(_typ)                                                            \
-  EWXWEXPORT(wx##_typ *, wxXmlResource_Get##_typ)(wxWindow* _win, wxString* _str_id)          \
+  EWXWEXPORT(wx##_typ*,wxXmlResource_Get##_typ)(wxWindow* _win,wxString* _str_id)       \
   {                                                                                          \
   return reinterpret_cast<wx##_typ *>(_win->FindWindow(wxXmlResource::GetXRCID(*_str_id))); \
   }
@@ -469,7 +469,7 @@
 #ifdef wxUSE_STC
 BUILD_XRCGETCTRL_FN(StyledTextCtrl)
 #else
-EWXWEXPORT(void*, wxXmlResource_GetStyledTextCtrl)(wxWindow* _win, wxString* _str_id)
+EWXWEXPORT(void*,wxXmlResource_GetStyledTextCtrl)(wxWindow* _win,wxString* _str_id)
 {
   return NULL;
 }
@@ -481,30 +481,31 @@
 BUILD_XRCGETCTRL_FN(TextCtrl)
 BUILD_XRCGETCTRL_FN(TreeCtrl)
 	
-EWXWEXPORT(wxXmlResource*,wxXmlResource_Set)(wxXmlResource* _obj, wxXmlResource* res)
+EWXWEXPORT(wxXmlResource*,wxXmlResource_Set)(wxXmlResource* self,wxXmlResource* res)
 {
-	return _obj->Set(res);
+	return self->Set(res);
 }
 
-EWXWEXPORT(int,wxXmlResource_GetDomain)(wxXmlResource* _obj, wxChar* buf)
+EWXWEXPORT(wxString*,wxXmlResource_GetDomain)(wxXmlResource* self)
 {
-	buf = _obj->GetDomain();
-	return wxStrlen(buf);
+	wxString* buf = new wxString();
+	*buf = self->GetDomain();
+	return buf;
 }
 
-EWXWEXPORT(void,wxXmlResource_SetDomain)(wxXmlResource* _obj, wxString* domain)
+EWXWEXPORT(void,wxXmlResource_SetDomain)(wxXmlResource* self,wxString* domain)
 {
-	_obj->SetDomain(*domain);
+	self->SetDomain(*domain);
 }
 
-EWXWEXPORT(int,wxXmlResource_GetFlags)(wxXmlResource* _obj)
+EWXWEXPORT(int,wxXmlResource_GetFlags)(wxXmlResource* self)
 {
-	return _obj->GetFlags();
+	return self->GetFlags();
 }
 	
-EWXWEXPORT(void,wxXmlResource_SetFlags)(wxXmlResource* _obj, int flags)
+EWXWEXPORT(void,wxXmlResource_SetFlags)(wxXmlResource* self,int flags)
 {
-	_obj->SetFlags(flags);
+	self->SetFlags(flags);
 }
 	
 }
diff --git a/wxc/src/eljregion.cpp b/wxc/src/eljregion.cpp
--- a/wxc/src/eljregion.cpp
+++ b/wxc/src/eljregion.cpp
@@ -3,89 +3,89 @@
 extern "C"
 {
 	
-EWXWEXPORT(void*, wxRegion_CreateDefault) ()
+EWXWEXPORT(void*,wxRegion_CreateDefault)()
 {
-	return (void*) new wxRegion();
+	return (void*)new wxRegion();
 }
 
-EWXWEXPORT(void*, wxRegion_CreateFromRect) (int x, int y, int w, int h)
+EWXWEXPORT(void*,wxRegion_CreateFromRect)(int x,int y,int w,int h)
 {
-	return (void*) new wxRegion((wxCoord)x, (wxCoord)y, (wxCoord)w, (wxCoord)h);
+	return (void*)new wxRegion((wxCoord)x, (wxCoord)y, (wxCoord)w, (wxCoord)h);
 }
 
-EWXWEXPORT(void, wxRegion_Delete) (void* _obj)
+EWXWEXPORT(void,wxRegion_Delete)(wxRegion* self)
 {
-	delete (wxRegion*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(void, wxRegion_Assign)(void* _obj, void* region)
+EWXWEXPORT(void,wxRegion_Assign)(wxRegion* self,wxRegion* region)
 {
-	*((wxRegion*)_obj) = *((wxRegion*)region);
+	*self = *region;
 }
 
-EWXWEXPORT(void, wxRegion_Clear)(void* _obj)
+EWXWEXPORT(void,wxRegion_Clear)(wxRegion* self)
 {
-	((wxRegion*)_obj)->Clear();
+	self->Clear();
 }
 	
-EWXWEXPORT(int, wxRegion_UnionRect)(void* _obj, int x, int y, int width, int height)
+EWXWEXPORT(bool,wxRegion_UnionRect)(wxRegion* self,int x,int y,int width,int height)
 {
-	return (int)((wxRegion*)_obj)->Union((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height);
+	return self->Union((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height);
 }
 	
-EWXWEXPORT(int, wxRegion_UnionRegion)(void* _obj, void* region)
+EWXWEXPORT(bool,wxRegion_UnionRegion)(wxRegion* self,wxRegion* region)
 {
-	return (int)((wxRegion*)_obj)->Union(*((wxRegion*)region));
+	return self->Union(*region);
 }
 	
-EWXWEXPORT(int, wxRegion_IntersectRect)(void* _obj, int x, int y, int width, int height)
+EWXWEXPORT(bool,wxRegion_IntersectRect)(wxRegion* self,int x,int y,int width,int height)
 {
-	return (int)((wxRegion*)_obj)->Intersect((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height);
+	return self->Intersect((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height);
 }
 	
-EWXWEXPORT(int, wxRegion_IntersectRegion)(void* _obj, void* region)
+EWXWEXPORT(bool,wxRegion_IntersectRegion)(wxRegion* self,wxRegion* region)
 {
-	return (int)((wxRegion*)_obj)->Intersect(*((wxRegion*)region));
+	return self->Intersect(*region);
 }
 	
-EWXWEXPORT(int, wxRegion_SubtractRect)(void* _obj, int x, int y, int width, int height)
+EWXWEXPORT(bool,wxRegion_SubtractRect)(wxRegion* self,int x,int y,int width,int height)
 {
-	return (int)((wxRegion*)_obj)->Subtract((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height);
+	return self->Subtract((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height);
 }
 	
-EWXWEXPORT(int, wxRegion_SubtractRegion)(void* _obj, void* region)
+EWXWEXPORT(bool,wxRegion_SubtractRegion)(wxRegion* self,wxRegion* region)
 {
-	return (int)((wxRegion*)_obj)->Subtract(*((wxRegion*)region));
+	return self->Subtract(*region);
 }
 	
-EWXWEXPORT(int, wxRegion_XorRect)(void* _obj, int x, int y, int width, int height)
+EWXWEXPORT(bool,wxRegion_XorRect)(wxRegion* self,int x,int y,int width,int height)
 {
-	return (int)((wxRegion*)_obj)->Xor((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height);
+	return self->Xor((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height);
 }
 	
-EWXWEXPORT(int, wxRegion_XorRegion)(void* _obj, void* region)
+EWXWEXPORT(bool,wxRegion_XorRegion)(wxRegion* self,wxRegion* region)
 {
-	return (int)((wxRegion*)_obj)->Xor(*((wxRegion*)region));
+	return self->Xor(*region);
 }
 	
-EWXWEXPORT(void, wxRegion_GetBox)(void* _obj, void* x, void* y, void* w, void* h)
+EWXWEXPORT(void,wxRegion_GetBox)(wxRegion* self,void* x,void* y,void* w,void* h)
 {
-	((wxRegion*)_obj)->GetBox(*((wxCoord*)x), *((wxCoord*)y), *((wxCoord*)w), *((wxCoord*)h));
+	self->GetBox(*((wxCoord*)x),*((wxCoord*)y),*((wxCoord*)w),*((wxCoord*)h));
 }
 	
-EWXWEXPORT(int, wxRegion_Empty)(void* _obj)
+EWXWEXPORT(bool,wxRegion_IsEmpty)(wxRegion* self)
 {
-	return (int)((wxRegion*)_obj)->Empty();
+	return self->IsEmpty();
 }
 	
-EWXWEXPORT(int, wxRegion_ContainsPoint)(void* _obj, int x, int y)
+EWXWEXPORT(bool,wxRegion_ContainsPoint)(wxRegion* self,int x,int y)
 {
-	return (int)((wxRegion*)_obj)->Contains((wxCoord)x, (wxCoord)y);
+	return self->Contains((wxCoord)x, (wxCoord)y);
 }
 	
-EWXWEXPORT(int, wxRegion_ContainsRect)(void* _obj, int x, int y, int width, int height)
+EWXWEXPORT(bool,wxRegion_ContainsRect)(wxRegion* self,int x,int y,int width,int height)
 {
-	return (int)((wxRegion*)_obj)->Contains((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height);
+	return self->Contains((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height);
 }
 	
 }
diff --git a/wxc/src/eljregioniter.cpp b/wxc/src/eljregioniter.cpp
--- a/wxc/src/eljregioniter.cpp
+++ b/wxc/src/eljregioniter.cpp
@@ -3,59 +3,59 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxRegionIterator_Create)()
+EWXWEXPORT(void*,wxRegionIterator_Create)()
 {
-	return (void*) new wxRegionIterator();
+	return (void*)new wxRegionIterator();
 }
 
-EWXWEXPORT(void*, wxRegionIterator_CreateFromRegion)(void* region)
+EWXWEXPORT(void*,wxRegionIterator_CreateFromRegion)(void* region)
 {
-	return (void*) new wxRegionIterator(*((wxRegion*)region));
+	return (void*)new wxRegionIterator(*((wxRegion*)region));
 }
 
-EWXWEXPORT(void, wxRegionIterator_Delete)(void* _obj)
+EWXWEXPORT(void,wxRegionIterator_Delete)(wxRegionIterator* self)
 {
-	delete (wxRegionIterator*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(void, wxRegionIterator_Reset)(void* _obj)
+EWXWEXPORT(void,wxRegionIterator_Reset)(wxRegionIterator* self)
 {
-	((wxRegionIterator*)_obj)->Reset();
+	self->Reset();
 }
 	
-EWXWEXPORT(void, wxRegionIterator_ResetToRegion)(void* _obj, void* region)
+EWXWEXPORT(void,wxRegionIterator_ResetToRegion)(wxRegionIterator* self,wxRegion* region)
 {
-	((wxRegionIterator*)_obj)->Reset(*((wxRegion*)region));
+	self->Reset(*region);
 }
 	
-EWXWEXPORT(int, wxRegionIterator_HaveRects)(void* _obj)
+EWXWEXPORT(bool,wxRegionIterator_HaveRects)(wxRegionIterator* self)
 {
-	return (int)((wxRegionIterator*)_obj)->HaveRects();
+	return self->HaveRects();
 }
 
-EWXWEXPORT(void, wxRegionIterator_Next)(void* _obj)
+EWXWEXPORT(void,wxRegionIterator_Next)(wxRegionIterator* self)
 {
-	(*((wxRegionIterator*)_obj))++;
+	(*self)++;
 }
 	
-EWXWEXPORT(int, wxRegionIterator_GetX)(void* _obj)
+EWXWEXPORT(int,wxRegionIterator_GetX)(wxRegionIterator* self)
 {
-	return ((wxRegionIterator*)_obj)->GetX();
+	return self->GetX();
 }
 	
-EWXWEXPORT(int, wxRegionIterator_GetY)(void* _obj)
+EWXWEXPORT(int,wxRegionIterator_GetY)(wxRegionIterator* self)
 {
-	return ((wxRegionIterator*)_obj)->GetY();
+	return self->GetY();
 }
 	
-EWXWEXPORT(int, wxRegionIterator_GetWidth)(void* _obj)
+EWXWEXPORT(int,wxRegionIterator_GetWidth)(wxRegionIterator* self)
 {
-	return ((wxRegionIterator*)_obj)->GetWidth();
+	return self->GetWidth();
 }
 	
-EWXWEXPORT(int, wxRegionIterator_GetHeight)(void* _obj)
+EWXWEXPORT(int,wxRegionIterator_GetHeight)(wxRegionIterator* self)
 {
-	return ((wxRegionIterator*)_obj)->GetHeight();
+	return self->GetHeight();
 }
 	
 }
diff --git a/wxc/src/eljsash.cpp b/wxc/src/eljsash.cpp
--- a/wxc/src/eljsash.cpp
+++ b/wxc/src/eljsash.cpp
@@ -3,34 +3,34 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxSashWindow_Create) (void* _par, int _id, int _x, int _y, int _w, int _h, int _stl)
+EWXWEXPORT(void*,wxSashWindow_Create)(wxWindow* _par,int _id,int _x,int _y,int _w,int _h,int _stl)
 {
-	return (void*) new wxSashWindow ((wxWindow*)_par, _id, wxPoint(_x, _y), wxSize (_w, _h), (long)_stl);
+	return (void*)new wxSashWindow (_par, _id, wxPoint(_x, _y), wxSize (_w, _h), (long)_stl);
 }
 
-EWXWEXPORT(void, wxSashWindow_SetSashVisible)(void* _obj, int edge, int sash)
+EWXWEXPORT(void,wxSashWindow_SetSashVisible)(void* self,int edge,bool sash)
 {
-	((wxSashWindow*)_obj)->SetSashVisible((wxSashEdgePosition)edge, sash != 0);
+	((wxSashWindow*)self)->SetSashVisible((wxSashEdgePosition)edge, sash);
 }
 	
-EWXWEXPORT(int, wxSashWindow_GetSashVisible)(void* _obj, int edge)
+EWXWEXPORT(bool,wxSashWindow_GetSashVisible)(wxSashWindow* self,int edge)
 {
-	return (int)((wxSashWindow*)_obj)->GetSashVisible((wxSashEdgePosition)edge);
+	return self->GetSashVisible((wxSashEdgePosition)edge);
 }
 	
-EWXWEXPORT(void, wxSashWindow_SetSashBorder)(void* _obj, int edge, int border)
+EWXWEXPORT(void,wxSashWindow_SetSashBorder)(wxSashWindow* self,int edge,bool border)
 {
 #if WXWIN_COMPATIBILITY_2_6
-	((wxSashWindow*)_obj)->SetSashBorder((wxSashEdgePosition)edge, border != 0);
+	self->SetSashBorder((wxSashEdgePosition)edge, border);
 #endif
 }
 	
-EWXWEXPORT(int, wxSashWindow_HasBorder)(void* _obj, int edge)
+EWXWEXPORT(bool,wxSashWindow_HasBorder)(wxSashWindow* self,int edge)
 {
 #if WXWIN_COMPATIBILITY_2_6
-	return (int)((wxSashWindow*)_obj)->HasBorder((wxSashEdgePosition)edge);
+	return self->HasBorder((wxSashEdgePosition)edge);
 #else
-  return FALSE;
+	return false;
 #endif
 }
 	
@@ -263,30 +263,30 @@
 	return (void*) new wxLayoutAlgorithm();
 }
 
-EWXWEXPORT(void, wxLayoutAlgorithm_Delete)(void* _obj)
+EWXWEXPORT(void,wxLayoutAlgorithm_Delete)(wxLayoutAlgorithm* self)
 {
-	delete (wxLayoutAlgorithm*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(int, wxLayoutAlgorithm_LayoutMDIFrame)(void* _obj, void* frame, int x, int y , int w, int h, int use)
+EWXWEXPORT(bool,wxLayoutAlgorithm_LayoutMDIFrame)(wxLayoutAlgorithm* self,wxMDIParentFrame* frame,int x,int y,int w,int h,int use)
 {
 	wxRect* r = NULL;
 	if (use) r = new wxRect(x, y, w, h);
 	
-	int result = (int)((wxLayoutAlgorithm*)_obj)->LayoutMDIFrame((wxMDIParentFrame*)frame, r);
+	bool result = self->LayoutMDIFrame(frame, r);
 	
 	if (r) delete r;
 	return result;
 }
 	
-EWXWEXPORT(int, wxLayoutAlgorithm_LayoutFrame)(void* _obj, void* frame, void* mainWindow)
+EWXWEXPORT(bool,wxLayoutAlgorithm_LayoutFrame)(wxLayoutAlgorithm* self,wxFrame* frame,wxWindow* mainWindow)
 {
-	return (int)((wxLayoutAlgorithm*)_obj)->LayoutFrame((wxFrame*)frame, (wxWindow*)mainWindow);
+	return self->LayoutFrame(frame, mainWindow);
 }
 	
-EWXWEXPORT(int, wxLayoutAlgorithm_LayoutWindow)(void* _obj, void* frame, void* mainWindow)
+EWXWEXPORT(bool,wxLayoutAlgorithm_LayoutWindow)(wxLayoutAlgorithm* self,wxFrame* frame,wxWindow* mainWindow)
 {
-	return (int)((wxLayoutAlgorithm*)_obj)->LayoutWindow((wxFrame*)frame, (wxWindow*)mainWindow);
+	return self->LayoutWindow(frame, mainWindow);
 }
 	
 }
diff --git a/wxc/src/eljscrollbar.cpp b/wxc/src/eljscrollbar.cpp
--- a/wxc/src/eljscrollbar.cpp
+++ b/wxc/src/eljscrollbar.cpp
@@ -3,39 +3,39 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxScrollBar_Create) (void* _prt, int _id, int _lft, int _top, int _wdt, int _hgt, int _stl)
+EWXWEXPORT(void*,wxScrollBar_Create)(wxWindow* _prt, int _id, int _lft, int _top, int _wdt, int _hgt, int _stl)
 {
-	return (void*) new wxScrollBar ((wxWindow*)_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+	return (void*)new wxScrollBar ((wxWindow*)_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
 }
 
-EWXWEXPORT(int, wxScrollBar_GetThumbPosition)(void* _obj)
+EWXWEXPORT(int,wxScrollBar_GetThumbPosition)(wxScrollBar* self)
 {
-	return ((wxScrollBar*)_obj)->GetThumbPosition();
+	return self->GetThumbPosition();
 }
-	
-EWXWEXPORT(int, wxScrollBar_GetThumbSize)(void* _obj)
+
+EWXWEXPORT(int,wxScrollBar_GetThumbSize)(wxScrollBar* self)
 {
-	return ((wxScrollBar*)_obj)->GetThumbSize();
+	return self->GetThumbSize();
 }
-	
-EWXWEXPORT(int, wxScrollBar_GetPageSize)(void* _obj)
+
+EWXWEXPORT(int,wxScrollBar_GetPageSize)(wxScrollBar* self)
 {
-	return ((wxScrollBar*)_obj)->GetPageSize();
+	return self->GetPageSize();
 }
-	
-EWXWEXPORT(int, wxScrollBar_GetRange)(void* _obj)
+
+EWXWEXPORT(int,wxScrollBar_GetRange)(wxScrollBar* self)
 {
-	return ((wxScrollBar*)_obj)->GetRange();
+	return self->GetRange();
 }
-	
-EWXWEXPORT(void, wxScrollBar_SetThumbPosition)(void* _obj, int viewStart)
+
+EWXWEXPORT(void,wxScrollBar_SetThumbPosition)(wxScrollBar* self,int viewStart)
 {
-	((wxScrollBar*)_obj)->SetThumbPosition(viewStart);
+	self->SetThumbPosition(viewStart);
 }
-	
-EWXWEXPORT(void, wxScrollBar_SetScrollbar)(void* _obj, int position, int thumbSize, int range, int pageSize, int refresh)
+
+EWXWEXPORT(void,wxScrollBar_SetScrollbar)(wxScrollBar* self,int position,int thumbSize,int range,int pageSize,bool refresh)
 {
-	((wxScrollBar*)_obj)->SetScrollbar(position, thumbSize, range, pageSize, refresh != 0);
+	self->SetScrollbar(position, thumbSize, range, pageSize, refresh);
 }
 
 }
diff --git a/wxc/src/eljscrolledwindow.cpp b/wxc/src/eljscrolledwindow.cpp
--- a/wxc/src/eljscrolledwindow.cpp
+++ b/wxc/src/eljscrolledwindow.cpp
@@ -8,44 +8,44 @@
 	return (void*) new wxScrolledWindow ((wxWindow*)_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
 }
 
-EWXWEXPORT(void, wxScrolledWindow_SetTargetWindow)(void* _obj, void* target)
+EWXWEXPORT(void,wxScrolledWindow_SetTargetWindow)(void* self,wxWindow* target)
 {
-	((wxScrolledWindow*)_obj)->SetTargetWindow((wxWindow*)target);
+	((wxScrolledWindow*)self)->SetTargetWindow(target);
 }
 	
-EWXWEXPORT(void*, wxScrolledWindow_GetTargetWindow)(void* _obj)
+EWXWEXPORT(void*,wxScrolledWindow_GetTargetWindow)(void* self)
 {
-	return (void*)((wxScrolledWindow*)_obj)->GetTargetWindow();
+	return (void*)((wxScrolledWindow*)self)->GetTargetWindow();
 }
 	
-EWXWEXPORT(void, wxScrolledWindow_SetScrollbars)(void* _obj, int pixelsPerUnitX, int pixelsPerUnitY, int noUnitsX, int noUnitsY, int xPos, int yPos, int noRefresh)
+EWXWEXPORT(void,wxScrolledWindow_SetScrollbars)(void* self,int pixelsPerUnitX,int pixelsPerUnitY,int noUnitsX,int noUnitsY,int xPos,int yPos,bool noRefresh)
 {
-	((wxScrolledWindow*)_obj)->SetScrollbars(pixelsPerUnitX, pixelsPerUnitY, noUnitsX, noUnitsY, xPos, yPos, noRefresh);
+	((wxScrolledWindow*)self)->SetScrollbars(pixelsPerUnitX, pixelsPerUnitY, noUnitsX, noUnitsY, xPos, yPos, noRefresh);
 }
 	
-EWXWEXPORT(void, wxScrolledWindow_Scroll)(void* _obj, int x_pos, int y_pos)
+EWXWEXPORT(void,wxScrolledWindow_Scroll)(void* self,int x_pos,int y_pos)
 {
-	((wxScrolledWindow*)_obj)->Scroll(x_pos, y_pos);
+	((wxScrolledWindow*)self)->Scroll(x_pos, y_pos);
 }
 	
-EWXWEXPORT(int, wxScrolledWindow_GetScrollPageSize)(void* _obj, int orient)
+EWXWEXPORT(int,wxScrolledWindow_GetScrollPageSize)(void* self,int orient)
 {
-	return ((wxScrolledWindow*)_obj)->GetScrollPageSize(orient);
+	return ((wxScrolledWindow*)self)->GetScrollPageSize(orient);
 }
 	
-EWXWEXPORT(void, wxScrolledWindow_SetScrollPageSize)(void* _obj, int orient, int pageSize)
+EWXWEXPORT(void,wxScrolledWindow_SetScrollPageSize)(void* self,int orient,int pageSize)
 {
-	((wxScrolledWindow*)_obj)->SetScrollPageSize(orient, pageSize);
+	((wxScrolledWindow*)self)->SetScrollPageSize(orient, pageSize);
 }
 	
-EWXWEXPORT(void, wxScrolledWindow_GetScrollPixelsPerUnit)(void* _obj, void* x_unit, void* y_unit)
+EWXWEXPORT(void,wxScrolledWindow_GetScrollPixelsPerUnit)(void* self,int* x_unit,int* y_unit)
 {
-	((wxScrolledWindow*)_obj)->GetScrollPixelsPerUnit((int*)x_unit, (int*)y_unit);
+	((wxScrolledWindow*)self)->GetScrollPixelsPerUnit(x_unit,y_unit);
 }
 	
-EWXWEXPORT(void, wxScrolledWindow_EnableScrolling)(void* _obj, int x_scrolling, int y_scrolling)
+EWXWEXPORT(void,wxScrolledWindow_EnableScrolling)(void* self,bool x_scrolling,bool y_scrolling)
 {
-	((wxScrolledWindow*)_obj)->EnableScrolling(x_scrolling != 0, y_scrolling != 0);
+	((wxScrolledWindow*)self)->EnableScrolling(x_scrolling, y_scrolling);
 }
 	
 EWXWEXPORT(void, wxScrolledWindow_GetViewStart)(void* _obj, void* x, void* y)
@@ -63,44 +63,44 @@
 	((wxScrolledWindow*)_obj)->GetVirtualSize((int*)x, (int*)y);
 }
 	
-EWXWEXPORT(void, wxScrolledWindow_SetScale)(void* _obj, double xs, double ys)
+EWXWEXPORT(void,wxScrolledWindow_SetScale)(void* self,double xs,double ys)
 {
-	((wxScrolledWindow*)_obj)->SetScale(xs, ys);
+	((wxScrolledWindow*)self)->SetScale(xs, ys);
 }
 	
-EWXWEXPORT(double, wxScrolledWindow_GetScaleX)(void* _obj)
+EWXWEXPORT(double,wxScrolledWindow_GetScaleX)(void* self)
 {
-	return ((wxScrolledWindow*)_obj)->GetScaleX();
+	return ((wxScrolledWindow*)self)->GetScaleX();
 }
 	
-EWXWEXPORT(double, wxScrolledWindow_GetScaleY)(void* _obj)
+EWXWEXPORT(double,wxScrolledWindow_GetScaleY)(void* self)
 {
-	return ((wxScrolledWindow*)_obj)->GetScaleY();
+	return ((wxScrolledWindow*)self)->GetScaleY();
 }
 	
-EWXWEXPORT(void, wxScrolledWindow_CalcScrolledPosition)(void* _obj, int x, int y, void* xx, void* yy)
+EWXWEXPORT(void,wxScrolledWindow_CalcScrolledPosition)(void* self,int x,int y,int* xx,int* yy)
 {
-	((wxScrolledWindow*)_obj)->CalcScrolledPosition(x, y, (int*)xx, (int*)yy);
+	((wxScrolledWindow*)self)->CalcScrolledPosition(x, y, xx, yy);
 }
 	
-EWXWEXPORT(void, wxScrolledWindow_CalcUnscrolledPosition)(void* _obj, int x, int y, void* xx, void* yy)
+EWXWEXPORT(void,wxScrolledWindow_CalcUnscrolledPosition)(void* self,int x,int y,int* xx,int* yy)
 {
-	((wxScrolledWindow*)_obj)->CalcUnscrolledPosition(x, y, (int*)xx, (int*)yy);
+	((wxScrolledWindow*)self)->CalcUnscrolledPosition(x, y, xx, yy);
 }
 	
-EWXWEXPORT(void, wxScrolledWindow_AdjustScrollbars)(void* _obj)
+EWXWEXPORT(void,wxScrolledWindow_AdjustScrollbars)(void* self)
 {
-	((wxScrolledWindow*)_obj)->AdjustScrollbars();
+	((wxScrolledWindow*)self)->AdjustScrollbars();
 }
 	
-EWXWEXPORT(void, wxScrolledWindow_OnDraw)(void* _obj, void* dc)
+EWXWEXPORT(void,wxScrolledWindow_OnDraw)(void* self,wxDC* dc)
 {
-	((wxScrolledWindow*)_obj)->OnDraw(*((wxDC*)dc));
+	((wxScrolledWindow*)self)->OnDraw(*dc);
 }
 	
-EWXWEXPORT(void, wxScrolledWindow_PrepareDC)(void* _obj, void* dc)
+EWXWEXPORT(void,wxScrolledWindow_PrepareDC)(void* self,wxDC* dc)
 {
-	((wxScrolledWindow*)_obj)->PrepareDC(*((wxDC*)dc));
+	((wxScrolledWindow*)self)->PrepareDC(*dc);
 }
 
 }
diff --git a/wxc/src/eljsingleinst.cpp b/wxc/src/eljsingleinst.cpp
--- a/wxc/src/eljsingleinst.cpp
+++ b/wxc/src/eljsingleinst.cpp
@@ -10,19 +10,19 @@
 	return (void*)new wxSingleInstanceChecker();
 }
 	
-EWXWEXPORT(int,wxSingleInstanceChecker_Create)(void* _obj, void* name, void* path)
+EWXWEXPORT(bool,wxSingleInstanceChecker_Create)(wxSingleInstanceChecker* self,wxString* name,wxString* path)
 {
-	return (int)((wxSingleInstanceChecker*)_obj)->Create((wxChar*)name, (wxChar*)path);
+	return self->Create(*name,*path);
 }
 	
-EWXWEXPORT(int,wxSingleInstanceChecker_IsAnotherRunning)(void* _obj)
+EWXWEXPORT(bool,wxSingleInstanceChecker_IsAnotherRunning)(wxSingleInstanceChecker* self)
 {
-	return (int)((wxSingleInstanceChecker*)_obj)->IsAnotherRunning();
+	return self->IsAnotherRunning();
 }
 	
-EWXWEXPORT(void,wxSingleInstanceChecker_Delete)(void* _obj)
+EWXWEXPORT(void,wxSingleInstanceChecker_Delete)(void* self)
 {
-	delete (wxSingleInstanceChecker*)_obj;
+	delete (wxSingleInstanceChecker*)self;
 }
 	
 }
diff --git a/wxc/src/eljsizer.cpp b/wxc/src/eljsizer.cpp
--- a/wxc/src/eljsizer.cpp
+++ b/wxc/src/eljsizer.cpp
@@ -3,19 +3,19 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxSizerItem_Create)(int width, int height, int option, int flag, int border, void* userData)
+EWXWEXPORT(void*,wxSizerItem_Create)(int width,int height,int option,int flag,int border,void* userData)
 {
-	return (void*) new wxSizerItem(width, height, option, flag, border, new ELJDataObject(userData));
+	return (void*)new wxSizerItem(width, height, option, flag, border, new ELJDataObject(userData));
 }
 	
-EWXWEXPORT(void*, wxSizerItem_CreateInWindow)(void* window, int option, int flag, int border, void* userData )
+EWXWEXPORT(void*,wxSizerItem_CreateInWindow)(wxWindow* window,int option,int flag,int border,void* userData)
 {
-	return (void*) new wxSizerItem((wxWindow*)window, option, flag, border, new ELJDataObject(userData));
+	return (void*)new wxSizerItem(window, option, flag, border, new ELJDataObject(userData));
 }
 	
-EWXWEXPORT(void*, wxSizerItem_CreateInSizer)(void* sizer, int option, int flag, int border, void* userData )
+EWXWEXPORT(void*,wxSizerItem_CreateInSizer)(wxSizer* sizer,int option,int flag,int border,void* userData)
 {
-	return (void*) new wxSizerItem((wxSizer*) sizer, option, flag, border, new ELJDataObject(userData));
+	return (void*)new wxSizerItem(sizer, option, flag, border, new ELJDataObject(userData));
 }
 	
 EWXWEXPORT(void, wxSizerItem_GetSize)(void* _obj, void* _w, void* _h)
@@ -44,98 +44,98 @@
 	(*(int*)_w) = res.GetWidth();
 }
 	
-EWXWEXPORT(void, wxSizerItem_SetRatio)(void* _obj,  int width, int height)
+EWXWEXPORT(void,wxSizerItem_SetRatio)(wxSizerItem* self,int width,int height)
 {
-	((wxSizerItem*)_obj)->SetRatio(width, height);
+	self->SetRatio(width, height);
 }
 	
-EWXWEXPORT(void, wxSizerItem_SetFloatRatio)(void* _obj,  float ratio)
+EWXWEXPORT(void,wxSizerItem_SetFloatRatio)(wxSizerItem* self,float ratio)
 {
-	((wxSizerItem*)_obj)->SetRatio(ratio);
+	self->SetRatio(ratio);
 }
 	
-EWXWEXPORT(float, wxSizerItem_GetRatio)(void* _obj)
+EWXWEXPORT(float,wxSizerItem_GetRatio)(wxSizerItem* self)
 {
-	return ((wxSizerItem*)_obj)->GetRatio();
+	return self->GetRatio();
 }
 	
-EWXWEXPORT(int, wxSizerItem_IsWindow)(void* _obj)
+EWXWEXPORT(bool,wxSizerItem_IsWindow)(wxSizerItem* self)
 {
-	return (int)((wxSizerItem*)_obj)->IsWindow();
+	return self->IsWindow();
 }
 	
-EWXWEXPORT(int, wxSizerItem_IsSizer)(void* _obj)
+EWXWEXPORT(bool,wxSizerItem_IsSizer)(wxSizerItem* self)
 {
-	return (int)((wxSizerItem*)_obj)->IsSizer();
+	return self->IsSizer();
 }
 	
-EWXWEXPORT(int, wxSizerItem_IsSpacer)(void* _obj)
+EWXWEXPORT(bool,wxSizerItem_IsSpacer)(wxSizerItem* self)
 {
-	return (int)((wxSizerItem*)_obj)->IsSpacer();
+	return self->IsSpacer();
 }
 	
-EWXWEXPORT(void, wxSizerItem_SetInitSize)(void* _obj, int x, int y)
+EWXWEXPORT(void,wxSizerItem_SetInitSize)(wxSizerItem* self,int x,int y)
 {
-	((wxSizerItem*)_obj)->SetInitSize(x, y);
+	self->SetInitSize(x, y);
 }
 	
 #if (wxVERSION_NUMBER < 2800)	
-EWXWEXPORT(void, wxSizerItem_SetOption)(void* _obj, int option)
+EWXWEXPORT(void,wxSizerItem_SetOption)(wxSizerItem* self,int option)
 {
-	((wxSizerItem*)_obj)->SetOption(option);
+	self->SetOption(option);
 }
 #endif
 
-EWXWEXPORT(void, wxSizerItem_SetFlag)(void* _obj, int flag)
+EWXWEXPORT(void,wxSizerItem_SetFlag)(wxSizerItem* self,int flag)
 {
-	((wxSizerItem*)_obj)->SetFlag(flag);
+	self->SetFlag(flag);
 }
 	
-EWXWEXPORT(void, wxSizerItem_SetBorder)(void* _obj, int border)
+EWXWEXPORT(void,wxSizerItem_SetBorder)(wxSizerItem* self,int border)
 {
-	((wxSizerItem*)_obj)->SetBorder(border);
+	self->SetBorder(border);
 }
 	
-EWXWEXPORT(void*, wxSizerItem_GetWindow)(void* _obj)
+EWXWEXPORT(wxWindow*,wxSizerItem_GetWindow)(wxSizerItem* self)
 {
-	return (void*)((wxSizerItem*)_obj)->GetWindow();
+	return self->GetWindow();
 }
 	
-EWXWEXPORT(void, wxSizerItem_SetWindow)(void* _obj, void* window)
+EWXWEXPORT(void,wxSizerItem_SetWindow)(wxSizerItem* self,wxWindow* window)
 {
-	((wxSizerItem*)_obj)->SetWindow((wxWindow*) window);
+	self->SetWindow(window);
 }
 	
-EWXWEXPORT(void*, wxSizerItem_GetSizer)(void* _obj)
+EWXWEXPORT(void*,wxSizerItem_GetSizer)(wxSizerItem* self)
 {
-	return (void*)((wxSizerItem*)_obj)->GetSizer();
+	return (void*)self->GetSizer();
 }
 	
-EWXWEXPORT(void, wxSizerItem_SetSizer)(void* _obj, void* sizer)
+EWXWEXPORT(void,wxSizerItem_SetSizer)(wxSizerItem* self,wxSizer* sizer)
 {
-	((wxSizerItem*)_obj)->SetSizer((wxSizer*) sizer);
+	self->SetSizer(sizer);
 }
 	
 #if (wxVERSION_NUMBER < 2800)
-EWXWEXPORT(int, wxSizerItem_GetOption)(void* _obj)
+EWXWEXPORT(int,wxSizerItem_GetOption)(wxSizerItem* self)
 {
-	return ((wxSizerItem*)_obj)->GetOption();
+	return self->GetOption();
 }
 #endif
 
-EWXWEXPORT(int, wxSizerItem_GetFlag)(void* _obj)
+EWXWEXPORT(int,wxSizerItem_GetFlag)(wxSizerItem* self)
 {
-	return ((wxSizerItem*)_obj)->GetFlag();
+	return self->GetFlag();
 }
 	
-EWXWEXPORT(int, wxSizerItem_GetBorder)(void* _obj)
+EWXWEXPORT(int,wxSizerItem_GetBorder)(wxSizerItem* self)
 {
-	return ((wxSizerItem*)_obj)->GetBorder();
+	return self->GetBorder();
 }
 	
-EWXWEXPORT(void*, wxSizerItem_GetUserData)(void* _obj)
+EWXWEXPORT(void*,wxSizerItem_GetUserData)(wxSizerItem* self)
 {
-	return ((ELJDataObject*)((wxSizerItem*)_obj)->GetUserData())->data;
+	return ((ELJDataObject*)self->GetUserData())->data;
 }
 	
 EWXWEXPORT(void, wxSizerItem_GetPosition)(void* _obj, void* _x, void* _y)
@@ -146,24 +146,24 @@
 }
 	
 #if (wxVERSION_NUMBER >= 2800)
-EWXWEXPORT(void, wxSizerItem_Delete)(void* _obj)
+EWXWEXPORT(void,wxSizerItem_Delete)(wxSizerItem* self)
 {
-  delete ((wxSizerItem*)_obj);
+  delete self;
 }
 
-EWXWEXPORT(void, wxSizerItem_DeleteWindows)(void *_obj)
+EWXWEXPORT(void,wxSizerItem_DeleteWindows)(wxSizerItem* self)
 {
-  ((wxSizerItem*)_obj)->DeleteWindows();
+  self->DeleteWindows();
 }
 
-EWXWEXPORT(void, wxSizerItem_DetachSizer)(void *_obj)
+EWXWEXPORT(void,wxSizerItem_DetachSizer)(wxSizerItem* self)
 {
-  ((wxSizerItem*)_obj)->DetachSizer();
+  self->DetachSizer();
 }
 
-EWXWEXPORT(int, wxSizerItem_GetProportion)(void *_obj)
+EWXWEXPORT(int,wxSizerItem_GetProportion)(wxSizerItem* self)
 {
-  return ((wxSizerItem*)_obj)->GetProportion();
+  return self->GetProportion();
 }
 
 EWXWEXPORT(void, wxSizerItem_GetRect)(void *_obj, void *_x, void *_y, void *_w, void *_h)
@@ -188,107 +188,107 @@
   (*(int *)_h) = sz.GetHeight();
 }
 
-EWXWEXPORT(int, wxSizerItem_IsShown)(void *_obj)
+EWXWEXPORT(bool,wxSizerItem_IsShown)(wxSizerItem* self)
 {
-  return (int) ((wxSizerItem*)_obj)->IsShown();
+  return  self->IsShown();
 }
 
-EWXWEXPORT(void, wxSizerItem_SetProportion)(void *_obj, int proportion)
+EWXWEXPORT(void,wxSizerItem_SetProportion)(wxSizerItem* self,int proportion)
 {
-  ((wxSizerItem*)_obj)->SetProportion(proportion);
+  self->SetProportion(proportion);
 }
 
-EWXWEXPORT(void, wxSizerItem_SetSpacer)(void *_obj, int width, int height)
+EWXWEXPORT(void,wxSizerItem_SetSpacer)(wxSizerItem* self,int width,int height)
 {
-  ((wxSizerItem*)_obj)->SetSpacer(wxSize(width, height));
+  self->SetSpacer(wxSize(width, height));
 }
 
-EWXWEXPORT(void, wxSizerItem_Show)(void *_obj, int show)
+EWXWEXPORT(void,wxSizerItem_Show)(wxSizerItem* self,int show)
 {
-  ((wxSizerItem*)_obj)->Show(show);
+  self->Show(show);
 }
 #endif
 
-EWXWEXPORT(void, wxSizer_AddWindow)(void* _obj, void* window, int option, int flag, int border, void* userData)
+EWXWEXPORT(void,wxSizer_AddWindow)(wxSizer* self,wxWindow* window,int option,int flag,int border,void* userData)
 {
-	((wxSizer*)_obj)->Add((wxWindow*)window, option, flag, border, new ELJDataObject (userData));
+	self->Add(window, option, flag, border, new ELJDataObject (userData));
 }
 	
-EWXWEXPORT(void, wxSizer_AddSizer)(void* _obj, void* sizer, int option, int flag, int border, void* userData)
+EWXWEXPORT(void,wxSizer_AddSizer)(wxSizer* self,wxSizer* sizer,int option,int flag,int border,void* userData)
 {
-	((wxSizer*)_obj)->Add((wxSizer*)sizer, option, flag, border, new ELJDataObject (userData));
+	self->Add(sizer, option, flag, border, new ELJDataObject (userData));
 }
 	
-EWXWEXPORT(void, wxSizer_Add)(void* _obj, int width, int height, int option, int flag, int border, void* userData)
+EWXWEXPORT(void,wxSizer_Add)(wxSizer* self,int width,int height,int option,int flag,int border,void* userData)
 {
-	((wxSizer*)_obj)->Add(width, height, option, flag, border, new ELJDataObject (userData));
+	self->Add(width, height, option, flag, border, new ELJDataObject (userData));
 }
 	
-EWXWEXPORT(void, wxSizer_InsertWindow)(void* _obj, int before, void* window, int option, int flag, int border, void* userData)
+EWXWEXPORT(void,wxSizer_InsertWindow)(wxSizer* self,int before,wxWindow* window,int option,int flag,int border,void* userData)
 {
-	((wxSizer*)_obj)->Insert(before, (wxWindow*)window, option, flag, border, new ELJDataObject (userData));
+	self->Insert(before, window, option, flag, border, new ELJDataObject (userData));
 }
 	
-EWXWEXPORT(void, wxSizer_InsertSizer)(void* _obj, int before, void* sizer, int option, int flag, int border, void* userData)
+EWXWEXPORT(void,wxSizer_InsertSizer)(wxSizer* self,int before,wxSizer* sizer,int option,int flag,int border,void* userData)
 {
-	((wxSizer*)_obj)->Insert(before, (wxSizer*)sizer, option, flag, border, new ELJDataObject (userData));
+	self->Insert(before, sizer, option, flag, border, new ELJDataObject (userData));
 }
 	
-EWXWEXPORT(void, wxSizer_Insert)(void* _obj, int before, int width, int height, int option, int flag, int border, void* userData)
+EWXWEXPORT(void,wxSizer_Insert)(wxSizer* self,int before,int width,int height,int option,int flag,int border,void* userData)
 {
-	((wxSizer*)_obj)->Insert(before, width, height, option, flag, border, new ELJDataObject (userData));
+	self->Insert(before, width, height, option, flag, border, new ELJDataObject (userData));
 }
 	
-EWXWEXPORT(void, wxSizer_PrependWindow)(void* _obj, void* window, int option, int flag, int border, void* userData)
+EWXWEXPORT(void,wxSizer_PrependWindow)(wxSizer* self,wxWindow* window,int option,int flag,int border,void* userData)
 {
-	((wxSizer*)_obj)->Prepend((wxWindow*)window, option, flag, border, new ELJDataObject (userData));
+	self->Prepend(window, option, flag, border, new ELJDataObject (userData));
 }
 	
-EWXWEXPORT(void, wxSizer_PrependSizer)(void* _obj, void* sizer, int option, int flag, int border, void* userData)
+EWXWEXPORT(void,wxSizer_PrependSizer)(wxSizer* self,wxSizer* sizer,int option,int flag,int border,void* userData)
 {
-	((wxSizer*)_obj)->Prepend((wxSizer*)sizer, option, flag, border, new ELJDataObject (userData));
+	self->Prepend(sizer, option, flag, border, new ELJDataObject (userData));
 }
 	
-EWXWEXPORT(void, wxSizer_Prepend)(void* _obj, int width, int height, int option, int flag, int border, void* userData)
+EWXWEXPORT(void,wxSizer_Prepend)(wxSizer* self,int width,int height,int option,int flag,int border,void* userData)
 {
-	((wxSizer*)_obj)->Prepend(width, height, option, flag, border, new ELJDataObject (userData));
+	self->Prepend(width, height, option, flag, border, new ELJDataObject (userData));
 }
 	
 #if (wxVERSION_NUMBER < 2800)	
-EWXWEXPORT(int, wxSizer_RemoveWindow)(void* _obj, void* window)
+EWXWEXPORT(bool,wxSizer_RemoveWindow)(wxSizer* self,wxWindow* window)
 {
-	return (int)((wxSizer*)_obj)->Remove((wxWindow*) window);
+	return self->Remove(window);
 }
 	
-EWXWEXPORT(int, wxSizer_RemoveSizer)(void* _obj, void* sizer)
+EWXWEXPORT(bool,wxSizer_RemoveSizer)(wxSizer* self,wxSizer* sizer)
 {
-	return (int)((wxSizer*)_obj)->Remove((wxSizer*) sizer);
+	return self->Remove(sizer);
 }
 	
-EWXWEXPORT(int, wxSizer_Remove)(void* _obj, int pos)
+EWXWEXPORT(bool,wxSizer_Remove)(wxSizer* self,int pos)
 {
-	return (int)((wxSizer*)_obj)->Remove(pos);
+	return self->Remove(pos);
 }
 #endif
 	
-EWXWEXPORT(void, wxSizer_SetMinSize)(void* _obj, int width, int height)
+EWXWEXPORT(void,wxSizer_SetMinSize)(wxSizer* self,int width,int height)
 {
-	((wxSizer*)_obj)->SetMinSize(width, height);
+	self->SetMinSize(width, height);
 }
 	
-EWXWEXPORT(void, wxSizer_SetItemMinSizeWindow)(void* _obj, void* window, int width, int height)
+EWXWEXPORT(void,wxSizer_SetItemMinSizeWindow)(wxSizer* self,wxWindow* window,int width,int height)
 {
-	((wxSizer*)_obj)->SetItemMinSize((wxWindow*) window, width, height);
+	self->SetItemMinSize( window, width, height);
 }
 	
-EWXWEXPORT(void, wxSizer_SetItemMinSizeSizer)(void* _obj, void* sizer, int width, int height)
+EWXWEXPORT(void,wxSizer_SetItemMinSizeSizer)(wxSizer* self,wxSizer* sizer,int width,int height)
 {
-	((wxSizer*)_obj)->SetItemMinSize((wxSizer*) sizer, width, height);
+	self->SetItemMinSize(sizer, width, height);
 }
 	
-EWXWEXPORT(void, wxSizer_SetItemMinSize)(void* _obj, int pos, int width, int height )
+EWXWEXPORT(void,wxSizer_SetItemMinSize)(wxSizer* self,int pos,int width,int height)
 {
-	((wxSizer*)_obj)->SetItemMinSize(pos, width, height);
+	self->SetItemMinSize(pos, width, height);
 }
 	
 EWXWEXPORT(void, wxSizer_GetSize)(void* _obj, void* _w, void* _h)
@@ -312,9 +312,9 @@
 	(*(int*)_h) = res.GetHeight();
 }
 	
-EWXWEXPORT(void, wxSizer_RecalcSizes)(void* _obj)
+EWXWEXPORT(void,wxSizer_RecalcSizes)(wxSizer* self)
 {
-	((wxSizer*)_obj)->RecalcSizes();
+	self->RecalcSizes();
 }
 	
 EWXWEXPORT(void, wxSizer_CalcMin)(void* _obj, void* _w, void* _h)
@@ -324,27 +324,27 @@
 	(*(int*)_h) = res.GetHeight();
 }
 	
-EWXWEXPORT(void, wxSizer_Layout)(void* _obj)
+EWXWEXPORT(void,wxSizer_Layout)(wxSizer* self)
 {
-	((wxSizer*)_obj)->Layout();
+	self->Layout();
 }
 	
-EWXWEXPORT(void, wxSizer_Fit)(void* _obj, void* window )
+EWXWEXPORT(void,wxSizer_Fit)(wxSizer* self,wxWindow* window)
 {
-	((wxSizer*)_obj)->Fit((wxWindow*) window);
+	self->Fit(window);
 }
 	
-EWXWEXPORT(void, wxSizer_SetSizeHints)(void* _obj, void* window )
+EWXWEXPORT(void,wxSizer_SetSizeHints)(wxSizer* self,wxWindow* window)
 {
-	((wxSizer*)_obj)->SetSizeHints((wxWindow*) window);
+	self->SetSizeHints(window);
 }
 	
-EWXWEXPORT(int, wxSizer_GetChildren)(void* _obj, void* _res, int _cnt)
+EWXWEXPORT(int, wxSizer_GetChildren)(wxSizer* self, void* _res, int _cnt)
 {
-	if (_res && (unsigned int)_cnt == ((wxSizer*)_obj)->GetChildren().GetCount())
+	if (_res && (unsigned int)_cnt == self->GetChildren().GetCount())
 	{
 		int i = 0;
-		wxSizerItemList::compatibility_iterator node = ((wxSizer*)_obj)->GetChildren().GetFirst();
+		wxSizerItemList::compatibility_iterator node = self->GetChildren().GetFirst();
 		while (node)
 		{
 			((void**)_res)[i] = node->GetData();
@@ -354,164 +354,164 @@
 		return i;
 	}
 	else
-		return ((wxSizer*)_obj)->GetChildren().GetCount();
+		return self->GetChildren().GetCount();
 }
 
 #if (wxVERSION_NUMBER >= 2800)
-EWXWEXPORT(void, wxSizer_AddSpacer)(void* _obj, int size)
+EWXWEXPORT(void,wxSizer_AddSpacer)(wxSizer* self,int size)
 {
-  ((wxSizer*)_obj)->AddSpacer(size);
+  self->AddSpacer(size);
 }
 
-EWXWEXPORT(void, wxSizer_AddStretchSpacer)(void* _obj, int size)
+EWXWEXPORT(void,wxSizer_AddStretchSpacer)(wxSizer* self,int size)
 {
-  ((wxSizer*)_obj)->AddStretchSpacer(size);
+  self->AddStretchSpacer(size);
 }
 
-EWXWEXPORT(void, wxSizer_Clear)(void* _obj, int delete_windows)
+EWXWEXPORT(void,wxSizer_Clear)(wxSizer* self,bool delete_windows)
 {
-  ((wxSizer*)_obj)->Clear((bool) delete_windows);
+  self->Clear(delete_windows);
 }
 
-EWXWEXPORT(int, wxSizer_DetachWindow)(void* _obj, void *window)
+EWXWEXPORT(bool,wxSizer_DetachWindow)(wxSizer* self,wxWindow* window)
 {
-  return (int)((wxSizer*)_obj)->Detach((wxWindow*) window);
+  return self->Detach(window);
 }
 
-EWXWEXPORT(int, wxSizer_DetachSizer)(void* _obj, void *sizer)
+EWXWEXPORT(bool,wxSizer_DetachSizer)(wxSizer* self,wxSizer* sizer)
 {
-  return (int)((wxSizer*)_obj)->Detach((wxSizer*) sizer);
+  return self->Detach(sizer);
 }
 
-EWXWEXPORT(int, wxSizer_Detach)(void* _obj, int index)
+EWXWEXPORT(bool,wxSizer_Detach)(wxSizer* self,int index)
 {
-  return (int)((wxSizer*)_obj)->Detach((size_t) index);
+  return self->Detach((size_t) index);
 }
 
-EWXWEXPORT(void, wxSizer_FitInside)(void* _obj, void *window)
+EWXWEXPORT(void,wxSizer_FitInside)(wxSizer* self,wxWindow* window)
 {
-  ((wxSizer*)_obj)->FitInside((wxWindow*) window);
+  self->FitInside( window);
 }
 
-EWXWEXPORT(void *, wxSizer_GetContainingWindow)(void* _obj)
+EWXWEXPORT(void*,wxSizer_GetContainingWindow)(wxSizer* self)
 {
-  return (void *)((wxSizer*)_obj)->GetContainingWindow();
+  return (void*)self->GetContainingWindow();
 }
 
-EWXWEXPORT(void *, wxSizer_GetItemWindow)(void* _obj, void *window, int recursive)
+EWXWEXPORT(void*,wxSizer_GetItemWindow)(wxSizer* self,wxWindow* window,bool recursive)
 {
-  return (void *)((wxSizer*)_obj)->GetItem((wxWindow*) window, (bool) recursive);
+  return (void*)self->GetItem( window, recursive);
 }
 
-EWXWEXPORT(void *, wxSizer_GetItemSizer)(void* _obj, void *sizer, int recursive)
+EWXWEXPORT(void*,wxSizer_GetItemSizer)(wxSizer* self,wxSizer* sizer,bool recursive)
 {
-  return (void *)((wxSizer*)_obj)->GetItem((wxSizer*) sizer, (bool) recursive);
+  return (void*)self->GetItem(sizer, recursive);
 }
 
-EWXWEXPORT(void *, wxSizer_GetItem)(void* _obj, int index)
+EWXWEXPORT(void*,wxSizer_GetItem)(wxSizer* self,int index)
 {
-  return (void *)((wxSizer*)_obj)->GetItem((size_t) index);
+  return (void*)self->GetItem((size_t) index);
 }
 
-EWXWEXPORT(int, wxSizer_HideWindow)(void* _obj, void *window)
+EWXWEXPORT(bool,wxSizer_HideWindow)(wxSizer* self,wxWindow* window)
 {
-  return (int)((wxSizer*)_obj)->Hide((wxWindow*) window);
+  return self->Hide(window);
 }
 
-EWXWEXPORT(int, wxSizer_HideSizer)(void* _obj, void *sizer)
+EWXWEXPORT(bool,wxSizer_HideSizer)(wxSizer* self,wxSizer* sizer)
 {
-  return (int)((wxSizer*)_obj)->Hide((wxSizer*) sizer);
+  return self->Hide(sizer);
 }
 
-EWXWEXPORT(int, wxSizer_Hide)(void* _obj, int index)
+EWXWEXPORT(bool,wxSizer_Hide)(wxSizer* self,int index)
 {
-  return (int)((wxSizer*)_obj)->Hide((size_t) index);
+  return self->Hide((size_t) index);
 }
 
-EWXWEXPORT(void *, wxSizer_InsertSpacer)(void* _obj, int index, int size)
+EWXWEXPORT(void*,wxSizer_InsertSpacer)(wxSizer* self,int index,int size)
 {
-  return (void *)((wxSizer*)_obj)->InsertSpacer((size_t) index, size);
+  return (void*)self->InsertSpacer((size_t) index, size);
 }
 
-EWXWEXPORT(void *, wxSizer_InsertStretchSpacer)(void* _obj, int index, int prop)
+EWXWEXPORT(void*,wxSizer_InsertStretchSpacer)(wxSizer* self,int index,int prop)
 {
-  return (void *)((wxSizer*)_obj)->InsertStretchSpacer((size_t) index, prop);
+  return (void*)self->InsertStretchSpacer((size_t) index, prop);
 }
 
-EWXWEXPORT(int, wxSizer_IsShownWindow)(void* _obj, void *window)
+EWXWEXPORT(bool,wxSizer_IsShownWindow)(wxSizer* self,wxWindow* window)
 {
-  return (int)((wxSizer*)_obj)->IsShown((wxWindow*) window);
+  return self->IsShown( window);
 }
 
-EWXWEXPORT(int, wxSizer_IsShownSizer)(void* _obj, void *sizer)
+EWXWEXPORT(bool,wxSizer_IsShownSizer)(wxSizer* self,wxSizer* sizer)
 {
-  return (int)((wxSizer*)_obj)->IsShown((wxSizer*) sizer);
+  return self->IsShown(sizer);
 }
 
-EWXWEXPORT(int, wxSizer_IsShown)(void* _obj, int index)
+EWXWEXPORT(bool,wxSizer_IsShown)(wxSizer* self,size_t index)
 {
-  return (int)((wxSizer*)_obj)->IsShown((size_t) index);
+  return self->IsShown( index);
 }
 
-EWXWEXPORT(void *, wxSizer_PrependSpacer)(void* _obj, int size)
+EWXWEXPORT(void*,wxSizer_PrependSpacer)(wxSizer* self,int size)
 {
-  return (void *)((wxSizer*)_obj)->PrependSpacer(size);
+  return (void*)self->PrependSpacer(size);
 }
 
-EWXWEXPORT(void *, wxSizer_PrependStretchSpacer)(void* _obj, int prop)
+EWXWEXPORT(void*,wxSizer_PrependStretchSpacer)(wxSizer* self,int prop)
 {
-  return (void *)((wxSizer*)_obj)->PrependStretchSpacer(prop);
+  return (void*)self->PrependStretchSpacer(prop);
 }
 
-EWXWEXPORT(int, wxSizer_ReplaceWindow)(void* _obj, void *oldwin, void *newwin, int recursive)
+EWXWEXPORT(bool,wxSizer_ReplaceWindow)(wxSizer* self,wxWindow* oldwin,wxWindow* newwin,bool recursive)
 {
-  return (int)((wxSizer*)_obj)->Replace((wxWindow*) oldwin, (wxWindow*) newwin, (bool) recursive);
+  return self->Replace(oldwin, newwin, recursive);
 }
 
-EWXWEXPORT(int, wxSizer_ReplaceSizer)(void* _obj, void *oldsz, void *newsz, int recursive)
+EWXWEXPORT(bool,wxSizer_ReplaceSizer)(wxSizer* self,wxSizer* oldsz,wxSizer* newsz,bool recursive)
 {
-  return (int)((wxSizer*)_obj)->Replace((wxSizer*) oldsz, (wxSizer*) newsz, (bool) recursive);
+  return self->Replace( oldsz, newsz,recursive);
 }
 
-EWXWEXPORT(int, wxSizer_Replace)(void* _obj, int oldindex, void *newsz)
+EWXWEXPORT(bool,wxSizer_Replace)(wxSizer* self,int oldindex,wxSizerItem* newsz)
 {
-  return (int)((wxSizer*)_obj)->Replace((size_t) oldindex, (wxSizerItem*) newsz);
+  return self->Replace((size_t) oldindex,newsz);
 }
 
-EWXWEXPORT(void, wxSizer_SetVirtualSizeHints)(void* _obj, void *window)
+EWXWEXPORT(void,wxSizer_SetVirtualSizeHints)(wxSizer* self,wxWindow* window)
 {
-  ((wxSizer*)_obj)->SetVirtualSizeHints((wxWindow*) window);
+  self->SetVirtualSizeHints(window);
 }
 
-EWXWEXPORT(int, wxSizer_ShowWindow)(void* _obj, void *window, int show, int recursive)
+EWXWEXPORT(bool,wxSizer_ShowWindow)(wxSizer* self,wxWindow* window,bool show,bool recursive)
 {
-  return (int)((wxSizer*)_obj)->Show((wxWindow*) window, (bool) show, (bool) recursive);
+  return self->Show(window, show, recursive);
 }
 
-EWXWEXPORT(int, wxSizer_ShowSizer)(void* _obj, void *sizer, int show, int recursive)
+EWXWEXPORT(bool,wxSizer_ShowSizer)(wxSizer* self,wxSizer* sizer,bool show,bool recursive)
 {
-  return (int)((wxSizer*)_obj)->Show((wxSizer*) sizer, (bool) show, (bool) recursive);
+  return self->Show(sizer, show, recursive);
 }
 
-EWXWEXPORT(int, wxSizer_Show)(void* _obj, int index, int show)
+EWXWEXPORT(bool,wxSizer_Show)(wxSizer* self,int index,bool show)
 {
-  return (int)((wxSizer*)_obj)->Show((size_t) index, (bool) show);
+  return self->Show((size_t) index, show);
 }
 #endif
 	
-EWXWEXPORT(void, wxSizer_SetDimension)(void* _obj, int x, int y, int width, int height)
+EWXWEXPORT(void,wxSizer_SetDimension)(wxSizer* self,int x,int y,int width,int height)
 {
-	((wxSizer*)_obj)->SetDimension(x, y, width, height);
+	self->SetDimension(x, y, width, height);
 }
 	
-EWXWEXPORT(void*, wxGridSizer_Create)(int rows, int cols, int vgap, int hgap)
+EWXWEXPORT(void*,wxGridSizer_Create)(int rows,int cols,int vgap,int hgap)
 {
-	return (void*) new wxGridSizer(rows, cols, vgap, hgap);
+	return (void*)new wxGridSizer(rows, cols, vgap, hgap);
 }
 	
-EWXWEXPORT(void, wxGridSizer_RecalcSizes)(void* _obj)
+EWXWEXPORT(void,wxGridSizer_RecalcSizes)(void* self)
 {
-	((wxGridSizer*)_obj)->RecalcSizes();
+	((wxGridSizer*)self)->RecalcSizes();
 }
 	
 EWXWEXPORT(void, wxGridSizer_CalcMin)(void* _obj, void* _w, void* _h)
@@ -521,54 +521,54 @@
 	(*(int*)_h) = res.GetHeight();
 }
 	
-EWXWEXPORT(void, wxGridSizer_SetCols)(void* _obj, int cols )
+EWXWEXPORT(void,wxGridSizer_SetCols)(void* self,int cols)
 {
-	((wxGridSizer*)_obj)->SetCols(cols);
+	((wxGridSizer*)self)->SetCols(cols);
 }
 	
-EWXWEXPORT(void, wxGridSizer_SetRows)(void* _obj, int rows)
+EWXWEXPORT(void,wxGridSizer_SetRows)(void* self,int rows)
 {
-	((wxGridSizer*)_obj)->SetRows(rows);
+	((wxGridSizer*)self)->SetRows(rows);
 }
 	
-EWXWEXPORT(void, wxGridSizer_SetVGap)(void* _obj, int gap)
+EWXWEXPORT(void,wxGridSizer_SetVGap)(void* self,int gap)
 {
-	((wxGridSizer*)_obj)->SetVGap(gap);
+	((wxGridSizer*)self)->SetVGap(gap);
 }
 	
-EWXWEXPORT(void, wxGridSizer_SetHGap)(void* _obj, int gap)
+EWXWEXPORT(void,wxGridSizer_SetHGap)(void* self,int gap)
 {
-	((wxGridSizer*)_obj)->SetHGap(gap);
+	((wxGridSizer*)self)->SetHGap(gap);
 }
 	
-EWXWEXPORT(int, wxGridSizer_GetCols)(void* _obj)
+EWXWEXPORT(int,wxGridSizer_GetCols)(void* self)
 {
-	return ((wxGridSizer*)_obj)->GetCols();
+	return ((wxGridSizer*)self)->GetCols();
 }
 	
-EWXWEXPORT(int, wxGridSizer_GetRows)(void* _obj)
+EWXWEXPORT(int,wxGridSizer_GetRows)(void* self)
 {
-	return ((wxGridSizer*)_obj)->GetRows();
+	return ((wxGridSizer*)self)->GetRows();
 }
 	
-EWXWEXPORT(int, wxGridSizer_GetVGap)(void* _obj)
+EWXWEXPORT(int,wxGridSizer_GetVGap)(void* self)
 {
-	return ((wxGridSizer*)_obj)->GetVGap();
+	return ((wxGridSizer*)self)->GetVGap();
 }
 	
-EWXWEXPORT(int, wxGridSizer_GetHGap)(void* _obj)
+EWXWEXPORT(int,wxGridSizer_GetHGap)(void* self)
 {
-	return ((wxGridSizer*)_obj)->GetHGap();
+	return ((wxGridSizer*)self)->GetHGap();
 }
 	
-EWXWEXPORT(void*, wxFlexGridSizer_Create)(int rows, int cols, int vgap, int hgap)
+EWXWEXPORT(void*,wxFlexGridSizer_Create)(int rows,int cols,int vgap,int hgap)
 {
 	return new wxFlexGridSizer(rows, cols, vgap, hgap);
 }
 	
-EWXWEXPORT(void, wxFlexGridSizer_RecalcSizes)(void* _obj)
+EWXWEXPORT(void,wxFlexGridSizer_RecalcSizes)(void* self)
 {
-	((wxFlexGridSizer*)_obj)->RecalcSizes();
+	((wxFlexGridSizer*)self)->RecalcSizes();
 }
 	
 EWXWEXPORT(void, wxFlexGridSizer_CalcMin)(void* _obj, void* _w, void* _h)
@@ -578,34 +578,34 @@
 	(*(int*)_h) = res.GetHeight();
 }
 	
-EWXWEXPORT(void, wxFlexGridSizer_AddGrowableRow)(void* _obj, size_t idx)
+EWXWEXPORT(void,wxFlexGridSizer_AddGrowableRow)(void* self,size_t idx)
 {
-	((wxFlexGridSizer*)_obj)->AddGrowableRow(idx);
+	((wxFlexGridSizer*)self)->AddGrowableRow(idx);
 }
 	
-EWXWEXPORT(void, wxFlexGridSizer_RemoveGrowableRow)(void* _obj, size_t idx)
+EWXWEXPORT(void,wxFlexGridSizer_RemoveGrowableRow)(void* self,size_t idx)
 {
-	((wxFlexGridSizer*)_obj)->RemoveGrowableRow(idx);
+	((wxFlexGridSizer*)self)->RemoveGrowableRow(idx);
 }
 	
-EWXWEXPORT(void, wxFlexGridSizer_AddGrowableCol)(void* _obj, size_t idx)
+EWXWEXPORT(void,wxFlexGridSizer_AddGrowableCol)(void* self,size_t idx)
 {
-	((wxFlexGridSizer*)_obj)->AddGrowableCol(idx);
+	((wxFlexGridSizer*)self)->AddGrowableCol(idx);
 }
 	
-EWXWEXPORT(void, wxFlexGridSizer_RemoveGrowableCol)(void* _obj, size_t idx)
+EWXWEXPORT(void,wxFlexGridSizer_RemoveGrowableCol)(void* self,size_t idx)
 {
-	((wxFlexGridSizer*)_obj)->RemoveGrowableCol(idx);
+	((wxFlexGridSizer*)self)->RemoveGrowableCol(idx);
 }
 	
-EWXWEXPORT(void*, wxBoxSizer_Create)(int orient )
+EWXWEXPORT(void*,wxBoxSizer_Create)(int orient)
 {
-	return (void*) new wxBoxSizer(orient);
+	return (void*)new wxBoxSizer(orient);
 }
 	
-EWXWEXPORT(void, wxBoxSizer_RecalcSizes)(void* _obj)
+EWXWEXPORT(void,wxBoxSizer_RecalcSizes)(void* self)
 {
-	((wxBoxSizer*)_obj)->RecalcSizes();
+	((wxBoxSizer*)self)->RecalcSizes();
 }
 	
 EWXWEXPORT(void, wxBoxSizer_CalcMin)(void* _obj, void* _w, void* _h)
diff --git a/wxc/src/eljspinctrl.cpp b/wxc/src/eljspinctrl.cpp
--- a/wxc/src/eljspinctrl.cpp
+++ b/wxc/src/eljspinctrl.cpp
@@ -3,62 +3,62 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxSpinCtrl_Create) (void* _prt, int _id, wxChar* _txt, int _lft, int _top, int _wdt, int _hgt, long _stl, int _min, int _max, int _init)
+EWXWEXPORT(void*,wxSpinCtrl_Create)(wxWindow* _prt,int _id,wxString* _txt,int _lft,int _top,int _wdt,int _hgt,long _stl,int _min,int _max,int _init)
 {
-	return (void*) new wxSpinCtrl ((wxWindow*)_prt, _id, _txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, _min, _max, _init);
+	return (void*) new wxSpinCtrl (_prt, _id, *_txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, _min, _max, _init);
 }
 
-EWXWEXPORT(void, wxSpinCtrl_SetValue)(void* _obj, int val)
+EWXWEXPORT(void,wxSpinCtrl_SetValue)(void* _obj,int val)
 {
 	((wxSpinCtrl*)_obj)->SetValue(val);
 }
 	
-EWXWEXPORT(int, wxSpinCtrl_GetValue)(void* _obj)
+EWXWEXPORT(int,wxSpinCtrl_GetValue)(void* _obj)
 {
 	return ((wxSpinCtrl*)_obj)->GetValue();
 }
 	
-EWXWEXPORT(void, wxSpinCtrl_SetRange)(void* _obj, int min_val, int max_val)
+EWXWEXPORT(void,wxSpinCtrl_SetRange)(void* _obj,int min_val,int max_val)
 {
 	((wxSpinCtrl*)_obj)->SetRange(min_val, max_val);
 }
 	
-EWXWEXPORT(int, wxSpinCtrl_GetMin)(void* _obj)
+EWXWEXPORT(int,wxSpinCtrl_GetMin)(void* _obj)
 {
 	return ((wxSpinCtrl*)_obj)->GetMin();
 }
 	
-EWXWEXPORT(int, wxSpinCtrl_GetMax)(void* _obj)
+EWXWEXPORT(int,wxSpinCtrl_GetMax)(void* _obj)
 {
 	return ((wxSpinCtrl*)_obj)->GetMax();
 }
 
-EWXWEXPORT(void*, wxSpinButton_Create)(void* _prt, int _id, int _lft, int _top, int _wdt, int _hgt, long _stl)
+EWXWEXPORT(void*,wxSpinButton_Create)(wxWindow* _prt,int _id,int _lft,int _top,int _wdt,int _hgt,long _stl)
 {
-	return (void*) new wxSpinButton ((wxWindow*)_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+	return (void*) new wxSpinButton (_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
 }
 
-EWXWEXPORT(int, wxSpinButton_GetValue)(void* _obj)
+EWXWEXPORT(int,wxSpinButton_GetValue)(void* _obj)
 {
 	return ((wxSpinButton*)_obj)->GetValue();
 }
 	
-EWXWEXPORT(int, wxSpinButton_GetMin)(void* _obj)
+EWXWEXPORT(int,wxSpinButton_GetMin)(void* _obj)
 {
 	return ((wxSpinButton*)_obj)->GetMin();
 }
 	
-EWXWEXPORT(int, wxSpinButton_GetMax)(void* _obj)
+EWXWEXPORT(int,wxSpinButton_GetMax)(void* _obj)
 {
 	return ((wxSpinButton*)_obj)->GetMax();
 }
 	
-EWXWEXPORT(void, wxSpinButton_SetValue)(void* _obj, int val)
+EWXWEXPORT(void,wxSpinButton_SetValue)(void* _obj,int val)
 {
 	((wxSpinButton*)_obj)->SetValue(val);
 }
 	
-EWXWEXPORT(void, wxSpinButton_SetRange)(void* _obj, int minVal, int maxVal)
+EWXWEXPORT(void,wxSpinButton_SetRange)(void* _obj,int minVal,int maxVal)
 {
 	((wxSpinButton*)_obj)->SetRange(minVal, maxVal);
 }
diff --git a/wxc/src/eljsplitterwindow.cpp b/wxc/src/eljsplitterwindow.cpp
--- a/wxc/src/eljsplitterwindow.cpp
+++ b/wxc/src/eljsplitterwindow.cpp
@@ -3,99 +3,99 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxSplitterWindow_Create) (void* _prt, int _id, int _lft, int _top, int _wdt, int _hgt, int _stl)
+EWXWEXPORT(void*,wxSplitterWindow_Create)(wxWindow* _prt, int _id, int _lft, int _top, int _wdt, int _hgt, int _stl)
 {
-	return (void*) new wxSplitterWindow ((wxWindow*)_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+	return (void*)new wxSplitterWindow (_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
 }
 
-EWXWEXPORT(void*, wxSplitterWindow_GetWindow1)(void* _obj)
+EWXWEXPORT(void*,wxSplitterWindow_GetWindow1)(void* self)
 {
-	return (void*)((wxSplitterWindow*)_obj)->GetWindow1();
+	return (void*)((wxSplitterWindow*)self)->GetWindow1();
 }
 	
-EWXWEXPORT(void*, wxSplitterWindow_GetWindow2)(void* _obj)
+EWXWEXPORT(void*,wxSplitterWindow_GetWindow2)(void* self)
 {
-	return (void*)((wxSplitterWindow*)_obj)->GetWindow2();
+	return (void*)((wxSplitterWindow*)self)->GetWindow2();
 }
 	
-EWXWEXPORT(void, wxSplitterWindow_SetSplitMode)(void* _obj, int mode)
+EWXWEXPORT(void,wxSplitterWindow_SetSplitMode)(void* self,int mode)
 {
-	((wxSplitterWindow*)_obj)->SetSplitMode(mode);
+	((wxSplitterWindow*)self)->SetSplitMode(mode);
 }
 	
-EWXWEXPORT(int, wxSplitterWindow_GetSplitMode)(void* _obj)
+EWXWEXPORT(int,wxSplitterWindow_GetSplitMode)(void* self)
 {
-	return ((wxSplitterWindow*)_obj)->GetSplitMode();
+	return ((wxSplitterWindow*)self)->GetSplitMode();
 }
 	
-EWXWEXPORT(void, wxSplitterWindow_Initialize)(void* _obj, void* window)
+EWXWEXPORT(void,wxSplitterWindow_Initialize)(void* self,wxWindow* window)
 {
-	((wxSplitterWindow*)_obj)->Initialize((wxWindow*)window);
+	((wxSplitterWindow*)self)->Initialize(window);
 }
 	
-EWXWEXPORT(int, wxSplitterWindow_SplitVertically)(void* _obj, void* window1, void* window2, int sashPosition)
+EWXWEXPORT(bool,wxSplitterWindow_SplitVertically)(wxSplitterWindow* self,wxWindow* window1,wxWindow* window2,int sashPosition)
 {
-	return (int)((wxSplitterWindow*)_obj)->SplitVertically((wxWindow*)window1, (wxWindow*)window2, sashPosition);
+	return self->SplitVertically(window1, window2, sashPosition);
 }
 	
-EWXWEXPORT(int, wxSplitterWindow_SplitHorizontally)(void* _obj, void* window1, void* window2, int sashPosition)
+EWXWEXPORT(int,wxSplitterWindow_SplitHorizontally)(void* self,wxWindow* window1,wxWindow* window2,int sashPosition)
 {
-	return (int)((wxSplitterWindow*)_obj)->SplitHorizontally((wxWindow*)window1, (wxWindow*)window2, sashPosition);
+	return (int)((wxSplitterWindow*)self)->SplitHorizontally(window1, window2, sashPosition);
 }
 	
-EWXWEXPORT(int, wxSplitterWindow_Unsplit)(void* _obj, void* toRemove)
+EWXWEXPORT(int,wxSplitterWindow_Unsplit)(void* self,wxWindow* toRemove)
 {
-	return (int)((wxSplitterWindow*)_obj)->Unsplit((wxWindow*)toRemove);
+	return (int)((wxSplitterWindow*)self)->Unsplit(toRemove);
 }
 	
-EWXWEXPORT(int, wxSplitterWindow_ReplaceWindow)(void* _obj, void* winOld, void* winNew)
+EWXWEXPORT(int,wxSplitterWindow_ReplaceWindow)(void* self,wxWindow* winOld,wxWindow* winNew)
 {
-	return (int)((wxSplitterWindow*)_obj)->ReplaceWindow((wxWindow*)winOld, (wxWindow*)winNew);
+	return (int)((wxSplitterWindow*)self)->ReplaceWindow(winOld, winNew);
 }
 	
-EWXWEXPORT(int, wxSplitterWindow_IsSplit)(void* _obj)
+EWXWEXPORT(bool,wxSplitterWindow_IsSplit)(wxSplitterWindow* self)
 {
-	return (int)((wxSplitterWindow*)_obj)->IsSplit();
+	return self->IsSplit();
 }
 	
-EWXWEXPORT(void, wxSplitterWindow_SetSashSize)(void* _obj, int width)
+EWXWEXPORT(void,wxSplitterWindow_SetSashSize)(void* self,int width)
 {
-	((wxSplitterWindow*)_obj)->SetSashSize(width);
+	((wxSplitterWindow*)self)->SetSashSize(width);
 }
 	
-EWXWEXPORT(void, wxSplitterWindow_SetBorderSize)(void* _obj, int width)
+EWXWEXPORT(void,wxSplitterWindow_SetBorderSize)(void* self,int width)
 {
-	((wxSplitterWindow*)_obj)->SetBorderSize(width);
+	((wxSplitterWindow*)self)->SetBorderSize(width);
 }
 	
-EWXWEXPORT(int, wxSplitterWindow_GetSashSize)(void* _obj)
+EWXWEXPORT(int,wxSplitterWindow_GetSashSize)(void* self)
 {
-	return ((wxSplitterWindow*)_obj)->GetSashSize();
+	return ((wxSplitterWindow*)self)->GetSashSize();
 }
 	
-EWXWEXPORT(int, wxSplitterWindow_GetBorderSize)(void* _obj)
+EWXWEXPORT(int,wxSplitterWindow_GetBorderSize)(void* self)
 {
-	return ((wxSplitterWindow*)_obj)->GetBorderSize();
+	return ((wxSplitterWindow*)self)->GetBorderSize();
 }
 	
-EWXWEXPORT(void, wxSplitterWindow_SetSashPosition)(void* _obj, int position, int redraw)
+EWXWEXPORT(void,wxSplitterWindow_SetSashPosition)(void* self,int position,bool redraw)
 {
-	((wxSplitterWindow*)_obj)->SetSashPosition(position, redraw != 0);
+	((wxSplitterWindow*)self)->SetSashPosition(position, redraw);
 }
 	
-EWXWEXPORT(int, wxSplitterWindow_GetSashPosition)(void* _obj)
+EWXWEXPORT(int,wxSplitterWindow_GetSashPosition)(void* self)
 {
-	return ((wxSplitterWindow*)_obj)->GetSashPosition();
+	return ((wxSplitterWindow*)self)->GetSashPosition();
 }
 	
-EWXWEXPORT(void, wxSplitterWindow_SetMinimumPaneSize)(void* _obj, int min)
+EWXWEXPORT(void,wxSplitterWindow_SetMinimumPaneSize)(void* self,int min)
 {
-	((wxSplitterWindow*)_obj)->SetMinimumPaneSize(min);
+	((wxSplitterWindow*)self)->SetMinimumPaneSize(min);
 }
 	
-EWXWEXPORT(int, wxSplitterWindow_GetMinimumPaneSize)(void* _obj)
+EWXWEXPORT(int,wxSplitterWindow_GetMinimumPaneSize)(void* self)
 {
-	return ((wxSplitterWindow*)_obj)->GetMinimumPaneSize();
+	return ((wxSplitterWindow*)self)->GetMinimumPaneSize();
 }
 	
 }
diff --git a/wxc/src/eljstaticbox.cpp b/wxc/src/eljstaticbox.cpp
--- a/wxc/src/eljstaticbox.cpp
+++ b/wxc/src/eljstaticbox.cpp
@@ -3,9 +3,9 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxStaticBox_Create) (void* _prt, int _id, wxChar* _txt, int _lft, int _top, int _wdt, int _hgt, int _stl)
+EWXWEXPORT(void*,wxStaticBox_Create)(wxWindow* _prt,int _id,wxString* _txt,int _lft,int _top,int _wdt,int _hgt,int _stl)
 {
-	return (void*) new wxStaticBox ((wxWindow*)_prt, _id, _txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+	return (void*) new wxStaticBox (_prt, _id, *_txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
 }
 
 }
diff --git a/wxc/src/eljstaticline.cpp b/wxc/src/eljstaticline.cpp
--- a/wxc/src/eljstaticline.cpp
+++ b/wxc/src/eljstaticline.cpp
@@ -3,19 +3,19 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxStaticLine_Create) (void* _prt, int _id, int _lft, int _top, int _wdt, int _hgt, int _stl)
+EWXWEXPORT(void*,wxStaticLine_Create)(wxWindow* _prt,int _id,int _lft,int _top,int _wdt,int _hgt,int _stl)
 {
-	return (void*) new wxStaticLine ((wxWindow*)_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+	return (void*)new wxStaticLine ((wxWindow*)_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
 }
 
-EWXWEXPORT(int, wxStaticLine_IsVertical) (void* _obj)
+EWXWEXPORT(bool,wxStaticLine_IsVertical)(wxStaticLine* self)
 {
-	return (int)((wxStaticLine*)_obj)->IsVertical ();
+	return self->IsVertical ();
 }
 	
-EWXWEXPORT(int, wxStaticLine_GetDefaultSize) (void* _obj)
+EWXWEXPORT(int,wxStaticLine_GetDefaultSize)(wxStaticLine* self)
 {
-	return ((wxStaticLine*)_obj)->GetDefaultSize ();
+	return self->GetDefaultSize ();
 }
 
 }
diff --git a/wxc/src/eljstatictext.cpp b/wxc/src/eljstatictext.cpp
--- a/wxc/src/eljstatictext.cpp
+++ b/wxc/src/eljstatictext.cpp
@@ -3,9 +3,9 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxStaticText_Create) (void* _prt, int _id, wxChar* _txt, int _lft, int _top, int _wdt, int _hgt, int _stl)
+EWXWEXPORT(void*,wxStaticText_Create)(wxWindow* _prt,int _id,wxString* _txt,int _lft,int _top,int _wdt,int _hgt,int _stl)
 {
-	return (void*) new wxStaticText ((wxWindow*)_prt, _id, _txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+	return (void*) new wxStaticText (_prt, _id, *_txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
 }
 
 }
diff --git a/wxc/src/eljstatusbar.cpp b/wxc/src/eljstatusbar.cpp
--- a/wxc/src/eljstatusbar.cpp
+++ b/wxc/src/eljstatusbar.cpp
@@ -3,59 +3,60 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxStatusBar_Create) (void* _prt, int _id, int _lft, int _top, int _wdt, int _hgt, int _stl)
+EWXWEXPORT(void*,wxStatusBar_Create)(wxWindow* _prt,int _id,int _lft,int _top,int _wdt,int _hgt,int _stl)
 {
 #if wxVERSION_NUMBER >= 2400
-	return (void*) new wxStatusBar ((wxWindow*)_prt, _id, _stl);
+	return (void*) new wxStatusBar (_prt, _id, _stl);
 #else
-	return (void*) new wxStatusBar ((wxWindow*)_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+	return (void*) new wxStatusBar (_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
 #endif
 }
 
-EWXWEXPORT(void, wxStatusBar_SetFieldsCount)(void* _obj, int number, int* widths)
+EWXWEXPORT(void,wxStatusBar_SetFieldsCount)(void* _obj,int number,int* widths)
 {
 	((wxStatusBar*)_obj)->SetFieldsCount(number, widths);
 }
 	
-EWXWEXPORT(int, wxStatusBar_GetFieldsCount)(void* _obj)
+EWXWEXPORT(int,wxStatusBar_GetFieldsCount)(void* _obj)
 {
 	return ((wxStatusBar*)_obj)->GetFieldsCount();
 }
 	
-EWXWEXPORT(void, wxStatusBar_SetStatusText)(void* _obj, void* text, int number)
+EWXWEXPORT(void,wxStatusBar_SetStatusText)(void* _obj,wxString* text,int number)
 {
-	((wxStatusBar*)_obj)->SetStatusText((wxChar*)text, number);
+	((wxStatusBar*)_obj)->SetStatusText(*text, number);
 }
 	
-EWXWEXPORT(int, wxStatusBar_GetStatusText)(void* _obj, int number, void* _buf)
+EWXWEXPORT(wxString*,wxStatusBar_GetStatusText)(void* _obj,int number)
 {
-	wxString result = ((wxStatusBar*)_obj)->GetStatusText(number);
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = ((wxStatusBar*)_obj)->GetStatusText(number);
+	return result;
 }
 	
-EWXWEXPORT(void, wxStatusBar_SetStatusWidths)(void* _obj, int n, int* widths)
+EWXWEXPORT(void,wxStatusBar_SetStatusWidths)(void* _obj,int n,int* widths)
 {
 	((wxStatusBar*)_obj)->SetStatusWidths(n, widths);
 }
 
 /*	
-EWXWEXPORT(int, wxStatusBar_GetFieldRect)(void* _obj, int i, wxRect& rect)
+EWXWEXPORT(int,wxStatusBar_GetFieldRect)(void* _obj,int i,wxRect& rect)
 {
 	return (int)((wxStatusBar*)_obj)->GetFieldRect(int i, wxRect& rect);
 }
 */
 	
-EWXWEXPORT(void, wxStatusBar_SetMinHeight)(void* _obj, int height)
+EWXWEXPORT(void,wxStatusBar_SetMinHeight)(void* _obj,int height)
 {
 	((wxStatusBar*)_obj)->SetMinHeight(height);
 }
 	
-EWXWEXPORT(int, wxStatusBar_GetBorderX)(void* _obj)
+EWXWEXPORT(int,wxStatusBar_GetBorderX)(void* _obj)
 {
 	return ((wxStatusBar*)_obj)->GetBorderX();
 }
 	
-EWXWEXPORT(int, wxStatusBar_GetBorderY)(void* _obj)
+EWXWEXPORT(int,wxStatusBar_GetBorderY)(void* _obj)
 {
 	return ((wxStatusBar*)_obj)->GetBorderY();
 }
diff --git a/wxc/src/eljtextctrl.cpp b/wxc/src/eljtextctrl.cpp
--- a/wxc/src/eljtextctrl.cpp
+++ b/wxc/src/eljtextctrl.cpp
@@ -3,186 +3,188 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxTextCtrl_Create) (void* _prt, int _id, wxChar* _txt, int _lft, int _top, int _wdt, int _hgt, long _stl)
+EWXWEXPORT(void*,wxTextCtrl_Create)(wxWindow* _prt,int _id,wxString* _txt,int _lft,int _top,int _wdt,int _hgt,long _stl)
 {
-	return (void*) new wxTextCtrl ((wxWindow*)_prt, _id, _txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, wxDefaultValidator);
+	return (void*) new wxTextCtrl (_prt, _id, *_txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, wxDefaultValidator);
 }
 
-EWXWEXPORT(int, wxTextCtrl_GetValue)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxTextCtrl_GetValue)(void* self)
 {
-	wxString result = ((wxTextCtrl*)_obj)->GetValue();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = ((wxTextCtrl*)self)->GetValue();
+	return result;
 }
 	
-EWXWEXPORT(void, wxTextCtrl_SetValue)(void* _obj, wxChar* value)
+EWXWEXPORT(void,wxTextCtrl_SetValue)(wxTextCtrl* self,wxString* value)
 {
-	((wxTextCtrl*)_obj)->SetValue(value);
+	self->SetValue(*value);
 }
 	
-EWXWEXPORT(int, wxTextCtrl_GetLineLength)(void* _obj, long lineNo)
+EWXWEXPORT(int,wxTextCtrl_GetLineLength)(wxTextCtrl* self,long lineNo)
 {
-	return ((wxTextCtrl*)_obj)->GetLineLength(lineNo);
+	return self->GetLineLength(lineNo);
 }
 	
-EWXWEXPORT(int, wxTextCtrl_GetLineText)(void* _obj, long lineNo, void* _buf)
+EWXWEXPORT(wxString*,wxTextCtrl_GetLineText)(wxTextCtrl* self,long lineNo)
 {
-	wxString result = ((wxTextCtrl*)_obj)->GetLineText(lineNo);
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = self->GetLineText(lineNo);
+	return result;
 }
 	
-EWXWEXPORT(int, wxTextCtrl_GetNumberOfLines)(void* _obj)
+EWXWEXPORT(int,wxTextCtrl_GetNumberOfLines)(wxTextCtrl* self)
 {
-	return ((wxTextCtrl*)_obj)->GetNumberOfLines();
+	return self->GetNumberOfLines();
 }
 	
-EWXWEXPORT(int, wxTextCtrl_IsModified)(void* _obj)
+EWXWEXPORT(bool,wxTextCtrl_IsModified)(wxTextCtrl* self)
 {
-	return (int)((wxTextCtrl*)_obj)->IsModified();
+	return self->IsModified();
 }
 	
-EWXWEXPORT(int, wxTextCtrl_IsEditable)(void* _obj)
+EWXWEXPORT(bool,wxTextCtrl_IsEditable)(wxTextCtrl* self)
 {
-	return (int)((wxTextCtrl*)_obj)->IsEditable();
+	return self->IsEditable();
 }
 	
-EWXWEXPORT(void, wxTextCtrl_GetSelection)(void* _obj, void* from, void* to)
+EWXWEXPORT(void,wxTextCtrl_GetSelection)(wxTextCtrl* self,void* from,void* to)
 {
-	((wxTextCtrl*)_obj)->GetSelection((long*) from, (long*) to);
+	self->GetSelection((long*)from, (long*)to);
 }
 	
-EWXWEXPORT(void, wxTextCtrl_Clear)(void* _obj)
+EWXWEXPORT(void,wxTextCtrl_Clear)(wxTextCtrl* self)
 {
-	((wxTextCtrl*)_obj)->Clear();
+	self->Clear();
 }
 	
-EWXWEXPORT(void, wxTextCtrl_Replace)(void* _obj, long from, long to, wxChar* value)
+EWXWEXPORT(void,wxTextCtrl_Replace)(wxTextCtrl* self,long from,long to,wxString* value)
 {
-	((wxTextCtrl*)_obj)->Replace(from, to, value);
+	self->Replace(from, to,*value);
 }
 	
-EWXWEXPORT(void, wxTextCtrl_Remove)(void* _obj, long from, long to)
+EWXWEXPORT(void,wxTextCtrl_Remove)(wxTextCtrl* self,long from,long to)
 {
-	((wxTextCtrl*)_obj)->Remove(from, to);
+	self->Remove(from, to);
 }
 	
-EWXWEXPORT(int, wxTextCtrl_LoadFile)(void* _obj, wxChar* file)
+EWXWEXPORT(bool,wxTextCtrl_LoadFile)(wxTextCtrl* self,wxString* file)
 {
-	return (int)((wxTextCtrl*)_obj)->LoadFile(file);
+	return self->LoadFile(*file);
 }
 	
-EWXWEXPORT(int, wxTextCtrl_SaveFile)(void* _obj, wxChar* file)
+EWXWEXPORT(bool,wxTextCtrl_SaveFile)(wxTextCtrl* self,wxString* file)
 {
-	return (int)((wxTextCtrl*)_obj)->SaveFile(file);
+	return self->SaveFile(*file);
 }
 	
-EWXWEXPORT(void, wxTextCtrl_DiscardEdits)(void* _obj)
+EWXWEXPORT(void,wxTextCtrl_DiscardEdits)(wxTextCtrl* self)
 {
-	((wxTextCtrl*)_obj)->DiscardEdits();
+	self->DiscardEdits();
 }
 	
-EWXWEXPORT(void, wxTextCtrl_WriteText)(void* _obj, wxChar* text)
+EWXWEXPORT(void,wxTextCtrl_WriteText)(wxTextCtrl* self,wxString* text)
 {
-	((wxTextCtrl*)_obj)->WriteText(text);
+	self->WriteText(*text);
 }
 	
-EWXWEXPORT(void, wxTextCtrl_AppendText)(void* _obj, wxChar* text)
+EWXWEXPORT(void,wxTextCtrl_AppendText)(wxTextCtrl* self,wxString* text)
 {
-	((wxTextCtrl*)_obj)->AppendText(text);
+	self->AppendText(*text);
 }
 	
-EWXWEXPORT(long, wxTextCtrl_XYToPosition)(void* _obj, long x, long y)
+EWXWEXPORT(long,wxTextCtrl_XYToPosition)(wxTextCtrl* self,long x,long y)
 {
-	return ((wxTextCtrl*)_obj)->XYToPosition(x, y);
+	return self->XYToPosition(x, y);
 }
 	
-EWXWEXPORT(int, wxTextCtrl_PositionToXY)(void* _obj, long pos, long *x, long *y)
+EWXWEXPORT(int,wxTextCtrl_PositionToXY)(wxTextCtrl* self,long pos,long* x,long* y)
 {
-	return (int)((wxTextCtrl*)_obj)->PositionToXY(pos, x, y);
+	return (int)self->PositionToXY(pos, x, y);
 }
 	
-EWXWEXPORT(void, wxTextCtrl_ShowPosition)(void* _obj, long pos)
+EWXWEXPORT(void,wxTextCtrl_ShowPosition)(wxTextCtrl* self,long pos)
 {
-	((wxTextCtrl*)_obj)->ShowPosition(pos);
+	self->ShowPosition(pos);
 }
 	
-EWXWEXPORT(void, wxTextCtrl_Copy)(void* _obj)
+EWXWEXPORT(void,wxTextCtrl_Copy)(wxTextCtrl* self)
 {
-	((wxTextCtrl*)_obj)->Copy();
+	self->Copy();
 }
 	
-EWXWEXPORT(void, wxTextCtrl_Cut)(void* _obj)
+EWXWEXPORT(void,wxTextCtrl_Cut)(wxTextCtrl* self)
 {
-	((wxTextCtrl*)_obj)->Cut();
+	self->Cut();
 }
 	
-EWXWEXPORT(void, wxTextCtrl_Paste)(void* _obj)
+EWXWEXPORT(void,wxTextCtrl_Paste)(wxTextCtrl* self)
 {
-	((wxTextCtrl*)_obj)->Paste();
+	self->Paste();
 }
 	
-EWXWEXPORT(int, wxTextCtrl_CanCopy)(void* _obj)
+EWXWEXPORT(bool,wxTextCtrl_CanCopy)(wxTextCtrl* self)
 {
-	return (int)((wxTextCtrl*)_obj)->CanCopy();
+	return self->CanCopy();
 }
 	
-EWXWEXPORT(int, wxTextCtrl_CanCut)(void* _obj)
+EWXWEXPORT(bool,wxTextCtrl_CanCut)(wxTextCtrl* self)
 {
-	return (int)((wxTextCtrl*)_obj)->CanCut();
+	return self->CanCut();
 }
 	
-EWXWEXPORT(int, wxTextCtrl_CanPaste)(void* _obj)
+EWXWEXPORT(bool,wxTextCtrl_CanPaste)(wxTextCtrl* self)
 {
-	return (int)((wxTextCtrl*)_obj)->CanPaste();
+	return self->CanPaste();
 }
 	
-EWXWEXPORT(void, wxTextCtrl_Undo)(void* _obj)
+EWXWEXPORT(void,wxTextCtrl_Undo)(wxTextCtrl* self)
 {
-	((wxTextCtrl*)_obj)->Undo();
+	self->Undo();
 }
 	
-EWXWEXPORT(void, wxTextCtrl_Redo)(void* _obj)
+EWXWEXPORT(void,wxTextCtrl_Redo)(wxTextCtrl* self)
 {
-	((wxTextCtrl*)_obj)->Redo();
+	self->Redo();
 }
 	
-EWXWEXPORT(int, wxTextCtrl_CanUndo)(void* _obj)
+EWXWEXPORT(bool,wxTextCtrl_CanUndo)(wxTextCtrl* self)
 {
-	return (int)((wxTextCtrl*)_obj)->CanUndo();
+	return self->CanUndo();
 }
 	
-EWXWEXPORT(int, wxTextCtrl_CanRedo)(void* _obj)
+EWXWEXPORT(bool,wxTextCtrl_CanRedo)(wxTextCtrl* self)
 {
-	return (int)((wxTextCtrl*)_obj)->CanRedo();
+	return self->CanRedo();
 }
 	
-EWXWEXPORT(void, wxTextCtrl_SetInsertionPoint)(void* _obj, long pos)
+EWXWEXPORT(void,wxTextCtrl_SetInsertionPoint)(wxTextCtrl* self,long pos)
 {
-	((wxTextCtrl*)_obj)->SetInsertionPoint(pos);
+	self->SetInsertionPoint(pos);
 }
 	
-EWXWEXPORT(void, wxTextCtrl_SetInsertionPointEnd)(void* _obj)
+EWXWEXPORT(void,wxTextCtrl_SetInsertionPointEnd)(wxTextCtrl* self)
 {
-	((wxTextCtrl*)_obj)->SetInsertionPointEnd();
+	self->SetInsertionPointEnd();
 }
 	
-EWXWEXPORT(long, wxTextCtrl_GetInsertionPoint)(void* _obj)
+EWXWEXPORT(long,wxTextCtrl_GetInsertionPoint)(wxTextCtrl* self)
 {
-	return ((wxTextCtrl*)_obj)->GetInsertionPoint();
+	return self->GetInsertionPoint();
 }
 	
-EWXWEXPORT(long, wxTextCtrl_GetLastPosition)(void* _obj)
+EWXWEXPORT(long,wxTextCtrl_GetLastPosition)(wxTextCtrl* self)
 {
-	return ((wxTextCtrl*)_obj)->GetLastPosition();
+	return self->GetLastPosition();
 }
 	
-EWXWEXPORT(void, wxTextCtrl_SetSelection)(void* _obj, long from, long to)
+EWXWEXPORT(void,wxTextCtrl_SetSelection)(wxTextCtrl* self,long from,long to)
 {
-	((wxTextCtrl*)_obj)->SetSelection(from, to);
+	self->SetSelection(from, to);
 }
 	
-EWXWEXPORT(void, wxTextCtrl_SetEditable)(void* _obj, int editable)
+EWXWEXPORT(void,wxTextCtrl_SetEditable)(wxTextCtrl* self,bool editable)
 {
-	((wxTextCtrl*)_obj)->SetEditable(editable != 0);
+	self->SetEditable(editable);
 }
 	
 }
diff --git a/wxc/src/eljtglbtn.cpp b/wxc/src/eljtglbtn.cpp
--- a/wxc/src/eljtglbtn.cpp
+++ b/wxc/src/eljtglbtn.cpp
@@ -5,35 +5,35 @@
 extern "C"
 {
 
-EWXWEXPORT(void*,wxToggleButton_Create)(void* parent, int id, void* label, int x, int y, int w, int h, int style)
+EWXWEXPORT(void*,wxToggleButton_Create)(wxWindow* parent,int id,wxString* label,int x,int y,int w,int h,int style)
 {
-	return (void*)new wxToggleButton((wxWindow*)parent, (wxWindowID)id, (wxChar*)label, wxPoint(x, y), wxSize(w, h), (long)style);
+	return (void*)new wxToggleButton(parent, (wxWindowID)id, *label, wxPoint(x, y), wxSize(w, h), (long)style);
 }
 	
-EWXWEXPORT(void,wxToggleButton_SetValue)(void* _obj, int state)
+EWXWEXPORT(void,wxToggleButton_SetValue)(wxToggleButton* self,bool state)
 {
-	((wxToggleButton*)_obj)->SetValue(state != 0);
+	self->SetValue(state);
 }
 	
-EWXWEXPORT(int,wxToggleButton_GetValue)(void* _obj)
+EWXWEXPORT(bool,wxToggleButton_GetValue)(wxToggleButton* self)
 {
-	return (int)((wxToggleButton*)_obj)->GetValue();
+	return self->GetValue();
 }
 	
-EWXWEXPORT(void,wxToggleButton_SetLabel)(void* _obj, void* label)
+EWXWEXPORT(void,wxToggleButton_SetLabel)(wxToggleButton* self,wxString* label)
 {
-	((wxToggleButton*)_obj)->SetLabel((wxChar*)label);
+	self->SetLabel(*label);
 }
 	
-EWXWEXPORT(int,wxToggleButton_Enable)(void* _obj, int enable)
+EWXWEXPORT(bool,wxToggleButton_Enable)(wxToggleButton* self,bool enable)
 {
-	return (int)((wxToggleButton*)_obj)->Enable(enable != 0);
+	return self->Enable(enable);
 }
 
 EWXWEXPORT(int,expEVT_COMMAND_TOGGLEBUTTON_CLICKED)()
 {
 	return wxEVT_COMMAND_TOGGLEBUTTON_CLICKED;
 }
-	
+
 }
 #endif
diff --git a/wxc/src/eljthread.cpp b/wxc/src/eljthread.cpp
--- a/wxc/src/eljthread.cpp
+++ b/wxc/src/eljthread.cpp
@@ -3,106 +3,106 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxCriticalSection_Create) ()
+EWXWEXPORT(void*,wxCriticalSection_Create)()
 {
-	return (void*) new wxCriticalSection ();
+	return (void*)new wxCriticalSection ();
 }
 
-EWXWEXPORT(void, wxCriticalSection_Delete) (void* _obj)
+EWXWEXPORT(void,wxCriticalSection_Delete)(void* self)
 {
-	delete (wxCriticalSection*)_obj;
+	delete (wxCriticalSection*)self;
 }
 
-EWXWEXPORT(void, wxCriticalSection_Enter) (void* _obj)
+EWXWEXPORT(void,wxCriticalSection_Enter)(void* self)
 {
-	((wxCriticalSection*)_obj)->Enter();
+	((wxCriticalSection*)self)->Enter();
 }
 
-EWXWEXPORT(void, wxCriticalSection_Leave) (void* _obj)
+EWXWEXPORT(void,wxCriticalSection_Leave)(void* self)
 {
-	((wxCriticalSection*)_obj)->Leave();
+	((wxCriticalSection*)self)->Leave();
 }
 
 
-EWXWEXPORT(void*, wxMutex_Create) ()
+EWXWEXPORT(wxMutex*,wxMutex_Create)()
 {
-	return (void*) new wxMutex ();
+	return new wxMutex ();
 }
 
-EWXWEXPORT(void, wxMutex_Delete) (void* _obj)
+EWXWEXPORT(void,wxMutex_Delete)(wxMutex* self)
 {
-	delete (wxMutex*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(int, wxMutex_Lock) (void* _obj)
+EWXWEXPORT(int,wxMutex_Lock)(wxMutex* self)
 {
-	return (int)((wxMutex*)_obj)->Lock();
+	return (int)self->Lock();
 }
 
-EWXWEXPORT(int, wxMutex_TryLock) (void* _obj)
+EWXWEXPORT(int,wxMutex_TryLock)(wxMutex* self)
 {
-	return (int)((wxMutex*)_obj)->TryLock();
+	return (int)self->TryLock();
 }
 
-EWXWEXPORT(int, wxMutex_Unlock) (void* _obj)
+EWXWEXPORT(int,wxMutex_Unlock)(wxMutex* self)
 {
-	return (int)((wxMutex*)_obj)->Unlock();
+	return (int)self->Unlock();
 }
 
-EWXWEXPORT(int, wxMutex_IsLocked) (void* _obj)
+EWXWEXPORT(bool,wxMutex_IsLocked)(wxMutex* self)
 {
 #if wxVERSION_NUMBER >= 2400
-	return 0;
+	return false;
 #else
-	return (int)((wxMutex*)_obj)->IsLocked();
+	return self->IsLocked();
 #endif
 }
 
-EWXWEXPORT(void*, wxCondition_Create) (void* _mutex)
+EWXWEXPORT(void*,wxCondition_Create)(void* _mutex)
 {
 #if wxVERSION_NUMBER < 2400
-	return (void*) new wxCondition ();
+	return (void*)new wxCondition ();
 #else
-	return (void*) new wxCondition (*((wxMutex*)_mutex));
+	return (void*)new wxCondition (*((wxMutex*)_mutex));
 #endif
 }
 
-EWXWEXPORT(void, wxCondition_Delete) (void* _obj)
+EWXWEXPORT(void,wxCondition_Delete)(void* self)
 {
-	delete (wxCondition*)_obj;
+	delete (wxCondition*)self;
 }
 
-EWXWEXPORT(void, wxCondition_Wait) (void* _obj)
+EWXWEXPORT(void,wxCondition_Wait)(void* self)
 {
-	((wxCondition*)_obj)->Wait();
+	((wxCondition*)self)->Wait();
 }
 
-EWXWEXPORT(int, wxCondition_WaitFor) (void* _obj, int sec, int nsec)
+EWXWEXPORT(int,wxCondition_WaitFor)(void* self,int sec,int nsec)
 {
 #if wxVERSION_NUMBER >= 2400
-	return (int)((wxCondition*)_obj)->WaitTimeout((unsigned long)nsec);
+	return (int)((wxCondition*)self)->WaitTimeout((unsigned long)nsec);
 #else
-	return (int)((wxCondition*)_obj)->Wait((unsigned long)sec, (unsigned long)nsec);
+	return (int)((wxCondition*)self)->Wait((unsigned long)sec, (unsigned long)nsec);
 #endif
 }
 
-EWXWEXPORT(void, wxCondition_Signal) (void* _obj)
+EWXWEXPORT(void,wxCondition_Signal)(void* self)
 {
-	((wxCondition*)_obj)->Signal();
+	((wxCondition*)self)->Signal();
 }
 
-EWXWEXPORT(void, wxCondition_Broadcast) (void* _obj)
+EWXWEXPORT(void,wxCondition_Broadcast)(void* self)
 {
-	((wxCondition*)_obj)->Broadcast();
+	((wxCondition*)self)->Broadcast();
 }
 
 
-EWXWEXPORT(void, wxMutexGui_Enter) ()
+EWXWEXPORT(void,wxMutexGui_Enter)()
 {
 	wxMutexGuiEnter();
 }
 
-EWXWEXPORT(void, wxMutexGui_Leave) ()
+EWXWEXPORT(void,wxMutexGui_Leave)()
 {
 	wxMutexGuiLeave();
 }
diff --git a/wxc/src/eljtimer.cpp b/wxc/src/eljtimer.cpp
--- a/wxc/src/eljtimer.cpp
+++ b/wxc/src/eljtimer.cpp
@@ -3,70 +3,70 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxTimer_Create) (void* _prt, int _id)
+EWXWEXPORT(wxTimer*,wxTimer_Create)(wxEvtHandler* _prt,int _id)
 {
-	return (void*) new wxTimer ((wxEvtHandler*)_prt, _id);
+	return  new wxTimer (_prt, _id);
 }
 
-EWXWEXPORT(void, wxTimer_Delete) (void* _obj)
+EWXWEXPORT(void,wxTimer_Delete)(wxTimer* self)
 {
-	delete (wxTimer*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(int, wxTimer_Start) (void* _obj, int _int, int _one)
+EWXWEXPORT(bool,wxTimer_Start)(wxTimer* self,int _int,bool _one)
 {
-	return (int)((wxTimer*)_obj)->Start (_int, _one != 0);
+	return self->Start (_int, _one);
 }
 
-EWXWEXPORT(void, wxTimer_Stop) (void* _obj)
+EWXWEXPORT(void,wxTimer_Stop)(wxTimer* self)
 {
-	((wxTimer*)_obj)->Stop();
+	self->Stop();
 }
 
-EWXWEXPORT(int, wxTimer_IsRuning) (void* _obj)
+EWXWEXPORT(bool,wxTimer_IsRuning)(wxTimer* self)
 {
-	return (int)((wxTimer*)_obj)->IsRunning();
+	return self->IsRunning();
 }
 
-EWXWEXPORT(int, wxTimer_IsOneShot) (void* _obj)
+EWXWEXPORT(bool,wxTimer_IsOneShot)(wxTimer* self)
 {
-	return (int)((wxTimer*)_obj)->IsOneShot();
+	return self->IsOneShot();
 }
 
-EWXWEXPORT(int, wxTimer_GetInterval) (void* _obj)
+EWXWEXPORT(int,wxTimer_GetInterval)(wxTimer* self)
 {
-	return ((wxTimer*)_obj)->GetInterval();
+	return self->GetInterval();
 }
 
 
-EWXWEXPORT(void*,wxStopWatch_Create)()
+EWXWEXPORT(wxStopWatch*,wxStopWatch_Create)()
 {
-	return (void*)new wxStopWatch();
+	return new wxStopWatch();
 }
 	
-EWXWEXPORT(void,wxStopWatch_Delete)(void* _obj)
+EWXWEXPORT(void,wxStopWatch_Delete)(wxStopWatch* self)
 {
-	delete (wxStopWatch*)_obj;
+	delete self;
 }
 	
-EWXWEXPORT(void,wxStopWatch_Start)(void* _obj, int _t)
+EWXWEXPORT(void,wxStopWatch_Start)(wxStopWatch* self,int _t)
 {
-	((wxStopWatch*)_obj)->Start((long)_t);
+	self->Start((long)_t);
 }
 	
-EWXWEXPORT(void,wxStopWatch_Pause)(void* _obj)
+EWXWEXPORT(void,wxStopWatch_Pause)(wxStopWatch* self)
 {
-	((wxStopWatch*)_obj)->Pause();
+	self->Pause();
 }
 	
-EWXWEXPORT(void,wxStopWatch_Resume)(void* _obj)
+EWXWEXPORT(void,wxStopWatch_Resume)(wxStopWatch* self)
 {
-	((wxStopWatch*)_obj)->Resume();
+	self->Resume();
 }
 	
-EWXWEXPORT(int,wxStopWatch_Time)(void* _obj)
+EWXWEXPORT(long,wxStopWatch_Time)(wxStopWatch* self)
 {
-	return (int)((wxStopWatch*)_obj)->Time();
+	return self->Time();
 }
 	
 }
diff --git a/wxc/src/eljtipwnd.cpp b/wxc/src/eljtipwnd.cpp
--- a/wxc/src/eljtipwnd.cpp
+++ b/wxc/src/eljtipwnd.cpp
@@ -5,17 +5,17 @@
 extern "C"
 {
 
-EWXWEXPORT(void*,wxTipWindow_Create)(void*parent, void* text, int maxLength)
+EWXWEXPORT(void*,wxTipWindow_Create)(wxWindow* parent,wxString* text,int maxLength)
 {
-	return (void*)new wxTipWindow((wxWindow*)parent, (wxChar*)text, (wxCoord)maxLength);
+	return (void*)new wxTipWindow(parent, *text, (wxCoord)maxLength);
 }
 	
-EWXWEXPORT(void,wxTipWindow_SetTipWindowPtr)(void* _obj, void* windowPtr)
+EWXWEXPORT(void,wxTipWindow_SetTipWindowPtr)(void* _obj,void* windowPtr)
 {
 	((wxTipWindow*)_obj)->SetTipWindowPtr((wxTipWindow**)windowPtr);
 }
 	
-EWXWEXPORT(void,wxTipWindow_SetBoundingRect)(void* _obj, int x, int y, int w, int h)
+EWXWEXPORT(void,wxTipWindow_SetBoundingRect)(void* _obj,int x,int y,int w,int h)
 {
 	((wxTipWindow*)_obj)->SetBoundingRect(wxRect(x, y, w, h));
 }
diff --git a/wxc/src/eljtoolbar.cpp b/wxc/src/eljtoolbar.cpp
--- a/wxc/src/eljtoolbar.cpp
+++ b/wxc/src/eljtoolbar.cpp
@@ -3,49 +3,49 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxToolBar_Create) (void* _prt, int _id, int _lft, int _top, int _wdt, int _hgt, int _stl)
+EWXWEXPORT(wxToolBar*,wxToolBar_Create)(wxWindow* _prt,int _id,int _lft,int _top,int _wdt,int _hgt,int _stl)
 {
-	return (void*) new wxToolBar ((wxWindow*)_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+	return new wxToolBar (_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
 }
 
-EWXWEXPORT(void, wxToolBar_Delete) (void* _obj)
+EWXWEXPORT(void,wxToolBar_Delete)(wxToolBar* self)
 {
-	delete (wxToolBar*)_obj;
+	delete self;
 }
 
-EWXWEXPORT(int, wxToolBar_AddControl) (void* _obj, void* ctrl)
+EWXWEXPORT(int,wxToolBar_AddControl)(wxToolBar* self,wxControl* ctrl)
 {
-	return ((wxToolBar*)_obj)->AddControl ((wxControl*)ctrl) != NULL;
+	return self->AddControl(ctrl) != NULL;
 }
 
-EWXWEXPORT(void, wxToolBar_AddSeparator) (void* _obj)
+EWXWEXPORT(void,wxToolBar_AddSeparator)(wxToolBar* self)
 {
-	((wxToolBar*)_obj)->AddSeparator ();
+	self->AddSeparator ();
 }
 
-EWXWEXPORT(void, wxToolBar_AddTool) (void* _obj, int id, void* bmp, void* shelp, void* lhelp)
+EWXWEXPORT(void,wxToolBar_AddTool)(wxToolBar* self,int id,wxBitmap* bmp,wxString* shelp,wxString* lhelp)
 {
-	((wxToolBar*)_obj)->AddTool (id, *(wxBitmap*)bmp, (wxChar*)shelp, (wxChar*)lhelp);
+	self->AddTool (id,*bmp,*shelp,*lhelp);
 }
 
-EWXWEXPORT(void, wxToolBar_AddToolEx) (void* _obj, int id, void* bmp1, void* bmp2, int tgl, int x, int y, void* dat, void* shelp, void* lhelp)
+EWXWEXPORT(void,wxToolBar_AddToolEx)(wxToolBar* self,int id,wxBitmap* bmp1,wxBitmap* bmp2,bool tgl,int x,int y,wxObject* dat,wxString* shelp,wxString* lhelp)
 {
-	((wxToolBar*)_obj)->AddTool (id, *(wxBitmap*)bmp1, *(wxBitmap*)bmp2, tgl != 0, x, y, (wxObject*)dat, (wxChar*)shelp, (wxChar*)lhelp);
+	self->AddTool (id,*bmp1,*bmp2, tgl, x, y, dat,*shelp,*lhelp);
 }
 
-EWXWEXPORT(int, wxToolBar_DeleteTool) (void* _obj, int id)
+EWXWEXPORT(bool,wxToolBar_DeleteTool)(wxToolBar* self,int id)
 {
-	return (int)((wxToolBar*)_obj)->DeleteTool (id);
+	return self->DeleteTool (id);
 }
 
-EWXWEXPORT(int, wxToolBar_DeleteToolByPos) (void* _obj, int pos)
+EWXWEXPORT(bool,wxToolBar_DeleteToolByPos)(wxToolBar* self,int pos)
 {
-	return (int)((wxToolBar*)_obj)->DeleteToolByPos (pos);
+	return self->DeleteToolByPos (pos);
 }
 
-EWXWEXPORT(void, wxToolBar_EnableTool) (void* _obj, int id, int enb)
+EWXWEXPORT(void,wxToolBar_EnableTool)(wxToolBar* self,int id,bool enb)
 {
-	((wxToolBar*)_obj)->EnableTool (id, enb != 0);
+	self->EnableTool (id, enb);
 }
 
 EWXWEXPORT(void, wxToolBar_GetToolSize) (void* _obj, void* x, void* y)
@@ -66,105 +66,107 @@
 	*((int*)y) = ((wxToolBar*)_obj)->GetMargins().y;
 }
 
-EWXWEXPORT(void*, wxToolBar_GetToolClientData) (void* _obj, int id)
+EWXWEXPORT(void*,wxToolBar_GetToolClientData)(wxToolBar* self,int id)
 {
-	return (void*)((wxToolBar*)_obj)->GetToolClientData (id);
+	return (void*)self->GetToolClientData (id);
 }
 
-EWXWEXPORT(int, wxToolBar_GetToolEnabled) (void* _obj, int id)
+EWXWEXPORT(bool,wxToolBar_GetToolEnabled)(wxToolBar* self,int id)
 {
-	return (int)((wxToolBar*)_obj)->GetToolEnabled (id);
+	return self->GetToolEnabled (id);
 }
 
-EWXWEXPORT(int, wxToolBar_GetToolLongHelp) (void* _obj, int id, void* _buf)
+EWXWEXPORT(wxString*,wxToolBar_GetToolLongHelp)(wxToolBar* self,int id)
 {
-	wxString result =((wxToolBar*)_obj)->GetToolLongHelp (id);
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = self->GetToolLongHelp (id);
+	return result;
 }
 
-EWXWEXPORT(int, wxToolBar_GetToolPacking) (void* _obj)
+EWXWEXPORT(int,wxToolBar_GetToolPacking)(wxToolBar* self)
 {
-	return ((wxToolBar*)_obj)->GetToolPacking ();
+	return self->GetToolPacking ();
 }
 
-EWXWEXPORT(int, wxToolBar_GetToolShortHelp) (void* _obj, int id, void* _buf)
+EWXWEXPORT(wxString*,wxToolBar_GetToolShortHelp)(wxToolBar* self,int id)
 {
-	wxString result =((wxToolBar*)_obj)->GetToolShortHelp (id);
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = self->GetToolShortHelp (id);
+	return result;
 }
 
-EWXWEXPORT(int, wxToolBar_GetToolState) (void* _obj, int id)
+EWXWEXPORT(bool,wxToolBar_GetToolState)(wxToolBar* self,int id)
 {
-	return (int)((wxToolBar*)_obj)->GetToolState (id);
+	return self->GetToolState (id);
 }
 
-EWXWEXPORT(void, wxToolBar_InsertControl) (void* _obj, int pos, void* ctrl)
+EWXWEXPORT(void,wxToolBar_InsertControl)(wxToolBar* self,int pos,wxControl* ctrl)
 {
-	((wxToolBar*)_obj)->InsertControl ((size_t)pos, (wxControl*) ctrl);
+	self->InsertControl ((size_t)pos, ctrl);
 }
 
-EWXWEXPORT(void, wxToolBar_InsertSeparator) (void* _obj, int pos)
+EWXWEXPORT(void,wxToolBar_InsertSeparator)(wxToolBar* self,int pos)
 {
-	((wxToolBar*)_obj)->InsertSeparator ((size_t)pos);
+	self->InsertSeparator ((size_t)pos);
 }
 
-EWXWEXPORT(void, wxToolBar_InsertTool) (void* _obj, int pos, int id, void* bmp1, void* bmp2, int tgl, void* dat, void* shelp, void* lhelp)
+EWXWEXPORT(void,wxToolBar_InsertTool)(wxToolBar* self,int pos,int id,wxBitmap* bmp1,wxBitmap* bmp2,bool tgl,wxObject* dat,wxString* shelp,wxString* lhelp)
 {
-	((wxToolBar*)_obj)->InsertTool ((size_t)pos, id, *(wxBitmap*)bmp1, *(wxBitmap*)bmp2, tgl != 0, (wxObject*)dat, (wxChar*)shelp, (wxChar*)lhelp);
+	self->InsertTool ((size_t)pos, id,*bmp1,*bmp2, tgl, dat,*shelp,*lhelp);
 }
 
-EWXWEXPORT(int, wxToolBar_Realize) (void* _obj)
+EWXWEXPORT(bool,wxToolBar_Realize)(wxToolBar* self)
 {
-	return (int)((wxToolBar*)_obj)->Realize ();
+	return self->Realize ();
 }
 
-EWXWEXPORT(void, wxToolBar_RemoveTool) (void* _obj, int id)
+EWXWEXPORT(void,wxToolBar_RemoveTool)(wxToolBar* self,int id)
 {
-	((wxToolBar*)_obj)->RemoveTool (id);
+	self->RemoveTool (id);
 }
 
-EWXWEXPORT(void, wxToolBar_SetMargins) (void* _obj, int x, int y)
+EWXWEXPORT(void,wxToolBar_SetMargins)(wxToolBar* self,int x,int y)
 {
 #ifdef __WIN32__
-	((wxToolBar*)_obj)->SetMargins(wxSize(x, y));
+	self->SetMargins(wxSize(x, y));
 #else
-	((wxToolBar*)_obj)->SetMargins(x, y);
+	self->SetMargins(x, y);
 #endif
 }
 
-EWXWEXPORT(void, wxToolBar_SetToolBitmapSize) (void* _obj, int x, int y)
+EWXWEXPORT(void,wxToolBar_SetToolBitmapSize)(wxToolBar* self,int x,int y)
 {
-	((wxToolBar*)_obj)->SetToolBitmapSize (wxSize(x, y));
+	self->SetToolBitmapSize (wxSize(x, y));
 }
 
-EWXWEXPORT(void, wxToolBar_SetToolClientData) (void* _obj, int id, void* dat)
+EWXWEXPORT(void,wxToolBar_SetToolClientData)(wxToolBar* self,int id,wxObject* dat)
 {
-	((wxToolBar*)_obj)->SetToolClientData (id, (wxObject*)dat);
+	self->SetToolClientData (id, dat);
 }
 
-EWXWEXPORT(void, wxToolBar_SetToolLongHelp) (void* _obj, int id, void* str)
+EWXWEXPORT(void,wxToolBar_SetToolLongHelp)(wxToolBar* self,int id,wxString* str)
 {
-	((wxToolBar*)_obj)->SetToolLongHelp (id, (wxChar*)str);
+	self->SetToolLongHelp (id,*str);
 }
 
-EWXWEXPORT(void, wxToolBar_SetToolPacking) (void* _obj, int val)
+EWXWEXPORT(void,wxToolBar_SetToolPacking)(wxToolBar* self,int val)
 {
-	((wxToolBar*)_obj)->SetToolPacking (val);
+	self->SetToolPacking (val);
 }
 
-EWXWEXPORT(void, wxToolBar_SetToolShortHelp) (void* _obj, int id, void* str)
+EWXWEXPORT(void,wxToolBar_SetToolShortHelp)(wxToolBar* self,int id,wxString* str)
 {
-	((wxToolBar*)_obj)->SetToolShortHelp (id, (wxChar*)str);
+	self->SetToolShortHelp (id,*str);
 }
 
-EWXWEXPORT(void, wxToolBar_SetToolSeparation) (void* _obj, int val)
+EWXWEXPORT(void,wxToolBar_SetToolSeparation)(wxToolBar* self,int val)
 {
-	((wxToolBar*)_obj)->SetToolSeparation (val);
+	self->SetToolSeparation (val);
 }
 
-EWXWEXPORT(void, wxToolBar_ToggleTool) (void* _obj, int id, int val)
+EWXWEXPORT(void,wxToolBar_ToggleTool)(wxToolBar* self,int id,bool val)
 {
-	((wxToolBar*)_obj)->ToggleTool (id, val != 0);
+	self->ToggleTool (id, val);
 }
 
 }
diff --git a/wxc/src/eljtreectrl.cpp b/wxc/src/eljtreectrl.cpp
deleted file mode 100644
--- a/wxc/src/eljtreectrl.cpp
+++ /dev/null
@@ -1,391 +0,0 @@
-#include "wrapper.h"
-
-class ELJTreeItemData : public wxTreeItemData
-{
-	public:
-		void* data;
-		ELJTreeItemData(void* _data) {data = _data;};
-};
-
-extern "C"
-{
-
-EWXWEXPORT(void*, wxTreeItemId_Create) ()
-{
-	return new wxTreeItemId();
-}
-
-EWXWEXPORT(void, wxTreeItemId_Delete) (void* _obj)
-{
-	delete (wxTreeItemId*)_obj;
-}
-
-EWXWEXPORT(int, wxTreeItemId_IsOk) (void* _obj)
-{
-	return (int)((wxTreeItemId*)_obj)->IsOk();
-}
-
-IMPLEMENT_DYNAMIC_CLASS(ELJTreeControl,wxTreeCtrl)
-
-
-EWXWEXPORT(void*, wxTreeCtrl_Create) (void* _obj, void* _cmp, void* _prt, int _id, int _lft, int _top, int _wdt, int _hgt, int _stl)
-{
-	return (void*) new ELJTreeControl (_obj, _cmp, (wxWindow*)_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, wxDefaultValidator);
-}
-
-EWXWEXPORT(int, wxTreeCtrl_GetCount)(void* _obj)
-{
-	int result =(int)((ELJTreeControl*)_obj)->GetCount();
-#ifdef __WXGTK__
-	wxTreeItemId t = ((ELJTreeControl*)_obj)->GetRootItem();
-	if (t.IsOk()) result++;
-#endif
-	return result;
-}
-	
-EWXWEXPORT(int, wxTreeCtrl_GetIndent)(void* _obj)
-{
-	return ((ELJTreeControl*)_obj)->GetIndent();
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_SetIndent)(void* _obj, int indent)
-{
-	((ELJTreeControl*)_obj)->SetIndent(indent);
-}
-	
-EWXWEXPORT(int, wxTreeCtrl_GetSpacing)(void* _obj)
-{
-	return (int)((ELJTreeControl*)_obj)->GetSpacing();
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_SetSpacing)(void* _obj, int spacing)
-{
-	((ELJTreeControl*)_obj)->SetSpacing(spacing);
-}
-	
-EWXWEXPORT(void*, wxTreeCtrl_GetImageList)(void* _obj)
-{
-	return (void*)((ELJTreeControl*)_obj)->GetImageList();
-}
-	
-EWXWEXPORT(void*, wxTreeCtrl_GetStateImageList)(void* _obj)
-{
-	return (void*)((ELJTreeControl*)_obj)->GetStateImageList();
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_SetImageList)(void* _obj, void* imageList)
-{
-	((ELJTreeControl*)_obj)->SetImageList((wxImageList*) imageList);
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_SetStateImageList)(void* _obj, void* imageList)
-{
-	((ELJTreeControl*)_obj)->SetStateImageList((wxImageList*) imageList);
-}
-	
-EWXWEXPORT(int, wxTreeCtrl_GetItemText)(void* _obj, void* item, void* _buf)
-{
-	wxString result = ((ELJTreeControl*)_obj)->GetItemText(*(wxTreeItemId*)item);
-	return copyStrToBuf(_buf, result);
-}
-	
-EWXWEXPORT(int, wxTreeCtrl_GetItemImage)(void* _obj, void* item, int which)
-{
-	return ((ELJTreeControl*)_obj)->GetItemImage(*((wxTreeItemId*) item), (wxTreeItemIcon) which);
-}
-	
-EWXWEXPORT(void*, wxTreeCtrl_GetItemData)(void* _obj, void* item)
-{
-	return ((ELJTreeItemData*)((ELJTreeControl*)_obj)->GetItemData(*((wxTreeItemId*) item)))->data;
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_SetItemText)(void* _obj, void* item, void* text)
-{
-	((ELJTreeControl*)_obj)->SetItemText(*((wxTreeItemId*) item), (char*)text);
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_SetItemImage)(void* _obj, void* item, int image, int which)
-{
-	((ELJTreeControl*)_obj)->SetItemImage(*((wxTreeItemId*)item), image, (wxTreeItemIcon)which);
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_SetItemData)(void* _obj, void* item, void* data)
-{
-	((ELJTreeControl*)_obj)->SetItemData(*((wxTreeItemId*) item), new ELJTreeItemData (data));
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_SetItemHasChildren)(void* _obj, void* item, int has)
-{
-	((ELJTreeControl*)_obj)->SetItemHasChildren(*((wxTreeItemId*)item), has != 0);
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_SetItemBold)(void* _obj, void* item, int bold)
-{
-	((ELJTreeControl*)_obj)->SetItemBold(*((wxTreeItemId*) item), bold != 0);
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_SetItemDropHighlight)(void* _obj, void* item, int highlight)
-{
-#ifdef __WIN32__
-	((ELJTreeControl*)_obj)->SetItemDropHighlight(*((wxTreeItemId*) item), highlight != 0);
-#endif
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_SetItemTextColour)(void* _obj, void* item, void* col)
-{
-	((ELJTreeControl*)_obj)->SetItemTextColour(*((wxTreeItemId*)item), *((wxColour*) col));
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_SetItemBackgroundColour)(void* _obj, void* item, void* col)
-{
-	((ELJTreeControl*)_obj)->SetItemBackgroundColour(*((wxTreeItemId*) item), *((wxColour*) col));
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_SetItemFont)(void* _obj, void* item, void* font)
-{
-	((ELJTreeControl*)_obj)->SetItemFont(*((wxTreeItemId*) item), *((wxFont*) font));
-}
-	
-EWXWEXPORT(int, wxTreeCtrl_IsVisible)(void* _obj, void* item)
-{
-	return (int)((ELJTreeControl*)_obj)->IsVisible(*((wxTreeItemId*) item));
-}
-	
-EWXWEXPORT(int, wxTreeCtrl_ItemHasChildren)(void* _obj, void* item)
-{
-	return (int)((ELJTreeControl*)_obj)->ItemHasChildren(*((wxTreeItemId*) item));
-}
-	
-EWXWEXPORT(int, wxTreeCtrl_IsExpanded)(void* _obj, void* item)
-{
-	return (int)((ELJTreeControl*)_obj)->IsExpanded(*((wxTreeItemId*) item));
-}
-	
-EWXWEXPORT(int, wxTreeCtrl_IsSelected)(void* _obj, void* item)
-{
-	return (int)((ELJTreeControl*)_obj)->IsSelected(*((wxTreeItemId*) item));
-}
-	
-EWXWEXPORT(int, wxTreeCtrl_IsBold)(void* _obj, void* item)
-{
-	return (int)((ELJTreeControl*)_obj)->IsBold(*((wxTreeItemId*) item));
-}
-	
-EWXWEXPORT(int, wxTreeCtrl_GetChildrenCount)(void* _obj, void* item, int recursively)
-{
-	return ((ELJTreeControl*)_obj)->GetChildrenCount(*((wxTreeItemId*) item), recursively);
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_GetRootItem)(void* _obj, void* _item)
-{
-	(*(wxTreeItemId*)_item) = ((ELJTreeControl*)_obj)->GetRootItem();
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_GetSelection)(void* _obj, void* _item)
-{
-	(*(wxTreeItemId*)_item) = ((ELJTreeControl*)_obj)->GetSelection();
-}
-	
-EWXWEXPORT(int, wxTreeCtrl_GetSelections)(void* _obj, void* selections)
-{
-	int result = 0;
-	wxArrayTreeItemIds sel;
-	result = ((ELJTreeControl*)_obj)->GetSelections(sel);
-	
-	if (selections)
-	{
-		for (int i = 0; i < result; i++)
-			*(((wxTreeItemId**)selections)[i]) = sel[i];
-	}
-	return result;		
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_GetParent)(void* _obj, void* item, void* _item)
-{
-#if wxVERSION_NUMBER < 2400
-	(*(wxTreeItemId*)_item) = ((ELJTreeControl*)_obj)->GetParent(*((wxTreeItemId*)item));
-#else
-	(*(wxTreeItemId*)_item) = ((ELJTreeControl*)_obj)->GetItemParent(*((wxTreeItemId*)item));
-#endif
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_GetFirstChild)(void* _obj, void* item, void* cookie, void* _item)
-{
-	(*(wxTreeItemId*)_item) = ((ELJTreeControl*)_obj)->GetFirstChild(*((wxTreeItemId*)item), *((long*)cookie));
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_GetNextChild)(void* _obj, void* item, void* cookie, void* _item)
-{
-	(*(wxTreeItemId*)_item) = ((ELJTreeControl*)_obj)->GetNextChild(*((wxTreeItemId*)item), *((long*)cookie));
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_GetLastChild)(void* _obj, void* item, void* _item)
-{
-	(*(wxTreeItemId*)_item) = ((ELJTreeControl*)_obj)->GetLastChild(*((wxTreeItemId*)item));
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_GetNextSibling)(void* _obj, void* item, void* _item)
-{
-	(*(wxTreeItemId*)_item) = ((ELJTreeControl*)_obj)->GetNextSibling(*((wxTreeItemId*) item));
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_GetPrevSibling)(void* _obj, void* item, void* _item)
-{
-	(*(wxTreeItemId*)_item) = ((ELJTreeControl*)_obj)->GetPrevSibling(*((wxTreeItemId*) item));
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_GetFirstVisibleItem)(void* _obj, void* item, void* _item)
-{
-	(*(wxTreeItemId*)_item) = ((ELJTreeControl*)_obj)->GetFirstVisibleItem();
-}
-
-EWXWEXPORT(void, wxTreeCtrl_GetNextVisible)(void* _obj, void* item, void* _item)
-{
-	(*(wxTreeItemId*)_item) = ((ELJTreeControl*)_obj)->GetNextVisible(*((wxTreeItemId*)item));
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_GetPrevVisible)(void* _obj, void* item, void* _item)
-{
-	(*(wxTreeItemId*)_item) = ((ELJTreeControl*)_obj)->GetPrevVisible(*((wxTreeItemId*)item));
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_AddRoot)(void* _obj, void* text, int image, int selectedImage, void* data, void* _item)
-{
-	(*(wxTreeItemId*)_item) = ((ELJTreeControl*)_obj)->AddRoot((char*) text, image, selectedImage, new ELJTreeItemData(data));
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_PrependItem)(void* _obj, void* parent, void* text, int image, int selectedImage, void* data, void* _item)
-{
-	(*(wxTreeItemId*)_item) = ((ELJTreeControl*)_obj)->PrependItem(*((wxTreeItemId*)parent), (char*)text, image, selectedImage, new ELJTreeItemData(data));
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_InsertItem)(void* _obj, void* parent, void* idPrevious, void* text, int image, int selectedImage, void* data, void* _item)
-{
-	(*(wxTreeItemId*)_item) = ((ELJTreeControl*)_obj)->InsertItem(*((wxTreeItemId*)parent), *((wxTreeItemId*)idPrevious), (char*)text, image, selectedImage, new ELJTreeItemData(data));
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_InsertItemByIndex)(void* _obj, void* parent, int index, void* text, int image, int selectedImage, void* data, void* _item)
-{
-	(*(wxTreeItemId*)_item) = ((ELJTreeControl*)_obj)->InsertItem(*((wxTreeItemId*)parent), index, (char*)text, image, selectedImage, new ELJTreeItemData(data));
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_AppendItem)(void* _obj, void* parent, void* text, int image, int selectedImage, void* data, void* _item)
-{
-	(*(wxTreeItemId*)_item) = ((ELJTreeControl*)_obj)->AppendItem(*((wxTreeItemId*) parent), (char*)text, image, selectedImage, new ELJTreeItemData(data));
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_Delete)(void* _obj, void* item)
-{
-	((ELJTreeControl*)_obj)->Delete(*((wxTreeItemId*)item));
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_DeleteChildren)(void* _obj, void* item)
-{
-	((ELJTreeControl*)_obj)->DeleteChildren(*((wxTreeItemId*)item));
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_DeleteAllItems)(void* _obj)
-{
-	((ELJTreeControl*)_obj)->DeleteAllItems();
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_Expand)(void* _obj, void* item)
-{
-	((ELJTreeControl*)_obj)->Expand(*((wxTreeItemId*)item));
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_Collapse)(void* _obj, void* item)
-{
-	((ELJTreeControl*)_obj)->Collapse(*((wxTreeItemId*)item));
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_CollapseAndReset)(void* _obj, void* item)
-{
-	((ELJTreeControl*)_obj)->CollapseAndReset(*((wxTreeItemId*)item));
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_Toggle)(void* _obj, void* item)
-{
-	((ELJTreeControl*)_obj)->Toggle(*((wxTreeItemId*)item));
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_Unselect)(void* _obj)
-{
-	((ELJTreeControl*)_obj)->Unselect();
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_UnselectAll)(void* _obj)
-{
-	((ELJTreeControl*)_obj)->UnselectAll();
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_SelectItem)(void* _obj, void* item)
-{
-	((ELJTreeControl*)_obj)->SelectItem(*((wxTreeItemId*)item));
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_EnsureVisible)(void* _obj, void* item)
-{
-	((ELJTreeControl*)_obj)->EnsureVisible(*((wxTreeItemId*)item));
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_ScrollTo)(void* _obj, void* item)
-{
-	((ELJTreeControl*)_obj)->ScrollTo(*((wxTreeItemId*)item));
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_EditLabel)(void* _obj, void* item)
-{
-	((ELJTreeControl*)_obj)->EditLabel(*((wxTreeItemId*)item));
-}
-	
-EWXWEXPORT(void*, wxTreeCtrl_GetEditControl)(void* _obj)
-{
-#ifdef __WIN32__
-	return (void*)((ELJTreeControl*)_obj)->GetEditControl();
-#else
-	return NULL;
-#endif
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_EndEditLabel)(void* _obj, void* item, int discardChanges)
-{
-#ifdef __WIN32__
-	((ELJTreeControl*)_obj)->EndEditLabel(*((wxTreeItemId*)item), discardChanges != 0);
-#endif
-}
-	
-EWXWEXPORT(int, wxTreeCtrl_OnCompareItems)(void* _obj, void* item1, void* item2)
-{
-	return ((ELJTreeControl*)_obj)->OnCompareItems(*((wxTreeItemId*)item1), *((wxTreeItemId*)item2));
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_SortChildren)(void* _obj, void* item)
-{
-	((ELJTreeControl*)_obj)->SortChildren(*((wxTreeItemId*)item));
-}
-	
-EWXWEXPORT(void, wxTreeCtrl_HitTest)(void* _obj, int _x, int _y, void* flags, void* _item)
-{
-	(*(wxTreeItemId*)_item) = ((ELJTreeControl*)_obj)->HitTest(wxPoint(_x, _y), *((int*)flags));
-}
-	
-EWXWEXPORT(int, wxTreeCtrl_GetBoundingRect)(void* _obj, void* item, int textOnly, void* _x, void* _y, void* _w, void* _h)
-{
-#ifdef __WIN32__
-	wxRect rct;
-	int result = ((ELJTreeControl*)_obj)->GetBoundingRect(*((wxTreeItemId*)item), rct, textOnly != 0);
-	if (result)
-	{
-		*((int*)_x) = rct.x;
-		*((int*)_y) = rct.y;
-		*((int*)_w) = rct.width;
-		*((int*)_h) = rct.height;
-	}
-	return result;
-#else
-	return 0;
-#endif
-}
-	
-}
diff --git a/wxc/src/eljvalidator.cpp b/wxc/src/eljvalidator.cpp
--- a/wxc/src/eljvalidator.cpp
+++ b/wxc/src/eljvalidator.cpp
@@ -3,70 +3,70 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxValidator_Create)()
+EWXWEXPORT(void*,wxValidator_Create)()
 {
-	return (void*) new wxValidator();
+	return (void*)new wxValidator();
 }
 
-EWXWEXPORT(void, wxValidator_Delete)(void* _obj)
+EWXWEXPORT(void,wxValidator_Delete)(void* self)
 {
-	delete (wxValidator*)_obj;
+	delete (wxValidator*)self;
 }
 
-EWXWEXPORT(int, wxValidator_Validate)(void* _obj, void* parent)
+EWXWEXPORT(bool,wxValidator_Validate)(wxValidator* self,wxWindow* parent)
 {
-	return (int)((wxValidator*)_obj)->Validate((wxWindow*)parent);
+	return self->Validate(parent);
 }
 	
-EWXWEXPORT(int, wxValidator_TransferToWindow)(void* _obj)
+EWXWEXPORT(bool,wxValidator_TransferToWindow)(wxValidator* self)
 {
-	return (int)((wxValidator*)_obj)->TransferToWindow();
+	return self->TransferToWindow();
 }
 	
-EWXWEXPORT(int, wxValidator_TransferFromWindow)(void* _obj)
+EWXWEXPORT(bool,wxValidator_TransferFromWindow)(wxValidator* self)
 {
-	return (int)((wxValidator*)_obj)->TransferFromWindow();
+	return self->TransferFromWindow();
 }
 	
-EWXWEXPORT(void*, wxValidator_GetWindow)(void* _obj)
+EWXWEXPORT(void*,wxValidator_GetWindow)(void* self)
 {
-	return (void*)((wxValidator*)_obj)->GetWindow();
+	return (void*)((wxValidator*)self)->GetWindow();
 }
 	
-EWXWEXPORT(void, wxValidator_SetWindow)(void* _obj, void* win)
+EWXWEXPORT(void,wxValidator_SetWindow)(void* self,wxWindowBase* win)
 {
-	((wxValidator*)_obj)->SetWindow((wxWindowBase*)win);
+	((wxValidator*)self)->SetWindow(win);
 }
 	
 #if (wxVERSION_NUMBER < 2800)	
-EWXWEXPORT(int, wxValidator_IsSilent)()
+EWXWEXPORT(bool,wxValidator_IsSilent)()
 {
-	return (int)wxValidator::IsSilent();
+	return wxValidator::IsSilent();
 }
 #endif
 	
-EWXWEXPORT(void, wxValidator_SetBellOnError)(int doIt)
+EWXWEXPORT(void,wxValidator_SetBellOnError)(bool doIt)
 {
-	wxValidator::SetBellOnError(doIt != 0);
+	wxValidator::SetBellOnError(doIt);
 }
 	
-EWXWEXPORT(void*, wxTextValidator_Create)(int style, void* val)
+EWXWEXPORT(void*,wxTextValidator_Create)(int style,void* val)
 {
-	return (void*) new wxTextValidator((long)style, new wxString);
+	return (void*)new wxTextValidator((long)style, new wxString);
 }
 
-EWXWEXPORT(int, wxTextValidator_GetStyle)(void* _obj)
+EWXWEXPORT(int,wxTextValidator_GetStyle)(wxTextValidator* self)
 {
-	return (int)((wxTextValidator*)_obj)->GetStyle();
+	return (int)self->GetStyle();
 }
 	
-EWXWEXPORT(void, wxTextValidator_SetStyle)(void* _obj, int style)
+EWXWEXPORT(void,wxTextValidator_SetStyle)(void* self,int style)
 {
-	((wxTextValidator*)_obj)->SetStyle((long) style);
+	((wxTextValidator*)self)->SetStyle((long) style);
 }
 	
 #if (wxVERSION_NUMBER < 2800)	
-EWXWEXPORT(void, wxTextValidator_SetIncludeList)(void* _obj, void* list, int count)
+EWXWEXPORT(void,wxTextValidator_SetIncludeList)(void* self,void* list,int count)
 {
 #if (wxVERSION_NUMBER <= 2600)
 	wxStringList str;
@@ -74,23 +74,23 @@
 	for (int i = 0; i < count; i++)
 		str.Add(((wxChar**)list)[i]);
 		
-	((wxTextValidator*)_obj)->SetIncludeList(str);
+	((wxTextValidator*)self)->SetIncludeList(str);
 #else
-	((wxTextValidator*)_obj)->SetIncludes((const wxArrayString&)list);
+	((wxTextValidator*)self)->SetIncludes((const wxArrayString&)list);
 #endif
 }
 	
-EWXWEXPORT(int, wxTextValidator_GetIncludeList)(void* _obj, void* _ref)
+EWXWEXPORT(int,wxTextValidator_GetIncludeList)(void* self,void* _ref)
 {
 #if (wxVERSION_NUMBER <= 2600)
 	if (_ref)
 	{
-		for (unsigned int i = 0; i < ((wxTextValidator*)_obj)->GetIncludeList().GetCount(); i++)
-			((const wxChar**)_ref)[i] = wxStrdup(((wxTextValidator*)_obj)->GetIncludeList().Item(i)->GetData());
+		for (unsigned int i = 0; i < ((wxTextValidator*)self)->GetIncludeList().GetCount(); i++)
+			((const wxChar**)_ref)[i] = wxStrdup(((wxTextValidator*)self)->GetIncludeList().Item(i)->GetData());
 	}
-	return ((wxTextValidator*)_obj)->GetIncludeList().GetCount();
+	return ((wxTextValidator*)self)->GetIncludeList().GetCount();
 #else
-	wxArrayString arr = ((wxTextValidator*)_obj)->GetIncludes();
+	wxArrayString arr = ((wxTextValidator*)self)->GetIncludes();
 	if (_ref)
 	{
 		for (unsigned int i = 0; i < arr.GetCount(); i++)
@@ -100,7 +100,7 @@
 #endif
 }
 	
-EWXWEXPORT(void, wxTextValidator_SetExcludeList)(void* _obj, void* list, int count)
+EWXWEXPORT(void,wxTextValidator_SetExcludeList)(void* self,void* list,int count)
 {
 #if (wxVERSION_NUMBER <= 2600)
 	wxStringList str;
@@ -108,23 +108,23 @@
 	for (int i = 0; i < count; i++)
 		str.Add(((wxChar**)list)[i]);
 		
-	((wxTextValidator*)_obj)->SetExcludeList(str);
+	((wxTextValidator*)self)->SetExcludeList(str);
 #else
-	((wxTextValidator*)_obj)->SetExcludes((const wxArrayString&)list);
+	((wxTextValidator*)self)->SetExcludes((const wxArrayString&)list);
 #endif
 }
 	
-EWXWEXPORT(int, wxTextValidator_GetExcludeList)(void* _obj, void* _ref)
+EWXWEXPORT(int,wxTextValidator_GetExcludeList)(void* self,void* _ref)
 {
 #if (wxVERSION_NUMBER <= 2600)
 	if (_ref)
 	{
-		for (unsigned int i = 0; i < ((wxTextValidator*)_obj)->GetExcludeList().GetCount(); i++)
-			((const wxChar**)_ref)[i] = ((wxTextValidator*)_obj)->GetExcludeList().Item(i)->GetData();
+		for (unsigned int i = 0; i < ((wxTextValidator*)self)->GetExcludeList().GetCount(); i++)
+			((const wxChar**)_ref)[i] = ((wxTextValidator*)self)->GetExcludeList().Item(i)->GetData();
 	}
-	return ((wxTextValidator*)_obj)->GetExcludeList().GetCount();
+	return ((wxTextValidator*)self)->GetExcludeList().GetCount();
 #else
-	wxArrayString arr = ((wxTextValidator*)_obj)->GetExcludes();
+	wxArrayString arr = ((wxTextValidator*)self)->GetExcludes();
 	if (_ref)
 	{
 		for (unsigned int i = 0; i < arr.GetCount(); i++)
@@ -134,89 +134,89 @@
 #endif
 }
 #else
-EWXWEXPORT(void, wxTextValidator_SetIncludes)(void* _obj, void* list, int count)
+EWXWEXPORT(void,wxTextValidator_SetIncludes)(void* self,void* list,int count)
 {
   wxArrayString str;
   
   for (int i = 0; i < count; i++)
     str.Add(((wxChar**)list)[i]);
   
-  ((wxTextValidator*)_obj)->SetIncludes(str);
+  ((wxTextValidator*)self)->SetIncludes(str);
 }
 
-EWXWEXPORT(void *, wxTextValidator_GetIncludes)(void* _obj, int *_nitems)
+EWXWEXPORT(void*,wxTextValidator_GetIncludes)(void* self,int* _nitems)
 {
-  void *retval = NULL;
+  void* retval = NULL;
 
   if (_nitems != NULL)
   {
-    wxArrayString items = ((wxTextValidator*)_obj)->GetIncludes();
-    wxChar **items_copy = (wxChar **) malloc(sizeof(wxChar *) * items.GetCount());
+    wxArrayString items = ((wxTextValidator*)self)->GetIncludes();
+    wxChar **items_copy = (wxChar **)malloc(sizeof(wxChar *)* items.GetCount());
 
     for (unsigned int i = 0; i < items.GetCount(); i++)
     {
       items_copy[i] = wxStrdup(items.Item(i).GetData());
     }
-    retval = (void *) items_copy;
+    retval = (void*)items_copy;
     *_nitems = items.GetCount();
   }
   return retval;
 }
 	
-EWXWEXPORT(void, wxTextValidator_SetExcludes)(void* _obj, void* list, int count)
+EWXWEXPORT(void,wxTextValidator_SetExcludes)(void* self,void* list,int count)
 {
 	wxArrayString str;
 	
 	for (int i = 0; i < count; i++)
 		str.Add(((wxChar**)list)[i]);
 		
-	((wxTextValidator*)_obj)->SetExcludes(str);
+	((wxTextValidator*)self)->SetExcludes(str);
 }
 	
-EWXWEXPORT(void *, wxTextValidator_GetExcludes)(void* _obj, int* _nitems)
+EWXWEXPORT(void*,wxTextValidator_GetExcludes)(void* self,int* _nitems)
 {
-  void *retval = NULL;
+  void* retval = NULL;
 
   if (_nitems != NULL)
   {
-    wxArrayString items = ((wxTextValidator*)_obj)->GetExcludes();
-    wxChar **items_copy = (wxChar **) malloc(sizeof(wxChar *) * items.GetCount());
+    wxArrayString items = ((wxTextValidator*)self)->GetExcludes();
+    wxChar **items_copy = (wxChar **)malloc(sizeof(wxChar *)* items.GetCount());
 
     for (unsigned int i = 0; i < items.GetCount(); i++)
     {
       items_copy[i] = wxStrdup(items.Item(i).GetData());
     }
-    retval = (void *) items_copy;
+    retval = (void*)items_copy;
     *_nitems = items.GetCount();
   }
   return retval;
 }
 
-EWXWEXPORT(void *, wxTextValidator_Clone)(void *_obj)
+EWXWEXPORT(void*,wxTextValidator_Clone)(void* self)
 {
-  return (void *)((wxTextValidator*)_obj)->Clone();
+  return (void*)((wxTextValidator*)self)->Clone();
 }
 
-EWXWEXPORT(int, wxTextValidator_TransferToWindow)(void* _obj)
+EWXWEXPORT(bool,wxTextValidator_TransferToWindow)(wxTextValidator* self)
 {
-	return (int)((wxTextValidator*)_obj)->TransferToWindow();
+	return self->TransferToWindow();
 }
 	
-EWXWEXPORT(int, wxTextValidator_TransferFromWindow)(void* _obj)
+EWXWEXPORT(bool,wxTextValidator_TransferFromWindow)(wxTextValidator* self)
 {
-	return (int)((wxTextValidator*)_obj)->TransferFromWindow();
+	return self->TransferFromWindow();
 }
 	
 #endif
 
-EWXWEXPORT(void, wxTextValidator_OnChar)(void* _obj, void* event)
+EWXWEXPORT(void,wxTextValidator_OnChar)(void* self,wxKeyEvent* event)
 {
-	((wxTextValidator*)_obj)->OnChar(*((wxKeyEvent*)event));
+	((wxTextValidator*)self)->OnChar(*event);
 }
 
-EWXWEXPORT(void*, ELJTextValidator_Create) (void* _obj, void* _fnc, void* _txt, long _stl)
+EWXWEXPORT(void*,ELJTextValidator_Create)(void* self,void* _fnc,void* _txt,long _stl)
 {
-	return new ELJTextValidator(_obj, _fnc, _txt, _stl);
+	return new ELJTextValidator(self, _fnc, _txt, _stl);
 }
 
 }
diff --git a/wxc/src/eljwindow.cpp b/wxc/src/eljwindow.cpp
--- a/wxc/src/eljwindow.cpp
+++ b/wxc/src/eljwindow.cpp
@@ -4,101 +4,103 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxWindow_Create)(void* _prt, int _id, int _x, int _y, int _w, int _h, int _stl)
+EWXWEXPORT(void*,wxWindow_Create)(wxWindow* _prt,int _id,int _x,int _y,int _w,int _h,int _stl)
 {
-	return (void*)new wxWindow((wxWindow*)_prt, (wxWindowID)_id, wxPoint(_x, _y), wxSize(_w, _h), (long)_stl);
+	return (void*)new wxWindow(_prt, (wxWindowID)_id, wxPoint(_x, _y), wxSize(_w, _h), (long)_stl);
 }
 	
-EWXWEXPORT(int, wxWindow_Close)(void* _obj, int _force)
+EWXWEXPORT(bool,wxWindow_Close)(wxWindow* self,bool _force)
 {
-	return (int)((wxWindow*)_obj)->Close(_force != 0);
+	return self->Close(_force);
 }
 	
-EWXWEXPORT(int, wxWindow_Destroy)(void* _obj)
+EWXWEXPORT(bool,wxWindow_Destroy)(wxWindow* self)
 {
-	return (int)((wxWindow*)_obj)->Destroy();
+	return self->Destroy();
 }
 	
-EWXWEXPORT(void, wxWindow_ClearBackground)(void* _obj)
+EWXWEXPORT(void,wxWindow_ClearBackground)(wxWindow* self)
 {
-  ((wxWindow*)_obj)->ClearBackground();
+	self->ClearBackground();
 }
 	
-EWXWEXPORT(void, wxWindow_Fit)(void* _obj)
+EWXWEXPORT(void,wxWindow_Fit)(wxWindow* self)
 {
-	((wxWindow*)_obj)->Fit();
+	self->Fit();
 }
 	
-EWXWEXPORT(int, wxWindow_DestroyChildren)(void* _obj)
+EWXWEXPORT(void,wxWindow_DestroyChildren)(wxWindow* self)
 {
-	return (int)((wxWindow*)_obj)->DestroyChildren();
+	self->DestroyChildren();
 }
 	
-EWXWEXPORT(int, wxWindow_IsBeingDeleted)(void* _obj)
+EWXWEXPORT(bool,wxWindow_IsBeingDeleted)(wxWindow* self)
 {
-	return (int)((wxWindow*)_obj)->IsBeingDeleted();
+	return self->IsBeingDeleted();
 }
 	
-EWXWEXPORT(void, wxWindow_SetLabel)(void* _obj, wxChar* _title)
+EWXWEXPORT(void,wxWindow_SetLabel)(wxWindow* self,wxString* _title)
 {
-	((wxWindow*)_obj)->SetLabel(_title);
+	self->SetLabel(*_title);
 }
 	
-EWXWEXPORT(int, wxWindow_GetLabel)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxWindow_GetLabel)(wxWindow* self)
 {
-	wxString result = ((wxWindow*)_obj)->GetLabel().c_str();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = self->GetLabel();
+	return result;
 }
 	
-EWXWEXPORT(int, wxWindow_GetLabelEmpty)(void* _obj)
+EWXWEXPORT(bool,wxWindow_GetLabelEmpty)(wxWindow* self)
 {
-	return (int)((wxWindow*)_obj)->GetLabel().IsEmpty();
+	return self->GetLabel().IsEmpty();
 }
 	
-EWXWEXPORT(void, wxWindow_SetName)(void* _obj, wxChar* _name)
+EWXWEXPORT(void,wxWindow_SetName)(wxWindow* self,wxString* _name)
 {
-	((wxWindow*)_obj)->SetName(_name);
+	self->SetName(*_name);
 }
 	
-EWXWEXPORT(int, wxWindow_GetName)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxWindow_GetName)(wxWindow* self)
 {
-	wxString result =((wxWindow*)_obj)->GetName();
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = self->GetName();
+	return result;
 }
 	
-EWXWEXPORT(void, wxWindow_SetId)(void* _obj, int _id)
+EWXWEXPORT(void,wxWindow_SetId)(wxWindow* self,int _id)
 {
-	((wxWindow*)_obj)->SetId(_id);
+	self->SetId(_id);
 }
 	
-EWXWEXPORT(int, wxWindow_GetId)(void* _obj)
+EWXWEXPORT(int,wxWindow_GetId)(wxWindow* self)
 {
-	return (int)((wxWindow*)_obj)->GetId();
+	return self->GetId();
 }
 	
-EWXWEXPORT(void, wxWindow_SetSize)(void* _obj,  int x, int y, int width, int height, int sizeFlags)
+EWXWEXPORT(void,wxWindow_SetSize)(wxWindow* self,int x,int y,int width,int height,int sizeFlags)
 {
-	((wxWindow*)_obj)->SetSize(x, y, width, height, sizeFlags);
+	self->SetSize(x, y, width, height, sizeFlags);
 }
 	
-EWXWEXPORT(void, wxWindow_Move)(void* _obj,  int x, int y )
+EWXWEXPORT(void,wxWindow_Move)(wxWindow* self,int x,int y)
 {
-	((wxWindow*)_obj)->Move( x, y );
+	self->Move( x, y );
 }
 	
-EWXWEXPORT(void, wxWindow_Raise)(void* _obj)
+EWXWEXPORT(void,wxWindow_Raise)(wxWindow* self)
 {
-	((wxWindow*)_obj)->Raise();
+	self->Raise();
 }
 	
-EWXWEXPORT(void, wxWindow_Lower)(void* _obj)
+EWXWEXPORT(void,wxWindow_Lower)(wxWindow* self)
 {
-	((wxWindow*)_obj)->Lower();
+	self->Lower();
 }
 	
-EWXWEXPORT(void, wxWindow_SetClientSize)(void* _obj, int width, int height )
+EWXWEXPORT(void,wxWindow_SetClientSize)(wxWindow* self,int width,int height)
 {
-	((wxWindow*)_obj)->SetClientSize( width, height );
+	self->SetClientSize( width, height );
 }
 	
 EWXWEXPORT(void, wxWindow_GetPosition)(void* _obj, void* _x, void* _y)
@@ -130,114 +132,112 @@
 	((wxWindow*)_obj)->GetBestSize((int*)_w, (int*)_h);
 }
 	
-EWXWEXPORT(void, wxWindow_Center)(void* _obj, int direction)
+EWXWEXPORT(void,wxWindow_Center)(wxWindow* self,int direction)
 {
-	((wxWindow*)_obj)->Center( direction );
+	self->Center( direction );
 }
 	
-EWXWEXPORT(void, wxWindow_CenterOnParent)(void* _obj, int dir)
+EWXWEXPORT(void,wxWindow_CenterOnParent)(wxWindow* self,int dir)
 {
-	((wxWindow*)_obj)->CenterOnParent(dir);
+	self->CenterOnParent(dir);
 }
 	
-EWXWEXPORT(void, wxWindow_SetSizeHints)(void* _obj, int minW, int minH,int maxW, int maxH, int incW, int incH)
+EWXWEXPORT(void,wxWindow_SetSizeHints)(wxWindow* self,int minW,int minH,int maxW,int maxH,int incW,int incH)
 {
-	((wxWindow*)_obj)->SetSizeHints( minW, minH, maxW, maxH, incW, incH );
+	self->SetSizeHints( minW, minH, maxW, maxH, incW, incH );
 }
 	
-EWXWEXPORT(int, wxWindow_GetMinWidth)(void* _obj)
+EWXWEXPORT(int,wxWindow_GetMinWidth)(wxWindow* self)
 {
-	return ((wxWindow*)_obj)->GetMinWidth();
+	return self->GetMinWidth();
 }
 	
-EWXWEXPORT(int, wxWindow_GetMinHeight)(void* _obj)
+EWXWEXPORT(int,wxWindow_GetMinHeight)(wxWindow* self)
 {
-	return ((wxWindow*)_obj)->GetMinHeight();
+	return self->GetMinHeight();
 }
 	
-EWXWEXPORT(int, wxWindow_GetMaxWidth)(void* _obj)
+EWXWEXPORT(int,wxWindow_GetMaxWidth)(wxWindow* self)
 {
-	return ((wxWindow*)_obj)->GetMaxWidth();
+	return self->GetMaxWidth();
 }
 
-EWXWEXPORT(int, wxWindow_GetMaxHeight)(void* _obj)
+EWXWEXPORT(int,wxWindow_GetMaxHeight)(wxWindow* self)
 {
-	return ((wxWindow*)_obj)->GetMaxHeight();
+	return self->GetMaxHeight();
 }
 	
-EWXWEXPORT(int, wxWindow_Show)(void* _obj)
+EWXWEXPORT(bool,wxWindow_Show)(wxWindow* self)
 {
-	return ((wxWindow*)_obj)->Show();
+	return self->Show();
 }
 	
-EWXWEXPORT(int, wxWindow_Hide)(void* _obj)
+EWXWEXPORT(bool,wxWindow_Hide)(wxWindow* self)
 {
-	return (int)((wxWindow*)_obj)->Hide();
+	return self->Hide();
 }
 	
-EWXWEXPORT(int, wxWindow_Enable)(void* _obj)
+EWXWEXPORT(bool,wxWindow_Enable)(wxWindow* self)
 {
-	return (int)((wxWindow*)_obj)->Enable();
+	return self->Enable();
 }
 
-EWXWEXPORT(int, wxWindow_Disable)(void* _obj)
+EWXWEXPORT(bool,wxWindow_Disable)(wxWindow* self)
 {
-	return (int)((wxWindow*)_obj)->Disable();
+	return self->Disable();
 }
 	
-EWXWEXPORT(int, wxWindow_IsShown)(void* _obj)
+EWXWEXPORT(bool,wxWindow_IsShown)(wxWindow* self)
 {
-	return (int)((wxWindow*)_obj)->IsShown();
+	return self->IsShown();
 }
 	
-EWXWEXPORT(int, wxWindow_IsEnabled)(void* _obj)
+EWXWEXPORT(bool,wxWindow_IsEnabled)(wxWindow* self)
 {
-	return (int)((wxWindow*)_obj)->IsEnabled();
+	return self->IsEnabled();
 }
 	
-EWXWEXPORT(void, wxWindow_SetWindowStyleFlag)(void* _obj, long style)
+EWXWEXPORT(void,wxWindow_SetWindowStyleFlag)(wxWindow* self,long style)
 {
-	((wxWindow*)_obj)->SetWindowStyleFlag( style );
+	self->SetWindowStyleFlag( style );
 }
 	
-EWXWEXPORT(int, wxWindow_GetWindowStyleFlag)(void* _obj)
+EWXWEXPORT(int,wxWindow_GetWindowStyleFlag)(wxWindow* self)
 {
-	return (int)((wxWindow*)_obj)->GetWindowStyleFlag();
+	return (int)self->GetWindowStyleFlag();
 }
 	
-EWXWEXPORT(int, wxWindow_HasFlag)(void* _obj, int flag)
+EWXWEXPORT(bool,wxWindow_HasFlag)(wxWindow* self,int flag)
 {
-	return (int)((wxWindow*)_obj)->HasFlag(flag);
+	return self->HasFlag(flag);
 }
 	
-EWXWEXPORT(void, wxWindow_SetExtraStyle)(void* _obj, long exStyle)
+EWXWEXPORT(void,wxWindow_SetExtraStyle)(wxWindow* self,long exStyle)
 {
-	((wxWindow*)_obj)->SetExtraStyle(exStyle);
+	self->SetExtraStyle(exStyle);
 }
 	
-EWXWEXPORT(void, wxWindow_MakeModal)(void* _obj, int modal)
+EWXWEXPORT(void,wxWindow_MakeModal)(wxWindow* self,bool modal)
 {
-	((wxWindow*)_obj)->MakeModal(modal != 0);
+	self->MakeModal(modal);
 }
 	
-EWXWEXPORT(void, wxWindow_SetFocus)(void* _obj)
+EWXWEXPORT(void,wxWindow_SetFocus)(wxWindow* self)
 {
-	((wxWindow*)_obj)->SetFocus();
+	self->SetFocus();
 }
 	
-EWXWEXPORT(void*, wxWindow_FindFocus)(void* _obj)
+EWXWEXPORT(void*,wxWindow_FindFocus)(wxWindow* self)
 {
-	return (void*)((wxWindow*)_obj)->FindFocus();
+	return (void*)self->FindFocus();
 }
 	
-EWXWEXPORT(int, wxWindow_GetChildren)(void* _obj, void* _res, int _cnt)
+EWXWEXPORT(int,wxWindow_GetChildren)(wxWindow* self,void* _res,int _cnt)
 {
-	if (_res && (unsigned int)_cnt == ((wxWindow*)_obj)->GetChildren().GetCount())
+	if (_res && (unsigned int)_cnt == self->GetChildren().GetCount())
 	{
 		unsigned int i = 0;
-		wxWindowList::compatibility_iterator node = 
-			((wxWindow*)_obj)->GetChildren().GetFirst();
-	
+		wxWindowList::compatibility_iterator node = self->GetChildren().GetFirst();
 		while (node)
 		{
 			((void**)_res)[i++] = (void*)(node->GetData());
@@ -247,92 +247,92 @@
 		return i;
 	}
 	else
-		return ((wxWindow*)_obj)->GetChildren().GetCount();
+		return self->GetChildren().GetCount();
 }
 	
-EWXWEXPORT(void*, wxWindow_GetParent)(void* _obj)
+EWXWEXPORT(void*,wxWindow_GetParent)(wxWindow* self)
 {
-	return (void*)((wxWindow*)_obj)->GetParent();
+	return (void*)self->GetParent();
 }
 	
-EWXWEXPORT(int, wxWindow_IsTopLevel)(void* _obj)
+EWXWEXPORT(bool,wxWindow_IsTopLevel)(wxWindow* self)
 {
-	return (int)((wxWindow*)_obj)->IsTopLevel();
+	return self->IsTopLevel();
 }
 	
-EWXWEXPORT(void*, wxWindow_FindWindow)(void* _obj, wxChar* name )
+EWXWEXPORT(void*,wxWindow_FindWindow)(wxWindow* self,wxString* name)
 {
-	return (void*)((wxWindow*)_obj)->FindWindow( name );
+	return (void*)self->FindWindow( *name );
 }
 	
-EWXWEXPORT(void, wxWindow_AddChild)(void* _obj, void* child )
+EWXWEXPORT(void,wxWindow_AddChild)(wxWindow* self,wxWindowBase* child)
 {
-	((wxWindow*)_obj)->AddChild( (wxWindowBase*) child );
+	self->AddChild(  child );
 }
 	
-EWXWEXPORT(void, wxWindow_RemoveChild)(void* _obj, void* child )
+EWXWEXPORT(void,wxWindow_RemoveChild)(wxWindow* self,wxWindowBase* child)
 {
-	((wxWindow*)_obj)->RemoveChild( (wxWindowBase*) child );
+	self->RemoveChild(  child );
 }
 	
-EWXWEXPORT(void*, wxWindow_GetEventHandler)(void* _obj)
+EWXWEXPORT(void*,wxWindow_GetEventHandler)(wxWindow* self)
 {
-	return (void*)((wxWindow*)_obj)->GetEventHandler();
+	return (void*)self->GetEventHandler();
 }
 	
-EWXWEXPORT(void, wxWindow_PushEventHandler)(void* _obj, void* handler )
+EWXWEXPORT(void,wxWindow_PushEventHandler)(wxWindow* self,wxEvtHandler* handler)
 {
-	((wxWindow*)_obj)->PushEventHandler( (wxEvtHandler*) handler );
+	self->PushEventHandler( handler );
 }
 	
-EWXWEXPORT(void*, wxWindow_PopEventHandler)(void* _obj, int deleteHandler)
+EWXWEXPORT(void*,wxWindow_PopEventHandler)(wxWindow* self,bool deleteHandler)
 {
-	return (void*)((wxWindow*)_obj)->PopEventHandler(deleteHandler != 0);
+	return (void*)self->PopEventHandler(deleteHandler);
 }
 	
-EWXWEXPORT(void, wxWindow_SetValidator)(void* _obj, void* validator )
+EWXWEXPORT(void,wxWindow_SetValidator)(wxWindow* self,void* validator)
 {
-	((wxWindow*)_obj)->SetValidator(*((wxValidator*)validator));
+	self->SetValidator(*((wxValidator*)validator));
 }
 	
-EWXWEXPORT(void*, wxWindow_GetValidator)(void* _obj)
+EWXWEXPORT(void*,wxWindow_GetValidator)(wxWindow* self)
 {
-	return (void*)((wxWindow*)_obj)->GetValidator();
+	return (void*)self->GetValidator();
 }
 	
-EWXWEXPORT(void, wxWindow_SetClientData)(void* _obj, void *data )
+EWXWEXPORT(void,wxWindow_SetClientData)(wxWindow* self,void* data)
 {
-	((wxWindow*)_obj)->SetClientData( data );
+	self->SetClientData( data );
 }
 	
-EWXWEXPORT(void*, wxWindow_GetClientData)(void* _obj)
+EWXWEXPORT(void*,wxWindow_GetClientData)(wxWindow* self)
 {
-	return (void*) ((wxWindow*)_obj)->GetClientData();
+	return (void*)self->GetClientData();
 }
 	
-EWXWEXPORT(int, wxWindow_Validate)(void* _obj)
+EWXWEXPORT(bool,wxWindow_Validate)(wxWindow* self)
 {
-	return (int)((wxWindow*)_obj)->Validate();
+	return self->Validate();
 }
 	
-EWXWEXPORT(int, wxWindow_TransferDataToWindow)(void* _obj)
+EWXWEXPORT(bool,wxWindow_TransferDataToWindow)(wxWindow* self)
 {
-	return (int)((wxWindow*)_obj)->TransferDataToWindow();
+	return self->TransferDataToWindow();
 }
 	
-EWXWEXPORT(int, wxWindow_TransferDataFromWindow)(void* _obj)
+EWXWEXPORT(bool,wxWindow_TransferDataFromWindow)(wxWindow* self)
 {
-	return (int)((wxWindow*)_obj)->TransferDataFromWindow();
+	return self->TransferDataFromWindow();
 }
 	
-EWXWEXPORT(void, wxWindow_InitDialog)(void* _obj)
+EWXWEXPORT(void,wxWindow_InitDialog)(wxWindow* self)
 {
-	((wxWindow*)_obj)->InitDialog();
+	self->InitDialog();
 }
 	
-EWXWEXPORT(void, wxWindow_SetAcceleratorTable)(void* _obj, void* accel )
+EWXWEXPORT(void,wxWindow_SetAcceleratorTable)(wxWindow* self,void* accel)
 {
-	((wxWindow*)_obj)->SetAcceleratorTable(*((wxAcceleratorTable*) accel));
+	self->SetAcceleratorTable(*((wxAcceleratorTable*)accel));
 }
 	
 EWXWEXPORT(void, wxWindow_ConvertPixelsToDialog)(void* _obj, int* x, int* y)
@@ -349,308 +349,309 @@
 	*y = pt.y;
 }
 	
-EWXWEXPORT(void, wxWindow_WarpPointer)(void* _obj, int x, int y)
+EWXWEXPORT(void,wxWindow_WarpPointer)(wxWindow* self,int x,int y)
 {
-	((wxWindow*)_obj)->WarpPointer(x, y);
+	self->WarpPointer(x, y);
 }
 	
-EWXWEXPORT(void, wxWindow_CaptureMouse)(void* _obj)
+EWXWEXPORT(void,wxWindow_CaptureMouse)(wxWindow* self)
 {
-	((wxWindow*)_obj)->CaptureMouse();
+	self->CaptureMouse();
 }
 	
-EWXWEXPORT(void, wxWindow_ReleaseMouse)(void* _obj)
+EWXWEXPORT(void,wxWindow_ReleaseMouse)(wxWindow* self)
 {
-	((wxWindow*)_obj)->ReleaseMouse();
+	self->ReleaseMouse();
 }
 	
-EWXWEXPORT(void, wxWindow_Refresh)(void* _obj, int eraseBackground)
+EWXWEXPORT(void,wxWindow_Refresh)(wxWindow* self,bool eraseBackground)
 {
-	((wxWindow*)_obj)->Refresh(eraseBackground != 0, (const wxRect*) NULL);
+	self->Refresh(eraseBackground, (const wxRect*)NULL);
 }
 	
-EWXWEXPORT(void, wxWindow_RefreshRect)(void* _obj, int eraseBackground, int x, int y, int w, int h)
+EWXWEXPORT(void,wxWindow_RefreshRect)(wxWindow* self,bool eraseBackground,int x,int y,int w,int h)
 {
 	const wxRect rect(x, y, w, h);
-	((wxWindow*)_obj)->Refresh(eraseBackground != 0, &rect);
+	self->Refresh(eraseBackground, &rect);
 }
 	
-EWXWEXPORT(void, wxWindow_PrepareDC)(void* _obj, void* dc)
+EWXWEXPORT(void,wxWindow_PrepareDC)(wxWindow* self,wxDC* dc)
 {
-	((wxWindow*)_obj)->PrepareDC(*((wxDC*)dc));
+	self->PrepareDC(*dc);
 }
 	
-EWXWEXPORT(void*, wxWindow_GetUpdateRegion)(void* _obj)
+EWXWEXPORT(void*,wxWindow_GetUpdateRegion)(wxWindow* self)
 {
-	return (void*) (&((wxWindow*)_obj)->GetUpdateRegion());
+	return (void*)(&self->GetUpdateRegion());
 }
 	
-EWXWEXPORT(int, wxWindow_IsExposed)(void* _obj,  int x, int y, int w, int h )
+EWXWEXPORT(bool,wxWindow_IsExposed)(wxWindow* self,int x,int y,int w,int h)
 {
-	return (int)((wxWindow*)_obj)->IsExposed( x, y, w, h );
+	return self->IsExposed( x, y, w, h );
 }
 	
-EWXWEXPORT(int, wxWindow_SetBackgroundColour)(void* _obj, void* colour)
+EWXWEXPORT(bool,wxWindow_SetBackgroundColour)(wxWindow* self,wxColour* colour)
 {
-	return (int)((wxWindow*)_obj)->SetBackgroundColour(*((wxColour*) colour));
+	return self->SetBackgroundColour(*colour);
 }
 	
-EWXWEXPORT(int, wxWindow_SetForegroundColour)(void* _obj, void* colour)
+EWXWEXPORT(void,wxWindow_SetForegroundColour)(wxWindow* self,wxColour* colour)
 {
-	return (int)((wxWindow*)_obj)->SetForegroundColour(*((wxColour*) colour));
+	self->SetForegroundColour(*colour);
 }
 	
-EWXWEXPORT(void, wxWindow_GetBackgroundColour)(void* _obj, void* colour)
+EWXWEXPORT(void,wxWindow_GetBackgroundColour)(wxWindow* self,wxColour* colour)
 {
-	*((wxColour*)colour) = ((wxWindow*)_obj)->GetBackgroundColour();
+	*colour = self->GetBackgroundColour();
 }
 	
-EWXWEXPORT(void, wxWindow_GetForegroundColour)(void* _obj, void* colour)
+EWXWEXPORT(void,wxWindow_GetForegroundColour)(wxWindow* self,wxColour* colour)
 {
-	*((wxColour*)colour) = ((wxWindow*)_obj)->GetForegroundColour();
+	*colour = self->GetForegroundColour();
 }
 	
-EWXWEXPORT(int, wxWindow_SetCursor)(void* _obj, void* cursor)
+EWXWEXPORT(void,wxWindow_SetCursor)(wxWindow* self,wxCursor* cursor)
 {
-	return (int)((wxWindow*)_obj)->SetCursor(*((wxCursor*) cursor));
+	self->SetCursor(*cursor);
 }
 	
-EWXWEXPORT(void*, wxWindow_GetCursor)(void* _obj)
+EWXWEXPORT(void*,wxWindow_GetCursor)(wxWindow* self)
 {
-	return (void*) (&((wxWindow*)_obj)->GetCursor());
+	return (void*)(&self->GetCursor());
 }
 	
-EWXWEXPORT(int, wxWindow_SetFont)(void* _obj,  void* font)
+EWXWEXPORT(void,wxWindow_SetFont)(wxWindow* self,wxFont* font)
 {
-	return (int)((wxWindow*)_obj)->SetFont( *((wxFont*)font) );
+	self->SetFont(*font);
 }
 	
-EWXWEXPORT(void, wxWindow_GetFont)(void* _obj, void* _font)
+EWXWEXPORT(void,wxWindow_GetFont)(wxWindow* self,void* _font)
 {
-	(*(wxFont*)_font) = ((wxWindow*)_obj)->GetFont();
+	(*(wxFont*)_font) = self->GetFont();
 }
 	
-EWXWEXPORT(void, wxWindow_SetCaret)(void* _obj, void* caret)
+EWXWEXPORT(void,wxWindow_SetCaret)(wxWindow* self,void* caret)
 {
-	((wxWindow*)_obj)->SetCaret((wxCaret*)caret);
+	self->SetCaret((wxCaret*)caret);
 }
 	
-EWXWEXPORT(void*, wxWindow_GetCaret)(void* _obj)
+EWXWEXPORT(void*,wxWindow_GetCaret)(wxWindow* self)
 {
-	return (void*)((wxWindow*)_obj)->GetCaret();
+	return (void*)self->GetCaret();
 }
 	
-EWXWEXPORT(int, wxWindow_GetCharHeight)(void* _obj)
+EWXWEXPORT(int,wxWindow_GetCharHeight)(wxWindow* self)
 {
-	return ((wxWindow*)_obj)->GetCharHeight();
+	return self->GetCharHeight();
 }
 	
-EWXWEXPORT(int, wxWindow_GetCharWidth)(void* _obj)
+EWXWEXPORT(int,wxWindow_GetCharWidth)(wxWindow* self)
 {
-	return ((wxWindow*)_obj)->GetCharWidth();
+	return self->GetCharWidth();
 }
 	
-EWXWEXPORT(void, wxWindow_GetTextExtent)(void* _obj, wxChar* string, int* x, int* y, int* descent, int* externalLeading, void* theFont)
+EWXWEXPORT(void,wxWindow_GetTextExtent)(wxWindow* self,wxString* string,int* x,int* y,int* descent,int* externalLeading,void* theFont)
 {
-	((wxWindow*)_obj)->GetTextExtent(string, x,  y, descent, externalLeading, (const wxFont*) theFont );
+	self->GetTextExtent(*string, x,  y, descent, externalLeading, (const wxFont*)theFont );
 }
 	
-EWXWEXPORT(void, wxWindow_ScreenToClient)(void* _obj, int *x, int *y)
+EWXWEXPORT(wxPoint*,wxWindow_ScreenToClient)(wxWindow* self,int x,int y)
 {
-	((wxWindow*)_obj)->ScreenToClient(x, y);
+  return new wxPoint(self->ScreenToClient(wxPoint(x, y)));
 }
 	
-EWXWEXPORT(void, wxWindow_UpdateWindowUI)(void* _obj)
+EWXWEXPORT(void,wxWindow_UpdateWindowUI)(wxWindow* self)
 {
-	((wxWindow*)_obj)->UpdateWindowUI();
+	self->UpdateWindowUI();
 }
 	
-EWXWEXPORT(int, wxWindow_PopupMenu)(void* _obj, void* menu, int x, int y )
+EWXWEXPORT(bool,wxWindow_PopupMenu)(wxWindow* self,wxMenu* menu,int x,int y)
 {
-	return (int)((wxWindow*)_obj)->PopupMenu((wxMenu*) menu, x, y );
+	return self->PopupMenu(menu, x, y );
 }
 	
-EWXWEXPORT(void, wxWindow_SetScrollPos)(void* _obj, int orient, int pos, int refresh)
+EWXWEXPORT(void,wxWindow_SetScrollPos)(wxWindow* self,int orient,int pos,bool refresh)
 {
-	((wxWindow*)_obj)->SetScrollPos( orient, pos, refresh != 0);
+	self->SetScrollPos( orient, pos, refresh);
 }
 	
-EWXWEXPORT(int, wxWindow_GetScrollPos)(void* _obj, int orient )
+EWXWEXPORT(int,wxWindow_GetScrollPos)(wxWindow* self,int orient)
 {
-	return ((wxWindow*)_obj)->GetScrollPos( orient );
+	return self->GetScrollPos( orient );
 }
 	
-EWXWEXPORT(int, wxWindow_GetScrollThumb)(void* _obj, int orient )
+EWXWEXPORT(int,wxWindow_GetScrollThumb)(wxWindow* self,int orient)
 {
-	return ((wxWindow*)_obj)->GetScrollThumb( orient );
+	return self->GetScrollThumb( orient );
 }
 	
-EWXWEXPORT(int, wxWindow_GetScrollRange)(void* _obj, int orient )
+EWXWEXPORT(int,wxWindow_GetScrollRange)(wxWindow* self,int orient)
 {
-	return ((wxWindow*)_obj)->GetScrollRange( orient );
+	return self->GetScrollRange( orient );
 }
 	
-EWXWEXPORT(void, wxWindow_ScrollWindow)(void* _obj, int dx, int dy)
+EWXWEXPORT(void,wxWindow_ScrollWindow)(wxWindow* self,int dx,int dy)
 {
-	((wxWindow*)_obj)->ScrollWindow(dx, dy, (const wxRect*) NULL);
+	self->ScrollWindow(dx, dy, (const wxRect*)NULL);
 }
 	
-EWXWEXPORT(void, wxWindow_ScrollWindowRect)(void* _obj, int dx, int dy, int x, int y, int w, int h)
+EWXWEXPORT(void,wxWindow_ScrollWindowRect)(wxWindow* self,int dx,int dy,int x,int y,int w,int h)
 {
 	const wxRect rect(x, y, w, h);
-	((wxWindow*)_obj)->ScrollWindow(dx, dy, &rect);
+	self->ScrollWindow(dx, dy, &rect);
 }
 	
-EWXWEXPORT(void, wxWindow_SetToolTip)(void* _obj, wxChar* tip )
+EWXWEXPORT(void,wxWindow_SetToolTip)(wxWindow* self,wxString* tip)
 {
-	((wxWindow*)_obj)->SetToolTip( tip );
+	self->SetToolTip( *tip );
 }
 	
-EWXWEXPORT(int, wxWindow_GetToolTip)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxWindow_GetToolTip)(wxWindow* self)
 {
-	wxToolTip* tip = ((wxWindow*)_obj)->GetToolTip();
+	wxToolTip* tip = self->GetToolTip();
 
 	if (tip)
 	{
-                wxString res = tip->GetTip();
-		return copyStrToBuf(_buf, res);
+		wxString *result = new wxString();
+		*result = tip->GetTip();
+		return result;
 	}
-	return 0;
+	return NULL;
 }
 	
-EWXWEXPORT(void, wxWindow_SetDropTarget)(void* _obj, void* dropTarget )
+EWXWEXPORT(void,wxWindow_SetDropTarget)(wxWindow* self,void* dropTarget)
 {
-	((wxWindow*)_obj)->SetDropTarget((wxDropTarget*) dropTarget);
+	self->SetDropTarget((wxDropTarget*)dropTarget);
 }
 	
-EWXWEXPORT(void*, wxWindow_GetDropTarget)(void* _obj)
+EWXWEXPORT(void*,wxWindow_GetDropTarget)(wxWindow* self)
 {
-	return (void*)((wxWindow*)_obj)->GetDropTarget();
+	return (void*)self->GetDropTarget();
 }
 	
-EWXWEXPORT(void, wxWindow_SetConstraints)(void* _obj, void* constraints )
+EWXWEXPORT(void,wxWindow_SetConstraints)(wxWindow* self,void* constraints)
 {
-	((wxWindow*)_obj)->SetConstraints((wxLayoutConstraints*) constraints);
+	self->SetConstraints((wxLayoutConstraints*)constraints);
 }
 	
-EWXWEXPORT(void*, wxWindow_GetConstraints)(void* _obj)
+EWXWEXPORT(void*,wxWindow_GetConstraints)(wxWindow* self)
 {
-	return (void*)((wxWindow*)_obj)->GetConstraints();
+	return (void*)self->GetConstraints();
 }
 	
-EWXWEXPORT(void, wxWindow_SetAutoLayout)(void* _obj, int autoLayout )
+EWXWEXPORT(void,wxWindow_SetAutoLayout)(wxWindow* self,bool autoLayout)
 {
-	((wxWindow*)_obj)->SetAutoLayout( autoLayout != 0 );
+	self->SetAutoLayout( autoLayout );
 }
 	
-EWXWEXPORT(int, wxWindow_GetAutoLayout)(void* _obj)
+EWXWEXPORT(int,wxWindow_GetAutoLayout)(wxWindow* self)
 {
-	return (int)((wxWindow*)_obj)->GetAutoLayout();
+	return (int)self->GetAutoLayout();
 }
 	
-EWXWEXPORT(int, wxWindow_Layout)(void* _obj)
+EWXWEXPORT(void,wxWindow_Layout)(wxWindow* self)
 {
-	return (int)((wxWindow*)_obj)->Layout();
+	self->Layout();
 }
 	
-EWXWEXPORT(void, wxWindow_UnsetConstraints)(void* _obj, void* c)
+EWXWEXPORT(void,wxWindow_UnsetConstraints)(wxWindow* self,void* c)
 {
-	((wxWindow*)_obj)->UnsetConstraints((wxLayoutConstraints*) c);
+	self->UnsetConstraints((wxLayoutConstraints*)c);
 }
 	
-EWXWEXPORT(void*, wxWindow_GetConstraintsInvolvedIn)(void* _obj)
+EWXWEXPORT(void*,wxWindow_GetConstraintsInvolvedIn)(wxWindow* self)
 {
-	return (void*)((wxWindow*)_obj)->GetConstraintsInvolvedIn();
+	return (void*)self->GetConstraintsInvolvedIn();
 }
 	
-EWXWEXPORT(void, wxWindow_AddConstraintReference)(void* _obj, void* otherWin)
+EWXWEXPORT(void,wxWindow_AddConstraintReference)(wxWindow* self,wxWindowBase* otherWin)
 {
-	((wxWindow*)_obj)->AddConstraintReference((wxWindowBase*) otherWin);
+	self->AddConstraintReference( otherWin);
 }
 	
-EWXWEXPORT(void, wxWindow_RemoveConstraintReference)(void* _obj, void* otherWin)
+EWXWEXPORT(void,wxWindow_RemoveConstraintReference)(wxWindow* self,wxWindowBase* otherWin)
 {
-	((wxWindow*)_obj)->RemoveConstraintReference((wxWindowBase*) otherWin);
+	self->RemoveConstraintReference( otherWin);
 }
 	
-EWXWEXPORT(void, wxWindow_DeleteRelatedConstraints)(void* _obj)
+EWXWEXPORT(void,wxWindow_DeleteRelatedConstraints)(wxWindow* self)
 {
-	((wxWindow*)_obj)->DeleteRelatedConstraints();
+	self->DeleteRelatedConstraints();
 }
 	
-EWXWEXPORT(void, wxWindow_ResetConstraints)(void* _obj)
+EWXWEXPORT(void,wxWindow_ResetConstraints)(wxWindow* self)
 {
-	((wxWindow*)_obj)->ResetConstraints();
+	self->ResetConstraints();
 }
 	
-EWXWEXPORT(void, wxWindow_SetConstraintSizes)(void* _obj, int recurse)
+EWXWEXPORT(void,wxWindow_SetConstraintSizes)(wxWindow* self,bool recurse)
 {
-	((wxWindow*)_obj)->SetConstraintSizes(recurse != 0);
+	self->SetConstraintSizes(recurse);
 }
 	
-EWXWEXPORT(int, wxWindow_LayoutPhase1)(void* _obj, int *noChanges)
+EWXWEXPORT(int,wxWindow_LayoutPhase1)(wxWindow* self,int* noChanges)
 {
-	return (int)((wxWindow*)_obj)->LayoutPhase1(noChanges);
+	return (int)self->LayoutPhase1(noChanges);
 }
 	
-EWXWEXPORT(int, wxWindow_LayoutPhase2)(void* _obj, int *noChanges)
+EWXWEXPORT(int,wxWindow_LayoutPhase2)(wxWindow* self,int* noChanges)
 {
-	return (int)((wxWindow*)_obj)->LayoutPhase2(noChanges);
+	return (int)self->LayoutPhase2(noChanges);
 }
 	
-EWXWEXPORT(int, wxWindow_DoPhase)(void* _obj, int phase)
+EWXWEXPORT(int,wxWindow_DoPhase)(wxWindow* self,int phase)
 {
-	return (int)((wxWindow*)_obj)->DoPhase(phase);
+	return (int)self->DoPhase(phase);
 }
 	
-EWXWEXPORT(void, wxWindow_SetSizeConstraint)(void* _obj, int x, int y, int w, int h)
+EWXWEXPORT(void,wxWindow_SetSizeConstraint)(wxWindow* self,int x,int y,int w,int h)
 {
-	((wxWindow*)_obj)->SetSizeConstraint(x, y, w, h);
+	self->SetSizeConstraint(x, y, w, h);
 }
 	
-EWXWEXPORT(void, wxWindow_MoveConstraint)(void* _obj, int x, int y)
+EWXWEXPORT(void,wxWindow_MoveConstraint)(wxWindow* self,int x,int y)
 {
-	((wxWindow*)_obj)->MoveConstraint(x, y);
+	self->MoveConstraint(x, y);
 }
 	
-EWXWEXPORT(void, wxWindow_GetSizeConstraint)(void* _obj, int *w, int *h)
+EWXWEXPORT(void,wxWindow_GetSizeConstraint)(wxWindow* self,int* w,int* h)
 {
-	((wxWindow*)_obj)->GetSizeConstraint(w, h);
+	self->GetSizeConstraint(w, h);
 }
 	
-EWXWEXPORT(void, wxWindow_GetClientSizeConstraint)(void* _obj, int *w, int *h)
+EWXWEXPORT(void,wxWindow_GetClientSizeConstraint)(wxWindow* self,int* w,int* h)
 {
-	((wxWindow*)_obj)->GetClientSizeConstraint(w, h);
+	self->GetClientSizeConstraint(w, h);
 }
 	
-EWXWEXPORT(void, wxWindow_GetPositionConstraint)(void* _obj, int *x, int *y)
+EWXWEXPORT(void,wxWindow_GetPositionConstraint)(wxWindow* self,int* x,int* y)
 {
-	((wxWindow*)_obj)->GetPositionConstraint(x, y);
+	self->GetPositionConstraint(x, y);
 }
 	
-EWXWEXPORT(void, wxWindow_SetSizer)(void* _obj, void* sizer )
+EWXWEXPORT(void,wxWindow_SetSizer)(wxWindow* self,wxSizer* sizer)
 {
-	((wxWindow*)_obj)->SetSizer( (wxSizer*) sizer );
+	self->SetSizer(sizer);
 }
 	
-EWXWEXPORT(void*, wxWindow_GetSizer)(void* _obj)
+EWXWEXPORT(void*,wxWindow_GetSizer)(wxWindow* self)
 {
-	return (void*)((wxWindow*)_obj)->GetSizer();
+	return (void*)self->GetSizer();
 }
 	
-EWXWEXPORT(void*, wxWindow_GetHandle)(void* _obj)
+EWXWEXPORT(void*,wxWindow_GetHandle)(wxWindow* self)
 {
-	return (void*)((wxWindow*)_obj)->GetHandle();
+	return (void*)self->GetHandle();
 }
 	
-EWXWEXPORT(void, wxWindow_SetScrollbar)(void* _obj, int orient, int pos, int thumbVisible, int range, int refresh)
+EWXWEXPORT(void,wxWindow_SetScrollbar)(wxWindow* self,int orient,int pos,int thumbVisible,int range,bool refresh)
 {
-    ((wxWindow*)_obj)->SetScrollbar(orient, pos, thumbVisible, range, refresh != 0);
+    self->SetScrollbar(orient, pos, thumbVisible, range, refresh);
 }
 
-EWXWEXPORT(int, wxWindow_Reparent)(void* _obj, void* _par)
+EWXWEXPORT(bool,wxWindow_Reparent)(wxWindow* self,wxWindow* _par)
 {
-	return (int)((wxWindow*)_obj)->Reparent((wxWindow*)_par);
+	return self->Reparent(_par);
 }
 
 #if (wxVERSION_NUMBER < 2800)
@@ -669,14 +670,14 @@
 }
 #endif
 
-EWXWEXPORT(void, wxWindow_Freeze)(void* _obj)
+EWXWEXPORT(void,wxWindow_Freeze)(wxWindow* _obj)
 {
-	((wxWindow*)_obj)->Freeze();
+	_obj->Freeze();
 }
 
-EWXWEXPORT(void, wxWindow_Thaw)(void* _obj)
+EWXWEXPORT(void,wxWindow_Thaw)(wxWindow* _obj)
 {
-	((wxWindow*)_obj)->Thaw();
+	_obj->Thaw();
 }
 
 #if (wxVERSION_NUMBER >= 2800)
@@ -687,9 +688,9 @@
   if (sy) *sy = pt.y;
 }
 
-EWXWEXPORT(void, wxWindow_FitInside)(void* _obj)
+EWXWEXPORT(void,wxWindow_FitInside)(wxWindow* _obj)
 {
-    ((wxWindow*)_obj)->FitInside();
+    _obj->FitInside();
 }
 
 EWXWEXPORT(void, wxWindow_SetVirtualSize)(void* _obj, int w, int h )
diff --git a/wxc/src/eljwizard.cpp b/wxc/src/eljwizard.cpp
--- a/wxc/src/eljwizard.cpp
+++ b/wxc/src/eljwizard.cpp
@@ -3,35 +3,35 @@
 extern "C"
 {
 
-EWXWEXPORT(void*, wxWizard_Create) (void* _prt, int _id, void* _txt, void* _bmp, int _lft, int _top, int _wdt, int _hgt)
+EWXWEXPORT(void*,wxWizard_Create)(wxWindow* _prt,int _id,wxString* _txt,wxBitmap* _bmp,int _lft,int _top,int _wdt,int _hgt)
 {
 	wxBitmap bmp = wxNullBitmap;
-	if (_bmp) bmp = *((wxBitmap*)_bmp);
+	if (_bmp) bmp = *_bmp;
 #if wxVERSION_NUMBER >= 2400
-	return (void*) new wxWizard ((wxWindow*)_prt, _id, (wxChar*)_txt, bmp, wxPoint(_lft, _top));
+	return (void*) new wxWizard (_prt, _id, *_txt, bmp, wxPoint(_lft, _top));
 #else
-	return (void*) wxWizard::Create ((wxWindow*)_prt, _id, (wxChar*)_txt, bmp, wxPoint(_lft, _top), wxSize(_wdt, _hgt));
+	return (void*) wxWizard::Create (_prt, _id, *_txt, bmp, wxPoint(_lft, _top), wxSize(_wdt, _hgt));
 #endif
 }
 
-EWXWEXPORT(int, wxWizard_RunWizard)(void* _obj, void* firstPage)
+EWXWEXPORT(bool,wxWizard_RunWizard)(wxWizard* self,wxWizardPage* firstPage)
 {
-	return (int)((wxWizard*)_obj)->RunWizard((wxWizardPage*)firstPage);
+	return self->RunWizard(firstPage);
 }
 	
-EWXWEXPORT(void*, wxWizard_GetCurrentPage)(void* _obj)
+EWXWEXPORT(void*,wxWizard_GetCurrentPage)(wxWizard* self)
 {
-	return (void*)((wxWizard*)_obj)->GetCurrentPage();
+	return (void*)self->GetCurrentPage();
 }
 	
-EWXWEXPORT(void, wxWizard_Chain)(void* f, void* s)
+EWXWEXPORT(void,wxWizard_Chain)(void* f,void* s)
 {
 	wxWizardPageSimple::Chain((wxWizardPageSimple*)f, (wxWizardPageSimple*)s);
 }
 	
-EWXWEXPORT(void, wxWizard_SetPageSize)(void* _obj, int w, int h)
+EWXWEXPORT(void,wxWizard_SetPageSize)(wxWizard* self,int w,int h)
 {
-	((wxWizard*)_obj)->SetPageSize(wxSize(w, h));
+	self->SetPageSize(wxSize(w, h));
 }
 	
 EWXWEXPORT(void, wxWizard_GetPageSize)(void* _obj, void* w, void* h)
@@ -41,39 +41,39 @@
 	*((int*)h) = tmp.y;
 }
 	
-EWXWEXPORT(void*, wxWizardPageSimple_Create) (void* _prt)
+EWXWEXPORT(void*,wxWizardPageSimple_Create)(void* _prt)
 {
 	return (void*)new wxWizardPageSimple ((wxWizard*)_prt);
 }
 
-EWXWEXPORT(void*, wxWizardPageSimple_GetPrev)(void* _obj)
+EWXWEXPORT(void*,wxWizardPageSimple_GetPrev)(void* self)
 {
-	return (void*)((wxWizardPageSimple*)_obj)->GetPrev();
+	return (void*)((wxWizardPageSimple*)self)->GetPrev();
 }
 	
-EWXWEXPORT(void*, wxWizardPageSimple_GetNext)(void* _obj)
+EWXWEXPORT(void*,wxWizardPageSimple_GetNext)(void* self)
 {
-	return (void*)((wxWizardPageSimple*)_obj)->GetNext();
+	return (void*)((wxWizardPageSimple*)self)->GetNext();
 }
 	
-EWXWEXPORT(void, wxWizardPageSimple_GetBitmap)(void* _obj, void* _ref)
+EWXWEXPORT(void,wxWizardPageSimple_GetBitmap)(void* self,wxBitmap* _ref)
 {
-	*((wxBitmap*)_ref) = ((wxWizardPageSimple*)_obj)->GetBitmap();
+	*_ref = ((wxWizardPageSimple*)self)->GetBitmap();
 }
 	
-EWXWEXPORT(void, wxWizardPageSimple_SetPrev)(void* _obj, void* prev)
+EWXWEXPORT(void,wxWizardPageSimple_SetPrev)(void* self,void* prev)
 {
-	((wxWizardPageSimple*)_obj)->SetPrev((wxWizardPage*)prev);
+	((wxWizardPageSimple*)self)->SetPrev((wxWizardPage*)prev);
 }
 	
-EWXWEXPORT(void, wxWizardPageSimple_SetNext)(void* _obj, void* next)
+EWXWEXPORT(void,wxWizardPageSimple_SetNext)(void* self,void* next)
 {
-	((wxWizardPageSimple*)_obj)->SetNext((wxWizardPage*)next);
+	((wxWizardPageSimple*)self)->SetNext((wxWizardPage*)next);
 }
 
-EWXWEXPORT(int, wxWizardEvent_GetDirection)(void* _obj)
+EWXWEXPORT(bool,wxWizardEvent_GetDirection)(wxWizardEvent* self)
 {
-	return (int)((wxWizardEvent*)_obj)->GetDirection();
+	return self->GetDirection();
 }
 	
 }
diff --git a/wxc/src/extra.cpp b/wxc/src/extra.cpp
--- a/wxc/src/extra.cpp
+++ b/wxc/src/extra.cpp
@@ -1243,13 +1243,18 @@
 /*-----------------------------------------------------------------------------
   pre-processor
 -----------------------------------------------------------------------------*/
-EWXWEXPORT(int, wxVersionNumber)()
+EWXWEXPORT(int,wxVersionNumber)()
 {
   return wxVERSION_NUMBER;
 }
 
-EWXWEXPORT(int, wxIsDefined)( wxChar* s )
+EWXWEXPORT(wxString*,wxVersionString)()
 {
+  return new wxString(wxVERSION_STRING);
+}
+
+EWXWEXPORT(int,wxIsDefined)(wxChar* s)
+{
   int i;
   if (s==NULL) return 0;
   /* check define */
@@ -1273,24 +1278,24 @@
   return 0;
 }
 
-EWXWEXPORT(void*, wxcMalloc)(int size )
+EWXWEXPORT(void*,wxcMalloc)(int size)
 {
   return malloc(size);
 }
 
-EWXWEXPORT(void, wxcFree)( void* p )
+EWXWEXPORT(void,wxcFree)(void* p)
 {
   if (p!=NULL) free(p);
 }
 
-EWXWEXPORT(wxColour*, wxcSystemSettingsGetColour)( int systemColour )
+EWXWEXPORT(wxColour*,wxcSystemSettingsGetColour)(int systemColour)
 {
    wxColour* colour = new wxColour();
    *colour = wxSystemSettings::GetColour( (wxSystemColour)systemColour );
    return colour;
 }
 
-EWXWEXPORT( void, wxcWakeUpIdle)(void)
+EWXWEXPORT(void,wxcWakeUpIdle)(void)
 {
   wxWakeUpIdle();
 }
@@ -1298,106 +1303,106 @@
 /*-----------------------------------------------------------------------------
   delete
 -----------------------------------------------------------------------------*/
-EWXWEXPORT(void, wxCursor_Delete) (void* _obj)
+EWXWEXPORT(void,wxCursor_Delete)(wxCursor* self)
 {
-  delete ((wxCursor*)_obj);
+  delete self;
 }
 
-EWXWEXPORT(void, wxDateTime_Delete) (void* _obj)
+EWXWEXPORT(void,wxDateTime_Delete)(wxDateTime* self)
 {
-  delete ((wxDateTime*)_obj);
+  delete self;
 }
 
-
 /*-----------------------------------------------------------------------------
   frame
 -----------------------------------------------------------------------------*/
-EWXWEXPORT(int, wxFrame_GetTitle) (void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxFrame_GetTitle)(wxFrame* self)
 {
-  wxString result = ((wxFrame*)_obj)->GetTitle();
-  return copyStrToBuf(_buf, result);
+  wxString *result = new wxString();
+  *result = self->GetTitle();
+  return result;
 }
 
-EWXWEXPORT(void, wxFrame_SetTitle) (void* _obj, wxChar* _txt)
+EWXWEXPORT(void,wxFrame_SetTitle)(wxFrame* self,wxString* _txt)
 {
-  ((wxFrame*)_obj)->SetTitle(_txt);
+  self->SetTitle(*_txt);
 }
 
-EWXWEXPORT(bool, wxFrame_SetShape)( wxFrame* self, wxRegion* region)
+EWXWEXPORT(bool,wxFrame_SetShape)(wxFrame* self,wxRegion* region)
 {
   return self->SetShape( *region );
 }
 
-EWXWEXPORT(bool, wxFrame_ShowFullScreen)( wxFrame* self, bool show, int style)
+EWXWEXPORT(bool,wxFrame_ShowFullScreen)(wxFrame* self,bool show,int style)
 {
   return self->ShowFullScreen( show, style );
 }
 
-EWXWEXPORT(bool, wxFrame_IsFullScreen)( wxFrame* self )
+EWXWEXPORT(bool,wxFrame_IsFullScreen)(wxFrame* self)
 {
   return self->IsFullScreen();
 }
 
-EWXWEXPORT(void, wxFrame_Centre)( wxFrame* self, int orientation )
+EWXWEXPORT(void,wxFrame_Centre)(wxFrame* self,int orientation)
 {
   self->Centre();
 }
 
 
-EWXWEXPORT(void, wxNotebook_AssignImageList)( wxNotebook* _obj, wxImageList* imageList )
+EWXWEXPORT(void,wxNotebook_AssignImageList)(wxNotebook* self,wxImageList* imageList)
 {
-  _obj->AssignImageList(imageList);
+  self->AssignImageList(imageList);
 }
 
 /*-----------------------------------------------------------------------------
   menu & toolbar
 -----------------------------------------------------------------------------*/
-EWXWEXPORT(wxMenuBar*,wxMenu_GetMenuBar)(wxMenu* _obj)
+EWXWEXPORT(wxMenuBar*,wxMenu_GetMenuBar)(wxMenu* self)
 {
-  return _obj->GetMenuBar();
+  return self->GetMenuBar();
 }
 
 
-EWXWEXPORT(wxFrame*,wxMenuBar_GetFrame)(wxMenuBar* _obj)
+EWXWEXPORT(wxFrame*,wxMenuBar_GetFrame)(wxMenuBar* self)
 {
-  return _obj->GetFrame();
+  return self->GetFrame();
 }
 
-EWXWEXPORT(void,wxToolBar_AddTool2)( wxToolBar* _obj, int toolId, wxChar* label, wxBitmap* bmp, wxBitmap* bmpDisabled, int itemKind, wxChar* shortHelp, wxChar* longHelp )
+EWXWEXPORT(void,wxToolBar_AddTool2)(wxToolBar* self,int toolId,wxString* label,wxBitmap* bmp,wxBitmap* bmpDisabled,int itemKind,wxString* shortHelp,wxString* longHelp)
 {
-  _obj->AddTool(toolId,label,*bmp,*bmpDisabled,(wxItemKind)itemKind,shortHelp,longHelp,NULL);
+  self->AddTool(toolId,*label,*bmp,*bmpDisabled,(wxItemKind)itemKind,*shortHelp,*longHelp,NULL);
 }
 
 /*-----------------------------------------------------------------------------
   listctrl
 -----------------------------------------------------------------------------*/
-EWXWEXPORT(int, wxListEvent_GetCacheFrom)(wxListEvent* _obj)
+EWXWEXPORT(int,wxListEvent_GetCacheFrom)(wxListEvent* self)
 {
-  return _obj->GetCacheFrom();
+  return self->GetCacheFrom();
 }
 
-EWXWEXPORT(int, wxListEvent_GetCacheTo)(wxListEvent* _obj)
+EWXWEXPORT(int,wxListEvent_GetCacheTo)(wxListEvent* self)
 {
-  return _obj->GetCacheTo();
+  return self->GetCacheTo();
 }
 
 
-EWXWEXPORT(void, wxListCtrl_AssignImageList)(wxListCtrl* _obj, wxImageList* images, int which )
+EWXWEXPORT(void,wxListCtrl_AssignImageList)(wxListCtrl* self,wxImageList* images,int which)
 {
-  _obj->AssignImageList(images,which);
+  self->AssignImageList(images,which);
 }
 
 
 
-EWXWEXPORT(void, wxListCtrl_GetColumn2)(wxListCtrl* _obj, int col, wxListItem* item)
+EWXWEXPORT(void,wxListCtrl_GetColumn2)(wxListCtrl* self,int col,wxListItem* item)
 {
-  bool success = _obj->GetColumn(col, *item);
+  bool success = self->GetColumn(col,*item);
   if (!success) item->SetId(-1);
 }
 
-EWXWEXPORT(void, wxListCtrl_GetItem2)(wxListCtrl* _obj, wxListItem* info)
+EWXWEXPORT(void,wxListCtrl_GetItem2)(wxListCtrl* self,wxListItem* info)
 {
-  bool success = _obj->GetItem(*info);
+  bool success = self->GetItem(*info);
   if (!success) info->SetId(-1);
 }
 
@@ -1433,10 +1438,10 @@
   return event.GetInt();
 }
 
-EWXWEXPORT(int, wxListCtrl_SortItems2)(wxListCtrl* _obj, wxClosure* closure )
+EWXWEXPORT(bool,wxListCtrl_SortItems2)(wxListCtrl* self,wxClosure* closure)
 {
-  SortData sortData = { _obj->GetId(), closure };
-  return (int)_obj->SortItems( sortCallBack, (long)&sortData );
+  SortData sortData = { self->GetId(), closure };
+  return self->SortItems( sortCallBack, (long)&sortData );
 }
 
 
@@ -1444,9 +1449,9 @@
 /*-----------------------------------------------------------------------------
   DC
 -----------------------------------------------------------------------------*/
-EWXWEXPORT(void, wxDC_GetPixel2)(wxDC* _obj, int x, int y, wxColour* col)
+EWXWEXPORT(void,wxDC_GetPixel2)(wxDC* self,int x,int y,wxColour* col)
 {
-  bool success = _obj->GetPixel((wxCoord)x, (wxCoord)y, col);
+  bool success = self->GetPixel((wxCoord)x, (wxCoord)y, col);
   if (!success) *col = wxNullColour;
 }
 
@@ -1454,85 +1459,117 @@
 /*-----------------------------------------------------------------------------
   Object & static ClassInfo
 -----------------------------------------------------------------------------*/
-EWXWEXPORT(int,wxObject_IsKindOf)(void* _obj, void* classInfo )
+EWXWEXPORT(bool,wxObject_IsKindOf)(wxObject* self,wxClassInfo* classInfo)
 {
-  return (int)(((wxObject*)_obj)->IsKindOf((wxClassInfo*)classInfo) );
+  return self->IsKindOf(classInfo);
 }
 
-EWXWEXPORT(void*,wxObject_GetClassInfo)(void* _obj )
+EWXWEXPORT(wxClassInfo*,wxObject_GetClassInfo)(wxObject* self)
 {
-  return ((wxObject*)_obj)->GetClassInfo();
+  return self->GetClassInfo();
 }
 
 /* optimize */
-EWXWEXPORT(int,wxObject_IsScrolledWindow)(void* _obj)
+EWXWEXPORT(bool,wxObject_IsScrolledWindow)(wxObject* self)
 {
-  return (int)(((wxObject*)_obj)->IsKindOf(CLASSINFO(wxScrolledWindow)));
+  return self->IsKindOf(CLASSINFO(wxScrolledWindow));
 }
 
-EWXWEXPORT(void,wxObject_Delete)(wxObject* _obj)
+EWXWEXPORT(void,wxObject_Delete)(wxObject* self)
 {
-  delete _obj;
+  delete self;
 }
 
 /*-----------------------------------------------------------------------------
   String
 -----------------------------------------------------------------------------*/
-EWXWEXPORT(wxString*, wxString_Create)( wxChar* buffer )
+typedef char utf8char;
+
+EWXWEXPORT(wxString*,wxString_Create)(wxChar* buffer)
 {
   return new wxString(buffer);
 }
 
-EWXWEXPORT(wxString*, wxString_CreateLen)( wxChar* buffer, int len )
+EWXWEXPORT(wxString*,wxString_CreateUTF8)(utf8char* buffer)
 {
+  return new wxString (buffer,wxConvUTF8);
+}
+
+EWXWEXPORT(wxString*,wxString_CreateLen)(wxChar* buffer,int len)
+{
   return new wxString(buffer,len);
 }
 
-EWXWEXPORT(void,wxString_Delete)( wxString* s )
+EWXWEXPORT(void,wxString_Delete)(wxString* s)
 {
   delete s;
 }
 
-EWXWEXPORT(int,wxString_GetString)( wxString* s, wxChar* buffer )
+EWXWEXPORT(int,wxString_GetString)(wxString* s,wxChar* buffer)
 {
   if (buffer) memcpy (buffer, s->c_str(), s->Length() * sizeof(wxChar));
   return s->Length();
-}  
+}
 
+EWXWEXPORT(size_t,wxString_Length)(wxString* s)
+{
+  return s->length();
+}
+
+EWXWEXPORT(wxCharBuffer*,wxString_GetUtf8)(wxString* s)
+{
+  wxCharBuffer *cb = new wxCharBuffer;
+  *cb = s->utf8_str();
+  return cb;
+}
+
+EWXWEXPORT(utf8char*,wxCharBuffer_DataUtf8)(wxCharBuffer* cb)
+{
+  return (utf8char*)cb->data();
+}
+
+EWXWEXPORT(void,wxCharBuffer_Delete)(wxCharBuffer* cb)
+{
+  delete cb;
+}
+
 /*-----------------------------------------------------------------------------
   classinfo
 -----------------------------------------------------------------------------*/
-EWXWEXPORT(void*,wxClassInfo_FindClass)(wxChar* _txt)
+EWXWEXPORT(wxClassInfo*,wxClassInfo_FindClass)(wxString* name)
 {
-  return wxClassInfo::FindClass(_txt);
+  return wxClassInfo::FindClass(*name);
 }
 
-EWXWEXPORT(int,wxClassInfo_GetClassNameEx)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxClassInfo_GetClassNameEx)(wxClassInfo* self)
 {
-  wxString result = ((wxClassInfo*)_obj)->GetClassName();
-  return copyStrToBuf(_buf, result);
+  wxString *result = new wxString();
+  *result = self->GetClassName();
+  return result;
 }
 
-EWXWEXPORT(int,wxClassInfo_GetBaseClassName1)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxClassInfo_GetBaseClassName1)(wxClassInfo* self)
 {
-  wxString result = ((wxClassInfo*)_obj)->GetBaseClassName1();
-  return copyStrToBuf(_buf, result);
+  wxString *result = new wxString();
+  *result = self->GetBaseClassName1();
+  return result;
 }
 
-EWXWEXPORT(int,wxClassInfo_GetBaseClassName2)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxClassInfo_GetBaseClassName2)(wxClassInfo* self)
 {
-  wxString result = ((wxClassInfo*)_obj)->GetBaseClassName2();
-  return copyStrToBuf(_buf, result);
+  wxString *result = new wxString();
+  *result = self->GetBaseClassName2();
+  return result;
 }
 
-EWXWEXPORT(int,wxClassInfo_IsKindOfEx)(void* _obj, void* classInfo)
+EWXWEXPORT(bool,wxClassInfo_IsKindOfEx)(wxClassInfo* self,wxClassInfo* classInfo)
 {
-  return (int)((wxClassInfo*)_obj)->IsKindOf((wxClassInfo*)classInfo);
+  return self->IsKindOf(classInfo);
 }
 
-EWXWEXPORT(int,wxClassInfo_GetSize)(void* _obj)
+EWXWEXPORT(int,wxClassInfo_GetSize)(wxClassInfo* self)
 {
-  return ((wxClassInfo*)_obj)->GetSize();
+  return (self)->GetSize();
 }
 
 /*-----------------------------------------------------------------------------
@@ -1553,9 +1590,9 @@
 }
 
 
-EWXWEXPORT(void, wxWindow_SetClientObject)(void* _obj, void * obj )
+EWXWEXPORT(void,wxWindow_SetClientObject)(wxWindow* self,wxClientData* obj)
 {
-    ((wxWindow*)_obj)->SetClientObject( (wxClientData*)obj );
+    (self)->SetClientObject(obj);
 }
 
 
@@ -1578,27 +1615,27 @@
 /*-----------------------------------------------------------------------------
   scrolledwindow
 -----------------------------------------------------------------------------*/
-EWXWEXPORT(void, wxScrolledWindow_SetScrollRate)( wxScrolledWindow* _obj, int xstep, int ystep )
+EWXWEXPORT(void,wxScrolledWindow_SetScrollRate)(wxScrolledWindow* self,int xstep,int ystep)
 {
-  _obj->SetScrollRate(xstep,ystep);
+  self->SetScrollRate(xstep,ystep);
 }
 
 /*-----------------------------------------------------------------------------
   mouse
 -----------------------------------------------------------------------------*/
-EWXWEXPORT(int, wxMouseEvent_GetWheelDelta) (void* _obj)
+EWXWEXPORT(int,wxMouseEvent_GetWheelDelta)(wxMouseEvent* self)
 {
-  return ((wxMouseEvent*)_obj)->GetWheelDelta();
+  return self->GetWheelDelta();
 }
 
-EWXWEXPORT(int, wxMouseEvent_GetWheelRotation) (void* _obj)
+EWXWEXPORT(int,wxMouseEvent_GetWheelRotation)(wxMouseEvent* self)
 {
-  return ((wxMouseEvent*)_obj)->GetWheelRotation();
+  return self->GetWheelRotation();
 }
 
-EWXWEXPORT(int, wxMouseEvent_GetButton) (void* _obj)
+EWXWEXPORT(int,wxMouseEvent_GetButton)(wxMouseEvent* self)
 {
-  return ((wxMouseEvent*)_obj)->GetButton();
+  return self->GetButton();
 }
 
 EWXWEXPORT(int,expEVT_MOUSEWHEEL)()
@@ -1610,7 +1647,7 @@
 /*-----------------------------------------------------------------------------
   DC
 -----------------------------------------------------------------------------*/
-EWXWEXPORT(double, wxDC_GetUserScaleX)( wxDC* dc )
+EWXWEXPORT(double,wxDC_GetUserScaleX)(wxDC* dc)
 {
   double x = 1.0;
   double y = 1.0;
@@ -1619,7 +1656,7 @@
 }
 
 
-EWXWEXPORT(double, wxDC_GetUserScaleY)( wxDC* dc )
+EWXWEXPORT(double,wxDC_GetUserScaleY)(wxDC* dc)
 {
   double x = 1.0;
   double y = 1.0;
@@ -1631,43 +1668,43 @@
 /*-----------------------------------------------------------------------------
   timers
 -----------------------------------------------------------------------------*/
-EWXWEXPORT(void*, wxTimerEx_Create)()
+EWXWEXPORT(wxTimerEx*,wxTimerEx_Create)()
 {
   return new wxTimerEx();
 }
 
-EWXWEXPORT(void, wxTimerEx_Connect)(void* _obj, void* _closure )
+EWXWEXPORT(void,wxTimerEx_Connect)(wxTimerEx* self,wxClosure* _closure)
 {
-  ((wxTimerEx*)_obj)->Connect((wxClosure*)_closure);
+  self->Connect(_closure);
 }
 
-EWXWEXPORT(void*, wxTimerEx_GetClosure)(void* _obj)
+EWXWEXPORT(wxClosure*,wxTimerEx_GetClosure)(wxTimerEx* self)
 {
-  return (void*)(((wxTimerEx*)_obj)->GetClosure());
+  return self->GetClosure();
 }
 
 
 /*-----------------------------------------------------------------------------
   menu items
 -----------------------------------------------------------------------------*/
-EWXWEXPORT(void*, wxMenuItem_CreateSeparator)()
+EWXWEXPORT(wxMenuItem*,wxMenuItem_CreateSeparator)()
 {
-  return (void*) new wxMenuItem( NULL, wxID_SEPARATOR, wxT(""), wxT(""), wxITEM_SEPARATOR, NULL );
+  return new wxMenuItem( NULL, wxID_SEPARATOR, wxT(""), wxT(""), wxITEM_SEPARATOR, NULL );
 }
 
 
-EWXWEXPORT(void*, wxMenuItem_CreateEx)(int id, wxChar* text, wxChar* helpstr, int itemkind, void* submenu)
+EWXWEXPORT(wxMenuItem*,wxMenuItem_CreateEx)(int id,wxString* text,wxString* helpstr,int itemkind,wxMenu* submenu)
 {
-  return (void*) new wxMenuItem( NULL, id, text, helpstr, (wxItemKind)itemkind, (wxMenu*)submenu );
+  return new wxMenuItem( NULL, id,*text,*helpstr, (wxItemKind)itemkind, submenu );
 }
 
 
-EWXWEXPORT(void, wxMenu_AppendRadioItem)(wxMenu* self, int id, wxChar* text, wxChar* help)
+EWXWEXPORT(void,wxMenu_AppendRadioItem)(wxMenu* self,int id,wxString* text,wxString* help)
 {
 #ifdef wxHAS_RADIO_MENU_ITEMS
-  self->AppendRadioItem(id, text, help);
+  self->AppendRadioItem(id,*text,*help);
 #else
-  self->AppendCheckItem(id, text, help);
+  self->AppendCheckItem(id,*text,*help);
 #endif
 }
 
@@ -1675,27 +1712,27 @@
 /*------------------------------------------------------------------------------
   process
 ------------------------------------------------------------------------------*/
-EWXWEXPORT(int, wxProcess_IsErrorAvailable)(void* _obj)
+EWXWEXPORT(bool,wxProcess_IsErrorAvailable)(wxProcess* self)
 {
-    return ((wxProcess*)_obj)->IsErrorAvailable();
+    return self->IsErrorAvailable();
 }
 
-EWXWEXPORT(int, wxProcess_IsInputAvailable)(void* _obj)
+EWXWEXPORT(bool,wxProcess_IsInputAvailable)(wxProcess* self)
 {
-    return ((wxProcess*)_obj)->IsInputAvailable();
+    return self->IsInputAvailable();
 }
 
-EWXWEXPORT(int, wxProcess_IsInputOpened)(void* _obj)
+EWXWEXPORT(bool,wxProcess_IsInputOpened)(wxProcess* self)
 {
-    return ((wxProcess*)_obj)->IsInputOpened();
+    return self->IsInputOpened();
 }
 
-EWXWEXPORT(wxProcess*, wxProcess_Open)( wxChar* cmd, int flags )
+EWXWEXPORT(wxProcess*,wxProcess_Open)(wxString* cmd,int flags)
 {
-    return wxProcess::Open( cmd, ((flags | wxEXEC_ASYNC) & ~wxEXEC_SYNC) );
+    return wxProcess::Open( *cmd, ((flags | wxEXEC_ASYNC) & ~wxEXEC_SYNC) );
 }
 
-EWXWEXPORT(wxKillError, wxKill)( int pid, wxSignal signal )
+EWXWEXPORT(wxKillError,wxKill)(int pid,wxSignal signal)
 {
   return wxProcess::Kill(pid,signal);
 }
@@ -1708,142 +1745,144 @@
 /*------------------------------------------------------------------------------
   TextCtrl
 ------------------------------------------------------------------------------*/
-EWXWEXPORT(int, wxTextCtrl_EmulateKeyPress)(void * _obj, void *keyevent)
+EWXWEXPORT(int,wxTextCtrl_EmulateKeyPress)(wxTextCtrl* self,wxKeyEvent* keyevent)
 {
-    return ((wxTextCtrl*)_obj)->EmulateKeyPress( * ((wxKeyEvent *) keyevent));
+    return self->EmulateKeyPress(*keyevent);
 }
 
 
-EWXWEXPORT( void *, wxTextCtrl_GetDefaultStyle)(void * _obj)
+EWXWEXPORT(void*,wxTextCtrl_GetDefaultStyle)(wxTextCtrl* self)
 {
-    return (void *) & ((wxTextCtrl*)_obj)->GetDefaultStyle();
+    return (void*)& self->GetDefaultStyle();
 }
 
-EWXWEXPORT( int, wxTextCtrl_GetRange)(void * _obj, long from, long to, void *_buf)
+EWXWEXPORT(wxString*,wxTextCtrl_GetRange)(wxTextCtrl* self,long from,long to)
 {
-    wxString result = ((wxTextCtrl*)_obj)->GetRange(from, to);
-    return copyStrToBuf(_buf, result);
+    wxString *result = new wxString();
+    *result = self->GetRange(from, to);
+    return result;
 }
 
-EWXWEXPORT( int, wxTextCtrl_GetStringSelection)(void * _obj, void *_buf)
+EWXWEXPORT(wxString*,wxTextCtrl_GetStringSelection)(wxTextCtrl* self)
 {
-    wxString result = ((wxTextCtrl*)_obj)->GetStringSelection();
-    return copyStrToBuf(_buf, result);
+    wxString *result = new wxString();
+    *result = self->GetStringSelection();
+    return result;
 }
 
-EWXWEXPORT( int, wxTextCtrl_IsMultiLine)(void * _obj)
+EWXWEXPORT(bool,wxTextCtrl_IsMultiLine)(wxTextCtrl* self)
 {
-    return (int) ((wxTextCtrl*)_obj)->IsMultiLine();
+    return  self->IsMultiLine();
 }
 
-EWXWEXPORT( int, wxTextCtrl_IsSingleLine)(void * _obj)
+EWXWEXPORT(bool,wxTextCtrl_IsSingleLine)(wxTextCtrl* self)
 {
-    return (int) ((wxTextCtrl*)_obj)->IsSingleLine(   );
+    return self->IsSingleLine(   );
 }
 
 
-EWXWEXPORT(int, wxTextCtrl_SetDefaultStyle)(void * _obj, void *style)
+EWXWEXPORT(bool,wxTextCtrl_SetDefaultStyle)(wxTextCtrl* self,wxTextAttr* style)
 {
-    return (int) ((wxTextCtrl*)_obj)->SetDefaultStyle( * (wxTextAttr *) style  );
+    return self->SetDefaultStyle(*style);
 }
 
-EWXWEXPORT(void, wxTextCtrl_SetMaxLength)(void * _obj, long len)
+EWXWEXPORT(void,wxTextCtrl_SetMaxLength)(wxTextCtrl* self,long len)
 {
-    ((wxTextCtrl*)_obj)->SetMaxLength( len  );
+    self->SetMaxLength( len  );
 }
 
-EWXWEXPORT(int, wxTextCtrl_SetStyle)(void * _obj, long start, long end, void * style)
+EWXWEXPORT(bool,wxTextCtrl_SetStyle)(wxTextCtrl* self,long start,long end,wxTextAttr* style)
 {
-    return (int) ((wxTextCtrl*)_obj)->SetStyle(start, end, * (wxTextAttr *) style);
+    return self->SetStyle(start, end,*style);
 }
 
 /*------------------------------------------------------------------------------
   TextAttr
 ------------------------------------------------------------------------------*/
-EWXWEXPORT( wxTextAttr*, wxTextAttr_CreateDefault)()
+EWXWEXPORT(wxTextAttr*,wxTextAttr_CreateDefault)()
 {
   return new wxTextAttr();
 }
 
-EWXWEXPORT( void *, wxTextAttr_Create)(void * colText, void * colBack, void *font)
+EWXWEXPORT(wxTextAttr*,wxTextAttr_Create)(wxColour* colText,wxColour* colBack,wxFont* font)
 {
-    return (void *) new wxTextAttr( * (wxColour *) colText, * (wxColour *) colBack, * (wxFont *) font );
+    return new wxTextAttr( *colText,*colBack,*font );
 }
 
-EWXWEXPORT( void, wxTextAttr_Delete)(void * _obj)
+EWXWEXPORT(void,wxTextAttr_Delete)(wxTextAttr* self)
 {
-    delete ((wxTextAttr*)_obj);
+    delete self;
 }
 
-EWXWEXPORT(void, wxTextAttr_GetBackgroundColour)(wxTextAttr* _obj, wxColour* colour )
+EWXWEXPORT(void,wxTextAttr_GetBackgroundColour)(wxTextAttr* self,wxColour* colour)
 {
-    *colour = _obj->GetBackgroundColour();
+    *colour = self->GetBackgroundColour();
 }
 
-EWXWEXPORT(void, wxTextAttr_GetFont)(wxTextAttr* _obj, wxFont* font )
+EWXWEXPORT(void,wxTextAttr_GetFont)(wxTextAttr* self,wxFont* font)
 {
-    *font = _obj->GetFont();
+    *font = self->GetFont();
 }
 
-EWXWEXPORT(void, wxTextAttr_GetTextColour)(wxTextAttr* _obj, wxColour* colour )
+EWXWEXPORT(void,wxTextAttr_GetTextColour)(wxTextAttr* self,wxColour* colour)
 {
-    *colour = _obj->GetTextColour();
+    *colour = self->GetTextColour();
 }
 
-EWXWEXPORT(int, wxTextAttr_HasBackgroundColour)(void * _obj)
+EWXWEXPORT(bool,wxTextAttr_HasBackgroundColour)(wxTextAttr* self)
 {
-    return (int) ((wxTextAttr*)_obj)->HasBackgroundColour();
+    return  self->HasBackgroundColour();
 }
 
-EWXWEXPORT(int, wxTextAttr_HasFont)(void * _obj)
+EWXWEXPORT(bool,wxTextAttr_HasFont)(wxTextAttr* self)
 {
-    return (int) ((wxTextAttr*)_obj)->HasFont();
+    return self->HasFont();
 }
 
-EWXWEXPORT(int, wxTextAttr_HasTextColour)(void * _obj)
+EWXWEXPORT(bool,wxTextAttr_HasTextColour)(wxTextAttr* self)
 {
-    return (int) ((wxTextAttr*)_obj)->HasTextColour(   );
+    return  self->HasTextColour();
 }
 
-EWXWEXPORT(int, wxTextAttr_IsDefault)(void * _obj)
+EWXWEXPORT(bool,wxTextAttr_IsDefault)(wxTextAttr* self)
 {
-    return (int) ((wxTextAttr*)_obj)->IsDefault(   );
+    return  self->IsDefault(   );
 }
 
-EWXWEXPORT( void, wxTextAttr_SetTextColour)(wxTextAttr* _obj, wxColour* colour )
+EWXWEXPORT(void,wxTextAttr_SetTextColour)(wxTextAttr* self,wxColour* colour)
 {
-   _obj->SetTextColour(*colour);
+   self->SetTextColour(*colour);
 }
 
-EWXWEXPORT( void, wxTextAttr_SetBackgroundColour)(wxTextAttr* _obj, wxColour* colour )
+EWXWEXPORT(void,wxTextAttr_SetBackgroundColour)(wxTextAttr* self,wxColour* colour)
 {
-   _obj->SetBackgroundColour(*colour);
+   self->SetBackgroundColour(*colour);
 }
 
-EWXWEXPORT( void, wxTextAttr_SetFont)(wxTextAttr* _obj, wxFont* font )
+EWXWEXPORT(void,wxTextAttr_SetFont)(wxTextAttr* self,wxFont* font)
 {
-   _obj->SetFont(*font);
+   self->SetFont(*font);
 }
 
 /*------------------------------------------------------------------------------
   progress dialog
 ------------------------------------------------------------------------------*/
-EWXWEXPORT(wxProgressDialog*, wxProgressDialog_Create)( wxChar* title, wxChar* message, int max, wxWindow* parent, int style )
+EWXWEXPORT(wxProgressDialog*,wxProgressDialog_Create)(wxString* title,wxString* message,int max,wxWindow* parent,int style)
 {
-  return new wxProgressDialog( title, message, max, parent, style );
+  return new wxProgressDialog( *title, *message, max, parent, style );
 }
 
-EWXWEXPORT(int, wxProgressDialog_Update)(wxProgressDialog* obj, int value )
+EWXWEXPORT(int,wxProgressDialog_Update)(wxProgressDialog* obj,int value)
 {
   return (obj->Update(value) ? 1 : 0);
 }
 
-EWXWEXPORT(int, wxProgressDialog_UpdateWithMessage)(wxProgressDialog* obj, int value, wxChar* message )
+EWXWEXPORT(int,wxProgressDialog_UpdateWithMessage)(wxProgressDialog* obj,int value,wxString* message)
 {
-  return (obj->Update(value,message) ? 1 : 0);
+  return (obj->Update(value,*message) ? 1 : 0);
 }
 
-EWXWEXPORT(void, wxProgressDialog_Resume)(wxProgressDialog* obj )
+EWXWEXPORT(void,wxProgressDialog_Resume)(wxProgressDialog* obj)
 {
   obj->Resume();
 }
@@ -1852,12 +1891,12 @@
 /*------------------------------------------------------------------------------
   standard dialogs
 ------------------------------------------------------------------------------*/
-EWXWEXPORT(void, wxGetColourFromUser)(wxWindow *parent, wxColour* colInit, wxColour* colour)
+EWXWEXPORT(void,wxGetColourFromUser)(wxWindow* parent,wxColour* colInit,wxColour* colour)
 {
   *colour = wxGetColourFromUser(parent, *colInit);
 }
 
-EWXWEXPORT(void, wxGetFontFromUser)(wxWindow *parent, wxFont* fontInit, wxFont* font )
+EWXWEXPORT(void,wxGetFontFromUser)(wxWindow* parent,wxFont* fontInit,wxFont* font)
 {
   *font = wxGetFontFromUser(parent, *fontInit);
 }
@@ -1918,27 +1957,27 @@
   }
 }
 
-EWXWEXPORT(long,wxGetNumberFromUser)( wxChar* message, wxChar* prompt, wxChar* caption, long value, long min, long max, wxWindow* parent, int x, int y )
+EWXWEXPORT(long,wxGetNumberFromUser)(wxString* message,wxString* prompt,wxString* caption,long value,long min,long max,wxWindow* parent,int x,int y)
 {
-  return wxGetNumberFromUser(wxString(message), wxString(prompt), wxString(caption), value, min, max, parent, wxPoint(x, y) );
+  return wxGetNumberFromUser(*message, *prompt, *caption, value, min, max, parent, wxPoint(x, y) );
 }
 
-EWXWEXPORT(void, wxcBell)(void)
+EWXWEXPORT(void,wxcBell)(void)
 {
   wxBell();
 }
 
-EWXWEXPORT(void, wxcBeginBusyCursor)(void)
+EWXWEXPORT(void,wxcBeginBusyCursor)(void)
 {
   wxBeginBusyCursor();
 }
 
-EWXWEXPORT(int, wxcIsBusy)(void)
+EWXWEXPORT(int,wxcIsBusy)(void)
 {
-  return (wxIsBusy() != 0);
+  return (wxIsBusy());
 }
 
-EWXWEXPORT(void, wxcEndBusyCursor)(void)
+EWXWEXPORT(void,wxcEndBusyCursor)(void)
 {
   wxEndBusyCursor();
 }
@@ -1946,33 +1985,33 @@
 /*-----------------------------------------------------------------------------
   wxInputSink
 -----------------------------------------------------------------------------*/
-EWXWEXPORT(wxInputSink*, wxInputSink_Create)( wxInputStream* input, wxEvtHandler* evtHandler, int bufferLen )
+EWXWEXPORT(wxInputSink*,wxInputSink_Create)(wxInputStream* input,wxEvtHandler* evtHandler,int bufferLen)
 {
   return new wxInputSink(input,evtHandler,bufferLen);
 }
 
-EWXWEXPORT(int, wxInputSink_GetId)( wxInputSink* obj )
+EWXWEXPORT(int,wxInputSink_GetId)(wxInputSink* obj)
 {
   return obj->GetId();
 }
 
-EWXWEXPORT(void, wxInputSink_Start)( wxInputSink* obj )
+EWXWEXPORT(void,wxInputSink_Start)(wxInputSink* obj)
 {
   obj->Start();
 }
 
 
-EWXWEXPORT(int, wxInputSinkEvent_LastError)( wxInputSinkEvent* obj )
+EWXWEXPORT(int,wxInputSinkEvent_LastError)(wxInputSinkEvent* obj)
 {
   return obj->LastError();
 }
 
-EWXWEXPORT(int, wxInputSinkEvent_LastRead)( wxInputSinkEvent* obj )
+EWXWEXPORT(int,wxInputSinkEvent_LastRead)(wxInputSinkEvent* obj)
 {
   return obj->LastRead();
 }
 
-EWXWEXPORT(char*, wxInputSinkEvent_LastInput)( wxInputSinkEvent* obj )
+EWXWEXPORT(char*,wxInputSinkEvent_LastInput)(wxInputSinkEvent* obj)
 {
   return obj->LastInput();
 }
@@ -1981,29 +2020,29 @@
 /*-----------------------------------------------------------------------------
   html window
 -----------------------------------------------------------------------------*/
-EWXWEXPORT(void*,wxcHtmlEvent_GetMouseEvent)( void* _obj )
+EWXWEXPORT(void*,wxcHtmlEvent_GetMouseEvent)(wxcHtmlEvent* self)
 {
-    return (void*)(((wxcHtmlEvent*)_obj)->GetMouseEvent());
+    return (void*)(self->GetMouseEvent());
 }
 
-EWXWEXPORT(void*,wxcHtmlEvent_GetHtmlCell)( void* _obj  )
+EWXWEXPORT(void*,wxcHtmlEvent_GetHtmlCell)(wxcHtmlEvent* self)
 {
-    return (void*)(((wxcHtmlEvent*)_obj)->GetHtmlCell());
+    return (void*)(self->GetHtmlCell());
 }
 
-EWXWEXPORT(wxString*,wxcHtmlEvent_GetHtmlCellId)( wxcHtmlEvent* _obj)
+EWXWEXPORT(wxString*,wxcHtmlEvent_GetHtmlCellId)(wxcHtmlEvent* self)
 {
-    return _obj->GetHtmlCellId();
+    return self->GetHtmlCellId();
 }
 
-EWXWEXPORT(wxString*,wxcHtmlEvent_GetHref)( wxcHtmlEvent* _obj)
+EWXWEXPORT(wxString*,wxcHtmlEvent_GetHref)(wxcHtmlEvent* self)
 {
-    return _obj->GetHref();
+    return self->GetHref();
 }
 
-EWXWEXPORT(wxString*,wxcHtmlEvent_GetTarget)( wxcHtmlEvent* _obj )
+EWXWEXPORT(wxString*,wxcHtmlEvent_GetTarget)(wxcHtmlEvent* self)
 {
-    return _obj->GetTarget();
+    return self->GetTarget();
 }
 
 EWXWEXPORT(void,wxcHtmlEvent_GetLogicalPosition)( wxcHtmlEvent* _obj, int* x, int* y )
@@ -2018,176 +2057,176 @@
 /*-----------------------------------------------------------------------------
   html window
 -----------------------------------------------------------------------------*/
-EWXWEXPORT( void*, wxHtmlWindow_Create)(void* _prt, int _id, int _lft, int _top, int _wdt, int _hgt, long _stl, wxChar* _txt)
+EWXWEXPORT(wxHtmlWindow*,wxHtmlWindow_Create)(wxWindow* _prt,int _id,int _lft,int _top,int _wdt,int _hgt,long _stl, wxString* _txt)
 {
-    return (void *) (wxHtmlWindow*) new wxHtmlWindow((wxWindow*)_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, _txt );
+    return new wxHtmlWindow(_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, *_txt );
 }
 
-EWXWEXPORT( void*, wxcHtmlWindow_Create)(void* _prt, int _id, int _lft, int _top, int _wdt, int _hgt, long _stl, wxChar* _txt)
+EWXWEXPORT(wxHtmlWindow*, wxcHtmlWindow_Create)(wxWindow* _prt,int _id,int _lft,int _top,int _wdt,int _hgt,long _stl, wxString* _txt)
 {
-    return (void *) (wxcHtmlWindow*) new wxcHtmlWindow((wxWindow*)_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, _txt );
+    return new wxcHtmlWindow(_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, *_txt );
 }
 
 
-EWXWEXPORT( int, wxHtmlWindow_AppendToPage)(void * _obj, wxChar * source)
+EWXWEXPORT(bool,wxHtmlWindow_AppendToPage)(wxHtmlWindow* self,wxString* source)
 {
-    return (int) ((wxHtmlWindow*)_obj)->AppendToPage( source  );
+    return self->AppendToPage(*source);
 }
 
-EWXWEXPORT( void *, wxHtmlWindow_GetInternalRepresentation)(void * _obj)
+EWXWEXPORT(void*,wxHtmlWindow_GetInternalRepresentation)(wxHtmlWindow* self)
 {
-    return (void *) ((wxHtmlWindow*)_obj)->GetInternalRepresentation(   );
+    return (void*)self->GetInternalRepresentation();
 }
 
-EWXWEXPORT( int, wxHtmlWindow_GetOpenedAnchor)(void * _obj, void *_buf)
+EWXWEXPORT(wxString*,wxHtmlWindow_GetOpenedAnchor)(wxHtmlWindow* self)
 {
-    wxString result = ((wxHtmlWindow*)_obj)->GetOpenedAnchor();
-    if (_buf) memcpy (_buf, result.c_str(), result.Length());
-    return result.Length();
+	wxString *result = new wxString();
+	*result = self->GetOpenedAnchor();
+	return result;
 }
 
-EWXWEXPORT( int, wxHtmlWindow_GetOpenedPage)(void * _obj, void *_buf)
+EWXWEXPORT(wxString*,wxHtmlWindow_GetOpenedPage)(wxHtmlWindow* self)
 {
-    wxString result = ((wxHtmlWindow*)_obj)->GetOpenedPage();
-    if (_buf) memcpy (_buf, result.c_str(), result.Length());
-    return result.Length();
+	wxString *result = new wxString();
+	*result = self->GetOpenedPage();
+	return result;
 }
 
-EWXWEXPORT( int, wxHtmlWindow_GetOpenedPageTitle)(void * _obj, void *_buf)
+EWXWEXPORT(wxString*,wxHtmlWindow_GetOpenedPageTitle)(wxHtmlWindow* self)
 {
-    wxString result = ((wxHtmlWindow*)_obj)->GetOpenedPageTitle();
-    if (_buf) memcpy (_buf, result.c_str(), result.Length());
-    return result.Length();
+	wxString *result = new wxString();
+	*result = self->GetOpenedPageTitle();
+	return result;
 }
 
 
-EWXWEXPORT( void *, wxHtmlWindow_GetRelatedFrame)(void * _obj)
+EWXWEXPORT(void*,wxHtmlWindow_GetRelatedFrame)(wxHtmlWindow* self)
 {
-    return (void *) ((wxHtmlWindow*)_obj)->GetRelatedFrame(   );
+    return (void*)self->GetRelatedFrame(   );
 }
 
-EWXWEXPORT( int, wxHtmlWindow_HistoryBack)(void * _obj)
+EWXWEXPORT(bool,wxHtmlWindow_HistoryBack)(wxHtmlWindow* self)
 {
-    return (int) ((wxHtmlWindow*)_obj)->HistoryBack(   );
+    return self->HistoryBack();
 }
 
-EWXWEXPORT( int, wxHtmlWindow_HistoryCanBack)(void * _obj)
+EWXWEXPORT(bool,wxHtmlWindow_HistoryCanBack)(wxHtmlWindow* self)
 {
-    return (int) ((wxHtmlWindow*)_obj)->HistoryCanBack(   );
+    return self->HistoryCanBack();
 }
 
-EWXWEXPORT( int, wxHtmlWindow_HistoryCanForward)(void * _obj)
+EWXWEXPORT(bool,wxHtmlWindow_HistoryCanForward)(wxHtmlWindow* self)
 {
-    return (int) ((wxHtmlWindow*)_obj)->HistoryCanForward(   );
+    return self->HistoryCanForward();
 }
 
-EWXWEXPORT( void, wxHtmlWindow_HistoryClear)(void * _obj)
+EWXWEXPORT(void,wxHtmlWindow_HistoryClear)(wxHtmlWindow* self)
 {
-    ((wxHtmlWindow*)_obj)->HistoryClear(   );
+    self->HistoryClear(   );
 }
 
-EWXWEXPORT( int, wxHtmlWindow_HistoryForward)(void * _obj)
+EWXWEXPORT(bool,wxHtmlWindow_HistoryForward)(wxHtmlWindow* self)
 {
-    return (int) ((wxHtmlWindow*)_obj)->HistoryForward(   );
+    return self->HistoryForward();
 }
 
-EWXWEXPORT( int, wxHtmlWindow_LoadPage)(void * _obj, wxChar *location)
+EWXWEXPORT(bool,wxHtmlWindow_LoadPage)(wxHtmlWindow* self,wxString* location)
 {
-    return (int) ((wxHtmlWindow*)_obj)->LoadPage(location );
+    return self->LoadPage(*location );
 }
 
 
-EWXWEXPORT( void, wxHtmlWindow_ReadCustomization)(void * _obj, void * cfg, wxChar * path)
+EWXWEXPORT(void,wxHtmlWindow_ReadCustomization)(wxHtmlWindow* self,wxConfigBase* cfg,wxString* path)
 {
-    ((wxHtmlWindow*)_obj)->ReadCustomization( ((wxConfigBase *) cfg), path );
+    self->ReadCustomization(  cfg,*path );
 }
 
-EWXWEXPORT(  void, wxHtmlWindow_SetBorders)(void * _obj, int b)
+EWXWEXPORT(void,wxHtmlWindow_SetBorders)(wxHtmlWindow* self,int b)
 {
-    ((wxHtmlWindow*)_obj)->SetBorders( b );
+    self->SetBorders( b );
 }
 
-EWXWEXPORT( void, wxHtmlWindow_SetFonts)(void * _obj, wxChar * normal_face, wxChar * fixed_face, int *sizes)
+EWXWEXPORT(void,wxHtmlWindow_SetFonts)(wxHtmlWindow* self,wxString* normal_face,wxString* fixed_face,int* sizes)
 {
-    ((wxHtmlWindow*)_obj)->SetFonts(normal_face, fixed_face, sizes );
+    self->SetFonts(*normal_face,*fixed_face, sizes );
 }
 
-EWXWEXPORT( int, wxHtmlWindow_SetPage)(void * _obj, wxChar * source)
+EWXWEXPORT(int,wxHtmlWindow_SetPage)(wxHtmlWindow* self,wxString* source)
 {
-    return ((wxHtmlWindow*)_obj)->SetPage( source );
+    return self->SetPage( *source );
 }
 
-EWXWEXPORT( void, wxHtmlWindow_SetRelatedFrame)(void * _obj, void * frame, wxChar * format)
+EWXWEXPORT(void,wxHtmlWindow_SetRelatedFrame)(wxHtmlWindow* self,wxFrame* frame,wxString* format)
 {
-    ((wxHtmlWindow*)_obj)->SetRelatedFrame(  ((wxFrame *) frame), format);
+    self->SetRelatedFrame(frame,*format);
 }
 
-EWXWEXPORT( void, wxHtmlWindow_SetRelatedStatusBar)(void * _obj, int bar)
+EWXWEXPORT(void,wxHtmlWindow_SetRelatedStatusBar)(wxHtmlWindow* self,int bar)
 {
-    ((wxHtmlWindow*)_obj)->SetRelatedStatusBar(bar);
+    self->SetRelatedStatusBar(bar);
 }
 
-EWXWEXPORT( void, wxHtmlWindow_WriteCustomization)(void * _obj, void *cfg, wxChar * path)
+EWXWEXPORT(void,wxHtmlWindow_WriteCustomization)(wxHtmlWindow* self,wxConfigBase* cfg,wxString* path)
 {
-    ((wxHtmlWindow*)_obj)->WriteCustomization( ((wxConfigBase *) cfg), path );
+    self->WriteCustomization(cfg,*path );
 }
 
 /*-----------------------------------------------------------------------------
   LOGGER
 -----------------------------------------------------------------------------*/
-EWXWEXPORT( wxLogStderr*, wxLogStderr_Create)()
+EWXWEXPORT(wxLogStderr*,wxLogStderr_Create)()
 {
   return new wxLogStderr();
 }
 
-EWXWEXPORT( wxLogStderr*, wxLogStderr_CreateStdOut)()
+EWXWEXPORT(wxLogStderr*,wxLogStderr_CreateStdOut)()
 {
   return new wxLogStderr(stdout);
 }
 
-EWXWEXPORT( wxLogNull*, wxLogNull_Create)()
+EWXWEXPORT(wxLogNull*,wxLogNull_Create)()
 {
   return new wxLogNull();
 }
 
-EWXWEXPORT( wxLogTextCtrl*, wxLogTextCtrl_Create)( wxTextCtrl* text )
+EWXWEXPORT(wxLogTextCtrl*,wxLogTextCtrl_Create)(wxTextCtrl* text)
 {
   return new wxLogTextCtrl(text);
 }
 
-EWXWEXPORT( wxLogWindow*, wxLogWindow_Create)( wxFrame* parent, wxChar* title, int showit, int passthrough )
+EWXWEXPORT(wxLogWindow*,wxLogWindow_Create)(wxFrame* parent,wxString* title,int showit,int passthrough)
 {
-  return new wxLogWindow(parent,title,showit,passthrough);
+  return new wxLogWindow(parent,*title,showit,passthrough);
 }
 
-EWXWEXPORT( wxFrame*, wxLogWindow_GetFrame)( wxLogWindow* obj )
+EWXWEXPORT(wxFrame*,wxLogWindow_GetFrame)(wxLogWindow* obj)
 {
   return obj->GetFrame();
 }
 
-EWXWEXPORT(void,wxLog_Delete)(void* _obj)
+EWXWEXPORT(void,wxLog_Delete)(wxLog* self)
 {
-        delete (wxLog*)_obj;
+        delete self;
 }
 
-EWXWEXPORT(void,wxLog_OnLog)(void* _obj, int level, void* szString, int t)
+EWXWEXPORT(void,wxLog_OnLog)(wxLog* self,int level,void* szString,int t)
 {
-        ((wxLog*)_obj)->OnLog((wxLogLevel)level, (const wxChar*)szString, (time_t)t);
+        self->OnLog((wxLogLevel)level, (const wxChar*)szString, (time_t)t);
 }
 
-EWXWEXPORT(void,wxLog_Flush)(void* _obj)
+EWXWEXPORT(void,wxLog_Flush)(wxLog* self)
 {
-        ((wxLog*)_obj)->Flush();
+        self->Flush();
 }
 
-EWXWEXPORT(int,wxLog_HasPendingMessages)(void* _obj)
+EWXWEXPORT(bool,wxLog_HasPendingMessages)(wxLog* self)
 {
-        return (int)((wxLog*)_obj)->HasPendingMessages();
+        return self->HasPendingMessages();
 }
 
-EWXWEXPORT(void,wxLog_FlushActive)(void* _obj)
+EWXWEXPORT(void,wxLog_FlushActive)(wxLog* self)
 {
-        ((wxLog*)_obj)->FlushActive();
+        self->FlushActive();
 }
 
 EWXWEXPORT(void*,wxLog_GetActiveTarget)()
@@ -2195,115 +2234,115 @@
         return (void*)wxLog::GetActiveTarget();
 }
 
-EWXWEXPORT(void*,wxLog_SetActiveTarget)(void* pLogger)
+EWXWEXPORT(void*,wxLog_SetActiveTarget)(wxLog* pLogger)
 {
-        return (void*)wxLog::SetActiveTarget((wxLog*)pLogger);
+        return (void*)wxLog::SetActiveTarget(pLogger);
 }
 
-EWXWEXPORT(void,wxLog_Suspend)(void* _obj)
+EWXWEXPORT(void,wxLog_Suspend)(wxLog* self)
 {
-        ((wxLog*)_obj)->Suspend();
+        self->Suspend();
 }
 
-EWXWEXPORT(void,wxLog_Resume)(void* _obj)
+EWXWEXPORT(void,wxLog_Resume)(wxLog* self)
 {
-        ((wxLog*)_obj)->Resume();
+        self->Resume();
 }
 
-EWXWEXPORT(void,wxLog_SetVerbose)(void* _obj, int bVerbose)
+EWXWEXPORT(void,wxLog_SetVerbose)(wxLog* self,bool bVerbose)
 {
-        ((wxLog*)_obj)->SetVerbose(bVerbose != 0);
+        self->SetVerbose(bVerbose);
 }
 
-EWXWEXPORT(void,wxLog_DontCreateOnDemand)(void* _obj)
+EWXWEXPORT(void,wxLog_DontCreateOnDemand)(wxLog* self)
 {
-        ((wxLog*)_obj)->DontCreateOnDemand();
+        self->DontCreateOnDemand();
 }
 
-EWXWEXPORT(void,wxLog_SetTraceMask)(void* _obj, int ulMask)
+EWXWEXPORT(void,wxLog_SetTraceMask)(wxLog* self,int ulMask)
 {
-        ((wxLog*)_obj)->SetTraceMask((wxTraceMask)ulMask);
+        self->SetTraceMask((wxTraceMask)ulMask);
 }
 
-EWXWEXPORT(void,wxLog_AddTraceMask)(void* _obj, void* str)
+EWXWEXPORT(void,wxLog_AddTraceMask)(wxLog* self,void* str)
 {
-        ((wxLog*)_obj)->AddTraceMask((const wxChar*)str);
+        self->AddTraceMask((const wxChar*)str);
 }
 
-EWXWEXPORT(void,wxLog_RemoveTraceMask)(void* _obj, void* str)
+EWXWEXPORT(void,wxLog_RemoveTraceMask)(wxLog* self,void* str)
 {
-        ((wxLog*)_obj)->RemoveTraceMask((const wxChar*)str);
+        self->RemoveTraceMask((const wxChar*)str);
 }
 
-EWXWEXPORT(void,wxLog_SetTimestamp)(void* _obj, void* ts)
+EWXWEXPORT(void,wxLog_SetTimestamp)(wxLog* self,void* ts)
 {
-        ((wxLog*)_obj)->SetTimestamp((const wxChar*)ts);
+        self->SetTimestamp((const wxChar*)ts);
 }
 
-EWXWEXPORT(int,wxLog_GetVerbose)(void* _obj)
+EWXWEXPORT(bool,wxLog_GetVerbose)(wxLog* self)
 {
-        return (int)((wxLog*)_obj)->GetVerbose();
+        return self->GetVerbose();
 }
 
-EWXWEXPORT(int,wxLog_GetTraceMask)(void* _obj)
+EWXWEXPORT(int,wxLog_GetTraceMask)(wxLog* self)
 {
-        return (int)((wxLog*)_obj)->GetTraceMask();
+        return (int)self->GetTraceMask();
 }
 
-EWXWEXPORT(int,wxLog_IsAllowedTraceMask)(void* _obj, void* mask)
+EWXWEXPORT(bool,wxLog_IsAllowedTraceMask)(wxLog* self,void* mask)
 {
-        return (int)((wxLog*)_obj)->IsAllowedTraceMask((const wxChar*)mask);
+        return self->IsAllowedTraceMask((const wxChar*)mask);
 }
 
-EWXWEXPORT(void*,wxLog_GetTimestamp)(void* _obj)
+EWXWEXPORT(void*,wxLog_GetTimestamp)(wxLog* self)
 {
-        return (void*)((wxLog*)_obj)->GetTimestamp();
+        return (void*)self->GetTimestamp();
 }
 
 
-EWXWEXPORT(void,LogError)(void* _msg)
+EWXWEXPORT(void,LogError)(wxString* _msg)
 {
-        wxLogError((wxChar*)_msg);
+        wxLogError(*_msg);
 }
 
-EWXWEXPORT(void,LogFatalError)(void* _msg)
+EWXWEXPORT(void,LogFatalError)(wxString* _msg)
 {
-        wxLogFatalError((wxChar*)_msg);
+        wxLogFatalError(*_msg);
 }
 
-EWXWEXPORT(void,LogWarning)(void* _msg)
+EWXWEXPORT(void,LogWarning)(wxString* _msg)
 {
-        wxLogWarning((wxChar*)_msg);
+        wxLogWarning(*_msg);
 }
 
-EWXWEXPORT(void,LogMessage)(void* _msg)
+EWXWEXPORT(void,LogMessage)(wxString* _msg)
 {
-        wxLogMessage((wxChar*)_msg);
+        wxLogMessage(*_msg);
 }
 
-EWXWEXPORT(void,LogVerbose)(void* _msg)
+EWXWEXPORT(void,LogVerbose)(wxString* _msg)
 {
-        wxLogVerbose((wxChar*)_msg);
+        wxLogVerbose(*_msg);
 }
 
-EWXWEXPORT(void,LogStatus)(void* _msg)
+EWXWEXPORT(void,LogStatus)(wxString* _msg)
 {
-        wxLogStatus((wxChar*)_msg);
+        wxLogStatus(*_msg);
 }
 
-EWXWEXPORT(void,LogSysError)(void* _msg)
+EWXWEXPORT(void,LogSysError)(wxString* _msg)
 {
-        wxLogSysError((wxChar*)_msg);
+        wxLogSysError(*_msg);
 }
 
-EWXWEXPORT(void,LogDebug)(void* _msg)
+EWXWEXPORT(void,LogDebug)(wxString* _msg)
 {
-        wxLogDebug((wxChar*)_msg);
+        wxLogDebug(*_msg);
 }
 
-EWXWEXPORT(void,LogTrace)(void* mask, void* _msg)
+EWXWEXPORT(void,LogTrace)(wxString* mask,wxString* _msg)
 {
-        wxLogTrace((wxChar*) mask, (wxChar*)_msg);
+        wxLogTrace(*mask,*_msg);
 }
 
 /*-----------------------------------------------------------------------------
@@ -2317,17 +2356,17 @@
 /*-----------------------------------------------------------------------------
   ConfigBase
 -----------------------------------------------------------------------------*/
-EWXWEXPORT( wxConfigBase*, wxConfigBase_Get)()
+EWXWEXPORT(wxConfigBase*,wxConfigBase_Get)()
 {
   return wxConfigBase::Get();
 }
 
-EWXWEXPORT( void, wxConfigBase_Set)( wxConfigBase* self )
+EWXWEXPORT(void,wxConfigBase_Set)(wxConfigBase* self)
 {
   wxConfigBase::Set( self );
 }
 
-EWXWEXPORT( wxFileConfig*, wxFileConfig_Create)( wxInputStream* inp )
+EWXWEXPORT(wxFileConfig*,wxFileConfig_Create)(wxInputStream* inp)
 {
   return new wxFileConfig( *inp );
 }
diff --git a/wxc/src/glcanvas.cpp b/wxc/src/glcanvas.cpp
--- a/wxc/src/glcanvas.cpp
+++ b/wxc/src/glcanvas.cpp
@@ -55,14 +55,14 @@
 }
 
 
-EWXWEXPORT(void,wxGLCanvas_SetCurrent)(wxGLCanvas* self)  
+EWXWEXPORT(void,wxGLCanvas_SetCurrent)(wxGLCanvas* self)
 {
 #ifdef wxUSE_GLCANVAS 
   self->SetCurrent();
 #endif
 }
 
-EWXWEXPORT(void,wxGLCanvas_SetColour)(wxGLCanvas* self, wxColour* colour)  
+EWXWEXPORT(void,wxGLCanvas_SetColour)(wxGLCanvas* self, wxColour* colour)
 {
 #ifdef wxUSE_GLCANVAS 
   wxString name = wxTheColourDatabase->FindName( *colour );
@@ -73,7 +73,7 @@
 #endif
 }
 
-EWXWEXPORT(void,wxGLCanvas_SwapBuffers)(wxGLCanvas* self)  
+EWXWEXPORT(void,wxGLCanvas_SwapBuffers)(wxGLCanvas* self)
 {
 #ifdef wxUSE_GLCANVAS 
   self->SwapBuffers();
diff --git a/wxc/src/image.cpp b/wxc/src/image.cpp
--- a/wxc/src/image.cpp
+++ b/wxc/src/image.cpp
@@ -7,31 +7,31 @@
 {
 
 /* bitmap/image helpers */
-EWXWEXPORT(wxBitmap*, wxBitmap_CreateFromImage)( wxImage* image, int depth )
+EWXWEXPORT(wxBitmap*,wxBitmap_CreateFromImage)(wxImage* image,int depth)
 {
   return new wxBitmap(*image,depth);
 }
 
 
-EWXWEXPORT(wxImage*, wxImage_CreateFromDataEx)(int width, int height, void* data, int isStaticData)
+EWXWEXPORT(wxImage*,wxImage_CreateFromDataEx)(int width,int height,wxUint8* data,bool isStaticData)
 {
-  return new wxImage(width, height, (unsigned char*)data, isStaticData != 0);
+  return new wxImage(width, height, data, isStaticData);
 }
 
 
-EWXWEXPORT(void, wxImage_Delete)( wxImage* image )
+EWXWEXPORT(void,wxImage_Delete)(wxImage* image)
 {
   delete image;
 }
 
 
 /* colours */
-EWXWEXPORT(void*, wxColour_CreateFromInt) (int rgb)
+EWXWEXPORT(wxColour*,wxColour_CreateFromInt)(int rgb)
 {
-  return (void*) new wxColour((rgb >> 16) & 0xFF, (rgb >> 8) & 0xFF, rgb & 0xFF);
+  return new wxColour((rgb >> 16) & 0xFF, (rgb >> 8) & 0xFF, rgb & 0xFF);
 }
 
-EWXWEXPORT(int, wxColour_GetInt) (wxColour* colour)
+EWXWEXPORT(int,wxColour_GetInt)(wxColour* colour)
 {
   int r = colour->Red();
   int g = colour->Green();
@@ -40,7 +40,7 @@
 }
 
 /* basic pixel manipulation */
-EWXWEXPORT(void, wxcSetPixelRGB)( unsigned char* buffer, int width, int x, int y, int rgb )
+EWXWEXPORT(void,wxcSetPixelRGB)(wxUint8* buffer,int width,int x,int y,int rgb)
 {
   int indexR = 3*(width*y + x);
   buffer[indexR]   = rgb >> 16;
@@ -48,7 +48,7 @@
   buffer[indexR+2] = rgb;
 }
 
-EWXWEXPORT(int, wxcGetPixelRGB)( unsigned char* buffer, int width, int x, int y )
+EWXWEXPORT(int,wxcGetPixelRGB)(wxUint8* buffer,int width,int x,int y)
 {
   int indexR = 3*(width*y + x);
   int r,g,b;
@@ -58,7 +58,7 @@
   return ((r << 16) | (g << 8) | b);
 }
 
-EWXWEXPORT(void, wxcSetPixelRowRGB)( unsigned char* buffer, int width, int x, int y, int rgb0, int rgb1, int count )
+EWXWEXPORT(void,wxcSetPixelRowRGB)(wxUint8* buffer,int width,int x,int y,int rgb0,int rgb1,int count)
 {
   int r0  = ((rgb0 >> 16) && 0xFF);
   int g0  = ((rgb0 >>  8) && 0xFF);
@@ -99,12 +99,12 @@
   }
 }
 
-EWXWEXPORT(void, wxcInitPixelsRGB)( unsigned char* buffer, int width, int height, int rgb )
+EWXWEXPORT(void,wxcInitPixelsRGB)(wxUint8* buffer,int width,int height,int rgb)
 {
   int count        = width*height*3;
-  unsigned char r  = ((rgb >> 16) && 0xFF);
-  unsigned char g  = ((rgb >>  8) && 0xFF);
-  unsigned char b  = rgb && 0xFF;
+  wxUint8 r  = ((rgb >> 16) && 0xFF);
+  wxUint8 g  = ((rgb >>  8) && 0xFF);
+  wxUint8 b  = rgb && 0xFF;
   int i;
 
   if (r==g && g==b) {
@@ -117,6 +117,113 @@
       buffer[i]   = r;
       buffer[i+1] = g;
       buffer[i+2] = b;
+    }
+  }
+}
+
+EWXWEXPORT(wxColour*,wxColour_CreateFromUnsignedInt)(unsigned int rgba)
+{
+  return new wxColour((rgba >> 24) & 0xFF, (rgba >> 16) & 0xFF, (rgba >> 8) & 0xFF, rgba & 0xFF);
+}
+
+EWXWEXPORT(unsigned int,wxColour_GetUnsignedInt)(wxColour* colour)
+{
+  int r = colour->Red();
+  int g = colour->Green();
+  int b = colour->Blue();
+  int a = colour->Alpha();
+  return ((r << 24) | (g << 16) | (b << 8) | a);
+}
+
+/* basic pixel manipulation */
+EWXWEXPORT(void,wxcSetPixelRGBA)(wxUint8* buffer,int width,int x,int y,unsigned int rgba)
+{
+  unsigned int indexR = 4*(width*y + x);
+  buffer[indexR]   = rgba >> 24;
+  buffer[indexR+1] = rgba >> 16;
+  buffer[indexR+2] = rgba >>  8;
+  buffer[indexR+3] = rgba;
+}
+
+EWXWEXPORT(int,wxcGetPixelRGBA)(wxUint8* buffer,int width,int x,int y)
+{
+  unsigned int indexR = 4*(width*y + x);
+  int r,g,b,a;
+  r = buffer[indexR];
+  g = buffer[indexR+1];
+  b = buffer[indexR+2];
+  a = buffer[indexR+3];
+  return ((r << 24) | (g << 16) | (b << 8) | a);
+}
+
+EWXWEXPORT(void,wxcSetPixelRowRGBA)(wxUint8* buffer,int width,int x,int y,unsigned int rgba0,unsigned int rgba1,unsigned int count)
+{
+  int r0  = ((rgba0 >> 24) && 0xFF);
+  int g0  = ((rgba0 >> 16) && 0xFF);
+  int b0  = ((rgba0 >>  8) && 0xFF);
+  int a0  = (rgba0 && 0xFF);
+  unsigned int start = 4*(width*y+x);
+  unsigned int i;
+
+  if (rgba0 == rgba1) {
+    /* same color */
+    for( i=0; i < count*4; i +=4) {
+      buffer[start+i]   = r0;
+      buffer[start+i+1] = g0;
+      buffer[start+i+2] = b0;
+      buffer[start+i+3] = a0;
+    }
+  }
+  else {
+    /* do linear interpolation of the color */
+    int r1  = ((rgba1 >> 24) && 0xFF);
+    int g1  = ((rgba1 >> 16) && 0xFF);
+    int b1  = ((rgba1 >>  8) && 0xFF);
+    int a1  = (rgba1 && 0xFF);
+
+    int rd  = ((r1 - r0) << 24) / (count-1);
+    int gd  = ((g1 - g0) << 24) / (count-1);
+    int bd  = ((b1 - b0) << 24) / (count-1);
+    int ad  = ((a1 - a0) << 24) / (count-1);
+
+    int r   = r0 << 24;
+    int g   = g0 << 24;
+    int b   = b0 << 24;
+    int a   = b0 << 24;
+
+    for( i = 0; i < count*4; i += 4 ) {
+      buffer[start+i]   = (r >> 24);
+      buffer[start+i+1] = (g >> 24);
+      buffer[start+i+2] = (b >> 24);
+      buffer[start+i+3] = (a >> 24);
+      r += rd;
+      g += gd;
+      b += bd;
+      a += ad;
+    }
+  }
+}
+
+EWXWEXPORT(void,wxcInitPixelsRGBA)(wxUint8* buffer,int width,int height,int rgba)
+{
+  unsigned int count        = width*height*4;
+  wxUint8 r  = ((rgba >> 24) && 0xFF);
+  wxUint8 g  = ((rgba >> 16) && 0xFF);
+  wxUint8 b  = ((rgba >>  8) && 0xFF);
+  wxUint8 a  = rgba && 0xFF;
+  unsigned int i;
+
+  if (r==g && g==b && b==a) {
+    for( i=0; i < count; i++ ) {
+      buffer[i] = r;
+    }
+  }
+  else {
+    for( i=0; i < count; i += 4) {
+      buffer[i]   = r;
+      buffer[i+1] = g;
+      buffer[i+2] = b;
+      buffer[i+3] = a;
     }
   }
 }
diff --git a/wxc/src/managed.cpp b/wxc/src/managed.cpp
--- a/wxc/src/managed.cpp
+++ b/wxc/src/managed.cpp
@@ -54,34 +54,34 @@
 /*-----------------------------------------------------------------------------
   Operations
 -----------------------------------------------------------------------------*/
-EWXWEXPORT(void*,wxManagedPtr_GetPtr)( wxManagedPtr* self )
+EWXWEXPORT(void*,wxManagedPtr_GetPtr)(wxManagedPtr* self)
 {
   if (self!=NULL) return self->GetPtr();
              else return NULL;
 }
 
-EWXWEXPORT(void,wxManagedPtr_NoFinalize)( wxManagedPtr* self )
+EWXWEXPORT(void,wxManagedPtr_NoFinalize)(wxManagedPtr* self)
 {
   if (self!=NULL) {
     self->NoFinalize();
   }
 }
 
-EWXWEXPORT(void,wxManagedPtr_Finalize)( wxManagedPtr* self )
+EWXWEXPORT(void,wxManagedPtr_Finalize)(wxManagedPtr* self)
 {
   if (self!=NULL) {
     self->Finalize();
   }
 }
 
-EWXWEXPORT(void,wxManagedPtr_Delete)( wxManagedPtr* self )
+EWXWEXPORT(void,wxManagedPtr_Delete)(wxManagedPtr* self)
 {
   if (self!=NULL) {
     delete self;
   }
 }
 
-static void _cdecl deleteManagedPtr( wxManagedPtr* mp )
+static void _cdecl deleteManagedPtr(wxManagedPtr* mp)
 {
   if (mp!=NULL) {
     delete mp;
@@ -362,7 +362,8 @@
 /*-----------------------------------------------------------------------------
   Finalize wxCursor
 -----------------------------------------------------------------------------*/
-
+wxCursor*** staticsCursor(void)
+{
 #if (wxVERSION_NUMBER < 2800)
 static wxCursor* wxNULL_CURSOR = &wxNullCursor;
 
@@ -387,10 +388,12 @@
     ,NULL
     };
 #endif
+  return staticsCursor;
+}
 
 EWXWEXPORT(bool,wxCursor_IsStatic)(wxCursor* obj)
 {
-  IsStatic(obj,staticsCursor);  
+  IsStatic(obj,staticsCursor());  
 }
 
 static void _cdecl deleteCursor( wxCursor* obj )
diff --git a/wxc/src/printout.cpp b/wxc/src/printout.cpp
--- a/wxc/src/printout.cpp
+++ b/wxc/src/printout.cpp
@@ -276,59 +276,59 @@
 extern "C" 
 {
 
-EWXWEXPORT(wxPrintDialogData*, wxPrintDialog_GetPrintDialogData)(wxPrintDialog* _obj )
+EWXWEXPORT(wxPrintDialogData*,wxPrintDialog_GetPrintDialogData)(wxPrintDialog* _obj)
 {
   return &(_obj->GetPrintDialogData());
 }
 
   
-EWXWEXPORT( wxcPrintout*, wxcPrintout_Create)( wxString* title )
+EWXWEXPORT(wxcPrintout*,wxcPrintout_Create)(wxString* title)
 {
   return new wxcPrintout( *title );
 }
 
-EWXWEXPORT( void, wxcPrintout_Delete)( wxcPrintout* self )
+EWXWEXPORT(void,wxcPrintout_Delete)(wxcPrintout* self)
 {
   if (self) delete self;
 }
 
-EWXWEXPORT( void, wxcPrintout_SetPageLimits)( wxcPrintout* self, int startPage, int endPage, int fromPage, int toPage )
+EWXWEXPORT(void,wxcPrintout_SetPageLimits)(wxcPrintout* self,int startPage,int endPage,int fromPage,int toPage)
 {
   self->SetPageLimits( startPage, endPage, fromPage, toPage );
 }
 
-EWXWEXPORT( wxEvtHandler*, wxcPrintout_GetEvtHandler)( wxcPrintout* self )
+EWXWEXPORT(wxEvtHandler*,wxcPrintout_GetEvtHandler)(wxcPrintout* self)
 {
   return self->GetEvtHandler();
 }
 
 
-EWXWEXPORT( wxcPrintout*, wxcPrintEvent_GetPrintout)( wxcPrintEvent* self )
+EWXWEXPORT(wxcPrintout*,wxcPrintEvent_GetPrintout)(wxcPrintEvent* self)
 {
   return self->GetPrintout();
 }
 
-EWXWEXPORT( int, wxcPrintEvent_GetPage)( wxcPrintEvent* self )
+EWXWEXPORT(int,wxcPrintEvent_GetPage)(wxcPrintEvent* self)
 {
   return self->GetPage();
 } 
 
-EWXWEXPORT( int, wxcPrintEvent_GetEndPage)( wxcPrintEvent* self )
+EWXWEXPORT(int,wxcPrintEvent_GetEndPage)(wxcPrintEvent* self)
 {
   return self->GetEndPage();
 } 
 
-EWXWEXPORT( bool, wxcPrintEvent_GetContinue)( wxcPrintEvent* self )
+EWXWEXPORT(bool,wxcPrintEvent_GetContinue)(wxcPrintEvent* self)
 {
   return self->GetContinue();
 } 
     
-EWXWEXPORT( void, wxcPrintEvent_SetContinue)( wxcPrintEvent* self, bool cont )
+EWXWEXPORT(void,wxcPrintEvent_SetContinue)(wxcPrintEvent* self,bool cont)
 {
   self->SetContinue(cont);
 } 
 
-EWXWEXPORT( void, wxcPrintEvent_SetPageLimits)( wxcPrintEvent* self, int startPage, int endPage, int fromPage, int toPage )
+EWXWEXPORT(void,wxcPrintEvent_SetPageLimits)(wxcPrintEvent* self,int startPage,int endPage,int fromPage,int toPage)
 {
   self->SetPageLimits(startPage, endPage, fromPage, toPage );
 }
@@ -337,71 +337,70 @@
 /*-----------------------------------------------------------------------------
   Printout
 -----------------------------------------------------------------------------*/
-EWXWEXPORT(int, wxPrintout_GetTitle)(void* _obj, void* _buf)
+EWXWEXPORT(wxString*,wxPrintout_GetTitle)(void* _obj)
 {
 	wxString title = ((wxPrintout*)_obj)->GetTitle();
-	if (_buf) wxStrncpy ((wxChar*)_buf, title.c_str(), title.Length());
-	return title.Length();
+	return new wxString(title);
 }
 	
-EWXWEXPORT(void*, wxPrintout_GetDC)(void* _obj)
+EWXWEXPORT(void*,wxPrintout_GetDC)(void* _obj)
 {
 	return (void*)((wxPrintout*)_obj)->GetDC();
 }
 	
-EWXWEXPORT(void, wxPrintout_SetDC)(void* _obj, void* dc)
+EWXWEXPORT(void,wxPrintout_SetDC)(void* _obj,void* dc)
 {
 	((wxPrintout*)_obj)->SetDC((wxDC*)dc);
 }
 	
-EWXWEXPORT(void, wxPrintout_SetPageSizePixels)(void* _obj, int w, int  h)
+EWXWEXPORT(void,wxPrintout_SetPageSizePixels)(void* _obj,int w,int h)
 {
 	((wxPrintout*)_obj)->SetPageSizePixels(w, h);
 }
 	
-EWXWEXPORT(void, wxPrintout_GetPageSizePixels)(void* _obj, void* w, void* h)
+EWXWEXPORT(void,wxPrintout_GetPageSizePixels)(void* _obj,int* w,int* h)
 {
-	((wxPrintout*)_obj)->GetPageSizePixels((int*)w, (int*)h);
+	((wxPrintout*)_obj)->GetPageSizePixels(w,h);
 }
 	
-EWXWEXPORT(void, wxPrintout_SetPageSizeMM)(void* _obj, int w, int  h)
+EWXWEXPORT(void,wxPrintout_SetPageSizeMM)(void* _obj,int w,int h)
 {
 	((wxPrintout*)_obj)->SetPageSizeMM(w, h);
 }
 	
-EWXWEXPORT(void, wxPrintout_GetPageSizeMM)(void* _obj, void* w, void* h)
+EWXWEXPORT(void,wxPrintout_GetPageSizeMM)(void* _obj,int* w,int* h)
 {
-	((wxPrintout*)_obj)->GetPageSizeMM((int*)w, (int*)h);
+	((wxPrintout*)_obj)->GetPageSizeMM(w,h);
 }
 	
-EWXWEXPORT(void, wxPrintout_SetPPIScreen)(void* _obj, int x, int y)
+EWXWEXPORT(void,wxPrintout_SetPPIScreen)(void* _obj,int x,int y)
 {
 	((wxPrintout*)_obj)->SetPPIScreen(x, y);
 }
 	
-EWXWEXPORT(void, wxPrintout_GetPPIScreen)(void* _obj, void* x, void* y)
+EWXWEXPORT(void,wxPrintout_GetPPIScreen)(void* _obj,int* x,int* y)
 {
-	((wxPrintout*)_obj)->GetPPIScreen((int*)x, (int*)y);
+	((wxPrintout*)_obj)->GetPPIScreen(x,y);
 }
 	
-EWXWEXPORT(void, wxPrintout_SetPPIPrinter)(void* _obj, int x, int y)
+EWXWEXPORT(void,wxPrintout_SetPPIPrinter)(void* _obj,int x,int y)
 {
 	((wxPrintout*)_obj)->SetPPIPrinter(x, y);
 }
 	
-EWXWEXPORT(void, wxPrintout_GetPPIPrinter)(void* _obj, void* x, void* y)
+EWXWEXPORT(void,wxPrintout_GetPPIPrinter)(void* _obj,int* x,int* y)
 {
-	((wxPrintout*)_obj)->GetPPIPrinter((int*)x, (int*)y);
+	((wxPrintout*)_obj)->GetPPIPrinter(x,y);
 }
 	
-EWXWEXPORT(int, wxPrintout_IsPreview)(void* _obj)
+EWXWEXPORT(bool,wxPrintout_IsPreview)(wxPrintout* _obj)
 {
-	return (int)((wxPrintout*)_obj)->IsPreview();
+	return _obj->IsPreview();
 }
 	
-EWXWEXPORT(void, wxPrintout_SetIsPreview)(void* _obj, int p)
+EWXWEXPORT(void,wxPrintout_SetIsPreview)(void* _obj,bool p)
 {
-	((wxPrintout*)_obj)->SetIsPreview(p != 0);
+	((wxPrintout*)_obj)->SetIsPreview(p);
 }
  
     
diff --git a/wxc/src/sound.cpp b/wxc/src/sound.cpp
--- a/wxc/src/sound.cpp
+++ b/wxc/src/sound.cpp
@@ -23,7 +23,7 @@
 /*-----------------------------------------------------------------------------
   Sound
 -----------------------------------------------------------------------------*/
-EWXWEXPORT(wxSound*,wxSound_Create)( wxString* fileName, bool isResource )  
+EWXWEXPORT(wxSound*,wxSound_Create)(wxString* fileName,bool isResource)
 {
 #ifdef wxUSE_SOUND 
   return new wxSound(*fileName,isResource);
@@ -32,14 +32,14 @@
 #endif
 }
 
-EWXWEXPORT(void,wxSound_Delete)(wxSound* self)  
+EWXWEXPORT(void,wxSound_Delete)(wxSound* self)
 {
 #ifdef wxUSE_SOUND 
   if (self) delete self;
 #endif
 }
 
-EWXWEXPORT(bool,wxSound_IsOk)(wxSound* self)  
+EWXWEXPORT(bool,wxSound_IsOk)(wxSound* self)
 {
 #ifdef wxUSE_SOUND 
   return self->IsOk();
@@ -48,16 +48,16 @@
 #endif
 }
 
-EWXWEXPORT(bool,wxSound_Play)(wxSound* self, unsigned flag )  
+EWXWEXPORT(bool,wxSound_Play)(wxSound* self,unsigned flag)
 {
 #ifdef wxUSE_SOUND 
-  return ((wxSoundBase *) self)->Play(flag);
+  return ((wxSoundBase *)self)->Play(flag);
 #else
   return false;
 #endif
 }
 
-EWXWEXPORT(void,wxSound_Stop)(wxSound* self)  
+EWXWEXPORT(void,wxSound_Stop)(wxSound* self)
 {
 #ifdef wxUSE_SOUND
   self->Stop();
diff --git a/wxc/src/stc.cpp b/wxc/src/stc.cpp
--- a/wxc/src/stc.cpp
+++ b/wxc/src/stc.cpp
@@ -11,10 +11,10 @@
 
 /* wxStyledTextCtrl */
 
-EWXWEXPORT(void*, wxStyledTextCtrl_Create) (void* _prt, int _id, wxChar* _txt, int _lft, int _top, int _wdt, int _hgt, int _stl)
+EWXWEXPORT(void*,wxStyledTextCtrl_Create)(wxWindow* _prt,int _id, wxString* _txt,int _lft,int _top,int _wdt,int _hgt,int _stl)
 {
 #ifdef wxUSE_STC
-  return (void*) new wxStyledTextCtrl((wxWindow*)_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, _txt);
+  return (void*) new wxStyledTextCtrl(_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, *_txt);
 #else
   return false;
 #endif
@@ -22,7 +22,7 @@
 
   /* tricky handwritten functions */
 
-  EWXWEXPORT(void*, wxStyledTextCtrl_IndicatorGetForeground) (void* _obj, int indic)
+  EWXWEXPORT(void*,wxStyledTextCtrl_IndicatorGetForeground)(void* _obj,int indic)
   {
 #ifdef wxUSE_STC
     wxColour c = ((wxStyledTextCtrl*) _obj)->IndicatorGetForeground(indic);
@@ -32,7 +32,7 @@
     return false;
 #endif
   }
-  EWXWEXPORT(void*, wxStyledTextCtrl_GetCaretLineBackground) (void* _obj)
+  EWXWEXPORT(void*,wxStyledTextCtrl_GetCaretLineBackground)(void* _obj)
   {
 #ifdef wxUSE_STC
 #if (wxVERSION_NUMBER < 2800)
@@ -46,7 +46,7 @@
     return false;
 #endif
   }
-EWXWEXPORT(void, wxStyledTextCtrl_SetCaretLineBackground)(void* _obj, int back_r, int back_g, int back_b)
+EWXWEXPORT(void,wxStyledTextCtrl_SetCaretLineBackground)(void* _obj,int back_r,int back_g,int back_b)
 {
 #ifdef wxUSE_STC
 #if (wxVERSION_NUMBER < 2800)
@@ -58,7 +58,7 @@
 #endif
 #endif
 }
-  EWXWEXPORT(void*, wxStyledTextCtrl_GetCaretForeground) (void* _obj)
+  EWXWEXPORT(void*,wxStyledTextCtrl_GetCaretForeground)(void* _obj)
   {
 #ifdef wxUSE_STC
     wxColour c = ((wxStyledTextCtrl*) _obj)->GetCaretForeground();
@@ -68,7 +68,7 @@
     return false;
 #endif
   }
-  EWXWEXPORT(void*, wxStyledTextCtrl_GetLine) (void* _obj, int line)
+  EWXWEXPORT(void*,wxStyledTextCtrl_GetLine)(void* _obj,int line)
   {
 #ifdef wxUSE_STC
     wxString s = ((wxStyledTextCtrl*) _obj)->GetLine(line);
@@ -79,7 +79,7 @@
 #endif
   }
 
-  EWXWEXPORT(void*, wxStyledTextCtrl_GetText) (void* _obj)
+  EWXWEXPORT(void*,wxStyledTextCtrl_GetText)(void* _obj)
   {
 #ifdef wxUSE_STC
     wxString s = ((wxStyledTextCtrl*) _obj)->GetText();
@@ -90,7 +90,7 @@
 #endif
   }
 
-  EWXWEXPORT(void*, wxStyledTextCtrl_GetSelectedText) (void* _obj)
+  EWXWEXPORT(void*,wxStyledTextCtrl_GetSelectedText)(void* _obj)
   {
 #ifdef wxUSE_STC
     wxString s = ((wxStyledTextCtrl*) _obj)->GetSelectedText();
@@ -101,7 +101,7 @@
 #endif
   }
 
-  EWXWEXPORT(void*, wxStyledTextCtrl_GetTextRange) (void* _obj, int startPos, int endPos)
+  EWXWEXPORT(void*,wxStyledTextCtrl_GetTextRange)(void* _obj,int startPos,int endPos)
   {
 #ifdef wxUSE_STC
     wxString s = ((wxStyledTextCtrl*) _obj)->GetTextRange(startPos, endPos);
@@ -112,7 +112,7 @@
 #endif
   }
 
-  EWXWEXPORT(void*, wxStyledTextCtrl_CreateDocument) (void* _obj)
+  EWXWEXPORT(void*,wxStyledTextCtrl_CreateDocument)(void* _obj)
   {
 #ifdef wxUSE_STC
     return ((wxStyledTextCtrl*) _obj)->CreateDocument();
@@ -121,7 +121,7 @@
 #endif
   }
 
-  EWXWEXPORT(void*, wxStyledTextCtrl_GetEdgeColour) (void* _obj)
+  EWXWEXPORT(void*,wxStyledTextCtrl_GetEdgeColour)(void* _obj)
   {
 #ifdef wxUSE_STC
     wxColour c = ((wxStyledTextCtrl*) _obj)->GetEdgeColour();
@@ -132,7 +132,7 @@
 #endif
   }
 
-  EWXWEXPORT(void*, wxStyledTextCtrl_GetDocPointer) (void* _obj)
+  EWXWEXPORT(void*,wxStyledTextCtrl_GetDocPointer)(void* _obj)
   {
 #ifdef wxUSE_STC
     return ((wxStyledTextCtrl*) _obj)->GetDocPointer();
@@ -141,7 +141,7 @@
 #endif
   }
 
-  EWXWEXPORT(void*, wxStyledTextCtrl_PointFromPosition) (void* _obj, int pos)
+  EWXWEXPORT(void*,wxStyledTextCtrl_PointFromPosition)(void* _obj,int pos)
   {
 #ifdef wxUSE_STC
     wxPoint p = ((wxStyledTextCtrl*) _obj)->PointFromPosition(pos);
@@ -173,7 +173,7 @@
 /* wxStyledTextEvent's get functions */
 /*************************************/
 
-EWXWEXPORT(int, wxStyledTextEvent_GetPosition) (void* _obj)
+EWXWEXPORT(int,wxStyledTextEvent_GetPosition)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextEvent*) _obj)->GetPosition();
@@ -182,7 +182,7 @@
 #endif
 }
 
-EWXWEXPORT(int, wxStyledTextEvent_GetKey) (void* _obj)
+EWXWEXPORT(int,wxStyledTextEvent_GetKey)(void* _obj)
 {
 #ifdef wxUSE_STC
   return (char)((wxStyledTextEvent*) _obj)->GetKey();
@@ -191,7 +191,7 @@
 #endif
 }
 
-EWXWEXPORT(int, wxStyledTextEvent_GetModifiers) (void* _obj)
+EWXWEXPORT(int,wxStyledTextEvent_GetModifiers)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextEvent*) _obj)->GetModifiers();
@@ -200,7 +200,7 @@
 #endif
 }
 
-EWXWEXPORT(int, wxStyledTextEvent_GetModificationType) (void* _obj)
+EWXWEXPORT(int,wxStyledTextEvent_GetModificationType)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextEvent*) _obj)->GetModificationType();
@@ -209,7 +209,7 @@
 #endif
 }
 
-EWXWEXPORT(int, wxStyledTextEvent_GetLength) (void* _obj)
+EWXWEXPORT(int,wxStyledTextEvent_GetLength)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextEvent*) _obj)->GetLength();
@@ -218,7 +218,7 @@
 #endif
 }
 
-EWXWEXPORT(int, wxStyledTextEvent_GetLinesAdded) (void* _obj)
+EWXWEXPORT(int,wxStyledTextEvent_GetLinesAdded)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextEvent*) _obj)->GetLinesAdded();
@@ -227,7 +227,7 @@
 #endif
 }
 
-EWXWEXPORT(int, wxStyledTextEvent_GetLine) (void* _obj)
+EWXWEXPORT(int,wxStyledTextEvent_GetLine)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextEvent*) _obj)->GetLine();
@@ -236,7 +236,7 @@
 #endif
 }
 
-EWXWEXPORT(int, wxStyledTextEvent_GetFoldLevelNow) (void* _obj)
+EWXWEXPORT(int,wxStyledTextEvent_GetFoldLevelNow)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextEvent*) _obj)->GetFoldLevelNow();
@@ -245,7 +245,7 @@
 #endif
 }
 
-EWXWEXPORT(int, wxStyledTextEvent_GetFoldLevelPrev) (void* _obj)
+EWXWEXPORT(int,wxStyledTextEvent_GetFoldLevelPrev)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextEvent*) _obj)->GetFoldLevelPrev();
@@ -254,7 +254,7 @@
 #endif
 }
 
-EWXWEXPORT(int, wxStyledTextEvent_GetMargin) (void* _obj)
+EWXWEXPORT(int,wxStyledTextEvent_GetMargin)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextEvent*) _obj)->GetMargin();
@@ -263,7 +263,7 @@
 #endif
 }
 
-EWXWEXPORT(int, wxStyledTextEvent_GetMessage) (void* _obj)
+EWXWEXPORT(int,wxStyledTextEvent_GetMessage)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextEvent*) _obj)->GetMessage();
@@ -272,7 +272,7 @@
 #endif
 }
 
-EWXWEXPORT(int, wxStyledTextEvent_GetWParam) (void* _obj)
+EWXWEXPORT(int,wxStyledTextEvent_GetWParam)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextEvent*) _obj)->GetWParam();
@@ -281,7 +281,7 @@
 #endif
 }
 
-EWXWEXPORT(int, wxStyledTextEvent_GetLParam) (void* _obj)
+EWXWEXPORT(int,wxStyledTextEvent_GetLParam)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextEvent*) _obj)->GetLParam();
@@ -290,7 +290,7 @@
 #endif
 }
 
-EWXWEXPORT(int, wxStyledTextEvent_GetListType) (void* _obj)
+EWXWEXPORT(int,wxStyledTextEvent_GetListType)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextEvent*) _obj)->GetListType();
@@ -299,7 +299,7 @@
 #endif
 }
 
-EWXWEXPORT(int, wxStyledTextEvent_GetX) (void* _obj)
+EWXWEXPORT(int,wxStyledTextEvent_GetX)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextEvent*) _obj)->GetX();
@@ -308,7 +308,7 @@
 #endif
 }
 
-EWXWEXPORT(int, wxStyledTextEvent_GetY) (void* _obj)
+EWXWEXPORT(int,wxStyledTextEvent_GetY)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextEvent*) _obj)->GetY();
@@ -317,7 +317,7 @@
 #endif
 }
 
-EWXWEXPORT(void*, wxStyledTextEvent_GetDragText) (void* _obj)
+EWXWEXPORT(void*,wxStyledTextEvent_GetDragText)(void* _obj)
 {
 #ifdef wxUSE_STC
     wxString s = ((wxStyledTextEvent*) _obj)->GetDragText();
@@ -328,7 +328,7 @@
 #endif
 }
 
-EWXWEXPORT(bool, wxStyledTextEvent_GetDragAllowMove) (void* _obj)
+EWXWEXPORT(bool,wxStyledTextEvent_GetDragAllowMove)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextEvent*) _obj)->GetDragAllowMove();
@@ -337,7 +337,7 @@
 #endif
 }
 
-EWXWEXPORT(int, wxStyledTextEvent_GetDragResult) (void* _obj)
+EWXWEXPORT(int,wxStyledTextEvent_GetDragResult)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextEvent*) _obj)->GetDragResult();
@@ -346,7 +346,7 @@
 #endif
 }
 
-EWXWEXPORT(bool, wxStyledTextEvent_GetShift) (void* _obj)
+EWXWEXPORT(bool,wxStyledTextEvent_GetShift)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextEvent*) _obj)->GetShift();
@@ -355,7 +355,7 @@
 #endif
 }
 
-EWXWEXPORT(bool, wxStyledTextEvent_GetControl) (void* _obj)
+EWXWEXPORT(bool,wxStyledTextEvent_GetControl)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextEvent*) _obj)->GetControl();
@@ -364,7 +364,7 @@
 #endif
 }
 
-EWXWEXPORT(bool, wxStyledTextEvent_GetAlt) (void* _obj)
+EWXWEXPORT(bool,wxStyledTextEvent_GetAlt)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextEvent*) _obj)->GetAlt();
@@ -373,7 +373,7 @@
 #endif
 }
 
-EWXWEXPORT(void*, wxStyledTextEvent_GetText) (void* _obj)
+EWXWEXPORT(void*,wxStyledTextEvent_GetText)(void* _obj)
 {
 #ifdef wxUSE_STC
     wxString s = ((wxStyledTextEvent*) _obj)->GetText();
@@ -384,7 +384,7 @@
 #endif
 }
 
-EWXWEXPORT(void*, wxStyledTextEvent_Clone) (void* _obj)
+EWXWEXPORT(void*,wxStyledTextEvent_Clone)(void* _obj)
 {
 #ifdef wxUSE_STC
   return (void*) ((wxStyledTextEvent*) _obj)->Clone();
@@ -397,140 +397,140 @@
 /* wxStyledTextEvent's set functions */
 /*************************************/
 
-EWXWEXPORT(void, wxStyledTextEvent_SetPosition) (void* _obj, int pos)
+EWXWEXPORT(void,wxStyledTextEvent_SetPosition)(void* _obj,int pos)
 {
 #ifdef wxUSE_STC
   ((wxStyledTextEvent*) _obj)->SetPosition(pos);
 #endif
 }
 
-EWXWEXPORT(void, wxStyledTextEvent_SetKey) (void* _obj, int k)
+EWXWEXPORT(void,wxStyledTextEvent_SetKey)(void* _obj,int k)
 {
 #ifdef wxUSE_STC
   ((wxStyledTextEvent*) _obj)->SetKey(k);
 #endif
 }
 
-EWXWEXPORT(void, wxStyledTextEvent_SetModifiers) (void* _obj, int m)
+EWXWEXPORT(void,wxStyledTextEvent_SetModifiers)(void* _obj,int m)
 {
 #ifdef wxUSE_STC
   ((wxStyledTextEvent*) _obj)->SetModifiers(m);
 #endif
 }
 
-EWXWEXPORT(void, wxStyledTextEvent_SetModificationType) (void* _obj, int t)
+EWXWEXPORT(void,wxStyledTextEvent_SetModificationType)(void* _obj,int t)
 {
 #ifdef wxUSE_STC
   ((wxStyledTextEvent*) _obj)->SetModificationType(t);
 #endif
 }
 
-EWXWEXPORT(void, wxStyledTextEvent_SetText) (void* _obj, void* t)
+EWXWEXPORT(void,wxStyledTextEvent_SetText)(void* _obj,void* t)
 {
 #ifdef wxUSE_STC
   ((wxStyledTextEvent*) _obj)->SetText(*(wxString*)t);
 #endif
 }
 
-EWXWEXPORT(void, wxStyledTextEvent_SetLength) (void* _obj, int len)
+EWXWEXPORT(void,wxStyledTextEvent_SetLength)(void* _obj,int len)
 {
 #ifdef wxUSE_STC
   ((wxStyledTextEvent*) _obj)->SetLength(len);
 #endif
 }
 
-EWXWEXPORT(void, wxStyledTextEvent_SetLinesAdded) (void* _obj, int num)
+EWXWEXPORT(void,wxStyledTextEvent_SetLinesAdded)(void* _obj,int num)
 {
 #ifdef wxUSE_STC
   ((wxStyledTextEvent*) _obj)->SetLinesAdded(num);
 #endif
 }
 
-EWXWEXPORT(void, wxStyledTextEvent_SetLine) (void* _obj, int val)
+EWXWEXPORT(void,wxStyledTextEvent_SetLine)(void* _obj,int val)
 {
 #ifdef wxUSE_STC
   ((wxStyledTextEvent*) _obj)->SetLine(val);
 #endif
 }
 
-EWXWEXPORT(void, wxStyledTextEvent_SetFoldLevelNow) (void* _obj, int val)
+EWXWEXPORT(void,wxStyledTextEvent_SetFoldLevelNow)(void* _obj,int val)
 {
 #ifdef wxUSE_STC
   ((wxStyledTextEvent*) _obj)->SetFoldLevelNow(val);
 #endif
 }
 
-EWXWEXPORT(void, wxStyledTextEvent_SetFoldLevelPrev) (void* _obj, int val)
+EWXWEXPORT(void,wxStyledTextEvent_SetFoldLevelPrev)(void* _obj,int val)
 {
 #ifdef wxUSE_STC
   ((wxStyledTextEvent*) _obj)->SetFoldLevelPrev(val);
 #endif
 }
 
-EWXWEXPORT(void, wxStyledTextEvent_SetMargin) (void* _obj, int val)
+EWXWEXPORT(void,wxStyledTextEvent_SetMargin)(void* _obj,int val)
 {
 #ifdef wxUSE_STC
   ((wxStyledTextEvent*) _obj)->SetMargin(val);
 #endif
 }
 
-EWXWEXPORT(void, wxStyledTextEvent_SetMessage) (void* _obj, int val)
+EWXWEXPORT(void,wxStyledTextEvent_SetMessage)(void* _obj,int val)
 {
 #ifdef wxUSE_STC
   ((wxStyledTextEvent*) _obj)->SetMessage(val);
 #endif
 }
 
-EWXWEXPORT(void, wxStyledTextEvent_SetWParam) (void* _obj, int val)
+EWXWEXPORT(void,wxStyledTextEvent_SetWParam)(void* _obj,int val)
 {
 #ifdef wxUSE_STC
   ((wxStyledTextEvent*) _obj)->SetWParam(val);
 #endif
 }
 
-EWXWEXPORT(void, wxStyledTextEvent_SetLParam) (void* _obj, int val)
+EWXWEXPORT(void,wxStyledTextEvent_SetLParam)(void* _obj,int val)
 {
 #ifdef wxUSE_STC
   ((wxStyledTextEvent*) _obj)->SetLParam(val);
 #endif
 }
 
-EWXWEXPORT(void, wxStyledTextEvent_SetListType) (void* _obj, int val)
+EWXWEXPORT(void,wxStyledTextEvent_SetListType)(void* _obj,int val)
 {
 #ifdef wxUSE_STC
   ((wxStyledTextEvent*) _obj)->SetListType(val);
 #endif
 }
 
-EWXWEXPORT(void, wxStyledTextEvent_SetX) (void* _obj, int val)
+EWXWEXPORT(void,wxStyledTextEvent_SetX)(void* _obj,int val)
 {
 #ifdef wxUSE_STC
   ((wxStyledTextEvent*) _obj)->SetX(val);
 #endif
 }
 
-EWXWEXPORT(void, wxStyledTextEvent_SetY) (void* _obj, int val)
+EWXWEXPORT(void,wxStyledTextEvent_SetY)(void* _obj,int val)
 {
 #ifdef wxUSE_STC
   ((wxStyledTextEvent*) _obj)->SetY(val);
 #endif
 }
 
-EWXWEXPORT(void, wxStyledTextEvent_SetDragText) (void* _obj, void* val)
+EWXWEXPORT(void,wxStyledTextEvent_SetDragText)(void* _obj,void* val)
 {
 #ifdef wxUSE_STC
   ((wxStyledTextEvent*) _obj)->SetDragText(*(wxString*)val);
 #endif
 }
 
-EWXWEXPORT(void, wxStyledTextEvent_SetDragAllowMove) (void* _obj, int val)
+EWXWEXPORT(void,wxStyledTextEvent_SetDragAllowMove)(void* _obj,int val)
 {
 #ifdef wxUSE_STC
   ((wxStyledTextEvent*) _obj)->SetDragAllowMove(val);
 #endif
 }
 
-EWXWEXPORT(void, wxStyledTextEvent_SetDragResult) (void* _obj, int val)
+EWXWEXPORT(void,wxStyledTextEvent_SetDragResult)(void* _obj,int val)
 {
 #ifdef wxUSE_STC
   ((wxStyledTextEvent*) _obj)->SetDragResult(*(wxDragResult*)val);
@@ -540,7 +540,7 @@
 /*************************************/
 /* wxStyledTextEvent events          */
 /*************************************/
-EWXWEXPORT(int, expEVT_STC_CHANGE)()
+EWXWEXPORT(int,expEVT_STC_CHANGE)()
 {
 #ifdef wxUSE_STC
   return wxEVT_STC_CHANGE;
@@ -548,7 +548,7 @@
   return false;
 #endif
 }
-EWXWEXPORT(int, expEVT_STC_STYLENEEDED)()
+EWXWEXPORT(int,expEVT_STC_STYLENEEDED)()
 {
 #ifdef wxUSE_STC
   return wxEVT_STC_STYLENEEDED;
@@ -556,7 +556,7 @@
   return false;
 #endif
 }
-EWXWEXPORT(int, expEVT_STC_CHARADDED)()
+EWXWEXPORT(int,expEVT_STC_CHARADDED)()
 {
 #ifdef wxUSE_STC
   return wxEVT_STC_CHARADDED;
@@ -564,7 +564,7 @@
   return false;
 #endif
 }
-EWXWEXPORT(int, expEVT_STC_SAVEPOINTREACHED)()
+EWXWEXPORT(int,expEVT_STC_SAVEPOINTREACHED)()
 {
 #ifdef wxUSE_STC
   return wxEVT_STC_SAVEPOINTREACHED;
@@ -572,7 +572,7 @@
   return false;
 #endif
 }
-EWXWEXPORT(int, expEVT_STC_SAVEPOINTLEFT)()
+EWXWEXPORT(int,expEVT_STC_SAVEPOINTLEFT)()
 {
 #ifdef wxUSE_STC
   return wxEVT_STC_SAVEPOINTLEFT;
@@ -580,7 +580,7 @@
   return false;
 #endif
 }
-EWXWEXPORT(int, expEVT_STC_ROMODIFYATTEMPT)()
+EWXWEXPORT(int,expEVT_STC_ROMODIFYATTEMPT)()
 {
 #ifdef wxUSE_STC
   return wxEVT_STC_ROMODIFYATTEMPT;
@@ -588,7 +588,7 @@
   return false;
 #endif
 }
-EWXWEXPORT(int, expEVT_STC_KEY)()
+EWXWEXPORT(int,expEVT_STC_KEY)()
 {
 #ifdef wxUSE_STC
   return wxEVT_STC_KEY;
@@ -596,7 +596,7 @@
   return false;
 #endif
 }
-EWXWEXPORT(int, expEVT_STC_DOUBLECLICK)()
+EWXWEXPORT(int,expEVT_STC_DOUBLECLICK)()
 {
 #ifdef wxUSE_STC
   return wxEVT_STC_DOUBLECLICK;
@@ -604,7 +604,7 @@
   return false;
 #endif
 }
-EWXWEXPORT(int, expEVT_STC_UPDATEUI)()
+EWXWEXPORT(int,expEVT_STC_UPDATEUI)()
 {
 #ifdef wxUSE_STC
   return wxEVT_STC_UPDATEUI;
@@ -612,7 +612,7 @@
   return false;
 #endif
 }
-EWXWEXPORT(int, expEVT_STC_MODIFIED)()
+EWXWEXPORT(int,expEVT_STC_MODIFIED)()
 {
 #ifdef wxUSE_STC
   return wxEVT_STC_MODIFIED;
@@ -620,7 +620,7 @@
   return false;
 #endif
 }
-EWXWEXPORT(int, expEVT_STC_MACRORECORD)()
+EWXWEXPORT(int,expEVT_STC_MACRORECORD)()
 {
 #ifdef wxUSE_STC
   return wxEVT_STC_MACRORECORD;
@@ -628,7 +628,7 @@
   return false;
 #endif
 }
-EWXWEXPORT(int, expEVT_STC_MARGINCLICK)()
+EWXWEXPORT(int,expEVT_STC_MARGINCLICK)()
 {
 #ifdef wxUSE_STC
   return wxEVT_STC_MARGINCLICK;
@@ -636,7 +636,7 @@
   return false;
 #endif
 }
-EWXWEXPORT(int, expEVT_STC_NEEDSHOWN)()
+EWXWEXPORT(int,expEVT_STC_NEEDSHOWN)()
 {
 #ifdef wxUSE_STC
   return wxEVT_STC_NEEDSHOWN;
@@ -645,7 +645,7 @@
 #endif
 }
 /* expEVT_STC_POSCHANGED is removed in wxWidgets-2.6.x.
-EWXWEXPORT(int, expEVT_STC_POSCHANGED)()
+EWXWEXPORT(int,expEVT_STC_POSCHANGED)()
 {
 #ifdef wxUSE_STC
   return wxEVT_STC_POSCHANGED;
@@ -654,7 +654,7 @@
 #endif
 }
 */
-EWXWEXPORT(int, expEVT_STC_PAINTED)()
+EWXWEXPORT(int,expEVT_STC_PAINTED)()
 {
 #ifdef wxUSE_STC
   return wxEVT_STC_PAINTED;
@@ -662,7 +662,7 @@
   return false;
 #endif
 }
-EWXWEXPORT(int, expEVT_STC_USERLISTSELECTION)()
+EWXWEXPORT(int,expEVT_STC_USERLISTSELECTION)()
 {
 #ifdef wxUSE_STC
   return wxEVT_STC_USERLISTSELECTION;
@@ -670,7 +670,7 @@
   return false;
 #endif
 }
-EWXWEXPORT(int, expEVT_STC_URIDROPPED)()
+EWXWEXPORT(int,expEVT_STC_URIDROPPED)()
 {
 #ifdef wxUSE_STC
   return wxEVT_STC_URIDROPPED;
@@ -678,7 +678,7 @@
   return false;
 #endif
 }
-EWXWEXPORT(int, expEVT_STC_DWELLSTART)()
+EWXWEXPORT(int,expEVT_STC_DWELLSTART)()
 {
 #ifdef wxUSE_STC
   return wxEVT_STC_DWELLSTART;
@@ -686,7 +686,7 @@
   return false;
 #endif
 }
-EWXWEXPORT(int, expEVT_STC_DWELLEND)()
+EWXWEXPORT(int,expEVT_STC_DWELLEND)()
 {
 #ifdef wxUSE_STC
   return wxEVT_STC_DWELLEND;
@@ -694,7 +694,7 @@
   return false;
 #endif
 }
-EWXWEXPORT(int, expEVT_STC_START_DRAG)()
+EWXWEXPORT(int,expEVT_STC_START_DRAG)()
 {
 #ifdef wxUSE_STC
   return wxEVT_STC_START_DRAG;
@@ -702,7 +702,7 @@
   return false;
 #endif
 }
-EWXWEXPORT(int, expEVT_STC_DRAG_OVER)()
+EWXWEXPORT(int,expEVT_STC_DRAG_OVER)()
 {
 #ifdef wxUSE_STC
   return wxEVT_STC_DRAG_OVER;
@@ -710,7 +710,7 @@
   return false;
 #endif
 }
-EWXWEXPORT(int, expEVT_STC_DO_DROP)()
+EWXWEXPORT(int,expEVT_STC_DO_DROP)()
 {
 #ifdef wxUSE_STC
   return wxEVT_STC_DO_DROP;
@@ -718,7 +718,7 @@
   return false;
 #endif
 }
-EWXWEXPORT(int, expEVT_STC_ZOOM)()
+EWXWEXPORT(int,expEVT_STC_ZOOM)()
 {
 #ifdef wxUSE_STC
   return wxEVT_STC_ZOOM;
@@ -726,7 +726,7 @@
   return false;
 #endif
 }
-EWXWEXPORT(int, expEVT_STC_HOTSPOT_CLICK)()
+EWXWEXPORT(int,expEVT_STC_HOTSPOT_CLICK)()
 {
 #ifdef wxUSE_STC
   return wxEVT_STC_HOTSPOT_CLICK;
@@ -734,7 +734,7 @@
   return false;
 #endif
 }
-EWXWEXPORT(int, expEVT_STC_HOTSPOT_DCLICK)()
+EWXWEXPORT(int,expEVT_STC_HOTSPOT_DCLICK)()
 {
 #ifdef wxUSE_STC
   return wxEVT_STC_HOTSPOT_DCLICK;
@@ -742,7 +742,7 @@
   return false;
 #endif
 }
-EWXWEXPORT(int, expEVT_STC_CALLTIP_CLICK)()
+EWXWEXPORT(int,expEVT_STC_CALLTIP_CLICK)()
 {
 #ifdef wxUSE_STC
   return wxEVT_STC_CALLTIP_CLICK;
@@ -750,7 +750,7 @@
   return false;
 #endif
 }
-EWXWEXPORT(int, expEVT_STC_AUTOCOMP_SELECTION)()
+EWXWEXPORT(int,expEVT_STC_AUTOCOMP_SELECTION)()
 {
 #if (wxVERSION_NUMBER >= 2600) && wxUSE_STC
   return wxEVT_STC_AUTOCOMP_SELECTION;
diff --git a/wxc/src/stc_gen.cpp b/wxc/src/stc_gen.cpp
--- a/wxc/src/stc_gen.cpp
+++ b/wxc/src/stc_gen.cpp
@@ -1,34 +1,34 @@
-EWXWEXPORT(void, wxStyledTextCtrl_AddText)(void* _obj, wxChar* text)
+EWXWEXPORT(void,wxStyledTextCtrl_AddText)(void* _obj,wxString* text)
 {
 #ifdef wxUSE_STC
-   ((wxStyledTextCtrl*) _obj)->AddText(text);
+   ((wxStyledTextCtrl*) _obj)->AddText(*text);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_AddStyledText)(void* _obj, void* data)
+EWXWEXPORT(void,wxStyledTextCtrl_AddStyledText)(void* _obj,void* data)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->AddStyledText(*(wxMemoryBuffer*) data);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_InsertText)(void* _obj, int pos, wxChar* text)
+EWXWEXPORT(void,wxStyledTextCtrl_InsertText)(void* _obj,int pos,wxString* text)
 {
 #ifdef wxUSE_STC
-   ((wxStyledTextCtrl*) _obj)->InsertText(pos, text);
+   ((wxStyledTextCtrl*) _obj)->InsertText(pos, *text);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_ClearAll)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_ClearAll)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->ClearAll();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_ClearDocumentStyle)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_ClearDocumentStyle)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->ClearDocumentStyle();
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetLength)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetLength)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetLength();
@@ -36,7 +36,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetCharAt)(void* _obj, int pos)
+EWXWEXPORT(int,wxStyledTextCtrl_GetCharAt)(void* _obj,int pos)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetCharAt(pos);
@@ -44,7 +44,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetCurrentPos)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetCurrentPos)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetCurrentPos();
@@ -52,7 +52,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetAnchor)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetAnchor)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetAnchor();
@@ -60,7 +60,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetStyleAt)(void* _obj, int pos)
+EWXWEXPORT(int,wxStyledTextCtrl_GetStyleAt)(void* _obj,int pos)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetStyleAt(pos);
@@ -68,31 +68,31 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_Redo)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_Redo)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->Redo();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetUndoCollection)(void* _obj, bool collectUndo)
+EWXWEXPORT(void,wxStyledTextCtrl_SetUndoCollection)(void* _obj,bool collectUndo)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetUndoCollection(collectUndo);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SelectAll)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_SelectAll)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SelectAll();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetSavePoint)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_SetSavePoint)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetSavePoint();
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_CanRedo)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_CanRedo)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->CanRedo();
@@ -100,7 +100,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_MarkerLineFromHandle)(void* _obj, int handle)
+EWXWEXPORT(int,wxStyledTextCtrl_MarkerLineFromHandle)(void* _obj,int handle)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->MarkerLineFromHandle(handle);
@@ -108,13 +108,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_MarkerDeleteHandle)(void* _obj, int handle)
+EWXWEXPORT(void,wxStyledTextCtrl_MarkerDeleteHandle)(void* _obj,int handle)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->MarkerDeleteHandle(handle);
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_GetUndoCollection)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_GetUndoCollection)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetUndoCollection();
@@ -122,7 +122,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetViewWhiteSpace)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetViewWhiteSpace)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetViewWhiteSpace();
@@ -130,13 +130,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetViewWhiteSpace)(void* _obj, int viewWS)
+EWXWEXPORT(void,wxStyledTextCtrl_SetViewWhiteSpace)(void* _obj,int viewWS)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetViewWhiteSpace(viewWS);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_PositionFromPoint)(void* _obj, int pt_x, int pt_y)
+EWXWEXPORT(int,wxStyledTextCtrl_PositionFromPoint)(void* _obj,int pt_x,int pt_y)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->PositionFromPoint(wxPoint(pt_x,pt_y));
@@ -144,7 +144,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_PositionFromPointClose)(void* _obj, int x, int y)
+EWXWEXPORT(int,wxStyledTextCtrl_PositionFromPointClose)(void* _obj,int x,int y)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->PositionFromPointClose(x, y);
@@ -152,25 +152,25 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_GotoLine)(void* _obj, int line)
+EWXWEXPORT(void,wxStyledTextCtrl_GotoLine)(void* _obj,int line)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->GotoLine(line);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_GotoPos)(void* _obj, int pos)
+EWXWEXPORT(void,wxStyledTextCtrl_GotoPos)(void* _obj,int pos)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->GotoPos(pos);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetAnchor)(void* _obj, int posAnchor)
+EWXWEXPORT(void,wxStyledTextCtrl_SetAnchor)(void* _obj,int posAnchor)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetAnchor(posAnchor);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetEndStyled)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetEndStyled)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetEndStyled();
@@ -178,13 +178,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_ConvertEOLs)(void* _obj, int eolMode)
+EWXWEXPORT(void,wxStyledTextCtrl_ConvertEOLs)(void* _obj,int eolMode)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->ConvertEOLs(eolMode);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetEOLMode)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetEOLMode)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetEOLMode();
@@ -192,25 +192,25 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetEOLMode)(void* _obj, int eolMode)
+EWXWEXPORT(void,wxStyledTextCtrl_SetEOLMode)(void* _obj,int eolMode)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetEOLMode(eolMode);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_StartStyling)(void* _obj, int pos, int mask)
+EWXWEXPORT(void,wxStyledTextCtrl_StartStyling)(void* _obj,int pos,int mask)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->StartStyling(pos, mask);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetStyling)(void* _obj, int length, int style)
+EWXWEXPORT(void,wxStyledTextCtrl_SetStyling)(void* _obj,int length,int style)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetStyling(length, style);
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_GetBufferedDraw)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_GetBufferedDraw)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetBufferedDraw();
@@ -218,19 +218,19 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetBufferedDraw)(void* _obj, bool buffered)
+EWXWEXPORT(void,wxStyledTextCtrl_SetBufferedDraw)(void* _obj,bool buffered)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetBufferedDraw(buffered);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetTabWidth)(void* _obj, int tabWidth)
+EWXWEXPORT(void,wxStyledTextCtrl_SetTabWidth)(void* _obj,int tabWidth)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetTabWidth(tabWidth);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetTabWidth)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetTabWidth)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetTabWidth();
@@ -238,31 +238,31 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetCodePage)(void* _obj, int codePage)
+EWXWEXPORT(void,wxStyledTextCtrl_SetCodePage)(void* _obj,int codePage)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetCodePage(codePage);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_MarkerDefine)(void* _obj, int markerNumber, int markerSymbol, int foreground_r, int foreground_g, int foreground_b, int background_r, int background_g, int background_b)
+EWXWEXPORT(void,wxStyledTextCtrl_MarkerDefine)(void* _obj,int markerNumber,int markerSymbol,int foreground_r,int foreground_g,int foreground_b,int background_r,int background_g,int background_b)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->MarkerDefine(markerNumber, markerSymbol, wxColour(foreground_r,foreground_g,foreground_b), wxColour(background_r,background_g,background_b));
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_MarkerSetForeground)(void* _obj, int markerNumber, int fore_r, int fore_g, int fore_b)
+EWXWEXPORT(void,wxStyledTextCtrl_MarkerSetForeground)(void* _obj,int markerNumber,int fore_r,int fore_g,int fore_b)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->MarkerSetForeground(markerNumber, wxColour(fore_r,fore_g,fore_b));
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_MarkerSetBackground)(void* _obj, int markerNumber, int back_r, int back_g, int back_b)
+EWXWEXPORT(void,wxStyledTextCtrl_MarkerSetBackground)(void* _obj,int markerNumber,int back_r,int back_g,int back_b)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->MarkerSetBackground(markerNumber, wxColour(back_r,back_g,back_b));
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_MarkerAdd)(void* _obj, int line, int markerNumber)
+EWXWEXPORT(int,wxStyledTextCtrl_MarkerAdd)(void* _obj,int line,int markerNumber)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->MarkerAdd(line, markerNumber);
@@ -270,19 +270,19 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_MarkerDelete)(void* _obj, int line, int markerNumber)
+EWXWEXPORT(void,wxStyledTextCtrl_MarkerDelete)(void* _obj,int line,int markerNumber)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->MarkerDelete(line, markerNumber);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_MarkerDeleteAll)(void* _obj, int markerNumber)
+EWXWEXPORT(void,wxStyledTextCtrl_MarkerDeleteAll)(void* _obj,int markerNumber)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->MarkerDeleteAll(markerNumber);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_MarkerGet)(void* _obj, int line)
+EWXWEXPORT(int,wxStyledTextCtrl_MarkerGet)(void* _obj,int line)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->MarkerGet(line);
@@ -290,7 +290,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_MarkerNext)(void* _obj, int lineStart, int markerMask)
+EWXWEXPORT(int,wxStyledTextCtrl_MarkerNext)(void* _obj,int lineStart,int markerMask)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->MarkerNext(lineStart, markerMask);
@@ -298,7 +298,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_MarkerPrevious)(void* _obj, int lineStart, int markerMask)
+EWXWEXPORT(int,wxStyledTextCtrl_MarkerPrevious)(void* _obj,int lineStart,int markerMask)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->MarkerPrevious(lineStart, markerMask);
@@ -306,19 +306,19 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_MarkerDefineBitmap)(void* _obj, int markerNumber, void* bmp)
+EWXWEXPORT(void,wxStyledTextCtrl_MarkerDefineBitmap)(void* _obj,int markerNumber,void* bmp)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->MarkerDefineBitmap(markerNumber, *(wxBitmap*) bmp);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetMarginType)(void* _obj, int margin, int marginType)
+EWXWEXPORT(void,wxStyledTextCtrl_SetMarginType)(void* _obj,int margin,int marginType)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetMarginType(margin, marginType);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetMarginType)(void* _obj, int margin)
+EWXWEXPORT(int,wxStyledTextCtrl_GetMarginType)(void* _obj,int margin)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetMarginType(margin);
@@ -326,13 +326,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetMarginWidth)(void* _obj, int margin, int pixelWidth)
+EWXWEXPORT(void,wxStyledTextCtrl_SetMarginWidth)(void* _obj,int margin,int pixelWidth)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetMarginWidth(margin, pixelWidth);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetMarginWidth)(void* _obj, int margin)
+EWXWEXPORT(int,wxStyledTextCtrl_GetMarginWidth)(void* _obj,int margin)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetMarginWidth(margin);
@@ -340,13 +340,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetMarginMask)(void* _obj, int margin, int mask)
+EWXWEXPORT(void,wxStyledTextCtrl_SetMarginMask)(void* _obj,int margin,int mask)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetMarginMask(margin, mask);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetMarginMask)(void* _obj, int margin)
+EWXWEXPORT(int,wxStyledTextCtrl_GetMarginMask)(void* _obj,int margin)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetMarginMask(margin);
@@ -354,13 +354,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetMarginSensitive)(void* _obj, int margin, bool sensitive)
+EWXWEXPORT(void,wxStyledTextCtrl_SetMarginSensitive)(void* _obj,int margin,bool sensitive)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetMarginSensitive(margin, sensitive);
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_GetMarginSensitive)(void* _obj, int margin)
+EWXWEXPORT(bool,wxStyledTextCtrl_GetMarginSensitive)(void* _obj,int margin)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetMarginSensitive(margin);
@@ -368,133 +368,133 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_StyleClearAll)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_StyleClearAll)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->StyleClearAll();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_StyleSetForeground)(void* _obj, int style, int fore_r, int fore_g, int fore_b)
+EWXWEXPORT(void,wxStyledTextCtrl_StyleSetForeground)(void* _obj,int style,int fore_r,int fore_g,int fore_b)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->StyleSetForeground(style, wxColour(fore_r,fore_g,fore_b));
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_StyleSetBackground)(void* _obj, int style, int back_r, int back_g, int back_b)
+EWXWEXPORT(void,wxStyledTextCtrl_StyleSetBackground)(void* _obj,int style,int back_r,int back_g,int back_b)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->StyleSetBackground(style, wxColour(back_r,back_g,back_b));
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_StyleSetBold)(void* _obj, int style, bool bold)
+EWXWEXPORT(void,wxStyledTextCtrl_StyleSetBold)(void* _obj,int style,bool bold)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->StyleSetBold(style, bold);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_StyleSetItalic)(void* _obj, int style, bool italic)
+EWXWEXPORT(void,wxStyledTextCtrl_StyleSetItalic)(void* _obj,int style,bool italic)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->StyleSetItalic(style, italic);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_StyleSetSize)(void* _obj, int style, int sizePoints)
+EWXWEXPORT(void,wxStyledTextCtrl_StyleSetSize)(void* _obj,int style,int sizePoints)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->StyleSetSize(style, sizePoints);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_StyleSetFaceName)(void* _obj, int style, wxChar* fontName)
+EWXWEXPORT(void,wxStyledTextCtrl_StyleSetFaceName)(void* _obj,int style,wxString* fontName)
 {
 #ifdef wxUSE_STC
-   ((wxStyledTextCtrl*) _obj)->StyleSetFaceName(style, fontName);
+   ((wxStyledTextCtrl*) _obj)->StyleSetFaceName(style, *fontName);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_StyleSetEOLFilled)(void* _obj, int style, bool filled)
+EWXWEXPORT(void,wxStyledTextCtrl_StyleSetEOLFilled)(void* _obj,int style,bool filled)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->StyleSetEOLFilled(style, filled);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_StyleResetDefault)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_StyleResetDefault)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->StyleResetDefault();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_StyleSetUnderline)(void* _obj, int style, bool underline)
+EWXWEXPORT(void,wxStyledTextCtrl_StyleSetUnderline)(void* _obj,int style,bool underline)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->StyleSetUnderline(style, underline);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_StyleSetCase)(void* _obj, int style, int caseForce)
+EWXWEXPORT(void,wxStyledTextCtrl_StyleSetCase)(void* _obj,int style,int caseForce)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->StyleSetCase(style, caseForce);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_StyleSetCharacterSet)(void* _obj, int style, int characterSet)
+EWXWEXPORT(void,wxStyledTextCtrl_StyleSetCharacterSet)(void* _obj,int style,int characterSet)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->StyleSetCharacterSet(style, characterSet);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_StyleSetHotSpot)(void* _obj, int style, bool hotspot)
+EWXWEXPORT(void,wxStyledTextCtrl_StyleSetHotSpot)(void* _obj,int style,bool hotspot)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->StyleSetHotSpot(style, hotspot);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetSelForeground)(void* _obj, bool useSetting, int fore_r, int fore_g, int fore_b)
+EWXWEXPORT(void,wxStyledTextCtrl_SetSelForeground)(void* _obj,bool useSetting,int fore_r,int fore_g,int fore_b)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetSelForeground(useSetting, wxColour(fore_r,fore_g,fore_b));
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetSelBackground)(void* _obj, bool useSetting, int back_r, int back_g, int back_b)
+EWXWEXPORT(void,wxStyledTextCtrl_SetSelBackground)(void* _obj,bool useSetting,int back_r,int back_g,int back_b)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetSelBackground(useSetting, wxColour(back_r,back_g,back_b));
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetCaretForeground)(void* _obj, int fore_r, int fore_g, int fore_b)
+EWXWEXPORT(void,wxStyledTextCtrl_SetCaretForeground)(void* _obj,int fore_r,int fore_g,int fore_b)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetCaretForeground(wxColour(fore_r,fore_g,fore_b));
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_CmdKeyAssign)(void* _obj, int key, int modifiers, int cmd)
+EWXWEXPORT(void,wxStyledTextCtrl_CmdKeyAssign)(void* _obj,int key,int modifiers,int cmd)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->CmdKeyAssign(key, modifiers, cmd);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_CmdKeyClear)(void* _obj, int key, int modifiers)
+EWXWEXPORT(void,wxStyledTextCtrl_CmdKeyClear)(void* _obj,int key,int modifiers)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->CmdKeyClear(key, modifiers);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_CmdKeyClearAll)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_CmdKeyClearAll)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->CmdKeyClearAll();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetStyleBytes)(void* _obj, int length, void* styleBytes)
+EWXWEXPORT(void,wxStyledTextCtrl_SetStyleBytes)(void* _obj,int length,void* styleBytes)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetStyleBytes(length, *(char**) styleBytes);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_StyleSetVisible)(void* _obj, int style, bool visible)
+EWXWEXPORT(void,wxStyledTextCtrl_StyleSetVisible)(void* _obj,int style,bool visible)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->StyleSetVisible(style, visible);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetCaretPeriod)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetCaretPeriod)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetCaretPeriod();
@@ -502,37 +502,37 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetCaretPeriod)(void* _obj, int periodMilliseconds)
+EWXWEXPORT(void,wxStyledTextCtrl_SetCaretPeriod)(void* _obj,int periodMilliseconds)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetCaretPeriod(periodMilliseconds);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetWordChars)(void* _obj, wxChar* characters)
+EWXWEXPORT(void,wxStyledTextCtrl_SetWordChars)(void* _obj,wxString* characters)
 {
 #ifdef wxUSE_STC
-   ((wxStyledTextCtrl*) _obj)->SetWordChars(characters);
+   ((wxStyledTextCtrl*) _obj)->SetWordChars(*characters);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_BeginUndoAction)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_BeginUndoAction)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->BeginUndoAction();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_EndUndoAction)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_EndUndoAction)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->EndUndoAction();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_IndicatorSetStyle)(void* _obj, int indic, int style)
+EWXWEXPORT(void,wxStyledTextCtrl_IndicatorSetStyle)(void* _obj,int indic,int style)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->IndicatorSetStyle(indic, style);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_IndicatorGetStyle)(void* _obj, int indic)
+EWXWEXPORT(int,wxStyledTextCtrl_IndicatorGetStyle)(void* _obj,int indic)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->IndicatorGetStyle(indic);
@@ -540,31 +540,31 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_IndicatorSetForeground)(void* _obj, int indic, int fore_r, int fore_g, int fore_b)
+EWXWEXPORT(void,wxStyledTextCtrl_IndicatorSetForeground)(void* _obj,int indic,int fore_r,int fore_g,int fore_b)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->IndicatorSetForeground(indic, wxColour(fore_r,fore_g,fore_b));
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetWhitespaceForeground)(void* _obj, bool useSetting, int fore_r, int fore_g, int fore_b)
+EWXWEXPORT(void,wxStyledTextCtrl_SetWhitespaceForeground)(void* _obj,bool useSetting,int fore_r,int fore_g,int fore_b)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetWhitespaceForeground(useSetting, wxColour(fore_r,fore_g,fore_b));
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetWhitespaceBackground)(void* _obj, bool useSetting, int back_r, int back_g, int back_b)
+EWXWEXPORT(void,wxStyledTextCtrl_SetWhitespaceBackground)(void* _obj,bool useSetting,int back_r,int back_g,int back_b)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetWhitespaceBackground(useSetting, wxColour(back_r,back_g,back_b));
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetStyleBits)(void* _obj, int bits)
+EWXWEXPORT(void,wxStyledTextCtrl_SetStyleBits)(void* _obj,int bits)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetStyleBits(bits);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetStyleBits)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetStyleBits)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetStyleBits();
@@ -572,13 +572,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetLineState)(void* _obj, int line, int state)
+EWXWEXPORT(void,wxStyledTextCtrl_SetLineState)(void* _obj,int line,int state)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetLineState(line, state);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetLineState)(void* _obj, int line)
+EWXWEXPORT(int,wxStyledTextCtrl_GetLineState)(void* _obj,int line)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetLineState(line);
@@ -586,7 +586,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetMaxLineState)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetMaxLineState)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetMaxLineState();
@@ -594,7 +594,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_GetCaretLineVisible)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_GetCaretLineVisible)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetCaretLineVisible();
@@ -602,31 +602,31 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetCaretLineVisible)(void* _obj, bool show)
+EWXWEXPORT(void,wxStyledTextCtrl_SetCaretLineVisible)(void* _obj,bool show)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetCaretLineVisible(show);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_StyleSetChangeable)(void* _obj, int style, bool changeable)
+EWXWEXPORT(void,wxStyledTextCtrl_StyleSetChangeable)(void* _obj,int style,bool changeable)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->StyleSetChangeable(style, changeable);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_AutoCompShow)(void* _obj, int lenEntered, wxChar* itemList)
+EWXWEXPORT(void,wxStyledTextCtrl_AutoCompShow)(void* _obj,int lenEntered,wxString* itemList)
 {
 #ifdef wxUSE_STC
-   ((wxStyledTextCtrl*) _obj)->AutoCompShow(lenEntered, itemList);
+   ((wxStyledTextCtrl*) _obj)->AutoCompShow(lenEntered, *itemList);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_AutoCompCancel)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_AutoCompCancel)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->AutoCompCancel();
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_AutoCompActive)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_AutoCompActive)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->AutoCompActive();
@@ -634,7 +634,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_AutoCompPosStart)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_AutoCompPosStart)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->AutoCompPosStart();
@@ -642,25 +642,25 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_AutoCompComplete)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_AutoCompComplete)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->AutoCompComplete();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_AutoCompStops)(void* _obj, wxChar* characterSet)
+EWXWEXPORT(void,wxStyledTextCtrl_AutoCompStops)(void* _obj,wxString* characterSet)
 {
 #ifdef wxUSE_STC
-   ((wxStyledTextCtrl*) _obj)->AutoCompStops(characterSet);
+   ((wxStyledTextCtrl*) _obj)->AutoCompStops(*characterSet);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_AutoCompSetSeparator)(void* _obj, int separatorCharacter)
+EWXWEXPORT(void,wxStyledTextCtrl_AutoCompSetSeparator)(void* _obj,int separatorCharacter)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->AutoCompSetSeparator(separatorCharacter);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_AutoCompGetSeparator)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_AutoCompGetSeparator)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->AutoCompGetSeparator();
@@ -668,19 +668,19 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_AutoCompSelect)(void* _obj, wxChar* text)
+EWXWEXPORT(void,wxStyledTextCtrl_AutoCompSelect)(void* _obj,wxString* text)
 {
 #ifdef wxUSE_STC
-   ((wxStyledTextCtrl*) _obj)->AutoCompSelect(text);
+   ((wxStyledTextCtrl*) _obj)->AutoCompSelect(*text);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_AutoCompSetCancelAtStart)(void* _obj, bool cancel)
+EWXWEXPORT(void,wxStyledTextCtrl_AutoCompSetCancelAtStart)(void* _obj,bool cancel)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->AutoCompSetCancelAtStart(cancel);
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_AutoCompGetCancelAtStart)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_AutoCompGetCancelAtStart)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->AutoCompGetCancelAtStart();
@@ -688,19 +688,19 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_AutoCompSetFillUps)(void* _obj, wxChar* characterSet)
+EWXWEXPORT(void,wxStyledTextCtrl_AutoCompSetFillUps)(void* _obj,wxString* characterSet)
 {
 #ifdef wxUSE_STC
-   ((wxStyledTextCtrl*) _obj)->AutoCompSetFillUps(characterSet);
+   ((wxStyledTextCtrl*) _obj)->AutoCompSetFillUps(*characterSet);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_AutoCompSetChooseSingle)(void* _obj, bool chooseSingle)
+EWXWEXPORT(void,wxStyledTextCtrl_AutoCompSetChooseSingle)(void* _obj,bool chooseSingle)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->AutoCompSetChooseSingle(chooseSingle);
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_AutoCompGetChooseSingle)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_AutoCompGetChooseSingle)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->AutoCompGetChooseSingle();
@@ -708,13 +708,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_AutoCompSetIgnoreCase)(void* _obj, bool ignoreCase)
+EWXWEXPORT(void,wxStyledTextCtrl_AutoCompSetIgnoreCase)(void* _obj,bool ignoreCase)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->AutoCompSetIgnoreCase(ignoreCase);
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_AutoCompGetIgnoreCase)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_AutoCompGetIgnoreCase)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->AutoCompGetIgnoreCase();
@@ -722,19 +722,19 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_UserListShow)(void* _obj, int listType, wxChar* itemList)
+EWXWEXPORT(void,wxStyledTextCtrl_UserListShow)(void* _obj,int listType,wxString* itemList)
 {
 #ifdef wxUSE_STC
-   ((wxStyledTextCtrl*) _obj)->UserListShow(listType, itemList);
+   ((wxStyledTextCtrl*) _obj)->UserListShow(listType, *itemList);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_AutoCompSetAutoHide)(void* _obj, bool autoHide)
+EWXWEXPORT(void,wxStyledTextCtrl_AutoCompSetAutoHide)(void* _obj,bool autoHide)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->AutoCompSetAutoHide(autoHide);
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_AutoCompGetAutoHide)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_AutoCompGetAutoHide)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->AutoCompGetAutoHide();
@@ -742,13 +742,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_AutoCompSetDropRestOfWord)(void* _obj, bool dropRestOfWord)
+EWXWEXPORT(void,wxStyledTextCtrl_AutoCompSetDropRestOfWord)(void* _obj,bool dropRestOfWord)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->AutoCompSetDropRestOfWord(dropRestOfWord);
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_AutoCompGetDropRestOfWord)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_AutoCompGetDropRestOfWord)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->AutoCompGetDropRestOfWord();
@@ -756,19 +756,19 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_RegisterImage)(void* _obj, int type, void* bmp)
+EWXWEXPORT(void,wxStyledTextCtrl_RegisterImage)(void* _obj,int type,void* bmp)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->RegisterImage(type, *(wxBitmap*) bmp);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_ClearRegisteredImages)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_ClearRegisteredImages)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->ClearRegisteredImages();
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_AutoCompGetTypeSeparator)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_AutoCompGetTypeSeparator)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->AutoCompGetTypeSeparator();
@@ -776,19 +776,19 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_AutoCompSetTypeSeparator)(void* _obj, int separatorCharacter)
+EWXWEXPORT(void,wxStyledTextCtrl_AutoCompSetTypeSeparator)(void* _obj,int separatorCharacter)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->AutoCompSetTypeSeparator(separatorCharacter);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetIndent)(void* _obj, int indentSize)
+EWXWEXPORT(void,wxStyledTextCtrl_SetIndent)(void* _obj,int indentSize)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetIndent(indentSize);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetIndent)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetIndent)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetIndent();
@@ -796,13 +796,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetUseTabs)(void* _obj, bool useTabs)
+EWXWEXPORT(void,wxStyledTextCtrl_SetUseTabs)(void* _obj,bool useTabs)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetUseTabs(useTabs);
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_GetUseTabs)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_GetUseTabs)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetUseTabs();
@@ -810,13 +810,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetLineIndentation)(void* _obj, int line, int indentSize)
+EWXWEXPORT(void,wxStyledTextCtrl_SetLineIndentation)(void* _obj,int line,int indentSize)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetLineIndentation(line, indentSize);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetLineIndentation)(void* _obj, int line)
+EWXWEXPORT(int,wxStyledTextCtrl_GetLineIndentation)(void* _obj,int line)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetLineIndentation(line);
@@ -824,7 +824,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetLineIndentPosition)(void* _obj, int line)
+EWXWEXPORT(int,wxStyledTextCtrl_GetLineIndentPosition)(void* _obj,int line)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetLineIndentPosition(line);
@@ -832,7 +832,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetColumn)(void* _obj, int pos)
+EWXWEXPORT(int,wxStyledTextCtrl_GetColumn)(void* _obj,int pos)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetColumn(pos);
@@ -840,13 +840,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetUseHorizontalScrollBar)(void* _obj, bool show)
+EWXWEXPORT(void,wxStyledTextCtrl_SetUseHorizontalScrollBar)(void* _obj,bool show)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetUseHorizontalScrollBar(show);
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_GetUseHorizontalScrollBar)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_GetUseHorizontalScrollBar)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetUseHorizontalScrollBar();
@@ -854,13 +854,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetIndentationGuides)(void* _obj, bool show)
+EWXWEXPORT(void,wxStyledTextCtrl_SetIndentationGuides)(void* _obj,bool show)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetIndentationGuides(show);
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_GetIndentationGuides)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_GetIndentationGuides)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetIndentationGuides();
@@ -868,13 +868,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetHighlightGuide)(void* _obj, int column)
+EWXWEXPORT(void,wxStyledTextCtrl_SetHighlightGuide)(void* _obj,int column)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetHighlightGuide(column);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetHighlightGuide)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetHighlightGuide)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetHighlightGuide();
@@ -882,7 +882,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetLineEndPosition)(void* _obj, int line)
+EWXWEXPORT(int,wxStyledTextCtrl_GetLineEndPosition)(void* _obj,int line)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetLineEndPosition(line);
@@ -890,7 +890,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetCodePage)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetCodePage)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetCodePage();
@@ -898,7 +898,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_GetReadOnly)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_GetReadOnly)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetReadOnly();
@@ -906,19 +906,19 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetCurrentPos)(void* _obj, int pos)
+EWXWEXPORT(void,wxStyledTextCtrl_SetCurrentPos)(void* _obj,int pos)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetCurrentPos(pos);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetSelectionStart)(void* _obj, int pos)
+EWXWEXPORT(void,wxStyledTextCtrl_SetSelectionStart)(void* _obj,int pos)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetSelectionStart(pos);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetSelectionStart)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetSelectionStart)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetSelectionStart();
@@ -926,13 +926,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetSelectionEnd)(void* _obj, int pos)
+EWXWEXPORT(void,wxStyledTextCtrl_SetSelectionEnd)(void* _obj,int pos)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetSelectionEnd(pos);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetSelectionEnd)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetSelectionEnd)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetSelectionEnd();
@@ -940,13 +940,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetPrintMagnification)(void* _obj, int magnification)
+EWXWEXPORT(void,wxStyledTextCtrl_SetPrintMagnification)(void* _obj,int magnification)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetPrintMagnification(magnification);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetPrintMagnification)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetPrintMagnification)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetPrintMagnification();
@@ -954,13 +954,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetPrintColourMode)(void* _obj, int mode)
+EWXWEXPORT(void,wxStyledTextCtrl_SetPrintColourMode)(void* _obj,int mode)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetPrintColourMode(mode);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetPrintColourMode)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetPrintColourMode)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetPrintColourMode();
@@ -968,15 +968,15 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_FindText)(void* _obj, int minPos, int maxPos, wxChar* text, int flags)
+EWXWEXPORT(int,wxStyledTextCtrl_FindText)(void* _obj,int minPos,int maxPos,wxString* text,int flags)
 {
 #ifdef wxUSE_STC
-  return ((wxStyledTextCtrl*) _obj)->FindText(minPos, maxPos, text, flags);
+  return ((wxStyledTextCtrl*) _obj)->FindText(minPos, maxPos, *text, flags);
 #else
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_FormatRange)(void* _obj, bool doDraw, int startPos, int endPos, void* draw, void* target, void* renderRect, void* pageRect)
+EWXWEXPORT(int,wxStyledTextCtrl_FormatRange)(void* _obj,bool doDraw,int startPos,int endPos,void* draw,void* target,void* renderRect,void* pageRect)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->FormatRange(doDraw, startPos, endPos, *(wxDC**) draw, *(wxDC**) target, *(wxRect*) renderRect, *(wxRect*) pageRect);
@@ -984,7 +984,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetFirstVisibleLine)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetFirstVisibleLine)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetFirstVisibleLine();
@@ -992,7 +992,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetLineCount)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetLineCount)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetLineCount();
@@ -1000,13 +1000,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetMarginLeft)(void* _obj, int pixelWidth)
+EWXWEXPORT(void,wxStyledTextCtrl_SetMarginLeft)(void* _obj,int pixelWidth)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetMarginLeft(pixelWidth);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetMarginLeft)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetMarginLeft)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetMarginLeft();
@@ -1014,13 +1014,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetMarginRight)(void* _obj, int pixelWidth)
+EWXWEXPORT(void,wxStyledTextCtrl_SetMarginRight)(void* _obj,int pixelWidth)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetMarginRight(pixelWidth);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetMarginRight)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetMarginRight)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetMarginRight();
@@ -1028,7 +1028,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_GetModify)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_GetModify)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetModify();
@@ -1036,19 +1036,19 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetSelection)(void* _obj, int start, int end)
+EWXWEXPORT(void,wxStyledTextCtrl_SetSelection)(void* _obj,int start,int end)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetSelection(start, end);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_HideSelection)(void* _obj, bool normal)
+EWXWEXPORT(void,wxStyledTextCtrl_HideSelection)(void* _obj,bool normal)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->HideSelection(normal);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_LineFromPosition)(void* _obj, int pos)
+EWXWEXPORT(int,wxStyledTextCtrl_LineFromPosition)(void* _obj,int pos)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->LineFromPosition(pos);
@@ -1056,7 +1056,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_PositionFromLine)(void* _obj, int line)
+EWXWEXPORT(int,wxStyledTextCtrl_PositionFromLine)(void* _obj,int line)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->PositionFromLine(line);
@@ -1064,31 +1064,31 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_LineScroll)(void* _obj, int columns, int lines)
+EWXWEXPORT(void,wxStyledTextCtrl_LineScroll)(void* _obj,int columns,int lines)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->LineScroll(columns, lines);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_EnsureCaretVisible)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_EnsureCaretVisible)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->EnsureCaretVisible();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_ReplaceSelection)(void* _obj, wxChar* text)
+EWXWEXPORT(void,wxStyledTextCtrl_ReplaceSelection)(void* _obj,wxString* text)
 {
 #ifdef wxUSE_STC
-   ((wxStyledTextCtrl*) _obj)->ReplaceSelection(text);
+   ((wxStyledTextCtrl*) _obj)->ReplaceSelection(*text);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetReadOnly)(void* _obj, bool readOnly)
+EWXWEXPORT(void,wxStyledTextCtrl_SetReadOnly)(void* _obj,bool readOnly)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetReadOnly(readOnly);
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_CanPaste)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_CanPaste)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->CanPaste();
@@ -1096,7 +1096,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_CanUndo)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_CanUndo)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->CanUndo();
@@ -1104,49 +1104,49 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_EmptyUndoBuffer)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_EmptyUndoBuffer)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->EmptyUndoBuffer();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_Undo)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_Undo)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->Undo();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_Cut)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_Cut)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->Cut();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_Copy)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_Copy)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->Copy();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_Paste)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_Paste)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->Paste();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_Clear)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_Clear)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->Clear();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetText)(void* _obj, wxChar* text)
+EWXWEXPORT(void,wxStyledTextCtrl_SetText)(void* _obj,wxString* text)
 {
 #ifdef wxUSE_STC
-   ((wxStyledTextCtrl*) _obj)->SetText(text);
+   ((wxStyledTextCtrl*) _obj)->SetText(*text);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetTextLength)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetTextLength)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetTextLength();
@@ -1154,13 +1154,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetOvertype)(void* _obj, bool overtype)
+EWXWEXPORT(void,wxStyledTextCtrl_SetOvertype)(void* _obj,bool overtype)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetOvertype(overtype);
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_GetOvertype)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_GetOvertype)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetOvertype();
@@ -1168,13 +1168,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetCaretWidth)(void* _obj, int pixelWidth)
+EWXWEXPORT(void,wxStyledTextCtrl_SetCaretWidth)(void* _obj,int pixelWidth)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetCaretWidth(pixelWidth);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetCaretWidth)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetCaretWidth)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetCaretWidth();
@@ -1182,13 +1182,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetTargetStart)(void* _obj, int pos)
+EWXWEXPORT(void,wxStyledTextCtrl_SetTargetStart)(void* _obj,int pos)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetTargetStart(pos);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetTargetStart)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetTargetStart)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetTargetStart();
@@ -1196,13 +1196,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetTargetEnd)(void* _obj, int pos)
+EWXWEXPORT(void,wxStyledTextCtrl_SetTargetEnd)(void* _obj,int pos)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetTargetEnd(pos);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetTargetEnd)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetTargetEnd)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetTargetEnd();
@@ -1210,37 +1210,37 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_ReplaceTarget)(void* _obj, wxChar* text)
+EWXWEXPORT(int,wxStyledTextCtrl_ReplaceTarget)(void* _obj,wxString* text)
 {
 #ifdef wxUSE_STC
-  return ((wxStyledTextCtrl*) _obj)->ReplaceTarget(text);
+  return ((wxStyledTextCtrl*) _obj)->ReplaceTarget(*text);
 #else
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_ReplaceTargetRE)(void* _obj, wxChar* text)
+EWXWEXPORT(int,wxStyledTextCtrl_ReplaceTargetRE)(void* _obj,wxString* text)
 {
 #ifdef wxUSE_STC
-  return ((wxStyledTextCtrl*) _obj)->ReplaceTargetRE(text);
+  return ((wxStyledTextCtrl*) _obj)->ReplaceTargetRE(*text);
 #else
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_SearchInTarget)(void* _obj, wxChar* text)
+EWXWEXPORT(int,wxStyledTextCtrl_SearchInTarget)(void* _obj,wxString* text)
 {
 #ifdef wxUSE_STC
-  return ((wxStyledTextCtrl*) _obj)->SearchInTarget(text);
+  return ((wxStyledTextCtrl*) _obj)->SearchInTarget(*text);
 #else
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetSearchFlags)(void* _obj, int flags)
+EWXWEXPORT(void,wxStyledTextCtrl_SetSearchFlags)(void* _obj,int flags)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetSearchFlags(flags);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetSearchFlags)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetSearchFlags)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetSearchFlags();
@@ -1248,19 +1248,19 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_CallTipShow)(void* _obj, int pos, wxChar* definition)
+EWXWEXPORT(void,wxStyledTextCtrl_CallTipShow)(void* _obj,int pos,wxString* definition)
 {
 #ifdef wxUSE_STC
-   ((wxStyledTextCtrl*) _obj)->CallTipShow(pos, definition);
+   ((wxStyledTextCtrl*) _obj)->CallTipShow(pos, *definition);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_CallTipCancel)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_CallTipCancel)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->CallTipCancel();
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_CallTipActive)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_CallTipActive)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->CallTipActive();
@@ -1268,7 +1268,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_CallTipPosAtStart)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_CallTipPosAtStart)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->CallTipPosAtStart();
@@ -1276,31 +1276,31 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_CallTipSetHighlight)(void* _obj, int start, int end)
+EWXWEXPORT(void,wxStyledTextCtrl_CallTipSetHighlight)(void* _obj,int start,int end)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->CallTipSetHighlight(start, end);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_CallTipSetBackground)(void* _obj, int back_r, int back_g, int back_b)
+EWXWEXPORT(void,wxStyledTextCtrl_CallTipSetBackground)(void* _obj,int back_r,int back_g,int back_b)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->CallTipSetBackground(wxColour(back_r,back_g,back_b));
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_CallTipSetForeground)(void* _obj, int fore_r, int fore_g, int fore_b)
+EWXWEXPORT(void,wxStyledTextCtrl_CallTipSetForeground)(void* _obj,int fore_r,int fore_g,int fore_b)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->CallTipSetForeground(wxColour(fore_r,fore_g,fore_b));
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_CallTipSetForegroundHighlight)(void* _obj, int fore_r, int fore_g, int fore_b)
+EWXWEXPORT(void,wxStyledTextCtrl_CallTipSetForegroundHighlight)(void* _obj,int fore_r,int fore_g,int fore_b)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->CallTipSetForegroundHighlight(wxColour(fore_r,fore_g,fore_b));
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_VisibleFromDocLine)(void* _obj, int line)
+EWXWEXPORT(int,wxStyledTextCtrl_VisibleFromDocLine)(void* _obj,int line)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->VisibleFromDocLine(line);
@@ -1308,7 +1308,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_DocLineFromVisible)(void* _obj, int lineDisplay)
+EWXWEXPORT(int,wxStyledTextCtrl_DocLineFromVisible)(void* _obj,int lineDisplay)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->DocLineFromVisible(lineDisplay);
@@ -1316,13 +1316,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetFoldLevel)(void* _obj, int line, int level)
+EWXWEXPORT(void,wxStyledTextCtrl_SetFoldLevel)(void* _obj,int line,int level)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetFoldLevel(line, level);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetFoldLevel)(void* _obj, int line)
+EWXWEXPORT(int,wxStyledTextCtrl_GetFoldLevel)(void* _obj,int line)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetFoldLevel(line);
@@ -1330,7 +1330,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetLastChild)(void* _obj, int line, int level)
+EWXWEXPORT(int,wxStyledTextCtrl_GetLastChild)(void* _obj,int line,int level)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetLastChild(line, level);
@@ -1338,7 +1338,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetFoldParent)(void* _obj, int line)
+EWXWEXPORT(int,wxStyledTextCtrl_GetFoldParent)(void* _obj,int line)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetFoldParent(line);
@@ -1346,19 +1346,19 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_ShowLines)(void* _obj, int lineStart, int lineEnd)
+EWXWEXPORT(void,wxStyledTextCtrl_ShowLines)(void* _obj,int lineStart,int lineEnd)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->ShowLines(lineStart, lineEnd);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_HideLines)(void* _obj, int lineStart, int lineEnd)
+EWXWEXPORT(void,wxStyledTextCtrl_HideLines)(void* _obj,int lineStart,int lineEnd)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->HideLines(lineStart, lineEnd);
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_GetLineVisible)(void* _obj, int line)
+EWXWEXPORT(bool,wxStyledTextCtrl_GetLineVisible)(void* _obj,int line)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetLineVisible(line);
@@ -1366,13 +1366,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetFoldExpanded)(void* _obj, int line, bool expanded)
+EWXWEXPORT(void,wxStyledTextCtrl_SetFoldExpanded)(void* _obj,int line,bool expanded)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetFoldExpanded(line, expanded);
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_GetFoldExpanded)(void* _obj, int line)
+EWXWEXPORT(bool,wxStyledTextCtrl_GetFoldExpanded)(void* _obj,int line)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetFoldExpanded(line);
@@ -1380,37 +1380,37 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_ToggleFold)(void* _obj, int line)
+EWXWEXPORT(void,wxStyledTextCtrl_ToggleFold)(void* _obj,int line)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->ToggleFold(line);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_EnsureVisible)(void* _obj, int line)
+EWXWEXPORT(void,wxStyledTextCtrl_EnsureVisible)(void* _obj,int line)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->EnsureVisible(line);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetFoldFlags)(void* _obj, int flags)
+EWXWEXPORT(void,wxStyledTextCtrl_SetFoldFlags)(void* _obj,int flags)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetFoldFlags(flags);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_EnsureVisibleEnforcePolicy)(void* _obj, int line)
+EWXWEXPORT(void,wxStyledTextCtrl_EnsureVisibleEnforcePolicy)(void* _obj,int line)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->EnsureVisibleEnforcePolicy(line);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetTabIndents)(void* _obj, bool tabIndents)
+EWXWEXPORT(void,wxStyledTextCtrl_SetTabIndents)(void* _obj,bool tabIndents)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetTabIndents(tabIndents);
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_GetTabIndents)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_GetTabIndents)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetTabIndents();
@@ -1418,13 +1418,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetBackSpaceUnIndents)(void* _obj, bool bsUnIndents)
+EWXWEXPORT(void,wxStyledTextCtrl_SetBackSpaceUnIndents)(void* _obj,bool bsUnIndents)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetBackSpaceUnIndents(bsUnIndents);
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_GetBackSpaceUnIndents)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_GetBackSpaceUnIndents)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetBackSpaceUnIndents();
@@ -1432,13 +1432,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetMouseDwellTime)(void* _obj, int periodMilliseconds)
+EWXWEXPORT(void,wxStyledTextCtrl_SetMouseDwellTime)(void* _obj,int periodMilliseconds)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetMouseDwellTime(periodMilliseconds);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetMouseDwellTime)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetMouseDwellTime)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetMouseDwellTime();
@@ -1446,7 +1446,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_WordStartPosition)(void* _obj, int pos, bool onlyWordCharacters)
+EWXWEXPORT(int,wxStyledTextCtrl_WordStartPosition)(void* _obj,int pos,bool onlyWordCharacters)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->WordStartPosition(pos, onlyWordCharacters);
@@ -1454,7 +1454,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_WordEndPosition)(void* _obj, int pos, bool onlyWordCharacters)
+EWXWEXPORT(int,wxStyledTextCtrl_WordEndPosition)(void* _obj,int pos,bool onlyWordCharacters)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->WordEndPosition(pos, onlyWordCharacters);
@@ -1462,13 +1462,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetWrapMode)(void* _obj, int mode)
+EWXWEXPORT(void,wxStyledTextCtrl_SetWrapMode)(void* _obj,int mode)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetWrapMode(mode);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetWrapMode)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetWrapMode)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetWrapMode();
@@ -1476,13 +1476,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetLayoutCache)(void* _obj, int mode)
+EWXWEXPORT(void,wxStyledTextCtrl_SetLayoutCache)(void* _obj,int mode)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetLayoutCache(mode);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetLayoutCache)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetLayoutCache)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetLayoutCache();
@@ -1490,13 +1490,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetScrollWidth)(void* _obj, int pixelWidth)
+EWXWEXPORT(void,wxStyledTextCtrl_SetScrollWidth)(void* _obj,int pixelWidth)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetScrollWidth(pixelWidth);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetScrollWidth)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetScrollWidth)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetScrollWidth();
@@ -1504,21 +1504,21 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_TextWidth)(void* _obj, int style, wxChar* text)
+EWXWEXPORT(int,wxStyledTextCtrl_TextWidth)(void* _obj,int style,wxString* text)
 {
 #ifdef wxUSE_STC
-  return ((wxStyledTextCtrl*) _obj)->TextWidth(style, text);
+  return ((wxStyledTextCtrl*) _obj)->TextWidth(style, *text);
 #else
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetEndAtLastLine)(void* _obj, bool endAtLastLine)
+EWXWEXPORT(void,wxStyledTextCtrl_SetEndAtLastLine)(void* _obj,bool endAtLastLine)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetEndAtLastLine(endAtLastLine);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetEndAtLastLine)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetEndAtLastLine)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetEndAtLastLine();
@@ -1526,7 +1526,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_TextHeight)(void* _obj, int line)
+EWXWEXPORT(int,wxStyledTextCtrl_TextHeight)(void* _obj,int line)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->TextHeight(line);
@@ -1534,13 +1534,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetUseVerticalScrollBar)(void* _obj, bool show)
+EWXWEXPORT(void,wxStyledTextCtrl_SetUseVerticalScrollBar)(void* _obj,bool show)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetUseVerticalScrollBar(show);
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_GetUseVerticalScrollBar)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_GetUseVerticalScrollBar)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetUseVerticalScrollBar();
@@ -1548,13 +1548,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_AppendText)(void* _obj, wxChar* text)
+EWXWEXPORT(void,wxStyledTextCtrl_AppendText)(void* _obj,wxString* text)
 {
 #ifdef wxUSE_STC
-   ((wxStyledTextCtrl*) _obj)->AppendText(text);
+   ((wxStyledTextCtrl*) _obj)->AppendText(*text);
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_GetTwoPhaseDraw)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_GetTwoPhaseDraw)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetTwoPhaseDraw();
@@ -1562,85 +1562,85 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetTwoPhaseDraw)(void* _obj, bool twoPhase)
+EWXWEXPORT(void,wxStyledTextCtrl_SetTwoPhaseDraw)(void* _obj,bool twoPhase)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetTwoPhaseDraw(twoPhase);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_TargetFromSelection)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_TargetFromSelection)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->TargetFromSelection();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_LinesJoin)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_LinesJoin)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->LinesJoin();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_LinesSplit)(void* _obj, int pixelWidth)
+EWXWEXPORT(void,wxStyledTextCtrl_LinesSplit)(void* _obj,int pixelWidth)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->LinesSplit(pixelWidth);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetFoldMarginColour)(void* _obj, bool useSetting, int back_r, int back_g, int back_b)
+EWXWEXPORT(void,wxStyledTextCtrl_SetFoldMarginColour)(void* _obj,bool useSetting,int back_r,int back_g,int back_b)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetFoldMarginColour(useSetting, wxColour(back_r,back_g,back_b));
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetFoldMarginHiColour)(void* _obj, bool useSetting, int fore_r, int fore_g, int fore_b)
+EWXWEXPORT(void,wxStyledTextCtrl_SetFoldMarginHiColour)(void* _obj,bool useSetting,int fore_r,int fore_g,int fore_b)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetFoldMarginHiColour(useSetting, wxColour(fore_r,fore_g,fore_b));
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_LineDuplicate)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_LineDuplicate)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->LineDuplicate();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_HomeDisplay)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_HomeDisplay)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->HomeDisplay();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_HomeDisplayExtend)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_HomeDisplayExtend)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->HomeDisplayExtend();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_LineEndDisplay)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_LineEndDisplay)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->LineEndDisplay();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_LineEndDisplayExtend)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_LineEndDisplayExtend)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->LineEndDisplayExtend();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_LineCopy)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_LineCopy)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->LineCopy();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_MoveCaretInsideView)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_MoveCaretInsideView)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->MoveCaretInsideView();
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_LineLength)(void* _obj, int line)
+EWXWEXPORT(int,wxStyledTextCtrl_LineLength)(void* _obj,int line)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->LineLength(line);
@@ -1648,19 +1648,19 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_BraceHighlight)(void* _obj, int pos1, int pos2)
+EWXWEXPORT(void,wxStyledTextCtrl_BraceHighlight)(void* _obj,int pos1,int pos2)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->BraceHighlight(pos1, pos2);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_BraceBadLight)(void* _obj, int pos)
+EWXWEXPORT(void,wxStyledTextCtrl_BraceBadLight)(void* _obj,int pos)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->BraceBadLight(pos);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_BraceMatch)(void* _obj, int pos)
+EWXWEXPORT(int,wxStyledTextCtrl_BraceMatch)(void* _obj,int pos)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->BraceMatch(pos);
@@ -1668,7 +1668,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_GetViewEOL)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_GetViewEOL)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetViewEOL();
@@ -1676,25 +1676,25 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetViewEOL)(void* _obj, bool visible)
+EWXWEXPORT(void,wxStyledTextCtrl_SetViewEOL)(void* _obj,bool visible)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetViewEOL(visible);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetDocPointer)(void* _obj, void* docPointer)
+EWXWEXPORT(void,wxStyledTextCtrl_SetDocPointer)(void* _obj,void* docPointer)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetDocPointer(docPointer);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetModEventMask)(void* _obj, int mask)
+EWXWEXPORT(void,wxStyledTextCtrl_SetModEventMask)(void* _obj,int mask)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetModEventMask(mask);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetEdgeColumn)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetEdgeColumn)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetEdgeColumn();
@@ -1702,13 +1702,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetEdgeColumn)(void* _obj, int column)
+EWXWEXPORT(void,wxStyledTextCtrl_SetEdgeColumn)(void* _obj,int column)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetEdgeColumn(column);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetEdgeMode)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetEdgeMode)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetEdgeMode();
@@ -1716,41 +1716,41 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetEdgeMode)(void* _obj, int mode)
+EWXWEXPORT(void,wxStyledTextCtrl_SetEdgeMode)(void* _obj,int mode)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetEdgeMode(mode);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetEdgeColour)(void* _obj, int edgeColour_r, int edgeColour_g, int edgeColour_b)
+EWXWEXPORT(void,wxStyledTextCtrl_SetEdgeColour)(void* _obj,int edgeColour_r,int edgeColour_g,int edgeColour_b)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetEdgeColour(wxColour(edgeColour_r,edgeColour_g,edgeColour_b));
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SearchAnchor)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_SearchAnchor)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SearchAnchor();
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_SearchNext)(void* _obj, int flags, wxChar* text)
+EWXWEXPORT(int,wxStyledTextCtrl_SearchNext)(void* _obj,int flags,wxString* text)
 {
 #ifdef wxUSE_STC
-  return ((wxStyledTextCtrl*) _obj)->SearchNext(flags, text);
+  return ((wxStyledTextCtrl*) _obj)->SearchNext(flags, *text);
 #else
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_SearchPrev)(void* _obj, int flags, wxChar* text)
+EWXWEXPORT(int,wxStyledTextCtrl_SearchPrev)(void* _obj,int flags,wxString* text)
 {
 #ifdef wxUSE_STC
-  return ((wxStyledTextCtrl*) _obj)->SearchPrev(flags, text);
+  return ((wxStyledTextCtrl*) _obj)->SearchPrev(flags, *text);
 #else
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_LinesOnScreen)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_LinesOnScreen)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->LinesOnScreen();
@@ -1758,13 +1758,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_UsePopUp)(void* _obj, bool allowPopUp)
+EWXWEXPORT(void,wxStyledTextCtrl_UsePopUp)(void* _obj,bool allowPopUp)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->UsePopUp(allowPopUp);
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_SelectionIsRectangle)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_SelectionIsRectangle)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->SelectionIsRectangle();
@@ -1772,13 +1772,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetZoom)(void* _obj, int zoom)
+EWXWEXPORT(void,wxStyledTextCtrl_SetZoom)(void* _obj,int zoom)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetZoom(zoom);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetZoom)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetZoom)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetZoom();
@@ -1786,19 +1786,19 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_AddRefDocument)(void* _obj, void* docPointer)
+EWXWEXPORT(void,wxStyledTextCtrl_AddRefDocument)(void* _obj,void* docPointer)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->AddRefDocument(docPointer);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_ReleaseDocument)(void* _obj, void* docPointer)
+EWXWEXPORT(void,wxStyledTextCtrl_ReleaseDocument)(void* _obj,void* docPointer)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->ReleaseDocument(docPointer);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetModEventMask)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetModEventMask)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetModEventMask();
@@ -1806,13 +1806,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetSTCFocus)(void* _obj, bool focus)
+EWXWEXPORT(void,wxStyledTextCtrl_SetSTCFocus)(void* _obj,bool focus)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetSTCFocus(focus);
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_GetSTCFocus)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_GetSTCFocus)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetSTCFocus();
@@ -1820,13 +1820,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetStatus)(void* _obj, int statusCode)
+EWXWEXPORT(void,wxStyledTextCtrl_SetStatus)(void* _obj,int statusCode)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetStatus(statusCode);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetStatus)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetStatus)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetStatus();
@@ -1834,13 +1834,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetMouseDownCaptures)(void* _obj, bool captures)
+EWXWEXPORT(void,wxStyledTextCtrl_SetMouseDownCaptures)(void* _obj,bool captures)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetMouseDownCaptures(captures);
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_GetMouseDownCaptures)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_GetMouseDownCaptures)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetMouseDownCaptures();
@@ -1848,13 +1848,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetSTCCursor)(void* _obj, int cursorType)
+EWXWEXPORT(void,wxStyledTextCtrl_SetSTCCursor)(void* _obj,int cursorType)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetSTCCursor(cursorType);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetSTCCursor)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetSTCCursor)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetSTCCursor();
@@ -1862,13 +1862,13 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetControlCharSymbol)(void* _obj, int symbol)
+EWXWEXPORT(void,wxStyledTextCtrl_SetControlCharSymbol)(void* _obj,int symbol)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetControlCharSymbol(symbol);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetControlCharSymbol)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetControlCharSymbol)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetControlCharSymbol();
@@ -1876,55 +1876,55 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_WordPartLeft)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_WordPartLeft)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->WordPartLeft();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_WordPartLeftExtend)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_WordPartLeftExtend)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->WordPartLeftExtend();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_WordPartRight)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_WordPartRight)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->WordPartRight();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_WordPartRightExtend)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_WordPartRightExtend)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->WordPartRightExtend();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetVisiblePolicy)(void* _obj, int visiblePolicy, int visibleSlop)
+EWXWEXPORT(void,wxStyledTextCtrl_SetVisiblePolicy)(void* _obj,int visiblePolicy,int visibleSlop)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetVisiblePolicy(visiblePolicy, visibleSlop);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_DelLineLeft)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_DelLineLeft)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->DelLineLeft();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_DelLineRight)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_DelLineRight)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->DelLineRight();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetXOffset)(void* _obj, int newOffset)
+EWXWEXPORT(void,wxStyledTextCtrl_SetXOffset)(void* _obj,int newOffset)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetXOffset(newOffset);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetXOffset)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetXOffset)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetXOffset();
@@ -1932,31 +1932,31 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_ChooseCaretX)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_ChooseCaretX)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->ChooseCaretX();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetXCaretPolicy)(void* _obj, int caretPolicy, int caretSlop)
+EWXWEXPORT(void,wxStyledTextCtrl_SetXCaretPolicy)(void* _obj,int caretPolicy,int caretSlop)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetXCaretPolicy(caretPolicy, caretSlop);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetYCaretPolicy)(void* _obj, int caretPolicy, int caretSlop)
+EWXWEXPORT(void,wxStyledTextCtrl_SetYCaretPolicy)(void* _obj,int caretPolicy,int caretSlop)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetYCaretPolicy(caretPolicy, caretSlop);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetPrintWrapMode)(void* _obj, int mode)
+EWXWEXPORT(void,wxStyledTextCtrl_SetPrintWrapMode)(void* _obj,int mode)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetPrintWrapMode(mode);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetPrintWrapMode)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetPrintWrapMode)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetPrintWrapMode();
@@ -1964,25 +1964,25 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetHotspotActiveForeground)(void* _obj, bool useSetting, int fore_r, int fore_g, int fore_b)
+EWXWEXPORT(void,wxStyledTextCtrl_SetHotspotActiveForeground)(void* _obj,bool useSetting,int fore_r,int fore_g,int fore_b)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetHotspotActiveForeground(useSetting, wxColour(fore_r,fore_g,fore_b));
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetHotspotActiveBackground)(void* _obj, bool useSetting, int back_r, int back_g, int back_b)
+EWXWEXPORT(void,wxStyledTextCtrl_SetHotspotActiveBackground)(void* _obj,bool useSetting,int back_r,int back_g,int back_b)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetHotspotActiveBackground(useSetting, wxColour(back_r,back_g,back_b));
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetHotspotActiveUnderline)(void* _obj, bool underline)
+EWXWEXPORT(void,wxStyledTextCtrl_SetHotspotActiveUnderline)(void* _obj,bool underline)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetHotspotActiveUnderline(underline);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_PositionBefore)(void* _obj, int pos)
+EWXWEXPORT(int,wxStyledTextCtrl_PositionBefore)(void* _obj,int pos)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->PositionBefore(pos);
@@ -1990,7 +1990,7 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_PositionAfter)(void* _obj, int pos)
+EWXWEXPORT(int,wxStyledTextCtrl_PositionAfter)(void* _obj,int pos)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->PositionAfter(pos);
@@ -1998,37 +1998,37 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_CopyRange)(void* _obj, int start, int end)
+EWXWEXPORT(void,wxStyledTextCtrl_CopyRange)(void* _obj,int start,int end)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->CopyRange(start, end);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_CopyText)(void* _obj, int length, wxChar* text)
+EWXWEXPORT(void,wxStyledTextCtrl_CopyText)(void* _obj,int length,wxString* text)
 {
 #ifdef wxUSE_STC
-   ((wxStyledTextCtrl*) _obj)->CopyText(length, text);
+   ((wxStyledTextCtrl*) _obj)->CopyText(length, *text);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_StartRecord)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_StartRecord)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->StartRecord();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_StopRecord)(void* _obj)
+EWXWEXPORT(void,wxStyledTextCtrl_StopRecord)(void* _obj)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->StopRecord();
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetLexer)(void* _obj, int lexer)
+EWXWEXPORT(void,wxStyledTextCtrl_SetLexer)(void* _obj,int lexer)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetLexer(lexer);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetLexer)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetLexer)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetLexer();
@@ -2036,31 +2036,31 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_Colourise)(void* _obj, int start, int end)
+EWXWEXPORT(void,wxStyledTextCtrl_Colourise)(void* _obj,int start,int end)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->Colourise(start, end);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetProperty)(void* _obj, wxChar* key, wxChar* value)
+EWXWEXPORT(void,wxStyledTextCtrl_SetProperty)(void* _obj,wxString* key,wxString* value)
 {
 #ifdef wxUSE_STC
-   ((wxStyledTextCtrl*) _obj)->SetProperty(key, value);
+   ((wxStyledTextCtrl*) _obj)->SetProperty(*key, *value);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetKeyWords)(void* _obj, int keywordSet, wxChar* keyWords)
+EWXWEXPORT(void,wxStyledTextCtrl_SetKeyWords)(void* _obj,int keywordSet,wxString* keyWords)
 {
 #ifdef wxUSE_STC
-   ((wxStyledTextCtrl*) _obj)->SetKeyWords(keywordSet, keyWords);
+   ((wxStyledTextCtrl*) _obj)->SetKeyWords(keywordSet, *keyWords);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetLexerLanguage)(void* _obj, wxChar* language)
+EWXWEXPORT(void,wxStyledTextCtrl_SetLexerLanguage)(void* _obj,wxString* language)
 {
 #ifdef wxUSE_STC
-   ((wxStyledTextCtrl*) _obj)->SetLexerLanguage(language);
+   ((wxStyledTextCtrl*) _obj)->SetLexerLanguage(*language);
 #endif
 }
-EWXWEXPORT(int, wxStyledTextCtrl_GetCurrentLine)(void* _obj)
+EWXWEXPORT(int,wxStyledTextCtrl_GetCurrentLine)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetCurrentLine();
@@ -2068,67 +2068,67 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_StyleSetSpec)(void* _obj, int styleNum, wxChar* spec)
+EWXWEXPORT(void,wxStyledTextCtrl_StyleSetSpec)(void* _obj,int styleNum,wxString* spec)
 {
 #ifdef wxUSE_STC
-   ((wxStyledTextCtrl*) _obj)->StyleSetSpec(styleNum, spec);
+   ((wxStyledTextCtrl*) _obj)->StyleSetSpec(styleNum, *spec);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_StyleSetFont)(void* _obj, int styleNum, void* font)
+EWXWEXPORT(void,wxStyledTextCtrl_StyleSetFont)(void* _obj,int styleNum,void* font)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->StyleSetFont(styleNum, *(wxFont*) font);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_StyleSetFontAttr)(void* _obj, int styleNum, int size, wxChar* faceName, bool bold, bool italic, bool underline)
+EWXWEXPORT(void,wxStyledTextCtrl_StyleSetFontAttr)(void* _obj,int styleNum,int size,wxString* faceName,bool bold,bool italic,bool underline)
 {
 #ifdef wxUSE_STC
-   ((wxStyledTextCtrl*) _obj)->StyleSetFontAttr(styleNum, size, faceName, bold, italic, underline);
+   ((wxStyledTextCtrl*) _obj)->StyleSetFontAttr(styleNum, size, *faceName, bold, italic, underline);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_CmdKeyExecute)(void* _obj, int cmd)
+EWXWEXPORT(void,wxStyledTextCtrl_CmdKeyExecute)(void* _obj,int cmd)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->CmdKeyExecute(cmd);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetMargins)(void* _obj, int left, int right)
+EWXWEXPORT(void,wxStyledTextCtrl_SetMargins)(void* _obj,int left,int right)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetMargins(left, right);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_GetSelection)(void* _obj, void* startPos, void* endPos)
+EWXWEXPORT(void,wxStyledTextCtrl_GetSelection)(void* _obj,void* startPos,void* endPos)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->GetSelection(*(int**) startPos, *(int**) endPos);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_ScrollToLine)(void* _obj, int line)
+EWXWEXPORT(void,wxStyledTextCtrl_ScrollToLine)(void* _obj,int line)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->ScrollToLine(line);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_ScrollToColumn)(void* _obj, int column)
+EWXWEXPORT(void,wxStyledTextCtrl_ScrollToColumn)(void* _obj,int column)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->ScrollToColumn(column);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetVScrollBar)(void* _obj, void* bar)
+EWXWEXPORT(void,wxStyledTextCtrl_SetVScrollBar)(void* _obj,void* bar)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetVScrollBar(*(wxScrollBar**) bar);
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetHScrollBar)(void* _obj, void* bar)
+EWXWEXPORT(void,wxStyledTextCtrl_SetHScrollBar)(void* _obj,void* bar)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetHScrollBar(*(wxScrollBar**) bar);
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_GetLastKeydownProcessed)(void* _obj)
+EWXWEXPORT(bool,wxStyledTextCtrl_GetLastKeydownProcessed)(void* _obj)
 {
 #ifdef wxUSE_STC
   return ((wxStyledTextCtrl*) _obj)->GetLastKeydownProcessed();
@@ -2136,24 +2136,24 @@
   return NULL;
 #endif
 }
-EWXWEXPORT(void, wxStyledTextCtrl_SetLastKeydownProcessed)(void* _obj, bool val)
+EWXWEXPORT(void,wxStyledTextCtrl_SetLastKeydownProcessed)(void* _obj,bool val)
 {
 #ifdef wxUSE_STC
    ((wxStyledTextCtrl*) _obj)->SetLastKeydownProcessed(val);
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_SaveFile)(void* _obj, wxChar* filename)
+EWXWEXPORT(bool,wxStyledTextCtrl_SaveFile)(void* _obj,wxString* filename)
 {
 #ifdef wxUSE_STC
-  return ((wxStyledTextCtrl*) _obj)->SaveFile(filename);
+  return ((wxStyledTextCtrl*) _obj)->SaveFile(*filename);
 #else
   return NULL;
 #endif
 }
-EWXWEXPORT(bool, wxStyledTextCtrl_LoadFile)(void* _obj, wxChar* filename)
+EWXWEXPORT(bool,wxStyledTextCtrl_LoadFile)(void* _obj,wxString* filename)
 {
 #ifdef wxUSE_STC
-  return ((wxStyledTextCtrl*) _obj)->LoadFile(filename);
+  return ((wxStyledTextCtrl*) _obj)->LoadFile(*filename);
 #else
   return NULL;
 #endif
diff --git a/wxc/src/std.cpp b/wxc/src/std.cpp
new file mode 100644
--- /dev/null
+++ b/wxc/src/std.cpp
@@ -0,0 +1,27 @@
+#include "wrapper.h"
+
+/*-----------------------------------------------------------------------------
+  License: BSD-style (BSD3)
+
+  We sometimes want to use standard C++ types, containers and algorithms, for
+  clean-up our code. Unfortunately, most platorms' FFI just support C language,
+  not support C++ and its libraries. So, we define C-function to use standard
+  C++ types, containers and algorithms in this place.
+-----------------------------------------------------------------------------*/
+
+extern "C"
+{
+/*-----------------------------------------------------------------------------
+  Boolean types, e.g. C++ bool and C99 _Bool
+-----------------------------------------------------------------------------*/
+EWXWEXPORT(int,boolToInt)(bool val)
+{
+	return val ? 1 :  0;
+}
+
+EWXWEXPORT(bool,intToBool)(int val)
+{
+	return val!= 0 ? true : false;
+}
+
+}
diff --git a/wxc/src/taskbaricon.cpp b/wxc/src/taskbaricon.cpp
--- a/wxc/src/taskbaricon.cpp
+++ b/wxc/src/taskbaricon.cpp
@@ -5,12 +5,12 @@
 /*-----------------------------------------------------------------------------
   TaskBarIcon
 -----------------------------------------------------------------------------*/
-EWXWEXPORT(wxTaskBarIcon*,wxTaskBarIcon_Create)( )
+EWXWEXPORT(wxTaskBarIcon*,wxTaskBarIcon_Create)()
 {
   return new wxTaskBarIcon();
 }
 
-EWXWEXPORT(void,wxTaskBarIcon_Delete)(wxTaskBarIcon* self)  
+EWXWEXPORT(void,wxTaskBarIcon_Delete)(wxTaskBarIcon* self)
 {
   if (self) delete self;
 }
@@ -36,7 +36,7 @@
 #endif
 }
 
-EWXWEXPORT(bool,wxTaskBarIcon_PopupMenu)( wxTaskBarIcon* self, wxMenu* menu)
+EWXWEXPORT(bool,wxTaskBarIcon_PopupMenu)(wxTaskBarIcon* self,wxMenu* menu)
 {
   return self->PopupMenu(menu);
 }
@@ -46,9 +46,9 @@
   return self->RemoveIcon();
 }
 
-EWXWEXPORT(bool,wxTaskBarIcon_SetIcon)( wxTaskBarIcon* self, const wxIcon& icon, const wxChar* tooltip)
+EWXWEXPORT(bool,wxTaskBarIcon_SetIcon)(wxTaskBarIcon* self,wxIcon* icon,wxString* tooltip)
 {
-  return self->SetIcon(icon, (tooltip ? wxString(tooltip) : *wxEmptyString));
+  return self->SetIcon(*icon, (tooltip ? *tooltip : *wxEmptyString));
 }
 
 EWXWEXPORT(int,expEVT_TASKBAR_MOVE)()
diff --git a/wxc/src/treectrl.cpp b/wxc/src/treectrl.cpp
--- a/wxc/src/treectrl.cpp
+++ b/wxc/src/treectrl.cpp
@@ -27,41 +27,41 @@
 extern "C"
 {
 
-EWXWEXPORT(wxcTreeItemData*,wxcTreeItemData_Create)( wxClosure* closure )
+EWXWEXPORT(wxcTreeItemData*,wxcTreeItemData_Create)(wxClosure* closure)
 {
-  return new wxcTreeItemData(closure);
+	return new wxcTreeItemData(closure);
 }
 
-EWXWEXPORT(wxClosure*,wxcTreeItemData_GetClientClosure)( wxcTreeItemData* self )
+EWXWEXPORT(wxClosure*,wxcTreeItemData_GetClientClosure)(wxcTreeItemData* self)
 {
-  return self->GetClientClosure();
+	return self->GetClientClosure();
 }
 
-EWXWEXPORT(void,wxcTreeItemData_SetClientClosure)( wxcTreeItemData* self, wxClosure* closure )
+EWXWEXPORT(void,wxcTreeItemData_SetClientClosure)(wxcTreeItemData* self,wxClosure* closure)
 {
-  self->SetClientClosure(closure);
+	self->SetClientClosure(closure);
 }
 
-EWXWEXPORT(void*, wxTreeItemId_Create) ()
+EWXWEXPORT(void*,wxTreeItemId_Create)()
 {
 	return new wxTreeItemId();
 }
 
-EWXWEXPORT(void, wxTreeItemId_Delete) (void* _obj)
+EWXWEXPORT(void,wxTreeItemId_Delete)(void* _obj)
 {
 	delete (wxTreeItemId*)_obj;
 }
 
-EWXWEXPORT(int, wxTreeItemId_IsOk) (void* _obj)
+EWXWEXPORT(bool,wxTreeItemId_IsOk)(wxTreeItemId* _obj)
 {
-	return (int)((wxTreeItemId*)_obj)->IsOk();
+	return _obj->IsOk();
 }
 
-EWXWEXPORT(wxTreeItemId*, wxTreeItemId_Clone) (wxTreeItemId* _obj)
+EWXWEXPORT(wxTreeItemId*,wxTreeItemId_Clone)(wxTreeItemId* _obj)
 {
-    wxTreeItemId* clone = new wxTreeItemId();
-    *clone = *_obj;
-    return clone;
+	wxTreeItemId* clone = new wxTreeItemId();
+	*clone = *_obj;
+	return clone;
 }
 
 // FIXME: wxHaskell uses this function in Graphics.UI.WXCore.WxcTypes.withTreeItemIdPtr
@@ -74,7 +74,7 @@
 //
 // So we must remove this function and replace treeItemId implementation in the
 // funture.
-EWXWEXPORT(wxTreeItemId*, wxTreeItemId_CreateFromValue) (int value)
+EWXWEXPORT(wxTreeItemId*,wxTreeItemId_CreateFromValue)(int value)
 {
 #if wxVERSION_NUMBER < 2800
     return new wxTreeItemId( value );
@@ -86,39 +86,39 @@
 #endif
 }
 
-EWXWEXPORT(int, wxTreeItemId_GetValue) (wxTreeItemId* _obj)
+EWXWEXPORT(int,wxTreeItemId_GetValue)(wxTreeItemId* _obj)
 {
     return (long)(_obj->m_pItem);
 }
 
 
-EWXWEXPORT(const wxKeyEvent*,wxTreeEvent_GetKeyEvent)(wxTreeEvent* _obj)
+EWXWEXPORT(wxKeyEvent*,wxTreeEvent_GetKeyEvent)(wxTreeEvent* _obj)
 {
-  return &(_obj->GetKeyEvent());
+	return (wxKeyEvent*)&(_obj->GetKeyEvent());
 }
 
-EWXWEXPORT(int,wxTreeEvent_IsEditCancelled)(wxTreeEvent* _obj)
+EWXWEXPORT(bool,wxTreeEvent_IsEditCancelled)(wxTreeEvent* _obj)
 {
-  return _obj->IsEditCancelled();
+	return _obj->IsEditCancelled();
 }
 
 EWXWEXPORT(void,wxTreeEvent_Allow)(wxTreeEvent* _obj)
 {
-  _obj->Allow();
+	_obj->Allow();
 }
 
 
-EWXWEXPORT(void*, wxTreeCtrl_Create) (void* _obj, void* _cmp, void* _prt, int _id, int _lft, int _top, int _wdt, int _hgt, int _stl)
+EWXWEXPORT(void*,wxTreeCtrl_Create)(void* _obj,void* _cmp,wxWindow* _prt,int _id,int _lft,int _top,int _wdt,int _hgt,int _stl)
 {
-	return (void*) new wxTreeCtrl ((wxWindow*)_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, wxDefaultValidator);
+	return (void*) new wxTreeCtrl (_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, wxDefaultValidator);
 }
 
-EWXWEXPORT(void*, wxTreeCtrl_Create2) (void* _prt, int _id, int _lft, int _top, int _wdt, int _hgt, int _stl)
+EWXWEXPORT(void*,wxTreeCtrl_Create2)(wxWindow* _prt,int _id,int _lft,int _top,int _wdt,int _hgt,int _stl)
 {
-	return (void*) new wxTreeCtrl ((wxWindow*)_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, wxDefaultValidator);
+	return (void*) new wxTreeCtrl (_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, wxDefaultValidator);
 }
 
-EWXWEXPORT(int, wxTreeCtrl_GetCount)(void* _obj)
+EWXWEXPORT(int,wxTreeCtrl_GetCount)(void* _obj)
 {
 	int result =(int)((wxTreeCtrl*)_obj)->GetCount();
 #ifdef __WXGTK__
@@ -128,111 +128,112 @@
 	return result;
 }
 	
-EWXWEXPORT(int, wxTreeCtrl_GetIndent)(void* _obj)
+EWXWEXPORT(int,wxTreeCtrl_GetIndent)(void* _obj)
 {
 	return ((wxTreeCtrl*)_obj)->GetIndent();
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_SetIndent)(void* _obj, int indent)
+EWXWEXPORT(void,wxTreeCtrl_SetIndent)(void* _obj,int indent)
 {
 	((wxTreeCtrl*)_obj)->SetIndent(indent);
 }
 	
-EWXWEXPORT(int, wxTreeCtrl_GetSpacing)(void* _obj)
+EWXWEXPORT(int,wxTreeCtrl_GetSpacing)(void* _obj)
 {
 	return (int)((wxTreeCtrl*)_obj)->GetSpacing();
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_SetSpacing)(void* _obj, int spacing)
+EWXWEXPORT(void,wxTreeCtrl_SetSpacing)(void* _obj,int spacing)
 {
 	((wxTreeCtrl*)_obj)->SetSpacing(spacing);
 }
 	
-EWXWEXPORT(void*, wxTreeCtrl_GetImageList)(void* _obj)
+EWXWEXPORT(void*,wxTreeCtrl_GetImageList)(void* _obj)
 {
 	return (void*)((wxTreeCtrl*)_obj)->GetImageList();
 }
 	
-EWXWEXPORT(void*, wxTreeCtrl_GetStateImageList)(void* _obj)
+EWXWEXPORT(void*,wxTreeCtrl_GetStateImageList)(void* _obj)
 {
 	return (void*)((wxTreeCtrl*)_obj)->GetStateImageList();
 }
 
-EWXWEXPORT(void, wxTreeCtrl_AssignImageList)(wxTreeCtrl* _obj, wxImageList* imageList )
+EWXWEXPORT(void,wxTreeCtrl_AssignImageList)(wxTreeCtrl* _obj,wxImageList* imageList)
 {
-  _obj->AssignImageList(imageList);
+	_obj->AssignImageList(imageList);
 }
 
-EWXWEXPORT(void, wxTreeCtrl_AssignStateImageList)(wxTreeCtrl* _obj, wxImageList* imageList )
+EWXWEXPORT(void,wxTreeCtrl_AssignStateImageList)(wxTreeCtrl* _obj,wxImageList* imageList)
 {
-  _obj->AssignStateImageList(imageList);
+	_obj->AssignStateImageList(imageList);
 }
 
 /*
-EWXWEXPORT(wxImageList*, wxTreeCtrl_GetButtonsImageList)(wxTreeCtrl* _obj)
+EWXWEXPORT(wxImageList*,wxTreeCtrl_GetButtonsImageList)(wxTreeCtrl* _obj)
 {
-  return _obj->GetButtonsImageList();
+	return _obj->GetButtonsImageList();
 }
 
-EWXWEXPORT(void, wxTreeCtrl_SetButtonsImageList)(wxTreeCtrl* _obj, wxImageList* imageList )
+EWXWEXPORT(void,wxTreeCtrl_SetButtonsImageList)(wxTreeCtrl* _obj,wxImageList* imageList)
 {
-  _obj->SetButtonsImageList(imageList);
+	_obj->SetButtonsImageList(imageList);
 }
 
-EWXWEXPORT(void, wxTreeCtrl_AssignButtonsImageList)(wxTreeCtrl* _obj, wxImageList* imageList )
+EWXWEXPORT(void,wxTreeCtrl_AssignButtonsImageList)(wxTreeCtrl* _obj,wxImageList* imageList)
 {
-  _obj->AssignButtonsImageList(imageList);
+	_obj->AssignButtonsImageList(imageList);
 }
 */
 
-EWXWEXPORT(void, wxTreeCtrl_SetImageList)(void* _obj, void* imageList)
+EWXWEXPORT(void,wxTreeCtrl_SetImageList)(void* _obj,void* imageList)
 {
 	((wxTreeCtrl*)_obj)->SetImageList((wxImageList*) imageList);
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_SetStateImageList)(void* _obj, void* imageList)
+EWXWEXPORT(void,wxTreeCtrl_SetStateImageList)(void* _obj,void* imageList)
 {
 	((wxTreeCtrl*)_obj)->SetStateImageList((wxImageList*) imageList);
 }
 	
-EWXWEXPORT(int, wxTreeCtrl_GetItemText)(void* _obj, void* item, void* _buf)
+EWXWEXPORT(wxString*,wxTreeCtrl_GetItemText)(void* _obj,void* item)
 {
-	wxString result = ((wxTreeCtrl*)_obj)->GetItemText(*(wxTreeItemId*)item);
-	return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = ((wxTreeCtrl*)_obj)->GetItemText(*(wxTreeItemId*)item);
+	return result;
 }
 	
-EWXWEXPORT(int, wxTreeCtrl_GetItemImage)(void* _obj, void* item, int which)
+EWXWEXPORT(int,wxTreeCtrl_GetItemImage)(void* _obj,void* item,int which)
 {
 	return ((wxTreeCtrl*)_obj)->GetItemImage(*((wxTreeItemId*) item), (wxTreeItemIcon) which);
 }
 	
-EWXWEXPORT(void*, wxTreeCtrl_GetItemData)(void* _obj, void* item)
+EWXWEXPORT(void*,wxTreeCtrl_GetItemData)(void* _obj,void* item)
 {
 	return ((wxcTreeItemData*)((wxTreeCtrl*)_obj)->GetItemData(*((wxTreeItemId*) item)))->GetClientClosure();
 }
 
-EWXWEXPORT(void*, wxTreeCtrl_GetItemClientClosure)(void* _obj, void* item)
+EWXWEXPORT(void*,wxTreeCtrl_GetItemClientClosure)(void* _obj,void* item)
 {
 	return ((wxcTreeItemData*)((wxTreeCtrl*)_obj)->GetItemData(*((wxTreeItemId*) item)))->GetClientClosure();
 }
 
 	
-EWXWEXPORT(void, wxTreeCtrl_SetItemText)(void* _obj, void* item, void* text)
+EWXWEXPORT(void,wxTreeCtrl_SetItemText)(void* _obj,void* item,wxString* text)
 {
-	((wxTreeCtrl*)_obj)->SetItemText(*((wxTreeItemId*) item), (wxChar*)text);
+	((wxTreeCtrl*)_obj)->SetItemText(*((wxTreeItemId*) item), *text);
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_SetItemImage)(void* _obj, void* item, int image, int which)
+EWXWEXPORT(void,wxTreeCtrl_SetItemImage)(void* _obj,void* item,int image,int which)
 {
 	((wxTreeCtrl*)_obj)->SetItemImage(*((wxTreeItemId*)item), image, (wxTreeItemIcon)which);
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_SetItemData)(void* _obj, void* item, wxClosure* closure)
+EWXWEXPORT(void,wxTreeCtrl_SetItemData)(void* _obj,void* item,wxClosure* closure)
 {
 	((wxTreeCtrl*)_obj)->SetItemData(*((wxTreeItemId*) item), new wxcTreeItemData (closure));
 }
 
-EWXWEXPORT(void, wxTreeCtrl_SetItemClientClosure)(wxTreeCtrl* _obj, void* item, wxClosure* closure)
+EWXWEXPORT(void,wxTreeCtrl_SetItemClientClosure)(wxTreeCtrl* _obj,void* item,wxClosure* closure)
 {
         wxTreeItemData* oldData = _obj->GetItemData(*((wxTreeItemId*) item));
         /* bit unsafe: might delete twice but it is definitely ok on MSW 2.4.1 */
@@ -241,79 +242,79 @@
 }
 
 	
-EWXWEXPORT(void, wxTreeCtrl_SetItemHasChildren)(void* _obj, void* item, int has)
+EWXWEXPORT(void,wxTreeCtrl_SetItemHasChildren)(void* _obj,void* item,bool has)
 {
-	((wxTreeCtrl*)_obj)->SetItemHasChildren(*((wxTreeItemId*)item), has != 0);
+	((wxTreeCtrl*)_obj)->SetItemHasChildren(*((wxTreeItemId*)item), has);
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_SetItemBold)(void* _obj, void* item, int bold)
+EWXWEXPORT(void,wxTreeCtrl_SetItemBold)(void* _obj,void* item,bool bold)
 {
-	((wxTreeCtrl*)_obj)->SetItemBold(*((wxTreeItemId*) item), bold != 0);
+	((wxTreeCtrl*)_obj)->SetItemBold(*((wxTreeItemId*) item), bold);
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_SetItemDropHighlight)(void* _obj, void* item, int highlight)
+EWXWEXPORT(void,wxTreeCtrl_SetItemDropHighlight)(void* _obj,void* item,bool highlight)
 {
 #ifdef __WIN32__
-	((wxTreeCtrl*)_obj)->SetItemDropHighlight(*((wxTreeItemId*) item), highlight != 0);
+	((wxTreeCtrl*)_obj)->SetItemDropHighlight(*((wxTreeItemId*) item), highlight);
 #endif
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_SetItemTextColour)(void* _obj, void* item, void* col)
+EWXWEXPORT(void,wxTreeCtrl_SetItemTextColour)(void* _obj,void* item,void* col)
 {
 	((wxTreeCtrl*)_obj)->SetItemTextColour(*((wxTreeItemId*)item), *((wxColour*) col));
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_SetItemBackgroundColour)(void* _obj, void* item, void* col)
+EWXWEXPORT(void,wxTreeCtrl_SetItemBackgroundColour)(void* _obj,void* item,void* col)
 {
 	((wxTreeCtrl*)_obj)->SetItemBackgroundColour(*((wxTreeItemId*) item), *((wxColour*) col));
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_SetItemFont)(void* _obj, void* item, void* font)
+EWXWEXPORT(void,wxTreeCtrl_SetItemFont)(void* _obj,void* item,void* font)
 {
 	((wxTreeCtrl*)_obj)->SetItemFont(*((wxTreeItemId*) item), *((wxFont*) font));
 }
 	
-EWXWEXPORT(int, wxTreeCtrl_IsVisible)(void* _obj, void* item)
+EWXWEXPORT(bool,wxTreeCtrl_IsVisible)(wxTreeCtrl* _obj,wxTreeItemId* item)
 {
-	return (int)((wxTreeCtrl*)_obj)->IsVisible(*((wxTreeItemId*) item));
+	return _obj->IsVisible(*item);
 }
 	
-EWXWEXPORT(int, wxTreeCtrl_ItemHasChildren)(void* _obj, void* item)
+EWXWEXPORT(int,wxTreeCtrl_ItemHasChildren)(void* _obj,void* item)
 {
 	return (int)((wxTreeCtrl*)_obj)->ItemHasChildren(*((wxTreeItemId*) item));
 }
 	
-EWXWEXPORT(int, wxTreeCtrl_IsExpanded)(void* _obj, void* item)
+EWXWEXPORT(bool,wxTreeCtrl_IsExpanded)(wxTreeCtrl* _obj,wxTreeItemId* item)
 {
-	return (int)((wxTreeCtrl*)_obj)->IsExpanded(*((wxTreeItemId*) item));
+	return _obj->IsExpanded(*item);
 }
 	
-EWXWEXPORT(int, wxTreeCtrl_IsSelected)(void* _obj, void* item)
+EWXWEXPORT(bool,wxTreeCtrl_IsSelected)(wxTreeCtrl* _obj,wxTreeItemId* item)
 {
-	return (int)((wxTreeCtrl*)_obj)->IsSelected(*((wxTreeItemId*) item));
+	return _obj->IsSelected(*item);
 }
 	
-EWXWEXPORT(int, wxTreeCtrl_IsBold)(void* _obj, void* item)
+EWXWEXPORT(bool,wxTreeCtrl_IsBold)(wxTreeCtrl* _obj,wxTreeItemId* item)
 {
-	return (int)((wxTreeCtrl*)_obj)->IsBold(*((wxTreeItemId*) item));
+	return _obj->IsBold(*item);
 }
 	
-EWXWEXPORT(int, wxTreeCtrl_GetChildrenCount)(void* _obj, void* item, int recursively)
+EWXWEXPORT(int,wxTreeCtrl_GetChildrenCount)(wxTreeCtrl* self,wxTreeItemId* item,bool recursively)
 {
-	return ((wxTreeCtrl*)_obj)->GetChildrenCount(*((wxTreeItemId*) item), recursively);
+	return self->GetChildrenCount(* item, recursively);
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_GetRootItem)(void* _obj, void* _item)
+EWXWEXPORT(void,wxTreeCtrl_GetRootItem)(void* _obj,void* _item)
 {
 	(*(wxTreeItemId*)_item) = ((wxTreeCtrl*)_obj)->GetRootItem();
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_GetSelection)(void* _obj, void* _item)
+EWXWEXPORT(void,wxTreeCtrl_GetSelection)(void* _obj,void* _item)
 {
 	(*(wxTreeItemId*)_item) = ((wxTreeCtrl*)_obj)->GetSelection();
 }
 	
-EWXWEXPORT(int, wxTreeCtrl_GetSelections)(void* _obj, intptr_t* selections)
+EWXWEXPORT(int,wxTreeCtrl_GetSelections)(void* _obj,intptr_t* selections)
 {
 	int result = 0;
 	wxArrayTreeItemIds sel;
@@ -339,7 +340,7 @@
 	return result;		
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_GetParent)(void* _obj, void* item, void* _item)
+EWXWEXPORT(void,wxTreeCtrl_GetParent)(void* _obj,void* item,void* _item)
 {
 #if wxVERSION_NUMBER < 2400
 	(*(wxTreeItemId*)_item) = ((wxTreeCtrl*)_obj)->GetParent(*((wxTreeItemId*)item));
@@ -348,7 +349,7 @@
 #endif
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_GetFirstChild)(void* _obj, void* item, void* cookie, void* _item)
+EWXWEXPORT(void,wxTreeCtrl_GetFirstChild)(void* _obj,void* item,void* cookie,void* _item)
 {
 #if wxVERSION_NUMBER < 2600
 	(*(wxTreeItemId*)_item) = ((wxTreeCtrl*)_obj)->GetFirstChild(*((wxTreeItemId*)item), *((long*)cookie));
@@ -357,7 +358,7 @@
 #endif
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_GetNextChild)(void* _obj, void* item, void* cookie, void* _item)
+EWXWEXPORT(void,wxTreeCtrl_GetNextChild)(void* _obj,void* item,void* cookie,void* _item)
 {
 #if wxVERSION_NUMBER < 2600
 	(*(wxTreeItemId*)_item) = ((wxTreeCtrl*)_obj)->GetNextChild(*((wxTreeItemId*)item), *((long*)cookie));
@@ -366,139 +367,139 @@
 #endif
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_GetLastChild)(void* _obj, void* item, void* _item)
+EWXWEXPORT(void,wxTreeCtrl_GetLastChild)(void* _obj,void* item,void* _item)
 {
 	(*(wxTreeItemId*)_item) = ((wxTreeCtrl*)_obj)->GetLastChild(*((wxTreeItemId*)item));
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_GetNextSibling)(void* _obj, void* item, void* _item)
+EWXWEXPORT(void,wxTreeCtrl_GetNextSibling)(void* _obj,void* item,void* _item)
 {
 	(*(wxTreeItemId*)_item) = ((wxTreeCtrl*)_obj)->GetNextSibling(*((wxTreeItemId*) item));
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_GetPrevSibling)(void* _obj, void* item, void* _item)
+EWXWEXPORT(void,wxTreeCtrl_GetPrevSibling)(void* _obj,void* item,void* _item)
 {
 	(*(wxTreeItemId*)_item) = ((wxTreeCtrl*)_obj)->GetPrevSibling(*((wxTreeItemId*) item));
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_GetFirstVisibleItem)(void* _obj, void* item, void* _item)
+EWXWEXPORT(void,wxTreeCtrl_GetFirstVisibleItem)(void* _obj,void* item,void* _item)
 {
 	(*(wxTreeItemId*)_item) = ((wxTreeCtrl*)_obj)->GetFirstVisibleItem();
 }
 
-EWXWEXPORT(void, wxTreeCtrl_GetNextVisible)(void* _obj, void* item, void* _item)
+EWXWEXPORT(void,wxTreeCtrl_GetNextVisible)(void* _obj,void* item,void* _item)
 {
 	(*(wxTreeItemId*)_item) = ((wxTreeCtrl*)_obj)->GetNextVisible(*((wxTreeItemId*)item));
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_GetPrevVisible)(void* _obj, void* item, void* _item)
+EWXWEXPORT(void,wxTreeCtrl_GetPrevVisible)(void* _obj,void* item,void* _item)
 {
 	(*(wxTreeItemId*)_item) = ((wxTreeCtrl*)_obj)->GetPrevVisible(*((wxTreeItemId*)item));
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_AddRoot)(void* _obj, void* text, int image, int selectedImage, wxClosure* data, void* _item)
+EWXWEXPORT(void,wxTreeCtrl_AddRoot)(void* _obj,wxString* text,int image,int selectedImage,wxClosure* data,void* _item)
 {
-	(*(wxTreeItemId*)_item) = ((wxTreeCtrl*)_obj)->AddRoot((wxChar*) text, image, selectedImage, new wxcTreeItemData(data));
+	(*(wxTreeItemId*)_item) = ((wxTreeCtrl*)_obj)->AddRoot(* text, image, selectedImage, new wxcTreeItemData(data));
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_PrependItem)(void* _obj, void* parent, void* text, int image, int selectedImage, wxClosure* data, void* _item)
+EWXWEXPORT(void,wxTreeCtrl_PrependItem)(void* _obj,void* parent,wxString* text,int image,int selectedImage,wxClosure* data,void* _item)
 {
-	(*(wxTreeItemId*)_item) = ((wxTreeCtrl*)_obj)->PrependItem(*((wxTreeItemId*)parent), (wxChar*)text, image, selectedImage, new wxcTreeItemData(data));
+	(*(wxTreeItemId*)_item) = ((wxTreeCtrl*)_obj)->PrependItem(*((wxTreeItemId*)parent), *text, image, selectedImage, new wxcTreeItemData(data));
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_InsertItem)(void* _obj, void* parent, void* idPrevious, void* text, int image, int selectedImage, wxClosure* data, void* _item)
+EWXWEXPORT(void,wxTreeCtrl_InsertItem)(void* _obj,void* parent,void* idPrevious,wxString* text,int image,int selectedImage,wxClosure* data,void* _item)
 {
-	(*(wxTreeItemId*)_item) = ((wxTreeCtrl*)_obj)->InsertItem(*((wxTreeItemId*)parent), *((wxTreeItemId*)idPrevious), (wxChar*)text, image, selectedImage, new wxcTreeItemData(data));
+	(*(wxTreeItemId*)_item) = ((wxTreeCtrl*)_obj)->InsertItem(*((wxTreeItemId*)parent), *((wxTreeItemId*)idPrevious), *text, image, selectedImage, new wxcTreeItemData(data));
 }
 
-EWXWEXPORT(void, wxTreeCtrl_InsertItem2)(void* _obj, void* parent, void* idPrevious, void* text, int image, int selectedImage, wxClosure* closure, void* _item)
+EWXWEXPORT(void,wxTreeCtrl_InsertItem2)(void* _obj,void* parent,void* idPrevious,wxString* text,int image,int selectedImage,wxClosure* closure,void* _item)
 {
-	(*(wxTreeItemId*)_item) = ((wxTreeCtrl*)_obj)->InsertItem(*((wxTreeItemId*)parent), *((wxTreeItemId*)idPrevious), (wxChar*)text, image, selectedImage, new wxcTreeItemData(closure));
+	(*(wxTreeItemId*)_item) = ((wxTreeCtrl*)_obj)->InsertItem(*((wxTreeItemId*)parent), *((wxTreeItemId*)idPrevious), *text, image, selectedImage, new wxcTreeItemData(closure));
 }
 
 	
-EWXWEXPORT(void, wxTreeCtrl_InsertItemByIndex)(void* _obj, void* parent, int index, void* text, int image, int selectedImage, wxClosure* data, void* _item)
+EWXWEXPORT(void,wxTreeCtrl_InsertItemByIndex)(void* _obj,void* parent,int index,wxString* text,int image,int selectedImage,wxClosure* data,void* _item)
 {
-	(*(wxTreeItemId*)_item) = ((wxTreeCtrl*)_obj)->InsertItem(*((wxTreeItemId*)parent), index, (wxChar*)text, image, selectedImage, new wxcTreeItemData(data));
+	(*(wxTreeItemId*)_item) = ((wxTreeCtrl*)_obj)->InsertItem(*((wxTreeItemId*)parent), index, *text, image, selectedImage, new wxcTreeItemData(data));
 }
 
-EWXWEXPORT(void, wxTreeCtrl_InsertItemByIndex2)(void* _obj, void* parent, int index, void* text, int image, int selectedImage, wxClosure* data, void* _item)
+EWXWEXPORT(void,wxTreeCtrl_InsertItemByIndex2)(void* _obj,void* parent,int index,wxString* text,int image,int selectedImage,wxClosure* data,void* _item)
 {
-	(*(wxTreeItemId*)_item) = ((wxTreeCtrl*)_obj)->InsertItem(*((wxTreeItemId*)parent), index, (wxChar*)text, image, selectedImage, new wxcTreeItemData(data));
+	(*(wxTreeItemId*)_item) = ((wxTreeCtrl*)_obj)->InsertItem(*((wxTreeItemId*)parent), index, *text, image, selectedImage, new wxcTreeItemData(data));
 }
 
 	
-EWXWEXPORT(void, wxTreeCtrl_AppendItem)(void* _obj, void* parent, void* text, int image, int selectedImage, wxClosure* data, void* _item)
+EWXWEXPORT(void,wxTreeCtrl_AppendItem)(void* _obj,void* parent,wxString* text,int image,int selectedImage,wxClosure* data,void* _item)
 {
-	(*(wxTreeItemId*)_item) = ((wxTreeCtrl*)_obj)->AppendItem(*((wxTreeItemId*) parent), (wxChar*)text, image, selectedImage, new wxcTreeItemData(data));
+	(*(wxTreeItemId*)_item) = ((wxTreeCtrl*)_obj)->AppendItem(*((wxTreeItemId*) parent), *text, image, selectedImage, new wxcTreeItemData(data));
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_Delete)(void* _obj, void* item)
+EWXWEXPORT(void,wxTreeCtrl_Delete)(void* _obj,void* item)
 {
 	((wxTreeCtrl*)_obj)->Delete(*((wxTreeItemId*)item));
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_DeleteChildren)(void* _obj, void* item)
+EWXWEXPORT(void,wxTreeCtrl_DeleteChildren)(void* _obj,void* item)
 {
 	((wxTreeCtrl*)_obj)->DeleteChildren(*((wxTreeItemId*)item));
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_DeleteAllItems)(void* _obj)
+EWXWEXPORT(void,wxTreeCtrl_DeleteAllItems)(void* _obj)
 {
 	((wxTreeCtrl*)_obj)->DeleteAllItems();
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_Expand)(void* _obj, void* item)
+EWXWEXPORT(void,wxTreeCtrl_Expand)(void* _obj,void* item)
 {
 	((wxTreeCtrl*)_obj)->Expand(*((wxTreeItemId*)item));
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_Collapse)(void* _obj, void* item)
+EWXWEXPORT(void,wxTreeCtrl_Collapse)(void* _obj,void* item)
 {
 	((wxTreeCtrl*)_obj)->Collapse(*((wxTreeItemId*)item));
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_CollapseAndReset)(void* _obj, void* item)
+EWXWEXPORT(void,wxTreeCtrl_CollapseAndReset)(void* _obj,void* item)
 {
 	((wxTreeCtrl*)_obj)->CollapseAndReset(*((wxTreeItemId*)item));
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_Toggle)(void* _obj, void* item)
+EWXWEXPORT(void,wxTreeCtrl_Toggle)(void* _obj,void* item)
 {
 	((wxTreeCtrl*)_obj)->Toggle(*((wxTreeItemId*)item));
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_Unselect)(void* _obj)
+EWXWEXPORT(void,wxTreeCtrl_Unselect)(void* _obj)
 {
 	((wxTreeCtrl*)_obj)->Unselect();
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_UnselectAll)(void* _obj)
+EWXWEXPORT(void,wxTreeCtrl_UnselectAll)(void* _obj)
 {
 	((wxTreeCtrl*)_obj)->UnselectAll();
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_SelectItem)(void* _obj, void* item)
+EWXWEXPORT(void,wxTreeCtrl_SelectItem)(void* _obj,void* item)
 {
 	((wxTreeCtrl*)_obj)->SelectItem(*((wxTreeItemId*)item));
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_EnsureVisible)(void* _obj, void* item)
+EWXWEXPORT(void,wxTreeCtrl_EnsureVisible)(void* _obj,void* item)
 {
 	((wxTreeCtrl*)_obj)->EnsureVisible(*((wxTreeItemId*)item));
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_ScrollTo)(void* _obj, void* item)
+EWXWEXPORT(void,wxTreeCtrl_ScrollTo)(void* _obj,void* item)
 {
 	((wxTreeCtrl*)_obj)->ScrollTo(*((wxTreeItemId*)item));
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_EditLabel)(void* _obj, void* item)
+EWXWEXPORT(void,wxTreeCtrl_EditLabel)(void* _obj,void* item)
 {
 	((wxTreeCtrl*)_obj)->EditLabel(*((wxTreeItemId*)item));
 }
 	
-EWXWEXPORT(void*, wxTreeCtrl_GetEditControl)(void* _obj)
+EWXWEXPORT(void*,wxTreeCtrl_GetEditControl)(void* _obj)
 {
 #ifdef __WIN32__
 	return (void*)((wxTreeCtrl*)_obj)->GetEditControl();
@@ -507,33 +508,33 @@
 #endif
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_EndEditLabel)(void* _obj, void* item, int discardChanges)
+EWXWEXPORT(void,wxTreeCtrl_EndEditLabel)(void* _obj,void* item,bool discardChanges)
 {
 #ifdef __WIN32__
-	((wxTreeCtrl*)_obj)->EndEditLabel(*((wxTreeItemId*)item), discardChanges != 0);
+	((wxTreeCtrl*)_obj)->EndEditLabel(*((wxTreeItemId*)item), discardChanges);
 #endif
 }
 	
-EWXWEXPORT(int, wxTreeCtrl_OnCompareItems)(void* _obj, void* item1, void* item2)
+EWXWEXPORT(int,wxTreeCtrl_OnCompareItems)(void* _obj,void* item1,void* item2)
 {
 	return ((wxTreeCtrl*)_obj)->OnCompareItems(*((wxTreeItemId*)item1), *((wxTreeItemId*)item2));
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_SortChildren)(void* _obj, void* item)
+EWXWEXPORT(void,wxTreeCtrl_SortChildren)(void* _obj,void* item)
 {
 	((wxTreeCtrl*)_obj)->SortChildren(*((wxTreeItemId*)item));
 }
 	
-EWXWEXPORT(void, wxTreeCtrl_HitTest)(void* _obj, int _x, int _y, void* flags, void* _item)
+EWXWEXPORT(void,wxTreeCtrl_HitTest)(void* _obj,int _x,int _y,void* flags,void* _item)
 {
 	(*(wxTreeItemId*)_item) = ((wxTreeCtrl*)_obj)->HitTest(wxPoint(_x, _y), *((int*)flags));
 }
 	
-EWXWEXPORT(int, wxTreeCtrl_GetBoundingRect)(void* _obj, void* item, int textOnly, void* _x, void* _y, void* _w, void* _h)
+EWXWEXPORT(int,wxTreeCtrl_GetBoundingRect)(wxTreeCtrl* _obj,wxTreeItemId* item,bool textOnly,void* _x,void* _y,void* _w,void* _h)
 {
 #ifdef __WIN32__
 	wxRect rct;
-	int result = ((wxTreeCtrl*)_obj)->GetBoundingRect(*((wxTreeItemId*)item), rct, textOnly != 0);
+	int result = ((wxTreeCtrl*)_obj)->GetBoundingRect(*((wxTreeItemId*)item), rct, textOnly);
 	if (result)
 	{
 		*((int*)_x) = rct.x;
diff --git a/wxc/src/wrapper.cpp b/wxc/src/wrapper.cpp
--- a/wxc/src/wrapper.cpp
+++ b/wxc/src/wrapper.cpp
@@ -212,14 +212,14 @@
 extern "C"
 {
 /* event handling */
-EWXWEXPORT(int, wxEvtHandler_Connect)(void* _obj, int first, int last, int type, wxClosure* closure)
+EWXWEXPORT(int,wxEvtHandler_Connect)(void* _obj,int first,int last,int type,wxClosure* closure)
 {
   wxCallback* callback = new wxCallback(closure);
   ((wxEvtHandler*)_obj)->Connect(first, last, type, (wxObjectEventFunction)&ELJApp::HandleEvent, callback);
   return 0;
 }
 
-EWXWEXPORT(wxClosure*, wxEvtHandler_GetClosure)(wxEvtHandler* evtHandler, int id, int type)
+EWXWEXPORT(wxClosure*,wxEvtHandler_GetClosure)(wxEvtHandler* evtHandler,int id,int type)
 {
   wxCommandEvent  event(type,id);     //We can use any kind of event here
   wxCallback*     callback = NULL;
@@ -239,28 +239,28 @@
 }
 
 /* closures */
-EWXWEXPORT(wxClosure*, wxClosure_Create)(ClosureFun fun, void* data)
+EWXWEXPORT(wxClosure*,wxClosure_Create)(ClosureFun fun,void* data)
 {
   return new wxClosure(fun,data);
 }
 
-EWXWEXPORT(void*, wxClosure_GetData)(wxClosure* closure)
+EWXWEXPORT(void*,wxClosure_GetData)(wxClosure* closure)
 {
   return closure->GetData();
 }
 
 /* client data */
-EWXWEXPORT(void*, wxEvtHandler_GetClientClosure)(void* _obj)
+EWXWEXPORT(void*,wxEvtHandler_GetClientClosure)(void* _obj)
 {
   return (void*)((wxEvtHandler*)_obj)->GetClientObject();
 }
 
-EWXWEXPORT(void, wxEvtHandler_SetClientClosure)( void* _obj, wxClosure* closure )
+EWXWEXPORT(void,wxEvtHandler_SetClientClosure)(void* _obj,wxClosure* closure)
 {
   ((wxEvtHandler*)_obj)->SetClientObject(closure);
 }
 
-EWXWEXPORT(wxClosure*, wxObject_GetClientClosure)(wxObject* _obj)
+EWXWEXPORT(wxClosure*,wxObject_GetClientClosure)(wxObject* _obj)
 {
   wxcClosureRefData* refData = (wxcClosureRefData*)_obj->GetRefData();
   if (refData)
@@ -269,7 +269,7 @@
     return NULL;
 }
 
-EWXWEXPORT(void, wxObject_SetClientClosure)( wxObject* _obj, wxClosure* closure )
+EWXWEXPORT(void,wxObject_SetClientClosure)(wxObject* _obj,wxClosure* closure)
 {
   wxcClosureRefData* refData;
   /* wxASSERT(_obj->GetRefData() == NULL); */
@@ -282,7 +282,7 @@
 /*-----------------------------------------------------------------------------
     C interface to the idle timer
 -----------------------------------------------------------------------------*/
-EWXWEXPORT(int, ELJApp_GetIdleInterval)()
+EWXWEXPORT(int,ELJApp_GetIdleInterval)()
 {
   if (!idleTimer) return 0;
 
@@ -292,7 +292,7 @@
     return 0;
 }
 
-EWXWEXPORT(void, ELJApp_SetIdleInterval)( int interval )
+EWXWEXPORT(void,ELJApp_SetIdleInterval)(int interval)
 {
   if (idleTimer) {
     if (idleTimer->IsRunning()) {
@@ -309,79 +309,82 @@
 -----------------------------------------------------------------------------*/
 //int OnExit();
 //virtual void OnFatalException();
-EWXWEXPORT(int, ELJApp_MainLoop)()
+EWXWEXPORT(int,ELJApp_MainLoop)()
 {
         return wxGetApp().MainLoop();
 }
 
-EWXWEXPORT(int, ELJApp_Initialized)()
+EWXWEXPORT(bool,ELJApp_Initialized)()
 {
 #if WXWIN_COMPATIBILITY_2_6
         return (int)wxGetApp().Initialized();
 #else
-        return TRUE;
+        return true;
 #endif
 }
 
-EWXWEXPORT(int, ELJApp_Pending)()
+EWXWEXPORT(int,ELJApp_Pending)()
 {
         return (int)wxGetApp().Pending();
 }
 
-EWXWEXPORT(void, ELJApp_Dispatch)()
+EWXWEXPORT(void,ELJApp_Dispatch)()
 {
         wxGetApp().Dispatch();
 }
 
-EWXWEXPORT(int, ELJApp_GetAppName)(void* _buf)
+EWXWEXPORT(wxString*,ELJApp_GetAppName)()
 {
-        wxString result = wxGetApp().GetAppName();
-        return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = wxGetApp().GetAppName();
+	return result;
 }
 
-EWXWEXPORT(void, ELJApp_SetAppName)(wxChar* name)
+EWXWEXPORT(void,ELJApp_SetAppName)(wxString* name)
 {
-        wxGetApp().SetAppName(name);
+        wxGetApp().SetAppName(*name);
 }
 
-EWXWEXPORT(int, ELJApp_GetClassName)(void* _buf)
+EWXWEXPORT(wxString*,ELJApp_GetClassName)()
 {
-        wxString result = wxGetApp().GetClassName();
-        return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = wxGetApp().GetClassName();
+	return result;
 }
 
-EWXWEXPORT(void, ELJApp_SetClassName)(wxChar* name)
+EWXWEXPORT(void,ELJApp_SetClassName)(wxString* name)
 {
-        wxGetApp().SetClassName(name);
+        wxGetApp().SetClassName(*name);
 }
 
-EWXWEXPORT(int, ELJApp_GetVendorName)(void* _buf)
+EWXWEXPORT(wxString*,ELJApp_GetVendorName)()
 {
-        wxString result = wxGetApp().GetVendorName();
-        return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = wxGetApp().GetVendorName();
+	return result;
 }
 
-EWXWEXPORT(void, ELJApp_SetVendorName)(wxChar* name)
+EWXWEXPORT(void,ELJApp_SetVendorName)(wxString* name)
 {
-        wxGetApp().SetVendorName(name);
+        wxGetApp().SetVendorName(*name);
 }
 
-EWXWEXPORT(void*, ELJApp_GetTopWindow)()
+EWXWEXPORT(void*,ELJApp_GetTopWindow)()
 {
         return wxGetApp().GetTopWindow();
 }
 
-EWXWEXPORT(void, ELJApp_SetExitOnFrameDelete)(int flag)
+EWXWEXPORT(void,ELJApp_SetExitOnFrameDelete)(bool flag)
 {
-        wxGetApp().SetExitOnFrameDelete(flag != 0);
+        wxGetApp().SetExitOnFrameDelete(flag);
 }
 
-EWXWEXPORT(int, ELJApp_GetExitOnFrameDelete)()
+EWXWEXPORT(int,ELJApp_GetExitOnFrameDelete)()
 {
         return (int)wxGetApp().GetExitOnFrameDelete();
 }
 
-EWXWEXPORT(void*, ELJApp_CreateLogTarget)()
+EWXWEXPORT(void*,ELJApp_CreateLogTarget)()
 {
 #if wxVERSION_NUMBER <= 2600
         return wxGetApp().CreateLogTarget();
@@ -392,63 +395,63 @@
 }
 
 /*
-EWXWEXPORT(int, ELJApp_GetWantDebugOutput)()
+EWXWEXPORT(int,ELJApp_GetWantDebugOutput)()
 {
         return (int)wxGetApp().GetWantDebugOutput();
 }
 */
 
-EWXWEXPORT(void, ELJApp_SetUseBestVisual)( int flag )
+EWXWEXPORT(void,ELJApp_SetUseBestVisual)(bool flag)
 {
-        wxGetApp().SetUseBestVisual( flag != 0 );
+        wxGetApp().SetUseBestVisual( flag);
 }
 
-EWXWEXPORT(int, ELJApp_GetUseBestVisual)()
+EWXWEXPORT(int,ELJApp_GetUseBestVisual)()
 {
         return (int)wxGetApp().GetUseBestVisual();
 }
 
-EWXWEXPORT(void, ELJApp_SetPrintMode)(int mode)
+EWXWEXPORT(void,ELJApp_SetPrintMode)(int mode)
 {
         wxGetApp().SetPrintMode(mode);
 }
 
-EWXWEXPORT(void, ELJApp_ExitMainLoop) ()
+EWXWEXPORT(void,ELJApp_ExitMainLoop)()
 {
         wxGetApp ().ExitMainLoop();
 }
 
-EWXWEXPORT(void, ELJApp_SetTopWindow) (void* _wnd)
+EWXWEXPORT(void,ELJApp_SetTopWindow)(wxWindow* _wnd)
 {
-        wxGetApp ().SetTopWindow ((wxWindow*)_wnd);
+        wxGetApp ().SetTopWindow (_wnd);
 }
 /*
-EWXWEXPORT(int, ELJApp_SendIdleEvents)()
+EWXWEXPORT(int,ELJApp_SendIdleEvents)()
 {
         return (int)wxGetApp().SendIdleEvents();
 }
 
-EWXWEXPORT(int, ELJApp_SendIdleEventsToWindow)(void* win)
+EWXWEXPORT(int,ELJApp_SendIdleEventsToWindow)(wxWindow* win)
 {
-        return (int)wxGetApp().SendIdleEvents((wxWindow*) win);
+        return (int)wxGetApp().SendIdleEvents( win);
 }
 */
-EWXWEXPORT(void, ELJApp_EnableTooltips)(int _enable)
+EWXWEXPORT(void,ELJApp_EnableTooltips)(bool _enable)
 {
-        wxToolTip::Enable (_enable != 0);
+        wxToolTip::Enable (_enable);
 }
 
-EWXWEXPORT(void, ELJApp_SetTooltipDelay)(int _ms)
+EWXWEXPORT(void,ELJApp_SetTooltipDelay)(int _ms)
 {
         wxToolTip::SetDelay (_ms);
 }
 
-EWXWEXPORT(void, ELJApp_InitAllImageHandlers)()
+EWXWEXPORT(void,ELJApp_InitAllImageHandlers)()
 {
         wxInitAllImageHandlers();
 }
 
-EWXWEXPORT(void, ELJApp_Bell)()
+EWXWEXPORT(void,ELJApp_Bell)()
 {
         wxBell();
 }
@@ -458,12 +461,12 @@
         wxDisplaySize((int*)w, (int*)h);
 }
 
-EWXWEXPORT(void, ELJApp_EnableTopLevelWindows)(int _enb)
+EWXWEXPORT(void,ELJApp_EnableTopLevelWindows)(bool _enb)
 {
-        wxEnableTopLevelWindows(_enb != 0);
+        wxEnableTopLevelWindows(_enb);
 }
 
-EWXWEXPORT(void, ELJApp_Exit)()
+EWXWEXPORT(void,ELJApp_Exit)()
 {
         wxExit();
 }
@@ -473,77 +476,81 @@
         wxGetMousePosition((int*)x, (int*)y);
 }
 
-EWXWEXPORT(void*, ELJApp_FindWindowByLabel)(void* _lbl, void* _prt)
+EWXWEXPORT(void*,ELJApp_FindWindowByLabel)(wxString* _lbl,wxWindow* _prt)
 {
-        return (void*)wxFindWindowByLabel((wxChar*)_lbl, (wxWindow*)_prt);
+        return (void*)wxFindWindowByLabel(*_lbl, _prt);
 }
 
-EWXWEXPORT(void*, ELJApp_FindWindowByName)(void* _lbl, void* _prt)
+EWXWEXPORT(void*,ELJApp_FindWindowByName)(wxString* _lbl,wxWindow* _prt)
 {
-        return (void*)wxFindWindowByName((wxChar*)_lbl, (wxWindow*)_prt);
+        return (void*)wxFindWindowByName(*_lbl, _prt);
 }
 
-EWXWEXPORT(void*, ELJApp_FindWindowById)(int _id, void* _prt)
+EWXWEXPORT(void*,ELJApp_FindWindowById)(int _id,wxWindow* _prt)
 {
-        return (void*)wxWindow::FindWindowById((long)_id, (wxWindow*)_prt);
+        return (void*)wxWindow::FindWindowById((long)_id, _prt);
 }
 
 
-EWXWEXPORT(void*, ELJApp_GetApp)()
+EWXWEXPORT(void*,ELJApp_GetApp)()
 {
         return (void*)wxTheApp;
 }
 
-EWXWEXPORT(int, ELJApp_GetUserId)(void* _buf)
+EWXWEXPORT(wxString*,ELJApp_GetUserId)()
 {
-        wxString result = wxGetUserId();
-        return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = wxGetUserId();
+	return result;
 }
 
-EWXWEXPORT(int, ELJApp_GetUserName)(void* _buf)
+EWXWEXPORT(wxString*,ELJApp_GetUserName)()
 {
-        wxString result = wxGetUserName();
-        return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = wxGetUserName();
+	return result;
 }
 
-EWXWEXPORT(int, ELJApp_GetUserHome)(wxChar* _usr, void* _buf)
+EWXWEXPORT(wxString*,ELJApp_GetUserHome)(wxString* _usr)
 {
-        wxString result = wxGetUserHome((const wxChar*)_usr);
-        return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = wxGetUserHome(*_usr);
+	return result;
 }
 
-EWXWEXPORT(int, ELJApp_ExecuteProcess)(wxChar* _cmd, int _snc, void* _prc)
+EWXWEXPORT(int,ELJApp_ExecuteProcess)(wxString* _cmd,bool _snc,void* _prc)
 {
-        return (int)wxExecute((const wxChar*)_cmd, _snc != 0, (wxProcess*)_prc);
+        return (int)wxExecute(*_cmd, _snc , (wxProcess*)_prc);
 }
 
-EWXWEXPORT(int, ELJApp_Yield)()
+EWXWEXPORT(int,ELJApp_Yield)()
 {
         return (int)wxYield();
 }
 
-EWXWEXPORT(int, ELJApp_SafeYield)(void* _win)
+EWXWEXPORT(int,ELJApp_SafeYield)(wxWindow* _win)
 {
-        return (int)wxSafeYield((wxWindow*)_win);
+        return (int)wxSafeYield(_win);
 }
 
-EWXWEXPORT(int, ELJApp_GetOsVersion)(void* _maj, void* _min)
+EWXWEXPORT(int,ELJApp_GetOsVersion)(int* _maj,int* _min)
 {
-        return wxGetOsVersion((int*)_maj, (int*)_min);
+        return wxGetOsVersion(_maj, _min);
 }
 
-EWXWEXPORT(int, ELJApp_GetOsDescription)(void* _buf)
+EWXWEXPORT(wxString*,ELJApp_GetOsDescription)()
 {
-        wxString result = wxGetOsDescription();
-        return copyStrToBuf(_buf, result);
+	wxString *result = new wxString();
+	*result = wxGetOsDescription();
+	return result;
 }
 
-EWXWEXPORT(void, ELJApp_Sleep)(int _scs)
+EWXWEXPORT(void,ELJApp_Sleep)(int _scs)
 {
         wxSleep(_scs);
 }
 
-EWXWEXPORT(void, ELJApp_MilliSleep)(int _mscs)
+EWXWEXPORT(void,ELJApp_MilliSleep)(int _mscs)
 {
 #if (wxVERSION_NUMBER < 2600)
         wxUsleep(_mscs);
@@ -552,174 +559,174 @@
 #endif
 }
 
-EWXWEXPORT(int,ELJApp_IsTerminating)()
+EWXWEXPORT(bool,ELJApp_IsTerminating)()
 {
         return APPTerminating;
 }
 
-EWXWEXPORT(int, QuantizePalette)(void* src, void* dest, void* pPalette, int desiredNoColours, void* eightBitData, int flags)
+EWXWEXPORT(int,QuantizePalette)(void* src,void* dest,void* pPalette,int desiredNoColours,void* eightBitData,int flags)
 {
 #if defined(__WXGTK__) && (wxVERSION_NUMBER <= 2400)
-    return 0;
+	return 0;
 #else
         return (int)wxQuantize::Quantize(*((wxImage*)src), *((wxImage*)dest), (wxPalette**)pPalette, desiredNoColours, (unsigned char**)eightBitData, flags);
 #endif
 }
 
-EWXWEXPORT(int, Quantize)(void* src, void* dest, int desiredNoColours, void* eightBitData, int flags)
+EWXWEXPORT(int,Quantize)(void* src,void* dest,int desiredNoColours,void* eightBitData,int flags)
 {
 #if defined(__WXGTK__) && (wxVERSION_NUMBER <= 2400)
-    return 0;
+	return 0;
 #else
         return (int)wxQuantize::Quantize(*((wxImage*)src), *((wxImage*)dest), desiredNoColours, (unsigned char**)eightBitData, flags);
 #endif
 }
 
 
-EWXWEXPORT(void*, wxEvtHandler_Create)()
+EWXWEXPORT(void*,wxEvtHandler_Create)()
 {
         return (void*) new wxEvtHandler();
 }
 
-EWXWEXPORT(void, wxEvtHandler_Delete)(void* _obj)
+EWXWEXPORT(void,wxEvtHandler_Delete)(void* _obj)
 {
         delete (wxEvtHandler*)_obj;
 }
 
 
-EWXWEXPORT(int, wxEvtHandler_Disconnect)(void* _obj, int first, int last, int type, int data)
+EWXWEXPORT(int,wxEvtHandler_Disconnect)(void* _obj,int first,int last,int type,int data)
 {
         return (int)((wxEvtHandler*)_obj)->Disconnect(first, last, type, (wxObjectEventFunction)&ELJApp::HandleEvent, (wxObject*) data);
 }
 
-EWXWEXPORT(void*, wxEvtHandler_GetNextHandler)(void* _obj)
+EWXWEXPORT(void*,wxEvtHandler_GetNextHandler)(void* _obj)
 {
         return (void*)((wxEvtHandler*)_obj)->GetNextHandler();
 }
 
-EWXWEXPORT(void*, wxEvtHandler_GetPreviousHandler)(void* _obj)
+EWXWEXPORT(void*,wxEvtHandler_GetPreviousHandler)(void* _obj)
 {
         return (void*)((wxEvtHandler*)_obj)->GetPreviousHandler();
 }
 
-EWXWEXPORT(void, wxEvtHandler_SetNextHandler)(void* _obj, void* handler)
+EWXWEXPORT(void,wxEvtHandler_SetNextHandler)(void* _obj,void* handler)
 {
         ((wxEvtHandler*)_obj)->SetNextHandler((wxEvtHandler*)handler);
 }
 
-EWXWEXPORT(void, wxEvtHandler_SetPreviousHandler)(void* _obj, void* handler)
+EWXWEXPORT(void,wxEvtHandler_SetPreviousHandler)(void* _obj,void* handler)
 {
         ((wxEvtHandler*)_obj)->SetPreviousHandler((wxEvtHandler*)handler);
 }
 
-EWXWEXPORT(void, wxEvtHandler_SetEvtHandlerEnabled)(void* _obj, int enabled)
+EWXWEXPORT(void,wxEvtHandler_SetEvtHandlerEnabled)(void* _obj,bool enabled)
 {
-        ((wxEvtHandler*)_obj)->SetEvtHandlerEnabled(enabled != 0);
+        ((wxEvtHandler*)_obj)->SetEvtHandlerEnabled(enabled);
 }
 
-EWXWEXPORT(int, wxEvtHandler_GetEvtHandlerEnabled)(void* _obj)
+EWXWEXPORT(int,wxEvtHandler_GetEvtHandlerEnabled)(void* _obj)
 {
         return (int)((wxEvtHandler*)_obj)->GetEvtHandlerEnabled();
 }
 
-EWXWEXPORT(int, wxEvtHandler_ProcessEvent)(void* _obj, void* event)
+EWXWEXPORT(int,wxEvtHandler_ProcessEvent)(void* _obj,void* event)
 {
         return (int)((wxEvtHandler*)_obj)->ProcessEvent(*((wxEvent*)event));
 }
 
-EWXWEXPORT(void, wxEvtHandler_AddPendingEvent)(void* _obj, void* event)
+EWXWEXPORT(void,wxEvtHandler_AddPendingEvent)(void* _obj,void* event)
 {
         ((wxEvtHandler*)_obj)->AddPendingEvent(*((wxEvent*)event));
 }
 
-EWXWEXPORT(void, wxEvtHandler_ProcessPendingEvents)(void* _obj)
+EWXWEXPORT(void,wxEvtHandler_ProcessPendingEvents)(void* _obj)
 {
         ((wxEvtHandler*)_obj)->ProcessPendingEvents();
 }
 
-EWXWEXPORT(void*, Null_AcceleratorTable)()
+EWXWEXPORT(void*,Null_AcceleratorTable)()
 {
         return (void*)&wxNullAcceleratorTable;
 }
 
-EWXWEXPORT(void*, Null_Bitmap)()
+EWXWEXPORT(void*,Null_Bitmap)()
 {
         return (void*)&wxNullBitmap;
 }
 
-EWXWEXPORT(void*, Null_Icon)()
+EWXWEXPORT(void*,Null_Icon)()
 {
         return (void*)&wxNullIcon;
 }
 
-EWXWEXPORT(void*, Null_Cursor)()
+EWXWEXPORT(void*,Null_Cursor)()
 {
         return (void*)&wxNullCursor;
 }
 
-EWXWEXPORT(void*, Null_Pen)()
+EWXWEXPORT(void*,Null_Pen)()
 {
         return (void*)&wxNullPen;
 }
 
-EWXWEXPORT(void*, Null_Brush)()
+EWXWEXPORT(void*,Null_Brush)()
 {
         return (void*)&wxNullBrush;
 }
 
-EWXWEXPORT(void*, Null_Palette)()
+EWXWEXPORT(void*,Null_Palette)()
 {
         return (void*)&wxNullPalette;
 }
 
-EWXWEXPORT(void*, Null_Font)()
+EWXWEXPORT(void*,Null_Font)()
 {
         return (void*)&wxNullFont;
 }
 
-EWXWEXPORT(void*, Null_Colour)()
+EWXWEXPORT(void*,Null_Colour)()
 {
         return (void*)&wxNullColour;
 }
 /*
-EWXWEXPORT(int, wxDllLoader_LoadLibrary)(void* _name, void* _success)
+EWXWEXPORT(int,wxDllLoader_LoadLibrary)(void* _name,int* _success)
 {
         bool success;
 
         wxDllType result = wxDllLoader::LoadLibrary ((const wxChar*)_name, &success);
 
         if (success)
-                *((int*)_success) = 1;
+                *_success = 1;
         else
-                *((int*)_success) = 0;
+                *_success = 0;
 
         return (int) result;
 }
 
-EWXWEXPORT(void, wxDllLoader_UnloadLibrary)(int _handle)
+EWXWEXPORT(void,wxDllLoader_UnloadLibrary)(int _handle)
 {
         wxDllLoader::UnloadLibrary ((wxDllType)_handle);
 }
 
-EWXWEXPORT(void*, wxDllLoader_GetSymbol)(int _handle, void* _name)
+EWXWEXPORT(void*,wxDllLoader_GetSymbol)(int _handle,void* _name)
 {
         return wxDllLoader::GetSymbol ((wxDllType)_handle, (const wxChar*)_name);
 }
 */
-EWXWEXPORT(void, wxCFree) (void* _ptr)
+EWXWEXPORT(void,wxCFree)(void* _ptr)
 {
         free (_ptr);
 }
 
-EWXWEXPORT(void*, wxClassInfo_CreateClassByName) (void* _inf)
+EWXWEXPORT(void*,wxClassInfo_CreateClassByName)(wxString* _inf)
 {
-        wxClassInfo* inf = wxClassInfo::FindClass ((wxChar*)_inf);
+        wxClassInfo* inf = wxClassInfo::FindClass (*_inf);
         if (inf)
                 return inf->CreateObject();
         return NULL;
 }
 
-EWXWEXPORT(void*, wxClassInfo_GetClassName) (void* _obj)
+EWXWEXPORT(void*,wxClassInfo_GetClassName)(void* _obj)
 {
         wxClassInfo* inf = ((wxObject*)_obj)->GetClassInfo();
         if (inf)
@@ -727,12 +734,12 @@
         return NULL;
 }
 
-EWXWEXPORT(int, wxClassInfo_IsKindOf) (void* _obj, void* _name)
+EWXWEXPORT(bool,wxClassInfo_IsKindOf)(wxObject* _obj,wxString* _name)
 {
-        wxClassInfo* inf = wxClassInfo::FindClass ((wxChar*)_name);
+        wxClassInfo* inf = wxClassInfo::FindClass (*_name);
         if (inf)
-                return (int)((wxObject*)_obj)->IsKindOf(inf);
-        return 0;
+                return _obj->IsKindOf(inf);
+        return false;
 }
 
 EWXWEXPORT(int,wxEvent_NewEventType)()
diff --git a/wxc/wxc-2.4.dsp b/wxc/wxc-2.4.dsp
deleted file mode 100644
--- a/wxc/wxc-2.4.dsp
+++ /dev/null
@@ -1,623 +0,0 @@
-# Microsoft Developer Studio Project File - Name="wxc" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=wxc - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "wxc-2.4.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "wxc-2.4.mak" CFG="wxc - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "wxc - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "wxc - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "wxc - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\dist\wxc"
-# PROP Intermediate_Dir "..\dist\wxc\release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "WXC_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\wxWindows-2.4.2\lib\mswu" /I "include" /I "..\..\wxWindows-2.4.2\contrib\include" /I "..\..\wxWindows-2.4.2\include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "WXC_EXPORTS" /D WINVER=0x400 /D "_MT" /D wxUSE_GUI=1 /D wxUSE_UNICODE=1 /D BUILD_WXC=1 /D "_DLL" /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x413 /d "NDEBUG"
-# ADD RSC /l 0x409 /i "..\..\wxWindows-2.4.2\include" /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 zlib.lib regex.lib png.lib jpeg.lib tiff.lib wxmswu.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib opengl32.lib winmm.lib /nologo /dll /machine:I386 /nodefaultlib:"LIBCMT" /out:"..\dist\wxc\wxc-msw2.8.9-0.11.0.dll" /libpath:"..\dist\wxc" /libpath:"..\..\wxWindows-2.4.2\lib"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Cmds=echo Generating mingw32 import library ...	..\bin\reimp ..\dist\wxc\wxc-msw2.8.9-0.11.0.lib	move libwxc-msw2.8.9-0.11.0.a ..\dist\wxc	move wxc-msw2.8.9-0.11.0.def ..\dist\wxc	echo Done.
-# End Special Build Tool
-
-!ELSEIF  "$(CFG)" == "wxc - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\dist\wxc"
-# PROP Intermediate_Dir "..\dist\wxc\debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "WXC_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\..\wxWindows-2.4.2\lib\mswud" /I "..\..\wxWindows-2.4.2\contrib\include" /I "include" /I "..\..\wxWindows-2.4.2\include" /D "_DEBUG" /D "__WXDEBUG__" /D WXDEBUG=1 /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "WXC_EXPORTS" /D WINVER=0x400 /D "_MT" /D wxUSE_GUI=1 /D wxUSE_UNICODE=1 /D BUILD_WXC=1 /D "_DLL" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x413 /d "_DEBUG"
-# ADD RSC /l 0x409 /i "..\..\wxWindows-2.4.2\include" /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 zlibd.lib regexd.lib pngd.lib jpegd.lib tiffd.lib wxmswud.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib opengl32.lib winmm.lib /nologo /dll /debug /machine:I386 /nodefaultlib:"LIBCMTD" /out:"..\dist\wxc\wxcd-msw2.8.9-0.11.0.dll" /pdbtype:sept  /libpath:"..\dist\wxc" /libpath:"..\..\wxWindows-2.4.2\lib"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Cmds=echo Generating mingw32 import library ...	..\bin\reimp ..\dist\wxc\wxcd-msw2.8.9-0.11.0.lib	move libwxcd-msw2.8.9-0.11.0.a ..\dist\wxc	move wxcd-msw2.8.9-0.11.0.def ..\dist\wxc	echo Done.
-# End Special Build Tool
-
-!ENDIF 
-
-# Begin Target
-
-# Name "wxc - Win32 Release"
-# Name "wxc - Win32 Debug"
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\include\db.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\dragimage.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\ewxw_def.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\glcanvas.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\graphicscontext.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\managed.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\mediactrl.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\previewframe.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\printout.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\stc.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\stc_gen.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\textstream.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\sound.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\wrapper.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\wxc.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# Begin Source File
-
-SOURCE=.\src\wxc.rc
-# End Source File
-# End Group
-# Begin Group "Source Files"
-
-# PROP Default_Filter "*.cpp"
-# Begin Source File
-
-SOURCE=.\src\apppath.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\db.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\dragimage.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljevent.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljmime.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\ewxw_main.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\extra.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\glcanvas.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\graphicscontext.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\image.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\managed.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\mediactrl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\previewframe.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\printout.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\stc.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\taskbaricon.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\textstream.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\treectrl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\sound.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\wrapper.cpp
-# End Source File
-# End Group
-# Begin Group "ewxw"
-
-# PROP Default_Filter ""
-# Begin Group "ewxw sources"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\src\eljaccelerator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljartprov.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljbitmap.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljbrush.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljbusyinfo.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljbutton.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljcalendarctrl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljcaret.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljcheckbox.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljchecklistbox.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljchoice.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljclipboard.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljcoldata.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljcolour.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljcolourdlg.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljcombobox.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljconfigbase.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljcontrol.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljctxhelp.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljcursor.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljdataformat.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljdatetime.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljdc.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljdialog.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljdialup.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljdirdlg.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljdnd.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljdrawing.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljfiledialog.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljfilehist.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljfindrepldlg.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljfont.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljfontdata.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljfontdlg.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljframe.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljgauge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljgrid.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljhelpcontroller.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljicnbndl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljicon.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljimage.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljimagelist.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljipc.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljlayoutconstraints.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljlistbox.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljlistctrl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljlocale.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljlog.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljmask.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljmdi.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljmenu.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljmenubar.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljmessagedialog.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljminiframe.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljnotebook.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljpalette.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljpanel.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljpen.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljprintdlg.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljprinting.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljprocess.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljradiobox.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljradiobutton.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljregion.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljregioniter.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljsash.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljscrollbar.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljscrolledwindow.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljsingleinst.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljsizer.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljslider.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljspinctrl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljsplitterwindow.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljstaticbox.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljstaticline.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljstatictext.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljstatusbar.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljsystemsettings.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljtextctrl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljtglbtn.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljthread.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljtimer.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljtipwnd.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljtoolbar.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljvalidator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljwindow.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljwizard.cpp
-# End Source File
-# End Group
-# Begin Group "ewxw headers"
-
-# PROP Default_Filter "*.h"
-# Begin Source File
-
-SOURCE=.\include\wxc_glue.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\wxc_types.h
-# End Source File
-# End Group
-# End Group
-# End Target
-# End Project
diff --git a/wxc/wxc-2.4.dsw b/wxc/wxc-2.4.dsw
deleted file mode 100644
--- a/wxc/wxc-2.4.dsw
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "wxc"=".\wxc-2.4.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/wxc/wxc-2.6.dsp b/wxc/wxc-2.6.dsp
deleted file mode 100644
--- a/wxc/wxc-2.6.dsp
+++ /dev/null
@@ -1,629 +0,0 @@
-# Microsoft Developer Studio Project File - Name="wxc" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=wxc - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "wxc-2.6.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "wxc-2.6.mak" CFG="wxc - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "wxc - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "wxc - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "wxc - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\dist\wxc"
-# PROP Intermediate_Dir "..\dist\wxc\release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "WXC_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\wxWidgets-2.6.4\lib\vc_lib\mswu" /I "..\..\wxWidgets-2.6.4\contrib\include" /I "include" /I "..\..\wxWidgets-2.6.4\include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "WXC_EXPORTS" /D WINVER=0x400 /D "_MT" /D wxUSE_GUI=1 /D wxUSE_UNICODE=1 /D wxUSE_STC=1 /D wxUSE_SVG=1 /D BUILD_WXC=1 /D "_DLL" /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x413 /d "NDEBUG"
-# ADD RSC /l 0x409 /i "..\..\wxWidgets-2.6.4\include" /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-
-# ADD LINK32 wxzlib.lib wxregexu.lib wxpng.lib wxjpeg.lib wxtiff.lib wxexpat.lib wxbase26u.lib wxbase26u_net.lib wxbase26u_odbc.lib wxbase26u_xml.lib wxmsw26u_core.lib wxmsw26u_adv.lib wxmsw26u_dbgrid.lib wxmsw26u_gl.lib wxmsw26u_html.lib wxmsw26u_media.lib wxmsw26u_stc.lib wxmsw26u_svg.lib wxmsw26u_xrc.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib opengl32.lib winmm.lib /nologo /dll /machine:I386 /nodefaultlib:"LIBCMT" /out:"..\dist\wxc\wxc-msw2.8.9-0.11.0.dll" /libpath:"..\..\wxWidgets-2.6.4\lib\vc_lib"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Cmds=echo Generating mingw32 import library ...	..\bin\reimp ..\dist\wxc\wxc-msw2.8.9-0.11.0.lib	move libwxc-msw2.8.9-0.11.0.a ..\dist\wxc	move wxc-msw2.8.9-0.11.0.def ..\dist\wxc	echo Done.
-# End Special Build Tool
-
-!ELSEIF  "$(CFG)" == "wxc - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\dist\wxc"
-# PROP Intermediate_Dir "..\dist\wxc\debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "WXC_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\..\wxWidgets-2.6.4\lib\vc_lib\mswud" /I "include" /I "..\..\wxWidgets-2.6.4\include" /I "..\..\wxWidgets-2.6.4\contrib\include" /D "_DEBUG" /D "__WXDEBUG__" /D WXDEBUG=1 /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "WXC_EXPORTS" /D WINVER=0x400 /D "_MT" /D wxUSE_GUI=1 /D wxUSE_UNICODE=1 /D wxUSE_STC=1 /D wxUSE_SVG=1 /D BUILD_WXC=1 /D "_DLL" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x413 /d "_DEBUG"
-# ADD RSC /l 0x409 /i "..\..\wxWidgets-2.6.4\include" /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-
-# ADD LINK32 wxzlibd.lib wxregexud.lib wxpngd.lib wxjpegd.lib wxtiffd.lib wxexpatd.lib wxbase26ud.lib wxbase26ud_net.lib wxbase26ud_odbc.lib wxbase26ud_xml.lib wxmsw26ud_core.lib wxmsw26ud_adv.lib wxmsw26ud_dbgrid.lib wxmsw26ud_gl.lib wxmsw26ud_html.lib wxmsw26ud_media.lib wxmsw26ud_stc.lib wxmsw26ud_svg.lib wxmsw26ud_xrc.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib opengl32.lib winmm.lib /nologo /dll /debug /machine:I386 /nodefaultlib:"LIBCMTD" /out:"..\dist\wxc\wxcd-msw2.8.9-0.11.0.dll" /pdbtype:sept /libpath:"..\..\wxWidgets-2.6.4\lib\vc_lib"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Cmds=echo Generating mingw32 import library ...	..\bin\reimp ..\dist\wxc\wxcd-msw2.8.9-0.11.0.lib	move libwxcd-msw2.8.9-0.11.0.a ..\dist\wxc	move wxcd-msw2.8.9-0.11.0.def ..\dist\wxc	echo Done.
-# End Special Build Tool
-
-!ENDIF 
-
-# Begin Target
-
-# Name "wxc - Win32 Release"
-# Name "wxc - Win32 Debug"
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\include\db.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\dragimage.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\ewxw_def.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\glcanvas.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\graphicscontext.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\managed.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\mediactrl.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\sound.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\previewframe.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\printout.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\stc.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\stc_gen.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\textstream.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\wrapper.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\wxc.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# Begin Source File
-
-SOURCE=.\src\wxc.rc
-# End Source File
-# End Group
-# Begin Group "Source Files"
-
-# PROP Default_Filter "*.cpp"
-# Begin Source File
-
-SOURCE=.\src\apppath.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\db.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\dragimage.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljevent.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljmime.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\ewxw_main.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\extra.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\glcanvas.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\graphicscontext.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\image.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\managed.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\mediactrl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\previewframe.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\printout.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\stc.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\taskbaricon.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\textstream.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\treectrl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\sound.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\wrapper.cpp
-# End Source File
-# End Group
-# Begin Group "ewxw"
-
-# PROP Default_Filter ""
-# Begin Group "ewxw sources"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\src\eljaccelerator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljartprov.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljbitmap.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljbrush.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljbusyinfo.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljbutton.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljcalendarctrl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljcaret.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljcheckbox.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljchecklistbox.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljchoice.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljclipboard.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljcoldata.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljcolour.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljcolourdlg.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljcombobox.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljconfigbase.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljcontrol.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljctxhelp.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljcursor.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljdataformat.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljdatetime.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljdc.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljdcsvg.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljdialog.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljdialup.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljdirdlg.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljdnd.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljdrawing.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljfiledialog.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljfilehist.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljfindrepldlg.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljfont.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljfontdata.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljfontdlg.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljframe.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljgauge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljgrid.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljhelpcontroller.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljicnbndl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljicon.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljimage.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljimagelist.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljipc.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljlayoutconstraints.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljlistbox.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljlistctrl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljlocale.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljlog.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljmask.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljmdi.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljmenu.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljmenubar.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljmessagedialog.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljminiframe.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljnotebook.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljpalette.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljpanel.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljpen.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljprintdlg.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljprinting.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljprocess.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljradiobox.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljradiobutton.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljregion.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljregioniter.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljsash.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljscrollbar.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljscrolledwindow.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljsingleinst.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljsizer.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljslider.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljspinctrl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljsplitterwindow.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljstaticbox.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljstaticline.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljstatictext.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljstatusbar.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljsystemsettings.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljtextctrl.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljtglbtn.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljthread.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljtimer.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljtipwnd.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljtoolbar.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljvalidator.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljwindow.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\src\eljwizard.cpp
-# End Source File
-# End Group
-# Begin Group "ewxw headers"
-
-# PROP Default_Filter "*.h"
-# Begin Source File
-
-SOURCE=.\include\wxc_glue.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\include\wxc_types.h
-# End Source File
-# End Group
-# End Group
-# End Target
-# End Project
diff --git a/wxc/wxc-2.6.dsw b/wxc/wxc-2.6.dsw
deleted file mode 100644
--- a/wxc/wxc-2.6.dsw
+++ /dev/null
@@ -1,56 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "wxc"=".\wxc-2.6.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name stc
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "stc"="..\..\wxWidgets-2.6.4\contrib\build\stc\stc.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "svg"="..\..\wxWidgets-2.6.4\contrib\build\stc\svg.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/wxc/wxc-2.8.dsp b/wxc/wxc-2.8.dsp
--- a/wxc/wxc-2.8.dsp
+++ b/wxc/wxc-2.8.dsp
@@ -54,10 +54,10 @@
 LINK32=link.exe
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
 
-# ADD LINK32 wxzlib.lib wxregexu.lib wxpng.lib wxjpeg.lib wxtiff.lib wxexpat.lib wxbase28u.lib wxbase28u_net.lib wxbase28u_odbc.lib wxbase28u_xml.lib wxmsw28u_core.lib wxmsw28u_adv.lib wxmsw28u_dbgrid.lib wxmsw28u_gl.lib wxmsw28u_html.lib wxmsw28u_media.lib wxmsw28u_stc.lib wxmsw28u_svg.lib wxmsw28u_xrc.lib kernel32.lib user32.lib gdi32.lib gdiplus.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib opengl32.lib winmm.lib /nologo /dll /machine:I386 /nodefaultlib:"LIBCMT" /out:"..\dist\wxc\wxc-msw2.8.9-0.11.0.dll" /libpath:"..\..\wxWidgets-2.8.9\lib\vc_lib"
+# ADD LINK32 wxzlib.lib wxregexu.lib wxpng.lib wxjpeg.lib wxtiff.lib wxexpat.lib wxbase28u.lib wxbase28u_net.lib wxbase28u_odbc.lib wxbase28u_xml.lib wxmsw28u_core.lib wxmsw28u_adv.lib wxmsw28u_dbgrid.lib wxmsw28u_gl.lib wxmsw28u_html.lib wxmsw28u_media.lib wxmsw28u_stc.lib wxmsw28u_svg.lib wxmsw28u_xrc.lib kernel32.lib user32.lib gdi32.lib gdiplus.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib opengl32.lib winmm.lib /nologo /dll /machine:I386 /nodefaultlib:"LIBCMT" /out:"..\dist\wxc\wxc-msw2.8.9-0.11.1.0.dll" /libpath:"..\..\wxWidgets-2.8.9\lib\vc_lib"
 # Begin Special Build Tool
 SOURCE="$(InputPath)"
-PostBuild_Cmds=echo Generating mingw32 import library ...	..\bin\reimp ..\dist\wxc\wxc-msw2.8.9-0.11.0.lib	move libwxc-msw2.8.9-0.11.0.a ..\dist\wxc	move wxc-msw2.8.9-0.11.0.def ..\dist\wxc	echo Done.
+PostBuild_Cmds=echo Generating mingw32 import library ...	..\bin\reimp ..\dist\wxc\wxc-msw2.8.9-0.11.1.0.lib	move libwxc-msw2.8.9-0.11.1.0.a ..\dist\wxc	move wxc-msw2.8.9-0.11.1.0.def ..\dist\wxc	echo Done.
 # End Special Build Tool
 
 !ELSEIF  "$(CFG)" == "wxc - Win32 Debug"
@@ -85,10 +85,10 @@
 LINK32=link.exe
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
 
-# ADD LINK32 wxzlibd.lib wxregexud.lib wxpngd.lib wxjpegd.lib wxtiffd.lib wxexpatd.lib wxbase28ud.lib wxbase28ud_net.lib wxbase28ud_odbc.lib wxbase28ud_xml.lib wxmsw28ud_core.lib wxmsw28ud_adv.lib wxmsw28ud_dbgrid.lib wxmsw28ud_gl.lib wxmsw28ud_html.lib wxmsw28ud_media.lib wxmsw28ud_stc.lib wxmsw28ud_svg.lib wxmsw28ud_xrc.lib kernel32.lib user32.lib gdi32.lib gdiplus.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib opengl32.lib winmm.lib /nologo /dll /debug /machine:I386 /nodefaultlib:"LIBCMTD" /out:"..\dist\wxc\wxcd-msw2.8.9-0.11.0.dll" /pdbtype:sept /libpath:"..\..\wxWidgets-2.8.9\lib\vc_lib"
+# ADD LINK32 wxzlibd.lib wxregexud.lib wxpngd.lib wxjpegd.lib wxtiffd.lib wxexpatd.lib wxbase28ud.lib wxbase28ud_net.lib wxbase28ud_odbc.lib wxbase28ud_xml.lib wxmsw28ud_core.lib wxmsw28ud_adv.lib wxmsw28ud_dbgrid.lib wxmsw28ud_gl.lib wxmsw28ud_html.lib wxmsw28ud_media.lib wxmsw28ud_stc.lib wxmsw28ud_svg.lib wxmsw28ud_xrc.lib kernel32.lib user32.lib gdi32.lib gdiplus.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib opengl32.lib winmm.lib /nologo /dll /debug /machine:I386 /nodefaultlib:"LIBCMTD" /out:"..\dist\wxc\wxcd-msw2.8.9-0.11.1.0.dll" /pdbtype:sept /libpath:"..\..\wxWidgets-2.8.9\lib\vc_lib"
 # Begin Special Build Tool
 SOURCE="$(InputPath)"
-PostBuild_Cmds=echo Generating mingw32 import library ...	..\bin\reimp ..\dist\wxc\wxcd-msw2.8.9-0.11.0.lib	move libwxcd-msw2.8.9-0.11.0.a ..\dist\wxc	move wxcd-msw2.8.9-0.11.0.def ..\dist\wxc	echo Done.
+PostBuild_Cmds=echo Generating mingw32 import library ...	..\bin\reimp ..\dist\wxc\wxcd-msw2.8.9-0.11.1.0.lib	move libwxcd-msw2.8.9-0.11.1.0.a ..\dist\wxc	move wxcd-msw2.8.9-0.11.1.0.def ..\dist\wxc	echo Done.
 # End Special Build Tool
 
 !ENDIF 
@@ -251,6 +251,10 @@
 # Begin Source File
 
 SOURCE=.\src\wrapper.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\src\std.cpp
 # End Source File
 # End Group
 # Begin Group "ewxw"
diff --git a/wxcore.cabal b/wxcore.cabal
--- a/wxcore.cabal
+++ b/wxcore.cabal
@@ -1,5 +1,5 @@
 Name:           wxcore
-Version:        0.11.0
+Version:        0.11.1.0
 License:        LGPL
 License-file:   license.txt
 Homepage:       http://haskell.org/haskellwiki/WxHaskell
diff --git a/wxcore/src/Graphics/UI/WXCore/Dialogs.hs b/wxcore/src/Graphics/UI/WXCore/Dialogs.hs
--- a/wxcore/src/Graphics/UI/WXCore/Dialogs.hs
+++ b/wxcore/src/Graphics/UI/WXCore/Dialogs.hs
@@ -158,7 +158,7 @@
   = withFontStyle fontStyle $ \font ->
     bracket (getFontFromUser parent font)
             (fontDelete)
-            (\f -> do ok <- fontOk f
+            (\f -> do ok <- fontIsOk f
                       if ok
                        then do info <- fontGetFontStyle f
                                return (Just info)
diff --git a/wxcore/src/Graphics/UI/WXCore/Draw.hs b/wxcore/src/Graphics/UI/WXCore/Draw.hs
--- a/wxcore/src/Graphics/UI/WXCore/Draw.hs
+++ b/wxcore/src/Graphics/UI/WXCore/Draw.hs
@@ -254,7 +254,7 @@
 -- | Create a 'Font' from 'FontStyle'. Returns both the font and a deletion procedure.
 fontCreateFromStyle :: FontStyle -> IO (Font (),IO ())
 fontCreateFromStyle (FontStyle size family style weight underline face encoding)
-  = do font <- fontCreate size cfamily cstyle cweight (intFromBool underline) face encoding
+  = do font <- fontCreate size cfamily cstyle cweight underline face encoding
        return (font,when (font /= objectNull) (fontDelete font))
   where
     cfamily
@@ -284,7 +284,7 @@
 fontGetFontStyle font
   = if (objectIsNull font)
      then return fontDefault
-     else do ok <- fontOk font
+     else do ok <- fontIsOk font
              if not ok
                then return fontDefault
                else do size    <- fontGetPointSize font
@@ -497,7 +497,7 @@
 penGetPenStyle pen
   = if (objectIsNull pen)
      then return penDefault
-     else do ok <- penOk pen
+     else do ok <- penIsOk pen
              if not ok 
               then return penDefault
               else do stl <- penGetStyle pen
@@ -633,7 +633,7 @@
 brushGetBrushStyle brush
   = if (objectIsNull brush)
      then return brushDefault
-     else do ok <- brushOk brush
+     else do ok <- brushIsOk brush
              if not ok
               then return brushDefault
               else do stl   <- brushGetStyle brush
diff --git a/wxcore/src/Graphics/UI/WXCore/Events.hs b/wxcore/src/Graphics/UI/WXCore/Events.hs
--- a/wxcore/src/Graphics/UI/WXCore/Events.hs
+++ b/wxcore/src/Graphics/UI/WXCore/Events.hs
@@ -909,7 +909,7 @@
   where
     activateHandler event
       = do active <- activateEventGetActive (objectCast event)
-           eventHandler (boolFromInt active)
+           eventHandler active
 
 -- | Get the current activate event handler.
 windowGetOnActivate :: Window a -> IO (Bool -> IO ())
@@ -1069,7 +1069,7 @@
   where
     getRects iter
       = do more <- regionIteratorHaveRects iter
-           if (boolFromInt more)
+           if more
             then do x <- regionIteratorGetX iter
                     y <- regionIteratorGetY iter
                     w <- regionIteratorGetWidth iter
diff --git a/wxcore/src/Graphics/UI/WXCore/Image.hs b/wxcore/src/Graphics/UI/WXCore/Image.hs
--- a/wxcore/src/Graphics/UI/WXCore/Image.hs
+++ b/wxcore/src/Graphics/UI/WXCore/Image.hs
@@ -215,7 +215,7 @@
   Direct image manipulation
 -----------------------------------------------------------------------------------------}
 -- | An abstract pixel buffer (= array of RGB values)
-data PixelBuffer   = PixelBuffer Bool Size (Ptr CChar)
+data PixelBuffer   = PixelBuffer Bool Size (Ptr Word8)
 
 -- | Create a pixel buffer. (To be deleted with 'pixelBufferDelete').
 pixelBufferCreate   :: Size -> IO PixelBuffer
@@ -237,18 +237,18 @@
 pixelBufferGetPixels :: PixelBuffer -> IO [Color]
 pixelBufferGetPixels (PixelBuffer owned (Size w h) buffer)
   = do let count = w*h
-       rgbs <- peekCStringLen (buffer,3*count)                 -- peekArray seems buggy in ghc 6.2.1
+       rgbs <- peekArray (3*count) buffer
        return (convert rgbs)
   where
-    convert :: [Char] -> [Color]
-    convert (r:g:b:xs)  = colorRGB (intFromCChar r) (intFromCChar g) (intFromCChar b): convert xs
+    convert :: [Word8] -> [Color]
+    convert (r:g:b:xs)  = colorRGB (intFromWord8 r) (intFromWord8 g) (intFromWord8 b): convert xs
     convert []          = []
 
-intFromCChar :: Char -> Int                                          
-intFromCChar c  = fromEnum c
+intFromWord8 :: Word8 -> Int                                          
+intFromWord8 c  = fromIntegral c
 
-intToCChar :: Int -> CChar
-intToCChar i    = fromIntegral i
+intToWord8 :: Int -> Word8
+intToWord8 i    = fromIntegral i
 
 -- | Set all the pixels of a pixel buffer.
 pixelBufferSetPixels :: PixelBuffer -> [Color] -> IO ()
@@ -256,8 +256,8 @@
   = do let count = w*h
        pokeArray buffer (convert (take count colors))
   where
-    convert :: [Color] -> [CChar]
-    convert (c:cs) = intToCChar (colorRed c) : intToCChar (colorGreen c) : intToCChar (colorBlue c) : convert cs
+    convert :: [Color] -> [Word8]
+    convert (c:cs) = intToWord8 (colorRed c) : intToWord8 (colorGreen c) : intToWord8 (colorBlue c) : convert cs
     convert []     = []
 
 -- | Initialize the pixel buffer with a grey color. The second argument
@@ -271,9 +271,9 @@
 pixelBufferSetPixel (PixelBuffer owned size buffer) point color
   = {-
     do let idx = 3*(y*w + x)
-           r   = intToCChar (colorRed color)
-           g   = intToCChar (colorGreen color)
-           b   = intToCChar (colorBlue color)
+           r   = intToWord8 (colorRed color)
+           g   = intToWord8 (colorGreen color)
+           b   = intToWord8 (colorBlue color)
        pokeByteOff buffer idx r
        pokeByteOff buffer (idx+1) g
        pokeByteOff buffer (idx+2) b
@@ -289,7 +289,7 @@
        r   <- peekByteOff buffer idx
        g   <- peekByteOff buffer (idx+1)
        b   <- peekByteOff buffer (idx+2)
-       return (colorRGB (intFromCChar r) (intFromCChar g) (intFromCChar b))
+       return (colorRGB (intFromWord8 r) (intFromWord8 g) (intFromWord8 b))
     -}
     do rgb <- wxcGetPixelRGB buffer (sizeW size) point
        return (colorFromInt rgb)
diff --git a/wxcore/src/Graphics/UI/WXCore/Types.hs b/wxcore/src/Graphics/UI/WXCore/Types.hs
--- a/wxcore/src/Graphics/UI/WXCore/Types.hs
+++ b/wxcore/src/Graphics/UI/WXCore/Types.hs
@@ -47,7 +47,7 @@
             -- * Basic types
 
             -- ** Booleans
-            , boolFromInt, intFromBool
+            , toCBool, fromCBool
 
             -- ** Colors
             , Color, rgb, colorRGB, colorRed, colorGreen, colorBlue, intFromColor, colorFromInt, colorOk
diff --git a/wxcore/src/Graphics/UI/WXCore/WxcTypes.hs b/wxcore/src/Graphics/UI/WXCore/WxcTypes.hs
--- a/wxcore/src/Graphics/UI/WXCore/WxcTypes.hs
+++ b/wxcore/src/Graphics/UI/WXCore/WxcTypes.hs
@@ -30,7 +30,7 @@
             , EventId
 
             -- * Basic types
-            , intFromBool, boolFromInt
+            , fromBool, toBool
 
             -- ** Point
             , Point, Point2(Point,pointX,pointY), point, pt, pointFromVec, pointFromSize, pointZero, pointNull
@@ -47,7 +47,8 @@
             , rect, rectBetween, rectFromSize, rectZero, rectNull, rectSize, rectIsEmpty
 
             -- ** Color
-            , Color(..), rgb, colorRGB, colorRed, colorGreen, colorBlue, intFromColor, colorFromInt, colorOk
+            , Color(..), rgb, colorRGB, rgba, colorRGBA, colorRed, colorGreen, colorBlue, colorAlpha
+            , intFromColor, colorFromInt, wordFromColor, colorFromWord, colorOk
 
             -- * Marshalling
             -- ** Basic types
@@ -63,8 +64,8 @@
             , withArrayIntResult, withArrayStringResult, withArrayWStringResult, withArrayObjectResult
 
             , colourFromColor, colorFromColour
-            , colourCreate, colourSafeDelete -- , colourCreateRGB, colourRed, colourGreen, colourBlue
-            , toCCharColorRed, toCCharColorGreen, toCCharColorBlue
+            , colourCreate, colourSafeDelete -- , colourCreateRGB, colourRed, colourGreen, colourBlue colourAlpha
+            , toWord8ColorRed, toWord8ColorGreen, toWord8ColorBlue, toWord8ColorAlpha
 
   
             -- ** Managed object types
@@ -98,6 +99,8 @@
             , withByteStringResult, withLazyByteStringResult
             -- *** CInt
             , CInt, toCInt, fromCInt, withIntResult
+            -- *** Word
+            , Word
             -- *** 8 bit Word
             , Word8
             -- *** 64 bit Integer
@@ -120,6 +123,7 @@
 import Foreign.Storable
 import Foreign.Marshal.Alloc
 import Foreign.Marshal.Array
+import Foreign.Marshal.Utils (fromBool, toBool)
 
 {- note: for GHC 5.04, replace the following two imports by "import Foreign.ForeignPtr" -}
 import Foreign.ForeignPtr hiding (newForeignPtr,addForeignPtrFinalizer)
@@ -613,7 +617,7 @@
 type CBool  = CInt
 
 toCBool :: Bool -> CBool
-toCBool b     = toCInt (if b then 1 else 0)
+toCBool = intToCBool . fromBool
 
 withBoolResult :: IO CBool -> IO Bool
 withBoolResult io
@@ -621,17 +625,10 @@
        return (fromCBool x)
 
 fromCBool :: CBool -> Bool
-fromCBool cb
-  = (cb /= 0)
-
-
-intFromBool :: Bool -> Int
-intFromBool b
-  = if b then 1 else 0
+fromCBool  = toBool . cboolToInt
 
-boolFromInt :: Int -> Bool
-boolFromInt i
-  = (i/=0)
+foreign import ccall "intToBool" intToCBool :: Int -> CBool
+foreign import ccall "boolToInt" cboolToInt :: CBool -> Int
 
 {-----------------------------------------------------------------------------------------
   CString
@@ -1132,15 +1129,21 @@
 withManagedStringResult :: IO (Ptr (TWxString a)) -> IO String
 withManagedStringResult io
   = do wxs <- io
-       s   <- withWStringResult (wxString_GetString wxs)
+       len <- wxString_Length wxs
+       s   <- if (len<=0)
+                then return ""
+                else withCWString (replicate (fromCInt len) ' ') $ \cstr ->
+                     do wxString_GetString wxs cstr
+                        peekCWStringLen (cstr, fromCInt len)
        wxString_Delete wxs
        return s
 
 
-foreign import ccall "wxString_Create"    wxString_Create    :: Ptr CWchar -> IO (Ptr (TWxString a))
-foreign import ccall "wxString_CreateLen" wxString_CreateLen :: Ptr CWchar -> CInt -> IO (Ptr (TWxString a))
-foreign import ccall "wxString_Delete"    wxString_Delete    :: Ptr (TWxString a) -> IO ()
-foreign import ccall "wxString_GetString" wxString_GetString :: Ptr (TWxString a) -> Ptr CWchar -> IO CInt
+foreign import ccall wxString_Create    :: Ptr CWchar -> IO (Ptr (TWxString a))
+foreign import ccall wxString_CreateLen :: Ptr CWchar -> CInt -> IO (Ptr (TWxString a))
+foreign import ccall wxString_Delete    :: Ptr (TWxString a) -> IO ()
+foreign import ccall wxString_GetString :: Ptr (TWxString a) -> Ptr CWchar -> IO CInt
+foreign import ccall wxString_Length    :: Ptr (TWxString a) -> IO CInt
 
 
 {-----------------------------------------------------------------------------------------
@@ -1160,49 +1163,79 @@
 --   We can't derive 'MArray' class's unboxed array instance this way. This is a bad point
 --   of current 'MArray' class definition.
 --
-newtype Color = Color Int 
+newtype Color = Color Word 
               deriving (Eq, Typeable) -- , IArray UArray) 
 
 instance Show Color where
   showsPrec d c
-    = showParen (d > 0) (showString "rgb(" . shows (colorRed   c) .
-                          showChar   ','   . shows (colorGreen c) .
-                          showChar   ','   . shows (colorBlue  c) .
+    = showParen (d > 0) (showString "rgba(" . shows (colorRed   c) .
+                          showChar   ','    . shows (colorGreen c) .
+                          showChar   ','    . shows (colorBlue  c) .
+                          showChar   ','    . shows (colorAlpha c) .
                           showChar   ')' )
 
 -- | Create a color from a red\/green\/blue triple.
 colorRGB :: Int -> Int -> Int -> Color
-colorRGB r g b = Color (shiftL r 16 .|. shiftL g 8 .|. b)
+colorRGB r g b = Color (shiftL (fromIntegral r) 24 .|. shiftL (fromIntegral g) 16 .|. shiftL (fromIntegral b) 8 .|. 255)
 
 -- | Create a color from a red\/green\/blue triple.
 rgb :: Int -> Int -> Int -> Color
 rgb r g b = colorRGB r g b
 
+-- | Create a color from a red\/green\/blue\/alpha quadruple.
+colorRGBA :: Int -> Int -> Int -> Int -> Color
+colorRGBA r g b a = Color (shiftL (fromIntegral r) 24 .|. shiftL (fromIntegral g) 16 .|. shiftL (fromIntegral b) 8 .|. (fromIntegral a))
 
+-- | Create a color from a red\/green\/blue\/alpha quadruple.
+rgba :: Int -> Int -> Int -> Int -> Color
+rgba r g b a = colorRGBA r g b a
+
+
 -- | Return an 'Int' where the three least significant bytes contain
 -- the red, green, and blue component of a color.
 intFromColor :: Color -> Int
-intFromColor (Color rgb)
-  = rgb
+intFromColor rgb
+  = let r = colorRed rgb
+        g = colorGreen rgb
+        b = colorBlue rgb
+    in (shiftL (fromIntegral r) 16 .|. shiftL (fromIntegral g) 8 .|. b)
 
 -- | Set the color according to an rgb integer. (see 'rgbIntFromColor').
 colorFromInt :: Int -> Color
 colorFromInt rgb
+  = let r = (shiftR rgb 16) .&. 0xFF
+        g = (shiftR rgb 8) .&. 0xFF
+        b = rgb .&. 0xFF
+    in colorRGB r g b
+
+-- | Return an 'Int' where the three least significant bytes contain
+-- the red, green, and blue component of a color.
+wordFromColor :: Color -> Word
+wordFromColor (Color rgb)
+  = rgb
+
+-- | Set the color according to an rgba unsigned integer. (see 'rgbaIntFromColor').
+colorFromWord :: Word -> Color
+colorFromWord rgb
   = Color rgb
 
 -- | Returns a red color component
 colorRed   :: Color -> Int
-colorRed   (Color rgb) = (shiftR rgb 16) .&. 0xFF
+colorRed   (Color rgba) = fromIntegral ((shiftR rgba 24) .&. 0xFF)
 
 -- | Returns a green color component
 colorGreen :: Color -> Int
-colorGreen (Color rgb) = (shiftR rgb 8) .&. 0xFF
+colorGreen (Color rgba) = fromIntegral ((shiftR rgba 16) .&. 0xFF)
 
 -- | Returns a blue color component
 colorBlue  :: Color -> Int
-colorBlue  (Color rgb) = rgb .&. 0xFF
+colorBlue  (Color rgba) = fromIntegral ((shiftR rgba 8) .&. 0xFF)
 
+-- | Returns a alpha channel component
+colorAlpha  :: Color -> Int
+colorAlpha  (Color rgba) = fromIntegral (rgba .&. 0xFF)
 
+
 -- | This is an illegal color, corresponding to @nullColour@.
 colorNull :: Color
 colorNull
@@ -1215,13 +1248,11 @@
 
 
 -- marshalling 1
-toCCharColorRed, toCCharColorGreen, toCCharColorBlue :: Color -> CChar
-toCCharColorRed c    = toCCharInt (colorRed c)
-toCCharColorGreen c  = toCCharInt (colorGreen c)
-toCCharColorBlue c   = toCCharInt (colorBlue c)
-
-toCCharInt :: Int -> CChar
-toCCharInt i         = fromIntegral i
+toWord8ColorRed, toWord8ColorGreen, toWord8ColorBlue, toWord8ColorAlpha :: Color -> Word8
+toWord8ColorRed c    = fromIntegral (colorRed c)
+toWord8ColorGreen c  = fromIntegral (colorGreen c)
+toWord8ColorBlue c   = fromIntegral (colorBlue c)
+toWord8ColorAlpha c  = fromIntegral (colorAlpha c)
 
 -- marshalling 2
 {-
@@ -1238,11 +1269,11 @@
 withManagedColourResult :: IO (Ptr (TColour a)) -> IO Color
 withManagedColourResult io
   = do pcolour <- io
-       color <- do ok <- colourOk pcolour
+       color <- do ok <- colourIsOk pcolour
                    if (ok==0)
                     then return colorNull
-                    else do rgb <- colourGetInt pcolour
-                            return (colorFromInt (fromCInt rgb))
+                    else do rgba <- colourGetUnsignedInt pcolour
+                            return (colorFromWord rgba)
        colourSafeDelete pcolour
        return color
 
@@ -1253,7 +1284,7 @@
 
 withColourPtr :: Color -> (Ptr (TColour a) -> IO b) -> IO b
 withColourPtr c f
-  = do pcolour <- colourCreateFromInt (toCInt (intFromColor c))
+  = do pcolour <- colourCreateFromUnsignedInt (wordFromColor c)
        x <- f pcolour
        colourSafeDelete pcolour
        return x
@@ -1261,7 +1292,7 @@
 colourFromColor :: Color -> IO (Colour ())
 colourFromColor c
   = if (colorOk c)
-     then do p <- colourCreateFromInt (toCInt (intFromColor c))
+     then do p <- colourCreateFromUnsignedInt (wordFromColor c)
              if (colourIsStatic p)
               then return (objectFromPtr p)
               else do mp <- wxManagedPtr_CreateFromColour p
@@ -1272,18 +1303,20 @@
 colorFromColour :: Colour a -> IO Color
 colorFromColour c
   = withObjectRef "colorFromColour" c $ \pcolour ->
-    do ok <- colourOk pcolour
+    do ok <- colourIsOk pcolour
        if (ok==0)
         then return colorNull
-        else do rgb <- colourGetInt pcolour
-                return (colorFromInt (fromCInt rgb))
+        else do rgba <- colourGetUnsignedInt pcolour
+                return (colorFromWord rgba)
 
 
 foreign import ccall "wxColour_CreateEmpty" colourCreate    :: IO (Ptr (TColour a))
 foreign import ccall "wxColour_CreateFromInt" colourCreateFromInt :: CInt -> IO (Ptr (TColour a))
 foreign import ccall "wxColour_GetInt" colourGetInt               :: Ptr (TColour a) -> IO CInt
+foreign import ccall "wxColour_CreateFromUnsignedInt" colourCreateFromUnsignedInt :: Word -> IO (Ptr (TColour a))
+foreign import ccall "wxColour_GetUnsignedInt" colourGetUnsignedInt       :: Ptr (TColour a) -> IO Word
 foreign import ccall "wxColour_SafeDelete" colourSafeDelete   :: Ptr (TColour a) -> IO ()
 foreign import ccall "wxColour_IsStatic" colourIsStatic   :: Ptr (TColour a) -> Bool
-foreign import ccall "wxColour_Ok"    colourOk   :: Ptr (TColour a) -> IO CInt
+foreign import ccall "wxColour_IsOk"    colourIsOk   :: Ptr (TColour a) -> IO CInt
 foreign import ccall "Null_Colour"    colourNull :: IO (Ptr (TColour a))
 foreign import ccall wxManagedPtr_CreateFromColour :: Ptr (TColour a) -> IO (ManagedPtr (TColour a))
diff --git a/wxdirect/src/CompileClasses.hs b/wxdirect/src/CompileClasses.hs
--- a/wxdirect/src/CompileClasses.hs
+++ b/wxdirect/src/CompileClasses.hs
@@ -465,9 +465,9 @@
                    ++ pparens ("toCDoubleRectW " ++ name) ++ " " ++ pparens( "toCDoubleRectH " ++ name)
       Rect _   -> pparens ("toCIntRectX " ++ name) ++ " " ++ pparens( "toCIntRectY " ++ name)
                   ++ pparens ("toCIntRectW " ++ name) ++ " " ++ pparens( "toCIntRectH " ++ name)
-      ColorRGB _ ->    pparens ("toCCharColorRed " ++ name) ++ " " 
-                    ++ pparens ("toCCharColorGreen " ++ name) ++ " "
-                    ++ pparens ("toCCharColorBlue " ++ name) 
+      ColorRGB _ ->    pparens ("toWord8ColorRed " ++ name) ++ " " 
+                    ++ pparens ("toWord8ColorGreen " ++ name) ++ " "
+                    ++ pparens ("toWord8ColorBlue " ++ name) 
 
       ArrayString _     -> haskellArrayLenName name ++ " " ++ haskellArrayName name
       ArrayObject tp _  -> haskellArrayLenName name ++ " " ++ haskellArrayName name
@@ -559,6 +559,9 @@
       Bool   -> "Bool"
       Int _  -> "Int"
       Int64  -> "Int64"
+      Word   -> "Word"
+      Word8  -> "Word8"
+      Word32 -> "Word32"
       Void   -> "()"
       Char   -> "Char"
       Double -> "Double"
@@ -648,6 +651,9 @@
       Bool   -> "CBool"
       Int _  -> "CInt"
       Int64  -> "Int64"
+      Word   -> "Word"
+      Word8  -> "Word8"
+      Word32 -> "Word32"
       Void   -> "()"
       Char   -> "CWchar"
       Double -> "Double"
@@ -664,7 +670,7 @@
       Vector _ -> "CInt -> CInt"
       Size CDouble  -> "CDouble -> CDouble"
       Size _   -> "CInt -> CInt"
-      ColorRGB _ -> "CChar -> CChar -> CChar"
+      ColorRGB _ -> "Word8 -> Word8 -> Word8"
       Rect CDouble -> "CDouble -> CDouble -> CDouble -> CDouble"
       Rect _   -> "CInt -> CInt -> CInt -> CInt"
       Fun f    -> "Ptr " ++ pparens f
diff --git a/wxdirect/src/ParseC.hs b/wxdirect/src/ParseC.hs
--- a/wxdirect/src/ParseC.hs
+++ b/wxdirect/src/ParseC.hs
@@ -135,6 +135,9 @@
   <|> do reserved "size_t"; return (Int SizeT)
   <|> do reserved "time_t"; return (Int TimeT)
   <|> do reserved "TInt64"; return Int64
+  <|> do reserved "TUInt"; return Word
+  <|> do reserved "TUInt8"; return Word8
+  <|> do reserved "TUInt32"; return Word32
   <|> do reserved "TBool";   return Bool
   <|> do reserved "TBoolInt"; return Bool
   <|> do reserved "TChar";   return Char
diff --git a/wxdirect/src/Types.hs b/wxdirect/src/Types.hs
--- a/wxdirect/src/Types.hs
+++ b/wxdirect/src/Types.hs
@@ -80,6 +80,9 @@
 
 data Type = Int CBaseType
           | Int64
+          | Word
+          | Word8
+          | Word32
           | Void
           | Char
           | Double
diff --git a/wxdirect/wxdirect.cabal b/wxdirect/wxdirect.cabal
--- a/wxdirect/wxdirect.cabal
+++ b/wxdirect/wxdirect.cabal
@@ -1,5 +1,5 @@
 Name:           wxdirect
-Version:        0.11.0
+Version:        0.11.1.0
 License:        BSD3
 Homepage:       http://haskell.org/haskellwiki/WxHaskell
 Author:         Daan Leijen
