packages feed

wxc (empty) → 0.90

raw patch · 128 files changed

+34735/−0 lines, 128 filesdep +basedep +wxdirectbuild-type:Customsetup-changed

Dependencies added: base, wxdirect

Files

+ LICENSE view
@@ -0,0 +1,573 @@+----------------------------------------------------------------------
+                        PREAMBLE
+
+The wxHaskell libraries are distributed under the wxWindows library
+license. The documentation is subject to the wxWidgets documentation
+license.
+
+See "http://www.wxwidgets.org/newlicen.htm" for the legal description
+of the license, which is also included in this document.
+
+The wxWindows library licence is essentially the L-GPL (Library General
+Public Licence), with an exception stating that derived works in binary
+form may be distributed on the user's own terms. This means that it is
+possible to create commercial software with this library without paying
+royalties or disclosing source code. This is a solution that satisfies
+those who wish to produce GPL'ed software using wxHaskell, and also
+those producing proprietary software.
+
+This library is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the wxWidgets
+library license for more details.
+
+
+----------------------------------------------------------------------
+                       WXWINDOWS LIBRARY LICENCE
+     TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  This library is free software; you can redistribute it and/or modify it
+  under the terms of the GNU Library General Public Licence as published by
+  the Free Software Foundation; either version 2 of the Licence, or (at
+  your option) any later version.
+
+  This library is distributed in the hope that it will be useful, but
+  WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library
+  General Public Licence for more details.
+
+  You should have received a copy of the GNU Library General Public Licence
+  along with this software, usually in a file named COPYING.LIB.  If not,
+  write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+  Boston, MA 02111-1307 USA.
+
+  EXCEPTION NOTICE
+
+  1. As a special exception, the copyright holders of this library give
+  permission for additional uses of the text contained in this release of
+  the library as licenced under the wxWindows Library Licence, applying
+  either version 3 of the Licence, or (at your option) any later version of
+  the Licence as published by the copyright holders of version 3 of the
+  Licence document.
+
+  2. The exception is that you may use, copy, link, modify and distribute
+  under the user's own terms, binary object code versions of works based
+  on the Library.
+
+  3. If you copy code from files distributed under the terms of the GNU
+  General Public Licence or the GNU Library General Public Licence into a
+  copy of this library, as this licence permits, the exception does not
+  apply to the code that you add in this way.  To avoid misleading anyone as
+  to the status of such modified files, you must delete this exception
+  notice from such code and/or adjust the licensing conditions notice
+  accordingly.
+
+  4. If you write modifications of your own for this library, it is your
+  choice whether to permit this exception to apply to your modifications.
+  If you do not wish that, you must delete the exception notice from such
+  code and/or adjust the licensing conditions notice accordingly.
+
+
+----------------------------------------------------------------------
+  GNU LESSER GENERAL PUBLIC LICENSE
+       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+    NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+     END OF TERMS AND CONDITIONS
+
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
+ Setup.hs view
@@ -0,0 +1,294 @@+import Control.Monad (mapM_, when)
+import Data.List (foldl', intersperse, intercalate, nub, lookup, isPrefixOf)
+import Data.Maybe (fromJust)
+import Distribution.PackageDescription
+import Distribution.Simple
+import Distribution.Simple.InstallDirs (InstallDirs(..))
+import Distribution.Simple.LocalBuildInfo (LocalBuildInfo, localPkgDescr, installedPkgs, withPrograms, buildDir, absoluteInstallDirs)
+import Distribution.Simple.PackageIndex(SearchResult (..), searchByName )
+import Distribution.Simple.Program (ConfiguredProgram (..), lookupProgram, runProgram, simpleProgram, locationPath)
+import Distribution.Simple.Setup (ConfigFlags, BuildFlags, InstallFlags, CopyDest(..), fromFlag, installVerbosity)
+import Distribution.Simple.Utils (installOrdinaryFile)
+import Distribution.System (OS (..), Arch (..), buildOS, buildArch)
+import Distribution.Verbosity (normal, verbose)
+import System (ExitCode (..))
+import System.Cmd (system)
+import System.Directory (createDirectoryIfMissing, doesFileExist, getCurrentDirectory, getModificationTime)
+import System.Environment (getEnv)
+import System.FilePath.Posix ((</>), (<.>), replaceExtension, takeFileName, dropFileName, addExtension)
+import System.IO.Unsafe (unsafePerformIO)
+import System.Process (readProcess)
+
+-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+main :: IO ()
+main = defaultMainWithHooks simpleUserHooks { confHook = myConfHook, buildHook = myBuildHook, instHook = myInstHook }
+
+-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+sourceDirectory  :: FilePath
+includeDirectory :: FilePath
+
+sourceDirectory  = "cpp"
+includeDirectory = "include"
+
+-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+-- Comment out type signature because of a Cabal API change from 1.6 to 1.7
+myConfHook (pkg0, pbi) flags = do
+
+    lbi <- confHook simpleUserHooks (pkg0, pbi) flags
+    let lpd       = localPkgDescr lbi
+    let lib       = fromJust (library lpd)
+    let libbi     = libBuildInfo lib
+    let custom_bi = customFieldsBI libbi
+
+    wx <- fmap parseWxConfig readWxConfig
+
+    let libbi' = libbi
+          { extraLibDirs = extraLibDirs libbi ++ extraLibDirs wx
+          , extraLibs    = extraLibs    libbi ++ reverse (extraLibs    wx)
+          , ldOptions    = ldOptions    libbi ++ ldOptions    wx
+          , frameworks   = frameworks   libbi ++ frameworks   wx
+          , includeDirs  = includeDirs  libbi ++ includeDirs  wx
+          , ccOptions    = ccOptions    libbi ++ ccOptions    wx ++ ["-DwxcREFUSE_MEDIACTRL"]
+          }
+
+    let lib' = lib { libBuildInfo = libbi' }
+    let lpd' = lpd { library = Just lib' }
+
+    return $ lbi { localPkgDescr = lpd' }
+
+-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+-- Make sure the right version of wx widgets is installed and return the 
+readWxConfig :: IO String
+readWxConfig = do
+    -- Try to force version and see if we have it
+    let wxRequiredVersion = "2.9"
+
+    -- The Windows port of wx-config doesn't let you specify a version, nor query the full version,
+    -- accordingly we just check what version is installed (which is returned with --release)
+    wxVersion <- case buildOS of
+      Windows -> readProcess "wx-config" ["--release"] ""
+      _       -> readProcess "wx-config" ["--version=" ++ wxRequiredVersion, "--version-full"] ""
+
+    if wxRequiredVersion `isPrefixOf` wxVersion 
+      then putStrLn ("Configuring wxc to build against wx " ++ wxVersion)
+      else error ("This version of wxcore requires wx " ++ wxRequiredVersion ++ " to be available")
+
+    -- The Windows port of wx-config doesn't let you specify a version (yet)
+    output <- case buildOS of
+      -- TODO: Nasty Windows hack: wx-config-win barfs if --cppflags comes after --libs :-(
+      Windows -> readProcess "wx-config" ["--cppflags", "--libs", "all"] ""
+      _       -> readProcess "wx-config" ["--version=" ++ wxRequiredVersion, "--libs", "all", "--cppflags"] ""
+    return output
+
+parseWxConfig :: String -> BuildInfo
+parseWxConfig s =
+    helper emptyBuildInfo (words s)
+  where
+    helper b ("-framework":w:ws) = helper (b { frameworks = w : frameworks b }) ws
+    helper b (w:ws)              = helper (f b w) ws
+    helper b []                  = b
+    f b w =
+        case w of
+          ('-':'L':v) -> b { extraLibDirs = v : extraLibDirs b }
+          ('-':'l':v) -> b { extraLibs    = v : extraLibs b }
+          ('-':'I':v) -> b { includeDirs  = v : includeDirs b }
+          ('-':'D':_) -> b { ccOptions    = w : ccOptions b }
+          _           -> b
+
+-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+-- | Extend the standard build hook to build a shared library for wxc - this will statically link
+-- any libraries which are unavailable as shared variants. This is mainly a work-around for the
+-- fact that GHCi needs to load shared libraries at run-time, and that the Windows MinGW environment
+-- is shipped with only a static version of libstdc++.
+-- TODO: Does not currently create the build output directory.
+myBuildHook :: PackageDescription -> LocalBuildInfo -> UserHooks -> BuildFlags -> IO ()
+myBuildHook pkg_descr local_bld_info user_hooks bld_flags =
+    do
+    -- Extract the custom fields customFieldsPD where field name is x-cpp-dll-sources
+    let lib = fromJust (library pkg_descr)
+        lib_bi = libBuildInfo lib
+        custom_bi = customFieldsBI lib_bi
+        dll_name = fromJust (lookup "x-dll-name" custom_bi)
+        dll_srcs = (lines . fromJust) (lookup "x-dll-sources" custom_bi)
+        dll_libs = (lines . fromJust) (lookup "x-dll-extra-libraries" custom_bi)
+        cc_opts = ccOptions lib_bi
+        ld_opts = ldOptions lib_bi
+        inc_dirs = includeDirs lib_bi
+        lib_dirs = extraLibDirs lib_bi
+        libs = extraLibs lib_bi
+        bld_dir = buildDir local_bld_info
+        progs = withPrograms local_bld_info
+        gcc = fromJust (lookupProgram (simpleProgram "gcc") progs)
+        ver = (pkgVersion . package) pkg_descr
+        inst_lib_dir = libdir $ absoluteInstallDirs pkg_descr local_bld_info NoCopyDest
+    -- Compile C/C++ sources - output directory is dist/build/src/cpp
+    putStrLn "Building wxc"
+    objs <- mapM (compileCxx gcc cc_opts inc_dirs bld_dir) dll_srcs
+    -- Link C/C++ sources as a DLL - output directory is dist/build
+    putStrLn "Linking wxc"
+    linkSharedLib gcc ld_opts lib_dirs (libs ++ dll_libs) objs ver bld_dir dll_name inst_lib_dir
+
+-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+-- | Return any compiler options required to support shared library creation
+osCompileOpts :: [String] -- ^ Platform-specific compile options
+osCompileOpts =
+    case buildOS of
+      Windows -> ["-DBUILD_DLL"]
+      OSX -> ["-fPIC"]
+      _ -> ["-fPIC"]
+
+sharedLibName :: Version -- ^ Version information to be used for Unix shared libraries
+              -> String -- ^ Name of the shared library
+              -> String
+sharedLibName ver basename =
+    case buildOS of
+      Windows -> addExtension basename ".dll"
+      OSX -> "lib" ++ addExtension basename ".dylib"
+      _ -> "lib" ++ basename ++ ".so." ++ full_ver
+        where
+          full_ver = (concat . intersperse "." . map show . versionBranch) ver
+
+-- | Return any linker options required to support shared library creation
+linkCxxOpts :: Version -- ^ Version information to be used for Unix shared libraries
+            -> FilePath -- ^ Directory in which library will be built
+            -> String -- ^ Name of the shared library
+            -> String -- ^ Absolute path of the shared library
+            -> [String] -- ^ List of options which can be applied to 'runProgram'
+linkCxxOpts ver out_dir basename basepath =
+    let dll_pathname = normalisePath (out_dir </> addExtension basename ".dll")
+        implib_pathname = normalisePath (out_dir </> "lib" ++ addExtension basename ".a") in
+    case buildOS of
+      Windows -> ["--dll", "-shared", 
+                  "-o " ++ out_dir </> sharedLibName ver basename,
+                  "-Wl,--out-implib," ++ "lib" ++ addExtension basename ".a",
+                  "-Wl,--export-all-symbols", "-Wl,--enable-auto-import"]
+      OSX -> ["-dynamiclib",
+                  "-o " ++ out_dir </> sharedLibName ver basename,
+                  "-install_name " ++ basepath </> sharedLibName ver basename,
+                  "-Wl,-undefined,dynamic_lookup"]
+      _ -> ["-shared",
+                  "-Wl,-soname,lib" ++ basename ++ ".so",
+                  "-o " ++ out_dir </> sharedLibName ver basename]
+
+-- | Compile a single source file using the configured gcc, if the object file does not yet
+-- exist, or is older than the source file.
+-- TODO: Does not do dependency resolution properly
+compileCxx :: ConfiguredProgram -- ^ Program used to perform C/C++ compilation (gcc)
+           -> [String] -- ^ Compile options provided by Cabal and wxConfig
+           -> [String] -- ^ Include paths provided by Cabal and wxConfig
+           -> FilePath -- ^ Base output directory
+           -> FilePath -- ^ Path to source file
+           -> IO FilePath -- ^ Path to generated object code
+compileCxx gcc opts incls out_path cxx_src =
+    do
+    let includes = map ("-I" ++) incls
+        out_path' = normalisePath out_path
+        cxx_src' = normalisePath cxx_src
+        out_file = out_path' </> dropFileName cxx_src </> replaceExtension (takeFileName cxx_src) ".o"
+        out = ["-c", cxx_src', "-o", out_file]
+        opts' = opts ++ osCompileOpts
+    do_it <- needsCompiling cxx_src out_file
+    when do_it $ createDirectoryIfMissing True (dropFileName out_file) >>
+                 runProgram verbose gcc (includes ++ opts' ++ out)
+    return out_file
+
+-- | Return True if obj does not exist or is older than src.
+-- Real dependency checking would be nice here...
+needsCompiling :: FilePath -- ^ Path to source file
+               -> FilePath -- ^ Path to object file
+               -> IO Bool -- ^ True if compilation required
+needsCompiling src obj =
+    do
+    has_obj <- doesFileExist obj
+    if has_obj
+        then do
+          mtime_src <- getModificationTime src
+          mtime_obj <- getModificationTime obj
+          if mtime_obj < mtime_src then return True else return False
+        else
+          return True
+
+-- | Create a dynamically linked library using the configured ld.
+linkSharedLib :: ConfiguredProgram -- ^ Program used to perform linking
+              -> [String] -- ^ Linker options supplied by Cabal
+              -> [FilePath] -- ^ Library directories
+              -> [String] -- ^ Libraries
+              -> [String] -- ^ Objects
+              -> Version -- ^ wxCore version (wxC has same version number)
+              -> FilePath -- ^ Directory in which library will be generated
+              -> String -- ^ Name of the shared library
+              -> String -- ^ Absolute path of the shared library
+              -> IO ()
+linkSharedLib gcc opts lib_dirs libs objs ver out_dir dll_name dll_path =
+    do
+    let lib_dirs' = map (\d -> "-L" ++ normalisePath d) lib_dirs
+        out_dir' = normalisePath out_dir
+        opts' = opts ++ linkCxxOpts ver (out_dir') dll_name dll_path
+        objs' = map normalisePath objs
+        libs' = ["-lstdc++"] ++ map ("-l" ++) libs
+    --runProgram verbose gcc (opts' ++ objs' ++ lib_dirs' ++ libs')
+    system $ (unwords ([show . locationPath . programLocation $ gcc] ++ opts' ++ objs' ++ lib_dirs' ++ libs'))
+    return ()
+
+-- | The 'normalise' implementation in System.FilePath does not meet the requirements of
+-- calling and/or running external programs on Windows particularly well as it does not
+-- normalise the '/' character to '\\'. The problem is that some MinGW programs do not
+-- like to see paths with a mixture of '/' and '\\'. Sine we are calling out to these,
+-- we require a stricter normalisation.
+normalisePath :: FilePath -> FilePath
+normalisePath = case buildOS of
+                  Windows -> dosifyFilePath
+                  _ -> unixifyFilePath
+
+-- | Replace a character in a String with some other character
+replace :: Char -- ^ Character to replace
+        -> Char -- ^ Character with which to replace
+        -> String -- ^ String in which to replace
+        -> String -- ^ Transformed string
+replace old new = map replace'
+    where
+      replace' elem = if elem == old then new else elem
+
+unixifyFilePath = replace '\\' '/'
+dosifyFilePath = replace '/' '\\'
+
+-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+-- | Run ldconfig in `path` and return a list of all the links which were created
+ldconfig :: FilePath -> IO ()
+ldconfig path = case buildOS of
+    Windows -> return ()
+    OSX -> return ()
+    _ -> do
+            ld_exit_code <- system ("/sbin/ldconfig -n " ++ path) 
+            case ld_exit_code of
+                ExitSuccess -> return ()
+                otherwise -> error "Couldn't execute ldconfig, ensure it is on your path"
+
+myInstHook :: PackageDescription -> LocalBuildInfo -> UserHooks -> InstallFlags -> IO ()
+myInstHook pkg_descr local_bld_info user_hooks inst_flags = 
+    do
+    -- Perform simpleUserHooks instHook (to copy installIncludes)
+    instHook simpleUserHooks pkg_descr local_bld_info user_hooks inst_flags
+
+    -- Copy shared library
+    let bld_dir = buildDir local_bld_info
+
+        ver = (pkgVersion . package) pkg_descr
+        lib = fromJust (library pkg_descr)
+        lib_bi = libBuildInfo lib
+        custom_bi = customFieldsBI lib_bi
+        dll_name = fromJust (lookup "x-dll-name" custom_bi)
+        lib_name = sharedLibName ver dll_name
+
+        inst_lib_dir = libdir $ absoluteInstallDirs pkg_descr local_bld_info NoCopyDest
+
+    installOrdinaryFile (fromFlag (installVerbosity inst_flags)) (bld_dir </> lib_name) (inst_lib_dir </> lib_name)
+    ldconfig inst_lib_dir
+
+ src/cpp/apppath.cpp view
@@ -0,0 +1,117 @@+#include "wrapper.h"+#ifdef __WXMSW__+# include <windows.h>+#elif defined(__WXMAC__)+# ifdef __DARWIN__+#  include <mach-o/dyld.h>+   typedef int (*NSGetExecutablePathProcPtr)(char* buf, size_t* bufsize);+# else+#  include <Types.h>+#  include <Files.h>+#  include <Processes.h> +# endif+#endif+++wxString GetApplicationPath()+{+  static bool found = false;+  static wxString path;++  if (!found)+  {+/* Windows */+#ifdef __WXMSW__+    wxChar buf[512] = wxT("");+    GetModuleFileName(NULL, buf, 511);+    path = wxString(buf, wxConvUTF8);++/* UNIX & MAC*/+#else+    wxString argv0;++# ifdef __WXMAC__		+    if (NSIsSymbolNameDefined("__NSGetExecutablePath"))+    {+      char buf[512];+      size_t bufLen = 512;+      buf[0] = 0;+      ((NSGetExecutablePathProcPtr) NSAddressOfSymbol(NSLookupAndBindSymbol("__NSGetExecutablePath")))(buf, &bufLen);+      wxString strBuf = wxString();+      size_t actualBuflen = strlen(buf);+      if (actualBuflen > 0) {+        // FIXME: we *assume* that the NS stuff returns utf-8 encoded strings+        path = wxString(buf, wxConvUTF8);+        found=true;+        return path;+      }+    }+# endif++    argv0 = wxTheApp->argv[0];++    /* check absolute path */+    if (wxIsAbsolutePath(argv0)) {+        path = argv0;+    }+    else {+      /* check relative path */+      wxString fname = wxGetCwd() + wxFILE_SEP_PATH + argv0;+      if (wxFileExists(fname)) {+        path = fname;+      } else {+        /* find on PATH */+        wxPathList pathlist;+        pathlist.AddEnvList(wxT("PATH"));+        path = pathlist.FindAbsoluteValidPath(argv0);+      }+    }++    wxFileName filename(path);+    filename.Normalize();+    path = filename.GetFullPath();+#endif++    found = true;+  }+  return path;+}+++wxString GetApplicationDir()+{+  wxString path;+  +  /* check APPDIR on unix's */+#ifndef __WXMSW__+# ifndef __WXMAC__+  wxGetEnv(wxT("APPDIR"), &path);+  if (!path.IsEmpty()) return path;+# endif+#endif++  path = GetApplicationPath();+  if (path.IsEmpty())+    return wxGetCwd();+  else {+    wxFileName fname(path);+    return fname.GetPath(wxPATH_GET_VOLUME);+  }  +}++extern "C" +{+EWXWEXPORT(wxString*,wxGetApplicationDir)()+{+  wxString *result = new wxString();+  *result = GetApplicationDir();+  return result;+}++EWXWEXPORT(wxString*,wxGetApplicationPath)()+{+  wxString *result = new wxString();+  *result = GetApplicationPath();+  return result;+}+}
+ src/cpp/dragimage.cpp view
@@ -0,0 +1,115 @@+#include "wrapper.h"+#include <wx/dragimag.h>+#include <wx/generic/dragimgg.h>++extern "C" {+/*-----------------------------------------------------------------------------+  DragImage+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxDragImage*,wxDragImage_Create)(wxBitmap* image,int x,int y)+{+  return new wxDragImage(*image, wxNullCursor);+}++EWXWEXPORT(wxDragImage*,wxDragIcon)(wxIcon* icon,int x,int y)+{+  return new wxDragImage(*icon, wxNullCursor);+}++EWXWEXPORT(wxDragImage*,wxDragString)(wxString* text,int x,int y)+{+  return new wxDragImage(*text, wxNullCursor);+}++EWXWEXPORT(wxDragImage*,wxDragTreeItem)(wxTreeCtrl* treeCtrl,wxTreeItemId* id)+{+  return new wxDragImage(*treeCtrl,*id);+}++EWXWEXPORT(wxDragImage*,wxDragListItem)(wxListCtrl* listCtrl,long id)+{+  return new wxDragImage(*listCtrl, id);+}++EWXWEXPORT(wxGenericDragImage*,wxGenericDragImage_Create)(wxCursor* cursor)+{+  return new wxGenericDragImage(*cursor);+}++EWXWEXPORT(wxGenericDragImage*,wxGenericDragIcon)(wxIcon* icon)+{+  return new wxGenericDragImage(*icon, wxNullCursor);+}++EWXWEXPORT(wxGenericDragImage*,wxGenericDragString)(wxString* text)+{+  return new wxGenericDragImage(*text, wxNullCursor);+}++EWXWEXPORT(wxGenericDragImage*,wxGenericDragTreeItem)(wxTreeCtrl* treeCtrl,wxTreeItemId* id)+{+  return new wxGenericDragImage(*treeCtrl,*id);+}++EWXWEXPORT(wxGenericDragImage*,wxGenericDragListItem)(wxListCtrl* listCtrl,long id)+{+  return new wxGenericDragImage(*listCtrl, id);+}++EWXWEXPORT(void,wxDragImage_Delete)(wxDragImage* self)+{+  if (self) delete self;+}++EWXWEXPORT(bool,wxDragImage_BeginDragFullScreen)(wxDragImage* self,int x_pos,int y_pos,wxWindow* window,bool fullScreen,wxRect* rect)+{+  return self->BeginDrag(wxPoint(x_pos, y_pos), window, fullScreen, rect);+}++EWXWEXPORT(bool,wxDragImage_BeginDrag)(wxDragImage* self,int x,int y,wxWindow* window,wxWindow* boundingWindow)+{+  return self->BeginDrag(wxPoint(x, y), window, boundingWindow);+}++EWXWEXPORT(bool,wxGenericDragImage_DoDrawImage)(wxGenericDragImage* self,wxDC* dc,int x,int y)+{+  return self->DoDrawImage(*dc, wxPoint(x, y));+}++EWXWEXPORT(bool,wxDragImage_EndDrag)(wxDragImage* self)+{+  return self->EndDrag();+}++EWXWEXPORT(wxRect*,wxGenericDragImage_GetImageRect)(wxGenericDragImage* self,int x_pos,int y_pos)+{+  wxRect* r = new wxRect();+  *r = self->GetImageRect(wxPoint(x_pos, y_pos));+  return r;+}++EWXWEXPORT(bool,wxDragImage_Hide)(wxDragImage* self)+{+  return self->Hide();+}++EWXWEXPORT(bool,wxDragImage_Move)(wxDragImage* self,int x,int y)+{+  return self->Move(wxPoint(x, y));+}++EWXWEXPORT(bool,wxDragImage_Show)(wxDragImage* self)+{+  return self->Show();+}++EWXWEXPORT(bool,wxGenericDragImage_UpdateBackingFromWindow)(wxGenericDragImage* self,wxDC* windowDC,wxMemoryDC* destDC,int x,int y,int w,int h,int xdest,int ydest,int width,int height)+{+  return self->UpdateBackingFromWindow(*windowDC,*destDC,+                                       wxRect(x, y, w, h),+                                       wxRect(xdest, ydest, width, height));+}++}++
+ src/cpp/eljaccelerator.cpp view
@@ -0,0 +1,55 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*, wxAcceleratorEntry_Create)(int flags, int keyCode, int cmd)
+{
+	return (void*) new wxAcceleratorEntry(flags, keyCode, cmd);
+}
+
+EWXWEXPORT(void, wxAcceleratorEntry_Delete)(void* _obj)
+{
+	delete (wxAcceleratorEntry*)_obj;
+}
+
+EWXWEXPORT(void, wxAcceleratorEntry_Set)(void* _obj, int flags, int keyCode, int cmd)
+{
+	((wxAcceleratorEntry*)_obj)->Set(flags, keyCode, cmd);
+}
+	
+EWXWEXPORT(int, wxAcceleratorEntry_GetFlags)(void* _obj)
+{
+	return ((wxAcceleratorEntry*)_obj)->GetFlags();
+}
+	
+EWXWEXPORT(int, wxAcceleratorEntry_GetKeyCode)(void* _obj)
+{
+	return ((wxAcceleratorEntry*)_obj)->GetKeyCode();
+}
+	
+EWXWEXPORT(int, wxAcceleratorEntry_GetCommand)(void* _obj)
+{
+	return ((wxAcceleratorEntry*)_obj)->GetCommand();
+}
+	
+EWXWEXPORT(void*, wxAcceleratorTable_Create)(int n, void* entries)
+{
+	wxAcceleratorEntry* list = new wxAcceleratorEntry[n];
+	
+	for (int i = 0; i< n; i++)
+		list[i] = *(((wxAcceleratorEntry**)entries)[i]);
+	
+	wxAcceleratorTable* result = new wxAcceleratorTable(n, list);
+	
+	delete [] list;
+	
+	return (void*) result;
+}
+
+EWXWEXPORT(void, wxAcceleratorTable_Delete)(void* _obj)
+{
+	delete (wxAcceleratorEntry*)_obj;
+}
+
+}
+ src/cpp/eljartprov.cpp view
@@ -0,0 +1,77 @@+#include "wrapper.h"
+#if wxVERSION_NUMBER >= 2400
+#include "wx/artprov.h"
+
+extern "C"
+{
+typedef void* _cdecl (*TCreateBmp)(void* _obj, void* id, void* clt, int w, int h);
+}
+
+
+class ELJArtProv: public wxArtProvider
+{
+	private:
+		void* EiffelObject;
+		TCreateBmp cb;
+	protected:
+    	virtual wxBitmap CreateBitmap(const wxArtID& id, const wxArtClient& client, const wxSize& size)
+		{
+			if (EiffelObject)
+			{
+				void* res = cb (EiffelObject, (void*)id.wchar_str(), (void*)client.wchar_str(), size.GetWidth(), size.GetHeight());
+				
+				if (res)
+					return (*((wxBitmap*)res));
+				else
+					return wxNullBitmap;
+			}
+			return wxNullBitmap;
+		}
+	public:
+		ELJArtProv (void* obj, void* clb){EiffelObject = obj; cb = (TCreateBmp)clb;};
+		void Release(){EiffelObject = NULL; cb = NULL;};
+};
+
+extern "C"
+{
+
+EWXWEXPORT(void*,ELJArtProv_Create)(void* _obj,void* _clb)
+{
+	return (void*)new ELJArtProv(_obj, _clb);
+}
+	
+EWXWEXPORT(void,ELJArtProv_Release)(ELJArtProv* self)
+{
+	self->Release();
+	delete self;
+}
+	
+EWXWEXPORT(void,PushProvider)(wxArtProvider* provider)
+{
+#if WXWIN_COMPATIBILITY_2_6
+	wxArtProvider::PushProvider(provider);
+#else
+	wxArtProvider::Push(provider);
+#endif
+}
+
+EWXWEXPORT(bool,PopProvider)()
+{
+#if WXWIN_COMPATIBILITY_2_6
+	return wxArtProvider::PopProvider();
+#else
+	return wxArtProvider::Pop();
+#endif
+}
+
+EWXWEXPORT(bool,RemoveProvider)(wxArtProvider* provider)
+{
+#if WXWIN_COMPATIBILITY_2_6
+	return wxArtProvider::RemoveProvider(provider);
+#else
+	return wxArtProvider::Remove(provider);
+#endif
+}
+
+}
+#endif
+ src/cpp/eljbitmap.cpp view
@@ -0,0 +1,204 @@+#include "wrapper.h"++extern "C"+{++EWXWEXPORT(void*,wxBitmap_Create)(void* _data,int _width,int _height,int _depth)+{+	return (void*) new wxBitmap((const char*)_data, _width, _height, _depth);+}++EWXWEXPORT(void*,wxBitmap_CreateFromXPM)(void* _data)+{+	return (void*) new wxBitmap((const char**)_data);+}++EWXWEXPORT(void*,wxBitmap_CreateEmpty)(int _width,int _height,int _depth)+{+	return (void*) new wxBitmap(_width, _height, _depth);+}++EWXWEXPORT(void*,wxBitmap_CreateLoad)(wxString* name,int type)+{+#if wxVERSION_NUMBER >= 2400+	return (void*) new wxBitmap(*name, (wxBitmapType)type);+#else+	return (void*) new wxBitmap(*name, (long)type);+#endif+}++EWXWEXPORT(void*,wxBitmap_CreateDefault)()+{+	return (void*) new wxBitmap();+}++EWXWEXPORT(void,wxBitmap_Delete)(wxBitmap* self)+{+	delete self;+}++EWXWEXPORT(void,wxBitmap_GetSubBitmap)(wxBitmap* self,int x,int y,int w,int h,wxBitmap* bitmap)+{+	*bitmap = self->GetSubBitmap(wxRect(x, y, w, h));+}++EWXWEXPORT(bool,wxBitmap_LoadFile)(wxBitmap* self,wxString* name,int type)+{+#if wxVERSION_NUMBER >= 2400+	return self->LoadFile(*name, (wxBitmapType)type);+#else+	return self->LoadFile(*name, (long)type);+#endif+}++EWXWEXPORT(bool,wxBitmap_SaveFile)(wxBitmap* self,wxString* name,int type,wxPalette* cmap)+{+#if wxVERSION_NUMBER >= 2400+	return self->SaveFile(*name, (wxBitmapType)type,  cmap);+#else+	return self->SaveFile(*name, type,  cmap);+#endif+}++EWXWEXPORT(wxMask*,wxBitmap_GetMask)(wxBitmap* self)+{+	return self->GetMask();+}++EWXWEXPORT(void,wxBitmap_SetMask)(wxBitmap* self,wxMask* mask)+{+	self->SetMask(mask);+}++/**/+EWXWEXPORT(void,wxBitmap_AddHandler)(void* handler)+{+#ifdef __WIN32__+	wxBitmap::AddHandler((wxGDIImageHandler*) handler);+#endif+}++EWXWEXPORT(void,wxBitmap_InsertHandler)(void* handler)+{+#ifdef __WIN32__+	wxBitmap::InsertHandler((wxGDIImageHandler*) handler);+#endif+}++EWXWEXPORT(bool,wxBitmap_RemoveHandler)(wxString* name)+{+#ifdef __WIN32__+	return wxBitmap::RemoveHandler(*name);+#else+	return false;+#endif+}++EWXWEXPORT(void*,wxBitmap_FindHandlerByName)(wxString* name)+{+#ifdef __WIN32__+	return (void*)wxBitmap::FindHandler(*name);+#else+	return NULL;+#endif+}++EWXWEXPORT(void*,wxBitmap_FindHandlerByExtension)(wxString* extension,int type)+{+#ifdef __WIN32__+	return (void*)wxBitmap::FindHandler(*extension, (long)type);+#else+	return NULL;+#endif+}++EWXWEXPORT(void*,wxBitmap_FindHandlerByType)(int type)+{+#ifdef __WIN32__+	return (void*)wxBitmap::FindHandler((long)type);+#else+	return NULL;+#endif+}++EWXWEXPORT(void,wxBitmap_InitStandardHandlers)()+{+#ifdef __WIN32__+	wxBitmap::InitStandardHandlers();+#endif+}++EWXWEXPORT(void,wxBitmap_CleanUpHandlers)()+{+#ifdef __WIN32__+	wxBitmap::CleanUpHandlers();+#endif+}++/**/+EWXWEXPORT(bool,wxBitmap_IsOk)(wxBitmap* self)+{+	return self->IsOk();+}++EWXWEXPORT(int,wxBitmap_GetWidth)(wxBitmap* self)+{+	return self->GetWidth();+}++EWXWEXPORT(int,wxBitmap_GetHeight)(wxBitmap* self)+{+	return self->GetHeight();+}++EWXWEXPORT(int,wxBitmap_GetDepth)(wxBitmap* self)+{+	return self->GetDepth();+}++EWXWEXPORT(void,wxBitmap_SetWidth)(wxBitmap* self,int w)+{+	self->SetWidth(w);+}++EWXWEXPORT(void,wxBitmap_SetHeight)(wxBitmap* self,int h)+{+	self->SetHeight(h);+}++EWXWEXPORT(void,wxBitmap_SetDepth)(wxBitmap* self,int d)+{+	self->SetDepth(d);+}++EWXWEXPORT(void*,wxStaticBitmap_Create)(wxWindow* _prt,int _id,wxBitmap* bitmap, int _lft, int _top, int _wdt, int _hgt, int _stl)+{+	return (void*) new wxStaticBitmap (_prt, _id, *bitmap, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);+}++EWXWEXPORT(void,wxStaticBitmap_SetIcon)(wxStaticBitmap* self,wxIcon* icon)+{+	self->SetIcon(*icon);+}++EWXWEXPORT(void,wxStaticBitmap_SetBitmap)(wxStaticBitmap* self,wxBitmap* bitmap)+{+	self->SetBitmap(*bitmap);+}++EWXWEXPORT(void,wxStaticBitmap_GetIcon)(wxStaticBitmap* self,wxIcon* _ref)+{+	*_ref = self->GetIcon();+}++EWXWEXPORT(void,wxStaticBitmap_GetBitmap)(wxStaticBitmap* self,wxBitmap* _ref)+{+	*_ref = self->GetBitmap();+}++EWXWEXPORT(void,wxStaticBitmap_Delete)(wxStaticBitmap* self)+{+	delete self;+}++}
+ src/cpp/eljbrush.cpp view
@@ -0,0 +1,105 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(wxBrush*,wxBrush_CreateDefault)()
+{
+	return  new wxBrush();
+}
+
+EWXWEXPORT(wxBrush*,wxBrush_CreateFromBitmap)(wxBitmap* bitmap)
+{
+	return new wxBrush(*bitmap);
+}
+
+EWXWEXPORT(wxBrush*,wxBrush_CreateFromColour)(wxColour* col,int style)
+{
+	return new wxBrush(*col, style);
+}
+
+EWXWEXPORT(void*,wxBrush_CreateFromStock)(int id)
+{
+	switch (id)
+	{
+		case 0:
+			return (void*)wxBLUE_BRUSH;
+		case 1:
+			return (void*)wxGREEN_BRUSH;
+		case 2:
+			return (void*)wxWHITE_BRUSH;
+		case 3:
+			return (void*)wxBLACK_BRUSH;
+		case 4:
+			return (void*)wxGREY_BRUSH;
+		case 5:
+			return (void*)wxMEDIUM_GREY_BRUSH;
+		case 6:
+			return (void*)wxLIGHT_GREY_BRUSH;
+		case 7:
+			return (void*)wxTRANSPARENT_BRUSH;
+		case 8:
+			return (void*)wxCYAN_BRUSH;
+		case 9:
+			return (void*)wxRED_BRUSH;
+	}
+	
+	return NULL;
+}
+
+EWXWEXPORT(void,wxBrush_Delete)(wxBrush* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(void,wxBrush_SetColour)(wxBrush* self,wxColour* col)
+{
+	self->SetColour(*col);
+}
+	
+EWXWEXPORT(void,wxBrush_SetColourSingle)(wxBrush* self,wxUint8 r,wxUint8 g,wxUint8 b)
+{
+	self->SetColour(r,g,b);
+}
+	
+EWXWEXPORT(void,wxBrush_SetStyle)(wxBrush* self,int style)
+{
+	self->SetStyle(style);
+}
+	
+EWXWEXPORT(void,wxBrush_SetStipple)(wxBrush* self,wxBitmap* stipple)
+{
+	self->SetStipple(*stipple);
+}
+	
+EWXWEXPORT(void,wxBrush_Assign)(wxBrush* self,wxBrush* brush)
+{
+	*self = *brush;
+}
+	
+EWXWEXPORT(bool,wxBrush_IsEqual)(wxBrush* self,wxBrush* brush)
+{
+	return *self == *brush;
+}
+	
+EWXWEXPORT(void,wxBrush_GetColour)(wxBrush* self,wxColour* _ref)
+{
+	*_ref = self->GetColour();
+}
+	
+EWXWEXPORT(int,wxBrush_GetStyle)(wxBrush* self)
+{
+	return self->GetStyle();
+}
+	
+EWXWEXPORT(void,wxBrush_GetStipple)(wxBrush* self,wxBitmap* _ref)
+{
+	*_ref = *(self->GetStipple());
+}
+	
+EWXWEXPORT(bool,wxBrush_IsOk)(wxBrush* self)
+{
+	return self->IsOk();
+}
+	
+}
+ src/cpp/eljbusyinfo.cpp view
@@ -0,0 +1,32 @@+#include "wrapper.h"
+#include "wx/busyinfo.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxBusyInfo_Create)(wxString* _txt)
+{
+	return (void*) new wxBusyInfo (*_txt);
+}
+
+EWXWEXPORT(void,wxBusyInfo_Delete)(wxBusyInfo* _obj)
+{
+	delete _obj;
+}
+
+EWXWEXPORT(void*,wxBusyCursor_Create)()
+{
+	return (void*) new wxBusyCursor ();
+}
+
+EWXWEXPORT(void*,wxBusyCursor_CreateWithCursor)(void* _cur)
+{
+	return (void*) new wxBusyCursor ((wxCursor*)_cur);
+}
+
+EWXWEXPORT(void,wxBusyCursor_Delete)(wxBusyCursor* _obj)
+{
+	delete _obj;
+}
+
+}
+ src/cpp/eljbutton.cpp view
@@ -0,0 +1,81 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(wxButton*,wxButton_Create)(wxWindow* _prt,int _id,wxString* _txt, int _lft, int _top, int _wdt, int _hgt, int _stl)
+{
+	return new wxButton (_prt, _id, *_txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, wxDefaultValidator);
+}
+
+EWXWEXPORT(bool,wxButton_SetBackgroundColour)(wxButton* self,wxColour* colour)
+{
+	return self->SetBackgroundColour(*colour);
+}
+	
+EWXWEXPORT(void,wxButton_SetDefault)(wxButton* self)
+{
+	self->SetDefault();
+}
+
+EWXWEXPORT(wxBitmapButton*,wxBitmapButton_Create)(wxWindow* _prt,int _id,wxBitmap* _bmp, int _lft, int _top, int _wdt, int _hgt, int _stl)
+{
+	return new wxBitmapButton (_prt, _id, *_bmp, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, wxDefaultValidator);
+}
+
+EWXWEXPORT(void,wxBitmapButton_GetBitmapLabel)(wxBitmapButton* self,wxBitmap* _ref)
+{
+	*_ref = self->GetBitmapLabel();
+}
+	
+EWXWEXPORT(void,wxBitmapButton_GetBitmapSelected)(wxBitmapButton* self,wxBitmap* _ref)
+{
+	*_ref = self->GetBitmapSelected();
+}
+	
+EWXWEXPORT(void,wxBitmapButton_GetBitmapFocus)(wxBitmapButton* self,wxBitmap* _ref)
+{
+	*_ref = self->GetBitmapFocus();
+}
+	
+EWXWEXPORT(void,wxBitmapButton_GetBitmapDisabled)(wxBitmapButton* self,wxBitmap* _ref)
+{
+	*_ref = self->GetBitmapDisabled();
+}
+	
+EWXWEXPORT(void,wxBitmapButton_SetBitmapSelected)(wxBitmapButton* self,wxBitmap* sel)
+{
+	self->SetBitmapSelected(*sel);
+}
+	
+EWXWEXPORT(void,wxBitmapButton_SetBitmapFocus)(wxBitmapButton* self,wxBitmap* focus)
+{
+	self->SetBitmapFocus(*focus);
+}
+	
+EWXWEXPORT(void,wxBitmapButton_SetBitmapDisabled)(wxBitmapButton* self,wxBitmap* disabled)
+{
+	self->SetBitmapDisabled(*disabled);
+}
+	
+EWXWEXPORT(void,wxBitmapButton_SetBitmapLabel)(wxBitmapButton* self,wxBitmap* bitmap)
+{
+	self->SetBitmapLabel(*bitmap);
+}
+	
+EWXWEXPORT(void,wxBitmapButton_SetMargins)(wxBitmapButton* self,int x,int y)
+{
+	self->SetMargins(x, y);
+}
+	
+EWXWEXPORT(int,wxBitmapButton_GetMarginX)(wxBitmapButton* self)
+{
+	return self->GetMarginX();
+}
+	
+EWXWEXPORT(int,wxBitmapButton_GetMarginY)(wxBitmapButton* self)
+{
+	return self->GetMarginY();
+}
+	
+}
+ src/cpp/eljcalendarctrl.cpp view
@@ -0,0 +1,202 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(wxCalendarCtrl*,wxCalendarCtrl_Create)(wxWindow* _prt,int _id,wxDateTime* _dat,int _lft,int _top,int _wdt,int _hgt,int _stl)
+{
+	return new wxCalendarCtrl (_prt, _id, *_dat, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+}
+
+EWXWEXPORT(void,wxCalendarCtrl_SetDate)(wxCalendarCtrl* self,wxDateTime* date)
+{
+	self->SetDate(*date);
+}
+	
+EWXWEXPORT(void,wxCalendarCtrl_GetDate)(wxCalendarCtrl* self,wxDateTime* date)
+{
+	*date = self->GetDate();
+}
+	
+EWXWEXPORT(void,wxCalendarCtrl_EnableMonthChange)(wxCalendarCtrl* self,bool enable)
+{
+	self->EnableMonthChange(enable);
+}
+	
+EWXWEXPORT(void,wxCalendarCtrl_EnableHolidayDisplay)(wxCalendarCtrl* self,bool display)
+{
+	self->EnableHolidayDisplay(display);
+}
+	
+EWXWEXPORT(void,wxCalendarCtrl_SetHeaderColours)(wxCalendarCtrl* self,wxColour* colFg,wxColour* colBg)
+{
+	self->SetHeaderColours(*colFg,*colBg);
+}
+	
+EWXWEXPORT(void,wxCalendarCtrl_GetHeaderColourFg)(wxCalendarCtrl* self,wxColour* colour)
+{
+	*colour = self->GetHeaderColourFg();
+}
+	
+EWXWEXPORT(void,wxCalendarCtrl_GetHeaderColourBg)(wxCalendarCtrl* self,wxColour* colour)
+{
+	*colour = self->GetHeaderColourBg();
+}
+	
+EWXWEXPORT(void,wxCalendarCtrl_SetHighlightColours)(wxCalendarCtrl* self,wxColour* colFg,wxColour* colBg)
+{
+	self->SetHighlightColours(*colFg,*colBg);
+}
+	
+EWXWEXPORT(void,wxCalendarCtrl_GetHighlightColourFg)(wxCalendarCtrl* self,wxColour* colour)
+{
+	*colour = self->GetHighlightColourFg();
+}
+	
+EWXWEXPORT(void,wxCalendarCtrl_GetHighlightColourBg)(wxCalendarCtrl* self,wxColour* colour)
+{
+	*colour = self->GetHighlightColourBg();
+}
+	
+EWXWEXPORT(void,wxCalendarCtrl_SetHolidayColours)(wxCalendarCtrl* self,wxColour* colFg,wxColour* colBg)
+{
+	self->SetHolidayColours(*colFg,*colBg);
+}
+	
+EWXWEXPORT(void,wxCalendarCtrl_GetHolidayColourFg)(wxCalendarCtrl* self,wxColour* colour)
+{
+	*colour = self->GetHolidayColourFg();
+}
+	
+EWXWEXPORT(void,wxCalendarCtrl_GetHolidayColourBg)(wxCalendarCtrl* self,wxColour* colour)
+{
+	*colour = self->GetHolidayColourBg();
+}
+	
+EWXWEXPORT(wxCalendarDateAttr*,wxCalendarCtrl_GetAttr)(wxCalendarCtrl* self,size_t day)
+{
+	return self->GetAttr(day);
+}
+	
+EWXWEXPORT(void,wxCalendarCtrl_SetAttr)(wxCalendarCtrl* self,size_t day,wxCalendarDateAttr* attr)
+{
+	self->SetAttr(day, attr);
+}
+	
+EWXWEXPORT(void,wxCalendarCtrl_SetHoliday)(wxCalendarCtrl* self,size_t day)
+{
+	self->SetHoliday(day);
+}
+	
+EWXWEXPORT(void,wxCalendarCtrl_ResetAttr)(wxCalendarCtrl* self,size_t day)
+{
+	self->ResetAttr(day);
+}
+	
+EWXWEXPORT(int,wxCalendarCtrl_HitTest)(wxCalendarCtrl* self,int x,int y,wxDateTime* date,void* wd)
+{
+	return (int)self->HitTest(wxPoint(x, y), date, (wxDateTime::WeekDay*)wd);
+}
+	
+
+EWXWEXPORT(wxCalendarDateAttr*,wxCalendarDateAttr_Create)(wxColour* _ctxt,wxColour* _cbck,wxColour* _cbrd,wxFont* _fnt,int _brd)
+{
+	return new wxCalendarDateAttr(*_ctxt,*_cbck,*_cbrd,*_fnt, (wxCalendarDateBorder)_brd);
+}
+
+EWXWEXPORT(wxCalendarDateAttr*,wxCalendarDateAttr_CreateDefault)()
+{
+	return new wxCalendarDateAttr();
+}
+
+EWXWEXPORT(void,wxCalendarDateAttr_Delete)(wxCalendarDateAttr* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(void,wxCalendarDateAttr_SetTextColour)(wxCalendarDateAttr* self,wxColour* col)
+{
+	self->SetTextColour(*col);
+}
+	
+EWXWEXPORT(void,wxCalendarDateAttr_SetBackgroundColour)(wxCalendarDateAttr* self,wxColour* col)
+{
+	self->SetBackgroundColour(*col);
+}
+	
+EWXWEXPORT(void,wxCalendarDateAttr_SetBorderColour)(wxCalendarDateAttr* self,wxColour* col)
+{
+	self->SetBorderColour(*col);
+}
+	
+EWXWEXPORT(void,wxCalendarDateAttr_SetFont)(wxCalendarDateAttr* self,wxFont* font)
+{
+	self->SetFont(*font);
+}
+	
+EWXWEXPORT(void,wxCalendarDateAttr_SetBorder)(wxCalendarDateAttr* self,int border)
+{
+	self->SetBorder((wxCalendarDateBorder)border);
+}
+	
+EWXWEXPORT(void,wxCalendarDateAttr_SetHoliday)(wxCalendarDateAttr* self,bool holiday)
+{
+	self->SetHoliday(holiday);
+}
+	
+EWXWEXPORT(bool,wxCalendarDateAttr_HasTextColour)(wxCalendarDateAttr* self)
+{
+	return self->HasTextColour();
+}
+	
+EWXWEXPORT(bool,wxCalendarDateAttr_HasBackgroundColour)(wxCalendarDateAttr* self)
+{
+	return self->HasBackgroundColour();
+}
+	
+EWXWEXPORT(bool,wxCalendarDateAttr_HasBorderColour)(wxCalendarDateAttr* self)
+{
+	return self->HasBorderColour();
+}
+	
+EWXWEXPORT(bool,wxCalendarDateAttr_HasFont)(wxCalendarDateAttr* self)
+{
+	return self->HasFont();
+}
+	
+EWXWEXPORT(bool,wxCalendarDateAttr_HasBorder)(wxCalendarDateAttr* self)
+{
+	return self->HasBorder();
+}
+	
+EWXWEXPORT(bool,wxCalendarDateAttr_IsHoliday)(wxCalendarDateAttr* self)
+{
+	return self->IsHoliday();
+}
+	
+EWXWEXPORT(void,wxCalendarDateAttr_GetTextColour)(wxCalendarDateAttr* self,wxColour* _ref)
+{
+	*_ref = self->GetTextColour();
+}
+	
+EWXWEXPORT(void,wxCalendarDateAttr_GetBackgroundColour)(wxCalendarDateAttr* self,wxColour* _ref)
+{
+	*_ref = self->GetBackgroundColour();
+}
+	
+EWXWEXPORT(void,wxCalendarDateAttr_GetBorderColour)(wxCalendarDateAttr* self,wxColour* _ref)
+{
+	*_ref = self->GetBorderColour();
+}
+	
+EWXWEXPORT(void,wxCalendarDateAttr_GetFont)(wxCalendarDateAttr* self,wxFont* _ref)
+{
+	*_ref = self->GetFont();
+}
+	
+EWXWEXPORT(int,wxCalendarDateAttr_GetBorder)(wxCalendarDateAttr* self)
+{
+	return (int)self->GetBorder();
+}
+
+}
+ src/cpp/eljcaret.cpp view
@@ -0,0 +1,71 @@+#include "wrapper.h"
+#include "wx/caret.h"
+
+extern "C"
+{
+
+EWXWEXPORT(wxCaret*,wxCaret_Create)(wxWindow* _wnd,int _wth,int _hgt)
+{
+	return new wxCaret(_wnd, _wth, _hgt);
+}
+
+EWXWEXPORT(bool,wxCaret_IsOk)(wxCaret* self)
+{
+	return self->IsOk();
+}
+	
+EWXWEXPORT(bool,wxCaret_IsVisible)(wxCaret* self)
+{
+	return self->IsVisible();
+}
+	
+EWXWEXPORT(wxPoint*,wxCaret_GetPosition)(wxCaret* self)
+{
+	wxPoint* p = new wxPoint();
+	*p = self->GetPosition();
+	return p;
+}
+	
+EWXWEXPORT(wxSize*,wxCaret_GetSize)(wxCaret* self)
+{
+	wxSize* s = new wxSize();
+	*s = self->GetSize();
+	return s;
+}
+	
+EWXWEXPORT(wxWindow*,wxCaret_GetWindow)(wxCaret* self)
+{
+	return self->GetWindow();
+}
+	
+EWXWEXPORT(void,wxCaret_SetSize)(wxCaret* self,int width,int height)
+{
+	self->SetSize(width, height);
+}
+	
+EWXWEXPORT(void,wxCaret_Move)(wxCaret* self,int x,int y)
+{
+	self->Move(x, y);
+}
+	
+EWXWEXPORT(void,wxCaret_Show)(wxCaret* self)
+{
+	self->Show();
+}
+	
+EWXWEXPORT(void,wxCaret_Hide)(wxCaret* self)
+{
+	self->Hide();
+}
+	
+EWXWEXPORT(int,wxCaret_GetBlinkTime)()
+{
+	return wxCaret::GetBlinkTime();
+}
+	
+EWXWEXPORT(void,wxCaret_SetBlinkTime)(int milliseconds)
+{
+	wxCaret::SetBlinkTime(milliseconds);
+}
+	
+}
+ src/cpp/eljcheckbox.cpp view
@@ -0,0 +1,26 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxCheckBox_Create)(wxWindow* _prt,int _id,wxString* _txt, int _lft, int _top, int _wdt, int _hgt, int _stl)
+{
+	return (void*) new wxCheckBox (_prt, _id, *_txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, wxDefaultValidator);
+}
+
+EWXWEXPORT(void,wxCheckBox_Delete)(wxCheckBox* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(void,wxCheckBox_SetValue)(wxCheckBox* self,bool value)
+{
+	self->SetValue(value);
+}
+	
+EWXWEXPORT(bool,wxCheckBox_GetValue)(wxCheckBox* self)
+{
+	return self->GetValue();
+}
+
+} 
+ src/cpp/eljchecklistbox.cpp view
@@ -0,0 +1,31 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+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 result;
+}
+
+EWXWEXPORT(void,wxCheckListBox_Delete)(wxCheckListBox* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(void,wxCheckListBox_Check)(wxCheckListBox* self,int item,bool check)
+{
+	self->Check(item, check);
+}
+	
+EWXWEXPORT(bool,wxCheckListBox_IsChecked)(wxCheckListBox* self,int item)
+{
+	return self->IsChecked(item);
+}
+
+}
+ src/cpp/eljchoice.cpp view
@@ -0,0 +1,67 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+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 (_prt, _id, wxPoint(_lft, _top),wxSize(_wdt, _hgt), _n, list, _stl, wxDefaultValidator);
+
+	delete [] list;
+
+	return result;
+}
+
+EWXWEXPORT(void,wxChoice_Append)(wxChoice* self,wxString* item)
+{
+	self->Append(*item);
+}
+	
+EWXWEXPORT(void,wxChoice_Delete)(wxChoice* self,int n)
+{
+	self->Delete(n);
+}
+	
+EWXWEXPORT(void,wxChoice_Clear)(wxChoice* self)
+{
+	self->Clear();
+}
+	
+EWXWEXPORT(int,wxChoice_GetCount)(wxChoice* self)
+{
+	return self->GetCount();
+}
+	
+EWXWEXPORT(int,wxChoice_GetSelection)(wxChoice* self)
+{
+	return self->GetSelection();
+}
+	
+EWXWEXPORT(void,wxChoice_SetSelection)(wxChoice* self,int n)
+{
+	self->SetSelection(n);
+}
+	
+EWXWEXPORT(int,wxChoice_FindString)(wxChoice* self,wxString* s)
+{
+	return self->FindString(*s);
+}
+	
+EWXWEXPORT(wxString*,wxChoice_GetString)(wxChoice* self,int n)
+{
+	wxString *result = new wxString();
+	*result = self->GetString(n);
+	return result;
+}
+	
+EWXWEXPORT(void,wxChoice_SetString)(wxChoice* self,int n,wxString* s)
+{
+	self->SetString(n,*s);
+}
+	
+} 
+ src/cpp/eljclipboard.cpp view
@@ -0,0 +1,66 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(wxClipboard*,wxClipboard_Create)()
+{
+	return wxTheClipboard;
+}
+
+EWXWEXPORT(void,wxClipboard_Delete)(wxClipboard* self)
+{
+	// delete _obj;
+}
+
+EWXWEXPORT(bool,wxClipboard_Open)(wxClipboard* self)
+{
+	return self->Open();
+}
+
+EWXWEXPORT(void,wxClipboard_Close)(wxClipboard* self)
+{
+	self->Close();
+}
+
+EWXWEXPORT(bool,wxClipboard_IsOpened)(wxClipboard* self)
+{
+	return self->IsOpened();
+}
+
+EWXWEXPORT(bool,wxClipboard_SetData)(wxClipboard* self,wxDataObject* data)
+{
+	return self->SetData(data);
+}
+
+EWXWEXPORT(bool,wxClipboard_AddData)(wxClipboard* self,wxDataObject* data)
+{
+	return self->AddData(data);
+}
+
+EWXWEXPORT(bool,wxClipboard_IsSupported)(wxClipboard* self,wxDataFormat* format)
+{
+	return self->IsSupported(*format);
+}
+
+EWXWEXPORT(bool,wxClipboard_GetData)(wxClipboard* self,wxDataObject* data)
+{
+	return self->GetData(*data);
+}
+
+EWXWEXPORT(void,wxClipboard_Clear)(wxClipboard* self)
+{
+	self->Clear();
+}
+
+EWXWEXPORT(bool,wxClipboard_Flush)(wxClipboard* self)
+{
+	return self->Flush();
+}
+
+EWXWEXPORT(void,wxClipboard_UsePrimarySelection)(wxClipboard* self,bool primary)
+{
+	self->UsePrimarySelection (primary);
+}
+
+}
+ src/cpp/eljcoldata.cpp view
@@ -0,0 +1,46 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(wxColourData*,wxColourData_Create)()
+{
+	return new wxColourData();
+}
+
+EWXWEXPORT(void,wxColourData_Delete)(wxColourData* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(void,wxColourData_SetChooseFull)(wxColourData* self,bool flag)
+{
+	self->SetChooseFull(flag);
+}
+	
+EWXWEXPORT(bool,wxColourData_GetChooseFull)(wxColourData* self)
+{
+	return self->GetChooseFull();
+}
+	
+EWXWEXPORT(void,wxColourData_SetColour)(wxColourData* self,wxColour* colour)
+{
+	self->SetColour(*colour);
+}
+	
+EWXWEXPORT(void,wxColourData_GetColour)(wxColourData* self,wxColour* _ref)
+{
+	*_ref = self->GetColour();
+}
+	
+EWXWEXPORT(void,wxColourData_SetCustomColour)(wxColourData* self,int i,wxColour* colour)
+{
+	self->SetCustomColour(i,*colour);
+}
+	
+EWXWEXPORT(void,wxColourData_GetCustomColour)(wxColourData* self,int i,wxColour* _ref)
+{
+	*_ref = self->GetCustomColour(i);
+}
+	
+} 
+ src/cpp/eljcolour.cpp view
@@ -0,0 +1,119 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(wxColour*,wxColour_CreateEmpty)()
+{
+	return  new wxColour();
+}
+
+EWXWEXPORT(wxColour*,wxColour_CreateRGB)(wxUint8 _red,wxUint8 _green,wxUint8 _blue,wxUint8 _alpha)
+{
+	return new wxColour(_red, _green, _blue,_alpha);
+}
+
+EWXWEXPORT(wxColour*,wxColour_CreateByName)(wxString* _name)
+{
+	return new wxColour(*_name);
+}
+
+EWXWEXPORT(void*,wxColour_CreateFromStock)(int _id)
+{
+	switch (_id)
+	{
+		case 0:
+			return (void*)wxBLACK;
+		case 1:
+			return (void*)wxWHITE;
+		case 2:
+			return (void*)wxRED;
+		case 3:
+			return (void*)wxBLUE;
+		case 4:
+			return (void*)wxGREEN;
+		case 5:
+			return (void*)wxCYAN;
+		case 6:
+			return (void*)wxLIGHT_GREY;
+	}
+
+	return NULL;
+}
+
+EWXWEXPORT(void,wxColour_Delete)(wxColour* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(void,wxColour_Set)(wxColour* self,wxUint8 _red,wxUint8 _green,wxUint8 _blue,wxUint8 _alpha)
+{
+	self->Set(_red, _green, _blue);
+}
+	
+EWXWEXPORT(void,wxColour_Assign)(wxColour* self,wxColour* other)
+{
+	*self = *other;
+}
+
+// Returning int instead of bool, due bool not being supported out of the box
+// by Foreign.C.Types, and size of bool varying between platforms and compiler
+// implementations.
+EWXWEXPORT(int,wxColour_IsOk)(wxColour* self)
+{
+	return self->IsOk();
+}
+	
+EWXWEXPORT(wxUint8,wxColour_Red)(wxColour* self)
+{
+	return self->Red();
+}
+	
+EWXWEXPORT(wxUint8,wxColour_Green)(wxColour* self)
+{
+	return self->Green();
+}
+	
+EWXWEXPORT(wxUint8,wxColour_Blue)(wxColour* self)
+{
+	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 
+// ifdefs, cuz I don't want to deal with it.
+//   Windows - WXCOLORREF
+//   GTK     - int
+//   X11     - long
+//   Mac     - (WXCOLORREF&)
+// EWXWEXPORT(WXCOLORREF,wxColour_GetPixel)(wxColour* self)
+// {
+// 	return self->GetPixel();
+// }
+
+EWXWEXPORT(void,wxColour_Copy)(wxColour* self,wxColour* _other)
+{
+	*self = *_other;
+}
+
+EWXWEXPORT(void,wxColour_SetByName)(wxColour* self,wxString* _name)
+{
+	*self = *_name;
+}
+
+EWXWEXPORT(bool,wxColour_ValidName)(wxString* _name)
+{
+#if (wxVERSION_NUMBER < 2600)
+  return (wxTheColourDatabase->FindColour (*_name)) != NULL;
+#else
+  return wxTheColourDatabase->Find(*_name).IsOk();
+#endif
+}
+
+}
+ src/cpp/eljcolourdlg.cpp view
@@ -0,0 +1,16 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(wxColourDialog*,wxColourDialog_Create)(wxWindow* _prt,wxColourData* col)
+{
+	return new wxColourDialog (_prt, col);
+}
+
+EWXWEXPORT(void,wxColourDialog_GetColourData)(wxColourDialog* self,wxColourData* col)
+{
+	*col = self->GetColourData();
+}
+
+}
+ src/cpp/eljcombobox.cpp view
@@ -0,0 +1,179 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+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 (_prt, _id, *_txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _n, list, _stl, wxDefaultValidator);
+
+	delete [] list;
+#if wxVERSION_NUMBER < 2400
+	if ((result->Number()) && (result->GetSelection() == -1)) result->SetSelection(0);
+#else
+	if ((result->GetCount()) && (result->GetSelection() == -1)) result->SetSelection(0);
+#endif
+	
+	return result;
+}
+
+EWXWEXPORT(void,wxComboBox_Copy)(wxComboBox* self)
+{
+	self->Copy();
+}
+	
+EWXWEXPORT(void,wxComboBox_Cut)(wxComboBox* self)
+{
+	self->Cut();
+}
+	
+EWXWEXPORT(void,wxComboBox_Paste)(wxComboBox* self)
+{
+	self->Paste();
+}
+	
+EWXWEXPORT(void,wxComboBox_SetInsertionPoint)(wxComboBox* self,int pos)
+{
+	self->SetInsertionPoint(pos);
+}
+	
+EWXWEXPORT(void,wxComboBox_SetInsertionPointEnd)(wxComboBox* self)
+{
+	self->SetInsertionPointEnd();
+}
+	
+EWXWEXPORT(int,wxComboBox_GetInsertionPoint)(wxComboBox* self)
+{
+	return self->GetInsertionPoint();
+}
+	
+EWXWEXPORT(int,wxComboBox_GetLastPosition)(wxComboBox* self)
+{
+	return self->GetLastPosition();
+}
+	
+EWXWEXPORT(void,wxComboBox_Replace)(wxComboBox* self,int from,int to,wxString* value)
+{
+	self->Replace(from, to,*value);
+}
+	
+EWXWEXPORT(void,wxComboBox_Remove)(wxComboBox* self,int from,int to)
+{
+	self->Remove(from, to);
+#if wxVERSION_NUMBER < 2400
+	if ((self->Number()) && (self->GetSelection() == -1)) self->SetSelection(0);
+#else
+	if ((self->GetCount()) && (self->GetSelection() == -1)) self->SetSelection(0);
+#endif
+}
+	
+EWXWEXPORT(void,wxComboBox_SetTextSelection)(wxComboBox* self,int from,int to)
+{
+	self->SetSelection(from, to);
+}
+	
+EWXWEXPORT(void,wxComboBox_SetEditable)(wxComboBox* self,bool editable)
+{
+	self->SetEditable(editable);
+}
+	
+EWXWEXPORT(wxString*,wxComboBox_GetStringSelection)(wxComboBox* self)
+{
+	return new wxString(self->GetStringSelection());
+}
+	
+EWXWEXPORT(wxString*,wxComboBox_GetValue)(wxComboBox* self)
+{
+	return new wxString(self->GetValue());
+}
+	
+EWXWEXPORT(void,wxComboBox_Append)(wxComboBox* self,wxString* item)
+{
+	self->Append(*item);
+#if wxVERSION_NUMBER < 2400
+	if (self->Number() && (self->GetSelection() == -1)) self->SetSelection(0);
+#else
+	if (self->GetCount() && (self->GetSelection() == -1)) self->SetSelection(0);
+#endif
+}
+	
+EWXWEXPORT(void,wxComboBox_AppendData)(wxComboBox* self,wxString* item,void* d)
+{
+#if defined(__WXMAC__)
+	self->Append(*item);
+#else
+	self->Append(*item, d);
+#endif
+
+#if wxVERSION_NUMBER < 2400
+	if ((self->Number()) && (self->GetSelection() == -1)) self->SetSelection(0);
+#else
+	if ((self->GetCount()) && (self->GetSelection() == -1)) self->SetSelection(0);
+#endif
+}
+	
+EWXWEXPORT(void,wxComboBox_Delete)(wxComboBox* self,int n)
+{
+	self->Delete(n);
+#if wxVERSION_NUMBER < 2400
+	if ((self->Number()) && (self->GetSelection() == -1)) self->SetSelection(0);
+#else
+	if ((self->GetCount()) && (self->GetSelection() == -1)) self->SetSelection(0);
+#endif
+}
+	
+EWXWEXPORT(void,wxComboBox_Clear)(wxComboBox* self)
+{
+	self->Clear();
+}
+	
+EWXWEXPORT(int,wxComboBox_GetCount)(wxComboBox* self)
+{
+#if wxVERSION_NUMBER < 2400
+	return self->Number();
+#else
+	return self->GetCount();
+#endif
+}
+	
+EWXWEXPORT(int,wxComboBox_GetSelection)(wxComboBox* self)
+{
+	return self->GetSelection();
+}
+	
+EWXWEXPORT(void,wxComboBox_SetSelection)(wxComboBox* self,int n)
+{
+	self->SetSelection(n);
+}
+	
+EWXWEXPORT(int,wxComboBox_FindString)(wxComboBox* self,wxString* s)
+{
+	return self->FindString(*s);
+}
+	
+EWXWEXPORT(wxString*,wxComboBox_GetString)(wxComboBox* self,int n)
+{
+	return new wxString(self->GetString(n));
+}
+	
+EWXWEXPORT(void,wxComboBox_SetString)(wxComboBox* self,int n,wxString* s)
+{
+	self->SetString(n,*s);
+}
+	
+EWXWEXPORT(void,wxComboBox_SetClientData)(wxComboBox* self,int n,void* clientData)
+{
+	((wxItemContainer*) self)->SetClientData( n, clientData );
+}
+	
+EWXWEXPORT(void*,wxComboBox_GetClientData)(wxComboBox* self,int n)
+{
+	return ((wxItemContainer*) self)->GetClientData(n);
+}
+
+}
+ src/cpp/eljconfigbase.cpp view
@@ -0,0 +1,244 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(wxConfigBase*,wxConfigBase_Create)()
+{
+	return wxConfigBase::Create();
+}
+	
+EWXWEXPORT(void,wxConfigBase_Delete)(wxConfigBase* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(void,wxConfigBase_SetPath)(wxConfigBase* self,wxString* strPath)
+{
+	self->SetPath(*strPath);
+}
+	
+EWXWEXPORT(wxString*,wxConfigBase_GetPath)(wxConfigBase* self)
+{
+	wxString *result = new wxString();
+	*result = self->GetPath();
+	return result;
+}
+	
+EWXWEXPORT(wxString*,wxConfigBase_GetFirstGroup)(wxConfigBase* self,long* lIndex)
+{
+	wxString* tmp;
+        tmp = new wxString(wxT(""));
+        if (self->GetFirstGroup(*tmp,*lIndex)) {
+          *lIndex = -1;
+        }         
+	return tmp;
+}
+	
+EWXWEXPORT(wxString*,wxConfigBase_GetNextGroup)(wxConfigBase* self,long* lIndex)
+{
+	wxString* tmp;
+        tmp = new wxString(wxT(""));
+        if (self->GetNextGroup(*tmp,*lIndex)) {
+          *lIndex = -1;
+        }         
+	return tmp;
+}
+
+	
+EWXWEXPORT(wxString*,wxConfigBase_GetFirstEntry)(wxConfigBase* self,long* lIndex)
+{
+	wxString* tmp;
+        tmp = new wxString(wxT(""));
+        if (self->GetFirstEntry(*tmp,*lIndex)) {
+          *lIndex = -1;
+        }         
+	return tmp;
+}
+	
+EWXWEXPORT(wxString*,wxConfigBase_GetNextEntry)(wxConfigBase* self,long* lIndex)
+{
+	wxString* tmp;
+        tmp = new wxString(wxT(""));
+        if (self->GetNextEntry(*tmp,*lIndex)) {
+          *lIndex = -1;
+        }         
+	return tmp;
+}
+	
+EWXWEXPORT(size_t,wxConfigBase_GetNumberOfEntries)(wxConfigBase* self,bool bRecursive)
+{
+	return self->GetNumberOfEntries(bRecursive);
+}
+	
+EWXWEXPORT(size_t,wxConfigBase_GetNumberOfGroups)(wxConfigBase* self,bool bRecursive)
+{
+	return self->GetNumberOfGroups(bRecursive);
+}
+	
+EWXWEXPORT(bool,wxConfigBase_HasGroup)(wxConfigBase* self,wxString* strName)
+{
+	return self->HasGroup(*strName);
+}
+	
+EWXWEXPORT(bool,wxConfigBase_HasEntry)(wxConfigBase* self,wxString* strName)
+{
+	return self->HasEntry(*strName);
+}
+	
+EWXWEXPORT(bool,wxConfigBase_Exists)(wxConfigBase* self,wxString* strName)
+{
+	return self->Exists(*strName);
+}
+	
+EWXWEXPORT(int,wxConfigBase_GetEntryType)(wxConfigBase* self,wxString* name)
+{
+	return (int)self->GetEntryType(*name);
+}
+	
+EWXWEXPORT(wxString*,wxConfigBase_ReadString)(wxConfigBase* self,wxString* key,wxString* defVal)
+{
+	wxString tmp;
+        tmp = self->Read(*key,*defVal);
+	return new wxString(tmp);
+}
+	
+EWXWEXPORT(int,wxConfigBase_ReadInteger)(wxConfigBase* self,wxString* key,int defVal)
+{
+	return self->Read(*key, defVal);
+}
+	
+EWXWEXPORT(double,wxConfigBase_ReadDouble)(wxConfigBase* self,wxString* key,double defVal)
+{
+	double val;
+	if (self->Read(*key, &val, defVal))
+ 		return val;
+ 	return 0.0;
+}
+	
+EWXWEXPORT(bool,wxConfigBase_ReadBool)(wxConfigBase* self,wxString* key,bool defVal)
+{
+	bool val;
+	if (self->Read(*key, &val, defVal))
+		return val;
+	return false;
+}
+	
+EWXWEXPORT(bool,wxConfigBase_WriteString)(wxConfigBase* self,wxString* key,wxString* value)
+{
+	return self->Write(*key,*value);
+}
+	
+// FIXME: just left for backward-compatibiliry. wxHaskell uses int as long now.
+EWXWEXPORT(bool,wxConfigBase_WriteInteger)(wxConfigBase* self,wxString* key,int value)
+{
+	return self->Write(*key, (long)value);
+}
+	
+EWXWEXPORT(bool,wxConfigBase_WriteLong)(wxConfigBase* self,wxString* key,long value)
+{
+	return self->Write(*key, value);
+}
+	
+EWXWEXPORT(bool,wxConfigBase_WriteDouble)(wxConfigBase* self,wxString* key,double value)
+{
+	return self->Write(*key, value);
+}
+	
+EWXWEXPORT(bool,wxConfigBase_WriteBool)(wxConfigBase* self,wxString* key,bool value)
+{
+	return self->Write(*key, value);
+}
+	
+EWXWEXPORT(bool,wxConfigBase_Flush)(wxConfigBase* self,bool bCurrentOnly)
+{
+	return self->Flush(bCurrentOnly);
+}
+	
+EWXWEXPORT(bool,wxConfigBase_RenameEntry)(wxConfigBase* self,wxString* oldName,wxString* newName)
+{
+	return self->RenameEntry(*oldName,*newName);
+}
+	
+EWXWEXPORT(bool,wxConfigBase_RenameGroup)(wxConfigBase* self,wxString* oldName,wxString* newName)
+{
+	return self->RenameGroup(*oldName,*newName);
+}
+	
+EWXWEXPORT(bool,wxConfigBase_DeleteEntry)(wxConfigBase* self,wxString* key,bool bDeleteGroupIfEmpty)
+{
+	return self->DeleteEntry(*key, bDeleteGroupIfEmpty);
+}
+	
+EWXWEXPORT(bool,wxConfigBase_DeleteGroup)(wxConfigBase* self,wxString* key)
+{
+	return self->DeleteGroup(*key);
+}
+	
+EWXWEXPORT(bool,wxConfigBase_DeleteAll)(wxConfigBase* self)
+{
+	return self->DeleteAll();
+}
+	
+EWXWEXPORT(bool,wxConfigBase_IsExpandingEnvVars)(wxConfigBase* self)
+{
+	return self->IsExpandingEnvVars();
+}
+	
+EWXWEXPORT(void,wxConfigBase_SetExpandEnvVars)(wxConfigBase* self,bool bDoIt)
+{
+	self->SetExpandEnvVars(bDoIt);
+}
+	
+EWXWEXPORT(void,wxConfigBase_SetRecordDefaults)(wxConfigBase* self,bool bDoIt)
+{
+	self->SetRecordDefaults(bDoIt);
+}
+	
+EWXWEXPORT(bool,wxConfigBase_IsRecordingDefaults)(wxConfigBase* self)
+{
+	return self->IsRecordingDefaults();
+}
+	
+EWXWEXPORT(wxString*,wxConfigBase_ExpandEnvVars)(wxConfigBase* self,wxString* str)
+{
+	wxString *result = new wxString();
+	*result = self->ExpandEnvVars(*str);
+	return result;
+}
+	
+EWXWEXPORT(wxString*,wxConfigBase_GetAppName)(wxConfigBase* self)
+{
+	wxString *result = new wxString();
+	*result = self->GetAppName();
+	return result;
+}
+	
+EWXWEXPORT(wxString*,wxConfigBase_GetVendorName)(wxConfigBase* self)
+{
+	wxString *result = new wxString();
+	*result = self->GetVendorName();
+	return result;
+}
+	
+EWXWEXPORT(void,wxConfigBase_SetAppName)(wxConfigBase* self,wxString* appName)
+{
+	self->SetAppName(*appName);
+}
+	
+EWXWEXPORT(void,wxConfigBase_SetVendorName)(wxConfigBase* self,wxString* vendorName)
+{
+	self->SetVendorName(*vendorName);
+}
+	
+EWXWEXPORT(void,wxConfigBase_SetStyle)(wxConfigBase* self,int style)
+{
+	self->SetStyle((long)style);
+}
+	
+EWXWEXPORT(long,wxConfigBase_GetStyle)(wxConfigBase* self)
+{
+	return self->GetStyle();
+}
+	
+}
+ src/cpp/eljcontrol.cpp view
@@ -0,0 +1,23 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void,wxControl_SetLabel)(wxControl* self,wxString* text)
+{
+	self->SetLabel(*text);
+}
+	
+EWXWEXPORT(wxString*,wxControl_GetLabel)(wxControl* self)
+{
+	wxString *result = new wxString();
+	*result = self->GetLabel();
+	return result;
+}
+
+EWXWEXPORT(void,wxControl_Command)(wxControl* self,wxCommandEvent* event)
+{
+	self->Command(*event);
+}
+
+}
+ src/cpp/eljctxhelp.cpp view
@@ -0,0 +1,100 @@+#include "wrapper.h"
+#if wxVERSION_NUMBER >= 2400
+#include "wx/cshelp.h"
+
+extern "C"
+{
+
+EWXWEXPORT(wxContextHelp*,wxContextHelp_Create)(wxWindow* win,bool beginHelp)
+{
+	return new wxContextHelp(win, beginHelp);
+}
+	
+EWXWEXPORT(void,wxContextHelp_Delete)(wxContextHelp* self)
+{
+	delete self;
+}
+	
+EWXWEXPORT(bool,wxContextHelp_BeginContextHelp)(wxContextHelp* self,wxWindow* win)
+{
+	return self->BeginContextHelp(win);
+}
+	
+EWXWEXPORT(bool,wxContextHelp_EndContextHelp)(wxContextHelp* self)
+{
+	return self->EndContextHelp();
+}
+
+
+EWXWEXPORT(wxContextHelpButton*,wxContextHelpButton_Create)(wxWindow* parent,int id,int x,int y,int w,int h,long style)
+{
+	return new wxContextHelpButton(parent, (wxWindowID)id,wxPoint(x, y), wxSize(w, h), style);
+}
+
+
+EWXWEXPORT(wxHelpProvider*,wxHelpProvider_Get)()
+{
+	return wxHelpProvider::Get();
+}
+	
+EWXWEXPORT(wxHelpProvider*,wxHelpProvider_Set)(wxHelpProvider* helpProvider)
+{
+	return wxHelpProvider::Set(helpProvider);
+}
+	
+EWXWEXPORT(wxString*,wxHelpProvider_GetHelp)(void* _obj,void* window)
+{
+	wxString *result = new wxString();
+	*result = ((wxHelpProvider*)_obj)->GetHelp((wxWindowBase*)window);
+	return result;
+}
+	
+EWXWEXPORT(bool,wxHelpProvider_ShowHelp)(wxHelpProvider* self,wxWindowBase* window)
+{
+	return self->ShowHelp(window);
+}
+	
+EWXWEXPORT(void,wxHelpProvider_AddHelp)(wxHelpProvider* self,wxWindowBase* window,wxString* text)
+{
+	self->AddHelp(window,*text);
+}
+	
+EWXWEXPORT(void,wxHelpProvider_AddHelpById)(wxHelpProvider* self,int id,wxString* text)
+{
+	self->AddHelp((wxWindowID)id,*text);
+}
+	
+EWXWEXPORT(void,wxHelpProvider_RemoveHelp)(wxHelpProvider* self,wxWindowBase* window)
+{
+	self->RemoveHelp(window);
+}
+	
+EWXWEXPORT(void,wxHelpProvider_Delete)(wxHelpProvider* self)
+{
+	delete self;
+}
+
+
+EWXWEXPORT(wxSimpleHelpProvider*,wxSimpleHelpProvider_Create)()
+{
+	return new wxSimpleHelpProvider();
+}
+	
+
+EWXWEXPORT(wxHelpControllerHelpProvider*,wxHelpControllerHelpProvider_Create)(wxHelpControllerBase* ctr)
+{
+	return new wxHelpControllerHelpProvider(ctr);
+}
+	
+EWXWEXPORT(void,wxHelpControllerHelpProvider_SetHelpController)(wxHelpControllerHelpProvider* self,wxHelpControllerBase* hc)
+{
+	self->SetHelpController(hc);
+}
+	
+EWXWEXPORT(wxHelpControllerBase*,wxHelpControllerHelpProvider_GetHelpController)(wxHelpControllerHelpProvider* self)
+{
+	return self->GetHelpController();
+}
+	
+}
+#endif
+ src/cpp/eljcursor.cpp view
@@ -0,0 +1,30 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(wxCursor*,Cursor_CreateFromStock)(int _id)
+{
+	return  new wxCursor(_id);
+}
+
+EWXWEXPORT(wxCursor*,Cursor_CreateFromImage)(wxImage* image)
+{
+	return  new wxCursor(*image);
+}
+
+EWXWEXPORT(wxCursor*,Cursor_CreateLoad)(wxString* name,long type,int width,int height)
+{
+#if (wxVERSION_NUMBER >= 2900)
+    wxBitmapType bm_type = (wxBitmapType) type;
+#else
+    long bm_type = type;
+#endif
+#if defined(__WXGTK__)
+    return NULL;
+#else
+    return new wxCursor(*name, bm_type, width, height);
+#endif
+}
+
+}
+ src/cpp/eljdataformat.cpp view
@@ -0,0 +1,52 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(wxDataFormat*,wxDataFormat_CreateFromId)(wxString* name)
+{
+	return new wxDataFormat (*name);
+}
+
+EWXWEXPORT(wxDataFormat*,wxDataFormat_CreateFromType)(int typ)
+{
+	return new wxDataFormat ((wxDataFormat::NativeFormat)typ);
+}
+
+EWXWEXPORT(void,wxDataFormat_Delete)(wxDataFormat* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(bool,wxDataFormat_IsEqual)(wxDataFormat* self,wxDataFormat* other)
+{
+	return  *self == *other;
+}
+
+EWXWEXPORT(wxString*,wxDataFormat_GetId)(wxDataFormat* self)
+{
+	wxString *result = new wxString();
+	*result = self->GetId();
+	return result;
+}
+
+EWXWEXPORT(int,wxDataFormat_GetType)(wxDataFormat* self)
+{
+	return (int)self->GetType();
+}
+
+EWXWEXPORT(void,wxDataFormat_SetId)(wxDataFormat* self,wxString* id)
+{
+	self->SetId(*id);
+}
+
+EWXWEXPORT(void,wxDataFormat_SetType)(wxDataFormat* self,int typ)
+{
+#ifdef __WIN32__
+	self->SetType((wxDataFormat::NativeFormat)typ);
+#else
+	self->SetType((wxDataFormatId)typ);
+#endif
+}
+
+}
+ src/cpp/eljdatetime.cpp view
@@ -0,0 +1,589 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(wxDateTime*,wxDateTime_Create)()
+{
+	return new wxDateTime();
+}
+
+EWXWEXPORT(void,wxDateTime_SetCountry)(int country)
+{
+	wxDateTime::SetCountry((wxDateTime::Country)country);
+}
+	
+EWXWEXPORT(int,wxDateTime_GetCountry)()
+{
+	return (int)wxDateTime::GetCountry();
+}
+	
+EWXWEXPORT(bool,wxDateTime_IsWestEuropeanCountry)(int country)
+{
+	return wxDateTime::IsWestEuropeanCountry((wxDateTime::Country)country);
+}
+	
+EWXWEXPORT(int,wxDateTime_GetCurrentYear)(int cal)
+{
+	return wxDateTime::GetCurrentYear((wxDateTime::Calendar)cal);
+}
+	
+EWXWEXPORT(int,wxDateTime_ConvertYearToBC)(int year)
+{
+	return wxDateTime::ConvertYearToBC(year);
+}
+	
+EWXWEXPORT(int,wxDateTime_GetCurrentMonth)(int cal)
+{
+	return (int)wxDateTime::GetCurrentMonth((wxDateTime::Calendar)cal);
+}
+	
+EWXWEXPORT(bool,wxDateTime_IsLeapYear)(int year,int cal)
+{
+	return wxDateTime::IsLeapYear(year, (wxDateTime::Calendar)cal);
+}
+	
+EWXWEXPORT(int,wxDateTime_GetCentury)(int year)
+{
+	return wxDateTime::GetCentury(year);
+}
+	
+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)
+{
+	return wxDateTime::GetNumberOfDays((wxDateTime::Month)month, year, (wxDateTime::Calendar)cal);
+}
+	
+EWXWEXPORT(wxString*,wxDateTime_GetMonthName)(int month,int flags)
+{
+	wxString *result = new wxString();
+	*result = wxDateTime::GetMonthName((wxDateTime::Month)month, (wxDateTime::NameFlags)flags);
+	return result;
+}
+	
+EWXWEXPORT(wxString*,wxDateTime_GetWeekDayName)(int weekday,int flags)
+{
+	wxString *result = new wxString();
+	*result = wxDateTime::GetWeekDayName((wxDateTime::WeekDay)weekday, (wxDateTime::NameFlags)flags);
+	return result;
+}
+	
+EWXWEXPORT(wxString*,wxDateTime_GetAmString)()
+{
+	wxString *result = new wxString();
+	wxString pm;
+	wxDateTime::GetAmPmStrings(result, &pm);
+	return result;
+}
+	
+EWXWEXPORT(wxString*,wxDateTime_GetPmString)()
+{
+	wxString *result = new wxString();
+	wxString am;
+	wxDateTime::GetAmPmStrings(&am, result);
+	return result;
+}
+	
+EWXWEXPORT(bool,wxDateTime_IsDSTApplicable)(int year,int country)
+{
+	return wxDateTime::IsDSTApplicable(year, (wxDateTime::Country)country);
+}
+	
+EWXWEXPORT(void,wxDateTime_GetBeginDST)(int year,int country,wxDateTime* dt)
+{
+	*dt = wxDateTime::GetBeginDST(year, (wxDateTime::Country)country);
+}
+	
+EWXWEXPORT(void,wxDateTime_GetEndDST)(int year,int country,wxDateTime* dt)
+{
+	*dt = wxDateTime::GetEndDST(year, (wxDateTime::Country)country);
+}
+	
+EWXWEXPORT(void,wxDateTime_Now)(wxDateTime* dt)
+{
+	*dt = wxDateTime::Now();
+}
+	
+EWXWEXPORT(void,wxDateTime_UNow)(wxDateTime* dt)
+{
+	*dt = wxDateTime::UNow();
+}
+	
+EWXWEXPORT(void,wxDateTime_Today)(wxDateTime* dt)
+{
+	*dt = wxDateTime::Today();
+}
+	
+EWXWEXPORT(void,wxDateTime_SetToCurrent)(wxDateTime* self)
+{
+	self->SetToCurrent();
+}
+	
+EWXWEXPORT(void,wxDateTime_SetTime)(wxDateTime* self,int hour,int minute,int second,int millisec)
+{
+	self->Set((wxDateTime::wxDateTime_t)hour, (wxDateTime::wxDateTime_t)minute, (wxDateTime::wxDateTime_t)second, (wxDateTime::wxDateTime_t)millisec);
+}
+	
+EWXWEXPORT(void,wxDateTime_Set)(wxDateTime* self,int day,int month,int year,int hour,int minute,int second,int 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)(wxDateTime* self)
+{
+	self->ResetTime();
+}
+	
+EWXWEXPORT(void,wxDateTime_SetYear)(wxDateTime* self,int year)
+{
+	self->SetYear(year);
+}
+	
+EWXWEXPORT(void,wxDateTime_SetMonth)(wxDateTime* self,int month)
+{
+	self->SetMonth((wxDateTime::Month)month);
+}
+	
+EWXWEXPORT(void,wxDateTime_SetDay)(wxDateTime* self,int day)
+{
+	self->SetDay((wxDateTime::wxDateTime_t)day);
+}
+	
+EWXWEXPORT(void,wxDateTime_SetHour)(wxDateTime* self,int hour)
+{
+	self->SetHour((wxDateTime::wxDateTime_t)hour);
+}
+	
+EWXWEXPORT(void,wxDateTime_SetMinute)(wxDateTime* self,int minute)
+{
+	self->SetMinute((wxDateTime::wxDateTime_t)minute);
+}
+	
+EWXWEXPORT(void,wxDateTime_SetSecond)(wxDateTime* self,int second)
+{
+	self->SetSecond((wxDateTime::wxDateTime_t)second);
+}
+	
+EWXWEXPORT(void,wxDateTime_SetMillisecond)(wxDateTime* self,int millisecond)
+{
+	self->SetMillisecond((wxDateTime::wxDateTime_t)millisecond);
+}
+	
+EWXWEXPORT(void,wxDateTime_SetToWeekDayInSameWeek)(wxDateTime* self,int weekday)
+{
+	self->SetToWeekDayInSameWeek((wxDateTime::WeekDay)weekday);
+}
+	
+EWXWEXPORT(void,wxDateTime_GetWeekDayInSameWeek)(wxDateTime* self,int weekday,wxDateTime* _ref)
+{
+	*_ref = self->GetWeekDayInSameWeek((wxDateTime::WeekDay)weekday);
+}
+	
+EWXWEXPORT(void,wxDateTime_SetToNextWeekDay)(wxDateTime* self,int weekday)
+{
+	self->SetToNextWeekDay((wxDateTime::WeekDay)weekday);
+}
+	
+EWXWEXPORT(void,wxDateTime_GetNextWeekDay)(wxDateTime* self,int weekday,wxDateTime* _ref)
+{
+	*_ref = self->GetNextWeekDay((wxDateTime::WeekDay)weekday);
+}
+	
+EWXWEXPORT(void,wxDateTime_SetToPrevWeekDay)(wxDateTime* self,int weekday)
+{
+	self->SetToPrevWeekDay((wxDateTime::WeekDay)weekday);
+}
+	
+EWXWEXPORT(void,wxDateTime_GetPrevWeekDay)(wxDateTime* self,int weekday,wxDateTime* _ref)
+{
+	*_ref = self->GetPrevWeekDay((wxDateTime::WeekDay)weekday);
+}
+	
+EWXWEXPORT(bool,wxDateTime_SetToWeekDay)(wxDateTime* self,int weekday,int n,int month,int year)
+{
+	return self->SetToWeekDay((wxDateTime::WeekDay)weekday, n, (wxDateTime::Month)month, year);
+}
+	
+EWXWEXPORT(void,wxDateTime_GetWeekDay)(wxDateTime* self,int weekday,int n,int month,int year,wxDateTime* _ref)
+{
+	*_ref = self->GetWeekDay((wxDateTime::WeekDay)weekday, n, (wxDateTime::Month)month, year);
+}
+	
+EWXWEXPORT(bool,wxDateTime_SetToLastWeekDay)(wxDateTime* self,int weekday,int month,int year)
+{
+	return self->SetToLastWeekDay((wxDateTime::WeekDay)weekday, (wxDateTime::Month)month, year);
+}
+	
+EWXWEXPORT(void,wxDateTime_GetLastWeekDay)(wxDateTime* self,int weekday,int month,int year,wxDateTime* _ref)
+{
+	*_ref = self->GetLastWeekDay((wxDateTime::WeekDay)weekday, (wxDateTime::Month)month, year);
+}
+	
+EWXWEXPORT(void,wxDateTime_SetToLastMonthDay)(wxDateTime* self,int month,int year)
+{
+	self->SetToLastMonthDay((wxDateTime::Month)month, year);
+}
+	
+EWXWEXPORT(void,wxDateTime_GetLastMonthDay)(wxDateTime* self,int month,int year,wxDateTime* _ref)
+{
+	*_ref = self->GetLastMonthDay((wxDateTime::Month)month, year);
+}
+	
+EWXWEXPORT(void,wxDateTime_ToTimezone)(wxDateTime* self,int tz,bool noDST)
+{
+	self->ToTimezone(wxDateTime::TimeZone((wxDateTime::TZ)tz), noDST);
+}
+	
+EWXWEXPORT(void,wxDateTime_MakeTimezone)(wxDateTime* self,int tz,bool noDST)
+{
+	self->MakeTimezone(wxDateTime::TimeZone((wxDateTime::TZ)tz), noDST);
+}
+	
+EWXWEXPORT(void,wxDateTime_ToGMT)(wxDateTime* self,bool noDST)
+{
+	self->ToGMT(noDST);
+}
+	
+EWXWEXPORT(void,wxDateTime_MakeGMT)(wxDateTime* self,bool noDST)
+{
+	self->MakeGMT(noDST);
+}
+	
+EWXWEXPORT(int,wxDateTime_IsDST)(wxDateTime* self,int country)
+{
+	return self->IsDST((wxDateTime::Country)country);
+}
+	
+EWXWEXPORT(bool,wxDateTime_IsValid)(wxDateTime* self)
+{
+	return self->IsValid();
+}
+	
+EWXWEXPORT(time_t,wxDateTime_GetTicks)(wxDateTime* self)
+{
+	return self->GetTicks();
+}
+	
+EWXWEXPORT(int,wxDateTime_GetYear)(wxDateTime* self,int tz)
+{
+	return self->GetYear(wxDateTime::TimeZone((wxDateTime::TZ)tz));
+}
+	
+EWXWEXPORT(int,wxDateTime_GetMonth)(wxDateTime* self,int tz)
+{
+	return (int)self->GetMonth(wxDateTime::TimeZone((wxDateTime::TZ)tz));
+}
+	
+EWXWEXPORT(int,wxDateTime_GetDay)(wxDateTime* self,int tz)
+{
+	return (int)self->GetDay(wxDateTime::TimeZone((wxDateTime::TZ)tz));
+}
+	
+EWXWEXPORT(int,wxDateTime_GetWeekDayTZ)(wxDateTime* self,int tz)
+{
+	return (int)self->GetWeekDay(wxDateTime::TimeZone((wxDateTime::TZ)tz));
+}
+	
+EWXWEXPORT(int,wxDateTime_GetHour)(wxDateTime* self,int tz)
+{
+	return (int)self->GetHour(wxDateTime::TimeZone((wxDateTime::TZ)tz));
+}
+	
+EWXWEXPORT(int,wxDateTime_GetMinute)(wxDateTime* self,int tz)
+{
+	return (int)self->GetMinute(wxDateTime::TimeZone((wxDateTime::TZ)tz));
+}
+	
+EWXWEXPORT(int,wxDateTime_GetSecond)(wxDateTime* self,int tz)
+{
+	return (int)self->GetSecond(wxDateTime::TimeZone((wxDateTime::TZ)tz));
+}
+	
+EWXWEXPORT(int,wxDateTime_GetMillisecond)(wxDateTime* self,int tz)
+{
+	return (int)self->GetMillisecond(wxDateTime::TimeZone((wxDateTime::TZ)tz));
+}
+	
+EWXWEXPORT(int,wxDateTime_GetDayOfYear)(wxDateTime* self,int tz)
+{
+	return (int)self->GetDayOfYear(wxDateTime::TimeZone((wxDateTime::TZ)tz));
+}
+	
+EWXWEXPORT(int,wxDateTime_GetWeekOfYear)(wxDateTime* self,int flags,int tz)
+{
+	return (int)self->GetWeekOfYear((wxDateTime::WeekFlags)flags, wxDateTime::TimeZone((wxDateTime::TZ)tz));
+}
+	
+EWXWEXPORT(int,wxDateTime_GetWeekOfMonth)(wxDateTime* self,int flags,int tz)
+{
+	return (int)self->GetWeekOfMonth((wxDateTime::WeekFlags)flags, wxDateTime::TimeZone((wxDateTime::TZ)tz));
+}
+	
+EWXWEXPORT(bool,wxDateTime_IsWorkDay)(wxDateTime* self,int country)
+{
+	return self->IsWorkDay((wxDateTime::Country)country);
+}
+	
+/*
+EWXWEXPORT(bool,wxDateTime_IsGregorianDate)(wxDateTime* self,int country)
+{
+	return self->IsGregorianDate((wxDateTime::GregorianAdoption)country);
+}
+*/
+	
+EWXWEXPORT(bool,wxDateTime_IsEqualTo)(wxDateTime* self,wxDateTime* datetime)
+{
+	return self->IsEqualTo(*datetime);
+}
+	
+EWXWEXPORT(bool,wxDateTime_IsEarlierThan)(wxDateTime* self,wxDateTime* datetime)
+{
+	return self->IsEarlierThan(*datetime);
+}
+	
+EWXWEXPORT(bool,wxDateTime_IsLaterThan)(wxDateTime* self,wxDateTime* datetime)
+{
+	return self->IsLaterThan(*datetime);
+}
+	
+EWXWEXPORT(bool,wxDateTime_IsStrictlyBetween)(wxDateTime* self,wxDateTime* t1,wxDateTime* t2)
+{
+	return self->IsStrictlyBetween(*t1,*t2);
+}
+	
+EWXWEXPORT(bool,wxDateTime_IsBetween)(wxDateTime* self,wxDateTime* t1,wxDateTime* t2)
+{
+	return self->IsBetween(*t1,*t2);
+}
+	
+EWXWEXPORT(bool,wxDateTime_IsSameDate)(wxDateTime* self,wxDateTime* dt)
+{
+	return self->IsSameDate(*dt);
+}
+	
+EWXWEXPORT(bool,wxDateTime_IsSameTime)(wxDateTime* self,wxDateTime* dt)
+{
+	return self->IsSameTime(*dt);
+}
+	
+EWXWEXPORT(bool,wxDateTime_IsEqualUpTo)(wxDateTime* self,wxDateTime* dt,wxTimeSpan* ts)
+{
+	return self->IsEqualUpTo(*dt,*ts);
+}
+	
+EWXWEXPORT(void,wxDateTime_AddTime)(wxDateTime* self,wxTimeSpan* diff,wxDateTime* _ref)
+{
+	*_ref = self->Add(*diff);
+}
+	
+EWXWEXPORT(void,wxDateTime_SubtractTime)(wxDateTime* self,wxTimeSpan* diff,wxDateTime* _ref)
+{
+	*_ref = self->Subtract(*diff);
+}
+	
+EWXWEXPORT(void,wxDateTime_AddDate)(wxDateTime* self,wxDateSpan* diff,wxDateTime* _ref)
+{
+	*_ref = self->Add(*diff);
+}
+	
+EWXWEXPORT(void,wxDateTime_SubtractDate)(wxDateTime* self,wxDateSpan* diff,wxDateTime* _ref)
+{
+	*_ref = self->Subtract(*diff);
+}
+
+#if (wxVERSION_NUMBER < 2900)	
+EWXWEXPORT(void*,wxDateTime_ParseRfc822Date)(wxDateTime* self,void* date)
+{
+	return (void*)self->ParseRfc822Date((const wxChar*)date);
+}
+#else
+EWXWEXPORT(void*,wxDateTime_ParseRfc822Date)(wxDateTime* self,void* date)
+{
+    wxString dateStr((const wxChar*)date);
+    wxString::const_iterator parseOut;
+    wxString remainStr;
+
+    if (self->ParseRfc822Date(dateStr, &parseOut))
+    {
+        // The iterator points to the first character after the string
+        // We should return a pointer to the remainder, but this is complicated
+        // in Unicode by the fact that code points are not simple pointers...
+        for (; parseOut != dateStr.end(); ++parseOut)
+            remainStr += *parseOut;
+
+        delete ((const wxChar*) date);
+        return (void*) remainStr.wchar_str();
+    }
+    else
+        return NULL;
+}
+#endif
+	
+#if (wxVERSION_NUMBER < 2900)	
+EWXWEXPORT(void*,wxDateTime_ParseFormat)(wxDateTime* self,void* date,void* format,wxDateTime* dateDef)
+{
+	return (void*)self->ParseFormat((const wxChar*)date, (const wxChar*)format,*dateDef);
+}	
+#else
+EWXWEXPORT(void*,wxDateTime_ParseFormat)(wxDateTime* self,void* date,void* format,wxDateTime* dateDef)
+{
+    wxString dateStr((const wxChar*)date);
+    wxString parseFmt((const wxChar*)format);
+    wxString::const_iterator parseOut;
+    wxString remainStr;
+
+    if (self->ParseFormat(dateStr, parseFmt, *dateDef, &parseOut))
+    {
+        for (; parseOut != dateStr.end(); ++parseOut)
+            remainStr += *parseOut;
+
+        delete ((const wxChar*) date);
+        return (void*) remainStr.wchar_str();
+    }
+    else
+        return NULL;
+}
+#endif
+	
+#if (wxVERSION_NUMBER < 2900)	
+EWXWEXPORT(void*,wxDateTime_ParseDateTime)(wxDateTime* self,void* datetime)
+{
+	return (void*)self->ParseDateTime((const wxChar*)datetime);
+}	
+#else
+EWXWEXPORT(void*,wxDateTime_ParseDateTime)(wxDateTime* self,void* datetime)
+{
+    wxString dateStr((const wxChar*)datetime);
+    wxString::const_iterator parseOut;
+    wxString remainStr;
+
+    if (self->ParseDateTime(dateStr, &parseOut))
+    {
+        for (; parseOut != dateStr.end(); ++parseOut)
+            remainStr += *parseOut;
+
+        delete ((const wxChar*) datetime);
+        return (void*) remainStr.wchar_str();
+    }
+    else
+        return NULL;
+}
+#endif
+	
+#if (wxVERSION_NUMBER < 2900)	
+EWXWEXPORT(void*,wxDateTime_ParseDate)(wxDateTime* self,void* date)
+{
+	return (void*)self->ParseDate((const wxChar*)date);
+}
+#else
+EWXWEXPORT(void*,wxDateTime_ParseDate)(wxDateTime* self,void* date)
+{
+    wxString dateStr((const wxChar*)date);
+    wxString::const_iterator parseOut;
+    wxString remainStr;
+
+    if (self->ParseDate(dateStr, &parseOut))
+    {
+        for (; parseOut != dateStr.end(); ++parseOut)
+            remainStr += *parseOut;
+
+        delete ((const wxChar*) date);
+        return (void*) remainStr.wchar_str();
+    }
+    else
+        return NULL;
+}
+#endif
+	
+#if (wxVERSION_NUMBER < 2900)	
+EWXWEXPORT(void*,wxDateTime_ParseTime)(wxDateTime* self,void* time)
+{
+	return (void*)self->ParseTime((const wxChar*)time);
+}
+#else
+EWXWEXPORT(void*,wxDateTime_ParseTime)(wxDateTime* self,void* time)
+{
+    wxString timeStr((const wxChar*)time);
+    wxString::const_iterator parseOut;
+    wxString remainStr;
+
+    if (self->ParseTime(timeStr, &parseOut))
+    {
+        for (; parseOut != timeStr.end(); ++parseOut)
+            remainStr += *parseOut;
+
+        delete ((const wxChar*) time);
+        return (void*) remainStr.wchar_str();
+    }
+    else
+        return NULL;
+}
+#endif
+	
+EWXWEXPORT(wxString*,wxDateTime_Format)(wxDateTime* self,void* format,int tz)
+{
+	wxString *result = new wxString();
+	*result = self->Format((const wxChar*)format, wxDateTime::TimeZone((wxDateTime::TZ)tz));
+	return result;
+}
+	
+EWXWEXPORT(wxString*,wxDateTime_FormatDate)(wxDateTime* self)
+{
+	wxString *result = new wxString();
+	*result = self->FormatDate();
+	return result;
+}
+	
+EWXWEXPORT(wxString*,wxDateTime_FormatTime)(wxDateTime* self)
+{
+	wxString *result = new wxString();
+	*result = self->FormatTime();
+	return result;
+}
+	
+EWXWEXPORT(wxString*,wxDateTime_FormatISODate)(wxDateTime* self)
+{
+	wxString *result = new wxString();
+	*result =  self->FormatISODate();
+	return result;
+}
+	
+EWXWEXPORT(wxString*,wxDateTime_FormatISOTime)(wxDateTime* self)
+{
+	wxString *result = new wxString();
+	*result = self->FormatISOTime();
+	return result;
+}
+	
+EWXWEXPORT(wxDateTime*,wxDateTime_wxDateTime)(long hi_long,unsigned long lo_long)
+{
+	return new wxDateTime(wxLongLong(hi_long, lo_long));
+}
+	
+EWXWEXPORT(void,wxDateTime_GetValue)(wxDateTime* self,long* hi_long,unsigned long* lo_long)
+{
+	wxLongLong val = self->GetValue();
+	*hi_long = val.GetHi();
+	*lo_long = val.GetLo();
+}
+	
+EWXWEXPORT(int,wxDateTime_GetTimeNow)()
+{
+	return (int)wxDateTime::GetTimeNow();
+}
+	
+EWXWEXPORT(void,wxDateTime_AddTimeValues)(wxDateTime* self,int _hrs,int _min,int _sec,int _mls)
+{
+	self->Add(wxTimeSpan((long)_hrs, (long)_min, (long)_sec, (long)_mls));
+}
+	
+EWXWEXPORT(void,wxDateTime_AddDateValues)(wxDateTime* self,int _yrs,int _mnt,int _wek,int _day)
+{
+	self->Add(wxDateSpan((long)_yrs, (long)_mnt, (long)_wek, (long)_day));
+}
+	
+}
+ src/cpp/eljdc.cpp view
@@ -0,0 +1,730 @@+#include "wrapper.h"
+#include <wx/metafile.h>
+#include <wx/dcmirror.h>
+#include <wx/dcbuffer.h>
+
+extern "C"
+{
+
+EWXWEXPORT(void,wxDC_Delete)(wxDC* self)
+{
+	delete  self;
+}
+
+EWXWEXPORT(void,wxDC_FloodFill)(wxDC* self,int x,int y,wxColour* col,int style)
+{
+#if (wxVERSION_NUMBER < 2900)
+    int _style = style;
+#else
+    wxFloodFillStyle _style = (wxFloodFillStyle) style;
+#endif
+	self->FloodFill((wxCoord)x, (wxCoord)y,*col, _style);
+}
+	
+EWXWEXPORT(int,wxDC_GetPixel)(wxDC* self,int x,int y,wxColour* col)
+{
+	return self->GetPixel((wxCoord)x, (wxCoord)y, col);
+}
+	
+EWXWEXPORT(void,wxDC_DrawLine)(wxDC* self,int x1,int y1,int x2,int y2)
+{
+	self->DrawLine((wxCoord)x1, (wxCoord)y1, (wxCoord)x2, (wxCoord)y2);
+}
+	
+EWXWEXPORT(void,wxDC_CrossHair)(wxDC* self,int x,int y)
+{
+	self->CrossHair((wxCoord)x, (wxCoord)y);
+}
+	
+EWXWEXPORT(void,wxDC_DrawArc)(wxDC* self,int x1,int y1,int x2,int y2,int xc,int yc)
+{
+	self->DrawArc((wxCoord)x1, (wxCoord)y1, (wxCoord)x2, (wxCoord)y2, (wxCoord)xc, (wxCoord)yc);
+}
+	
+EWXWEXPORT(void,wxDC_DrawCheckMark)(wxDC* self,int x,int y,int width,int height)
+{
+	self->DrawCheckMark((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height);
+}
+	
+EWXWEXPORT(void,wxDC_DrawEllipticArc)(wxDC* self,int x,int y,int w,int h,double sa,double ea)
+{
+	self->DrawEllipticArc((wxCoord)x, (wxCoord)y, (wxCoord)w, (wxCoord)h, sa, ea);
+}
+	
+EWXWEXPORT(void,wxDC_DrawPoint)(wxDC* self,int x,int y)
+{
+	self->DrawPoint((wxCoord)x, (wxCoord)y);
+}
+	
+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]);
+	
+	self->DrawLines(n, lst, (wxCoord)xoffset, (wxCoord)yoffset);
+	
+	free (lst);
+}
+	
+EWXWEXPORT(void,wxDC_DrawPolygon)(wxDC* self,int n,void* x,void* y,int xoffset,int yoffset,int fillStyle)
+{
+#if (wxVERSION_NUMBER < 2900)
+    int _style = fillStyle;
+#else
+    wxPolygonFillMode _style = (wxPolygonFillMode) fillStyle;
+#endif
+	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]);
+	
+	self->DrawPolygon(n, lst, (wxCoord)xoffset, (wxCoord)yoffset, _style);
+	
+	free (lst);
+}
+	
+EWXWEXPORT(void,wxDC_DrawRectangle)(wxDC* self,int x,int y,int width,int height)
+{
+	self->DrawRectangle((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height);
+}
+	
+EWXWEXPORT(void,wxDC_DrawRoundedRectangle)(wxDC* self,int x,int y,int width,int height,double radius)
+{
+	self->DrawRoundedRectangle((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height, radius);
+}
+	
+EWXWEXPORT(void,wxDC_DrawCircle)(wxDC* self,int x,int y,int radius)
+{
+	self->DrawCircle((wxCoord)x, (wxCoord)y, (wxCoord)radius);
+}
+	
+EWXWEXPORT(void,wxDC_DrawEllipse)(wxDC* self,int x,int y,int width,int height)
+{
+	self->DrawEllipse((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height);
+}
+	
+EWXWEXPORT(void,wxDC_DrawIcon)(wxDC* self,wxIcon* icon,int x,int y)
+{
+	self->DrawIcon(*icon, (wxCoord)x, (wxCoord)y);
+}
+	
+EWXWEXPORT(void,wxDC_DrawBitmap)(wxDC* self,wxBitmap* bmp,int x,int y,bool useMask)
+{
+	self->DrawBitmap(*bmp, (wxCoord)x, (wxCoord)y, useMask);
+}
+	
+EWXWEXPORT(void,wxDC_DrawText)(wxDC* self,wxString* text,int x,int y)
+{
+	self->DrawText(*text, (wxCoord)x, (wxCoord)y);
+}
+	
+EWXWEXPORT(void,wxDC_DrawRotatedText)(wxDC* self,wxString* text,int x,int y,double angle)
+{
+	self->DrawRotatedText(*text, (wxCoord)x, (wxCoord)y, angle);
+}
+	
+EWXWEXPORT(bool,wxDC_Blit)(wxDC* self,int xdest,int ydest,int width,int height,wxDC* source,int xsrc,int ysrc,int rop,bool useMask)
+{
+#if (wxVERSION_NUMBER < 2900)
+    int _rop = rop;
+#else
+    wxRasterOperationMode _rop = (wxRasterOperationMode) rop;
+#endif
+	return self->Blit((wxCoord)xdest, (wxCoord)ydest, (wxCoord)width, (wxCoord)height, source, (wxCoord)xsrc, (wxCoord)ysrc, _rop, useMask);
+}
+	
+EWXWEXPORT(void,wxDC_Clear)(wxDC* self)
+{
+	self->Clear();
+}
+	
+EWXWEXPORT(void,wxDC_ComputeScaleAndOrigin)(wxDC* dc)
+{
+#if (wxVERSION_NUMBER < 2900)
+	dc->ComputeScaleAndOrigin();
+#endif
+}
+	
+EWXWEXPORT(bool,wxDC_StartDoc)(wxDC* self,wxString* msg)
+{
+	return self->StartDoc(*msg);
+}
+	
+EWXWEXPORT(void,wxDC_EndDoc)(wxDC* self)
+{
+	self->EndDoc();
+}
+	
+EWXWEXPORT(void,wxDC_StartPage)(wxDC* self)
+{
+	self->StartPage();
+}
+	
+EWXWEXPORT(void,wxDC_EndPage)(wxDC* self)
+{
+	self->EndPage();
+}
+	
+EWXWEXPORT(void,wxDC_SetFont)(wxDC* self,wxFont* font)
+{
+	self->SetFont(*font);
+}
+	
+EWXWEXPORT(void,wxDC_SetPen)(wxDC* self,wxPen* pen)
+{
+	self->SetPen(*pen);
+}
+	
+EWXWEXPORT(void,wxDC_SetBrush)(wxDC* self,wxBrush* brush)
+{
+	self->SetBrush(*brush);
+}
+	
+EWXWEXPORT(void,wxDC_SetBackground)(wxDC* self,wxBrush* brush)
+{
+	self->SetBackground(*brush);
+}
+	
+EWXWEXPORT(void,wxDC_SetBackgroundMode)(wxDC* self,int mode)
+{
+	self->SetBackgroundMode(mode);
+}
+	
+EWXWEXPORT(void,wxDC_SetPalette)(wxDC* self,wxPalette* palette)
+{
+	self->SetPalette(*palette);
+}
+	
+EWXWEXPORT(void,wxDC_SetClippingRegion)(wxDC* self,int x,int y,int width,int height)
+{
+	self->SetClippingRegion((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height);
+}
+	
+EWXWEXPORT(void,wxDC_SetClippingRegionFromRegion)(wxDC* self,wxRegion* region)
+{
+	self->SetClippingRegion(*region);
+}
+	
+EWXWEXPORT(void,wxDC_DestroyClippingRegion)(wxDC* self)
+{
+	self->DestroyClippingRegion();
+}
+	
+EWXWEXPORT(void,wxDC_GetClippingBox)(wxDC* self,wxCoord* x,wxCoord* y,wxCoord* w,wxCoord* h)
+{
+	self->GetClippingBox(x,y,w,h);
+}
+	
+EWXWEXPORT(wxCoord,wxDC_GetCharHeight)(wxDC* self)
+{
+	return self->GetCharHeight();
+}
+	
+EWXWEXPORT(wxCoord,wxDC_GetCharWidth)(wxDC* self)
+{
+	return self->GetCharWidth();
+}
+	
+EWXWEXPORT(void,wxDC_GetTextExtent)(wxDC* self,wxString* 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,wxString* string,wxCoord* w,wxCoord* h,wxCoord* heightLine,wxFont* theFont)
+{
+	self->GetMultiLineTextExtent(*string, w, h, heightLine, theFont);
+}
+
+EWXWEXPORT(wxSize*,wxDC_GetSize)(wxDC* self)
+{
+	wxSize* s = new wxSize();
+	*s = self->GetSize();
+	return s;
+}
+	
+EWXWEXPORT(wxSize*,wxDC_GetSizeMM)(wxDC* self)
+{
+	wxSize* s = new wxSize();
+	*s = self->GetSizeMM();
+	return s;
+}
+	
+EWXWEXPORT(wxCoord,wxDC_DeviceToLogicalX)(wxDC* self,wxCoord x)
+{
+	return self->DeviceToLogicalX(x);
+}
+	
+EWXWEXPORT(wxCoord,wxDC_DeviceToLogicalY)(wxDC* self,wxCoord y)
+{
+	return self->DeviceToLogicalY(y);
+}
+	
+EWXWEXPORT(wxCoord,wxDC_DeviceToLogicalXRel)(wxDC* self,wxCoord x)
+{
+	return self->DeviceToLogicalXRel(x);
+}
+	
+EWXWEXPORT(wxCoord,wxDC_DeviceToLogicalYRel)(wxDC* self,int y)
+{
+	return self->DeviceToLogicalYRel((wxCoord)y);
+}
+	
+EWXWEXPORT(wxCoord,wxDC_LogicalToDeviceX)(wxDC* self,int x)
+{
+	return self->LogicalToDeviceX((wxCoord)x);
+}
+	
+EWXWEXPORT(wxCoord,wxDC_LogicalToDeviceY)(wxDC* self,int y)
+{
+	return self->LogicalToDeviceY((wxCoord)y);
+}
+	
+EWXWEXPORT(wxCoord,wxDC_LogicalToDeviceXRel)(wxDC* self,int x)
+{
+	return self->LogicalToDeviceXRel((wxCoord)x);
+}
+	
+EWXWEXPORT(wxCoord,wxDC_LogicalToDeviceYRel)(wxDC* self,int y)
+{
+	return self->LogicalToDeviceYRel((wxCoord)y);
+}
+	
+EWXWEXPORT(bool,wxDC_CanDrawBitmap)(wxDC* self)
+{
+	return self->CanDrawBitmap();
+}
+	
+EWXWEXPORT(bool,wxDC_CanGetTextExtent)(wxDC* self)
+{
+	return self->CanGetTextExtent();
+}
+	
+EWXWEXPORT(int,wxDC_GetDepth)(wxDC* self)
+{
+	return self->GetDepth();
+}
+	
+EWXWEXPORT(wxSize*,wxDC_GetPPI)(wxDC* self)
+{
+	wxSize* s = new wxSize();
+	*s = self->GetPPI();
+	return s;
+}
+	
+EWXWEXPORT(bool,wxDC_IsOk)(wxDC* self)
+{
+	return self->IsOk();
+}
+	
+EWXWEXPORT(int,wxDC_GetBackgroundMode)(wxDC* self)
+{
+	return self->GetBackgroundMode();
+}
+	
+EWXWEXPORT(void,wxDC_GetBackground)(wxDC* self,wxBrush* _ref)
+{
+	*_ref = self->GetBackground();
+}
+	
+EWXWEXPORT(void,wxDC_GetBrush)(wxDC* self,wxBrush* _ref)
+{
+	*_ref = self->GetBrush();
+}
+	
+EWXWEXPORT(void,wxDC_GetFont)(wxDC* self,wxFont* _ref)
+{
+	*_ref = self->GetFont();
+}
+	
+EWXWEXPORT(void,wxDC_GetPen)(wxDC* self,wxPen* _ref)
+{
+	*_ref = self->GetPen();
+}
+	
+EWXWEXPORT(void,wxDC_GetTextBackground)(wxDC* self,wxColour* _ref)
+{
+	*_ref = self->GetTextBackground();
+}
+	
+EWXWEXPORT(void,wxDC_GetTextForeground)(wxDC* self,wxColour* _ref)
+{
+	*_ref = self->GetTextForeground();
+}
+	
+EWXWEXPORT(void,wxDC_SetTextForeground)(wxDC* self,wxColour* colour)
+{
+	self->SetTextForeground(*colour);
+}
+	
+EWXWEXPORT(void,wxDC_SetTextBackground)(wxDC* self,wxColour* colour)
+{
+	self->SetTextBackground(*colour);
+}
+	
+EWXWEXPORT(int,wxDC_GetMapMode)(wxDC* self)
+{
+	return self->GetMapMode();
+}
+	
+EWXWEXPORT(void,wxDC_SetMapMode)(wxDC* self,int mode)
+{
+#if (wxVERSION_NUMBER < 2900)
+    int _mode = mode;
+#else
+    wxMappingMode _mode = (wxMappingMode) mode;
+#endif
+	self->SetMapMode(_mode);
+}
+	
+EWXWEXPORT(void,wxDC_GetUserScale)(wxDC* self,double* x,double* y)
+{
+	self->GetUserScale(x,y);
+}
+	
+EWXWEXPORT(void,wxDC_SetUserScale)(wxDC* self,double x,double y)
+{
+	self->SetUserScale(x, y);
+}
+	
+EWXWEXPORT(void,wxDC_GetLogicalScale)(wxDC* self,double* x,double* y)
+{
+	self->GetLogicalScale(x,y);
+}
+	
+EWXWEXPORT(void,wxDC_SetLogicalScale)(wxDC* self,double x,double y)
+{
+	self->SetLogicalScale(x, y);
+}
+	
+EWXWEXPORT(void,wxDC_GetLogicalOrigin)(wxDC* self,wxCoord* x,wxCoord* y)
+{
+	self->GetLogicalOrigin(x,y);
+}
+	
+EWXWEXPORT(void,wxDC_SetLogicalOrigin)(wxDC* self,int x,int y)
+{
+	self->SetLogicalOrigin((wxCoord)x, (wxCoord)y);
+}
+	
+EWXWEXPORT(void,wxDC_GetDeviceOrigin)(wxDC* self,wxCoord* x,wxCoord* y)
+{
+	self->GetDeviceOrigin(x,y);
+}
+	
+EWXWEXPORT(void,wxDC_SetDeviceOrigin)(wxDC* self,int x,int y)
+{
+	self->SetDeviceOrigin((wxCoord)x, (wxCoord)y);
+}
+	
+EWXWEXPORT(void,wxDC_SetAxisOrientation)(wxDC* self,bool xLeftRight,bool yBottomUp)
+{
+	self->SetAxisOrientation(xLeftRight, yBottomUp);
+}
+	
+EWXWEXPORT(int,wxDC_GetLogicalFunction)(wxDC* self)
+{
+	return self->GetLogicalFunction();
+}
+	
+EWXWEXPORT(void,wxDC_SetLogicalFunction)(wxDC* self,int function)
+{
+#if (wxVERSION_NUMBER < 2900)
+    int _function = function;
+#else
+    wxRasterOperationMode _function = (wxRasterOperationMode) function;
+#endif
+	self->SetLogicalFunction(_function);
+}
+	
+EWXWEXPORT(void,wxDC_CalcBoundingBox)(wxDC* self,int x,int y)
+{
+	self->CalcBoundingBox((wxCoord)x, (wxCoord)y);
+}
+	
+EWXWEXPORT(void,wxDC_ResetBoundingBox)(wxDC* self)
+{
+	self->ResetBoundingBox();
+}
+	
+EWXWEXPORT(wxCoord,wxDC_MinX)(wxDC* self)
+{
+	return self->MinX();
+}
+	
+EWXWEXPORT(wxCoord,wxDC_MaxX)(wxDC* self)
+{
+	return self->MaxX();
+}
+	
+EWXWEXPORT(wxCoord,wxDC_MinY)(wxDC* self)
+{
+	return self->MinY();
+}
+	
+EWXWEXPORT(wxCoord,wxDC_MaxY)(wxDC* self)
+{
+	return self->MaxY();
+}
+
+EWXWEXPORT(wxWindowDC*,wxWindowDC_Create)(wxWindow* win)
+{
+	return new wxWindowDC(win);
+}
+
+EWXWEXPORT(void,wxWindowDC_Delete)(wxWindowDC* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(wxClientDC*,wxClientDC_Create)(wxWindow* win)
+{
+	return new wxClientDC(win);
+}
+
+EWXWEXPORT(void,wxClientDC_Delete)(wxClientDC* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(wxPaintDC*,wxPaintDC_Create)(wxWindow* win)
+{
+	return new wxPaintDC(win);
+}
+
+EWXWEXPORT(void,wxPaintDC_Delete)(wxPaintDC* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(wxMemoryDC*,wxMemoryDC_Create)()
+{
+	return new wxMemoryDC();
+}
+
+EWXWEXPORT(wxMemoryDC*,wxMemoryDC_CreateCompatible)(wxDC* dc)
+{
+	return new wxMemoryDC(dc);
+}
+
+EWXWEXPORT(wxMemoryDC*,wxMemoryDC_CreateWithBitmap)(wxBitmap* bitmap)
+{
+	return new wxMemoryDC(*bitmap);
+}
+
+EWXWEXPORT(void,wxMemoryDC_Delete)(wxMemoryDC* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(void,wxMemoryDC_SelectObject)(wxMemoryDC* self,wxBitmap* bitmap)
+{
+	self->SelectObject(*bitmap);
+}
+
+EWXWEXPORT(wxMirrorDC*,wxMirrorDC_Create)(wxDC* dc,bool mirror)
+{
+	return new wxMirrorDC(*dc, mirror);
+}
+
+EWXWEXPORT(void,wxMirrorDC_Delete)(wxMirrorDC* self)
+{
+	if (self) delete self;
+}
+
+EWXWEXPORT(wxScreenDC*,wxScreenDC_Create)()
+{
+	return new wxScreenDC();
+}
+
+EWXWEXPORT(void,wxScreenDC_Delete)(wxScreenDC* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(bool,wxScreenDC_StartDrawingOnTopOfWin)(wxScreenDC* self,wxWindow* win)
+{
+	return self->StartDrawingOnTop(win);
+}
+	
+EWXWEXPORT(bool,wxScreenDC_StartDrawingOnTop)(wxScreenDC* self,int l,int t,int w,int h)
+{
+	wxRect rect(l, t, w, h);
+	return self->StartDrawingOnTop(&rect);
+}
+	
+EWXWEXPORT(bool,wxScreenDC_EndDrawingOnTop)(wxScreenDC* self)
+{
+	return self->EndDrawingOnTop();
+}
+
+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)
+{
+	return new wxBufferedDC(dc,*buffer, style);
+}
+
+EWXWEXPORT(void,wxBufferedDC_Delete)(wxBufferedDC* self)
+{
+	if (self) delete self;
+}
+
+EWXWEXPORT(wxBufferedPaintDC*,wxBufferedPaintDC_Create)(wxWindow* window,int style)
+{
+	return new wxBufferedPaintDC(window, style);
+}
+
+EWXWEXPORT(wxBufferedPaintDC*,wxBufferedPaintDC_CreateWithBitmap)(wxWindow* window,wxBitmap* buffer,int style)
+{
+	return new wxBufferedPaintDC(window,*buffer, style);
+}
+
+EWXWEXPORT(void,wxBufferedPaintDC_Delete)(wxBufferedPaintDC* self)
+{
+	if (self) delete self;
+}
+
+EWXWEXPORT(wxAutoBufferedPaintDC*,wxAutoBufferedPaintDC_Create)(wxWindow* window)
+{
+	return new wxAutoBufferedPaintDC(window);
+}
+
+EWXWEXPORT(void,wxAutoBufferedPaintDC_Delete)(wxAutoBufferedPaintDC* self)
+{
+	if (self) delete self;
+}
+
+EWXWEXPORT(void*,wxMetafileDC_Create)(wxString* _file)
+{
+#if defined(__WXGTK__)
+	return NULL;
+#else
+	wxString file;
+	
+	if (_file) file = (wxChar*)_file;
+
+	return (void*)new wxMetafileDC(file);
+#endif
+}
+
+EWXWEXPORT(void*, wxMetafileDC_Close) (void* self)
+{
+#if defined(__WXGTK__)
+	return NULL;
+#else
+	return (void*)((wxMetafileDC*)self)->Close();
+#endif
+}
+
+EWXWEXPORT(void, wxMetafileDC_Delete) (void* self)
+{
+#if !defined(__WXGTK__)
+	delete (wxMetafileDC*)self;
+#endif
+}
+
+EWXWEXPORT(void*,wxMetafile_Create)(wxString* _file)
+{
+#if defined(__WXGTK__)
+	return NULL;
+#else
+	wxString file;
+	
+	if (_file) file = (wxChar*)_file;
+
+	return (void*)new wxMetafile(file);
+#endif
+}
+
+EWXWEXPORT(bool,wxMetafile_SetClipboard)(void* self,int width,int height)
+{
+#if defined(__WXGTK__)
+	return false;
+#else
+	return ((wxMetafile*)self)->SetClipboard(width, height);
+#endif
+}
+	
+EWXWEXPORT(bool,wxMetafile_Play)(void* self,wxDC* _dc)
+{
+#if defined(__WXGTK__)
+	return false;
+#else
+	return ((wxMetafile*)self)->Play(_dc);
+#endif
+}
+	
+EWXWEXPORT(bool,wxMetafile_IsOk)(void* self)
+{
+#if defined(__WXGTK__)
+	return false;
+#else
+	return ((wxMetafile*)self)->IsOk();
+#endif
+}
+	
+EWXWEXPORT(void,wxMetafile_Delete)(void* self)
+{
+#if !defined(__WXGTK__)
+	delete (wxMetafile*)self;
+#endif
+}
+
+#if wxCHECK_VERSION (2,8,0)
+
+EWXWEXPORT(void,wxDC_DrawLabel)(wxDC* self,wxString* str,int x,int y,int w,int h,int align,int indexAccel)
+{
+  wxRect rect(x, y, w, h);
+  self->DrawLabel(*str, rect, align, indexAccel);
+}
+
+EWXWEXPORT(wxRect*,wxDC_DrawLabelBitmap)(wxDC* self,wxString* str,wxBitmap* bmp,int x,int y,int w,int h,int align,int indexAccel)
+{
+  wxRect rect(x, y, w, h);
+  wxRect* r = new wxRect();
+  self->DrawLabel(*str,*bmp, rect, align, indexAccel, r);
+  return r;
+}
+
+EWXWEXPORT(void,wxDC_DrawPolyPolygon)(wxDC* self,int n,int* count,void* x,void* y,int xoffset,int yoffset,int fillStyle)
+{
+#if (wxVERSION_NUMBER < 2900)
+    int _fillStyle = fillStyle;
+#else
+    wxPolygonFillMode _fillStyle = (wxPolygonFillMode) fillStyle;
+#endif
+    int     *tmp = count;
+    int     *cnt = new int[n];
+    int      i, j;
+    int      totalItems = 0;
+    int      item = 0;
+
+    // Work out the size of wxPoint array required
+    for (i = 0; i < n; i++)
+    {
+      cnt[i] = *tmp++;
+      totalItems += cnt[i];
+    }
+	wxPoint* lst = new wxPoint[totalItems];
+
+	for (i = 0; i < n; i++)
+    {
+      for(j = 0; j < cnt[i]; j++)
+      {
+		lst[item] = wxPoint(((intptr_t*)x)[item], ((intptr_t*)y)[item]);
+        item++;
+      }
+    }
+	
+	self->DrawPolyPolygon(n, cnt, lst, (wxCoord)xoffset, (wxCoord)yoffset, _fillStyle);
+	
+	free (lst);
+    delete cnt;
+}
+#endif
+}
+ src/cpp/eljdcsvg.cpp view
@@ -0,0 +1,51 @@+#include "wrapper.h"
+
+#if (wxVERSION_NUMBER < 2900)
+# ifdef wxUSE_SVG
+#  include "wx/svg/dcsvg.h"
+# endif
+#else
+# ifndef wxUSE_SVG
+#  define wxUSE_SVG 1
+# endif
+# include "wx/dcsvg.h"
+#endif
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxSVGFileDC_Create)(wxString* a_filename)
+{
+#ifdef wxUSE_SVG
+	return (void*) new wxSVGFileDC(*a_filename);
+#else
+	return NULL;
+#endif
+}
+
+EWXWEXPORT(void*,wxSVGFileDC_CreateWithSize)(wxString* a_filename,int a_width,int a_height)
+{
+#ifdef wxUSE_SVG
+	return (void*) new wxSVGFileDC(*a_filename, a_width, a_height);
+#else
+	return NULL;
+#endif
+}
+
+EWXWEXPORT(void*,wxSVGFileDC_CreateWithSizeAndResolution)(wxString* a_filename,int a_width,int a_height,float a_dpi)
+{
+#ifdef wxUSE_SVG
+	return (void*) new wxSVGFileDC(*a_filename, a_width, a_height, a_dpi);
+#else
+	return NULL;
+#endif
+}
+
+EWXWEXPORT(void,wxSVGFileDC_Delete)(void* _obj)
+{
+#ifdef wxUSE_SVG
+	delete (wxSVGFileDC*)_obj;
+#endif
+}
+
+}
+ src/cpp/eljdialog.cpp view
@@ -0,0 +1,43 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(wxDialog*,wxDialog_Create)(wxWindow* _prt,int _id,wxString* _txt,int _lft,int _top,int _wdt,int _hgt,int _stl)
+{
+	return new wxDialog (_prt, _id, *_txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+}
+
+EWXWEXPORT(bool,wxDialog_IsModal)(wxDialog* self)
+{
+	return self->IsModal();
+}
+	
+EWXWEXPORT(int,wxDialog_ShowModal)(wxDialog* self)
+{
+	return self->ShowModal();
+}
+	
+EWXWEXPORT(void,wxDialog_EndModal)(wxDialog* self,int retCode)
+{
+	self->EndModal(retCode);
+}
+	
+EWXWEXPORT(void,wxDialog_SetReturnCode)(wxDialog* self,int returnCode)
+{
+	self->SetReturnCode(returnCode);
+}
+	
+EWXWEXPORT(int,wxDialog_GetReturnCode)(wxDialog* self)
+{
+	return self->GetReturnCode();
+}
+	
+#if (wxVERSION_NUMBER >= 2400) && (wxVERSION_NUMBER < 2800)
+EWXWEXPORT(void,wxDialog_SetIcons)(wxDialog* self,wxIconBundle* _icons)
+{
+	self->SetIcons(*_icons);
+}
+#endif
+
+}
+ src/cpp/eljdirdlg.cpp view
@@ -0,0 +1,51 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxDirDialog_Create)(wxWindow* _prt,wxString* _msg,wxString* _dir, int _lft, int _top, int _stl)
+{
+	return (void*) new wxDirDialog (_prt, *_msg, * _dir, _stl, wxPoint(_lft, _top));
+}
+
+EWXWEXPORT(void,wxDirDialog_SetMessage)(void* _obj,wxString* msg)
+{
+	((wxDirDialog*)_obj)->SetMessage(*msg);
+}
+	
+EWXWEXPORT(void,wxDirDialog_SetPath)(void* _obj,wxString* pth)
+{
+	((wxDirDialog*)_obj)->SetPath(* pth);
+}
+	
+EWXWEXPORT(void,wxDirDialog_SetStyle)(void* _obj,int style)
+{
+#if WXWIN_COMPATIBILITY_2_6
+	((wxDirDialog*)_obj)->SetStyle((long)style);
+#endif
+}
+	
+EWXWEXPORT(wxString*,wxDirDialog_GetMessage)(void* _obj)
+{
+	wxString *result = new wxString();
+	*result = ((wxDirDialog*)_obj)->GetMessage();
+	return result;
+}
+	
+EWXWEXPORT(wxString*,wxDirDialog_GetPath)(void* _obj)
+{
+	wxString *result = new wxString();
+	*result = ((wxDirDialog*)_obj)->GetPath();
+	return result;
+}
+	
+EWXWEXPORT(int,wxDirDialog_GetStyle)(void* _obj)
+{
+#if WXWIN_COMPATIBILITY_2_6
+	return (int)((wxDirDialog*)_obj)->GetStyle();
+#else
+	return 0;
+#endif
+}
+	
+}
+ src/cpp/eljdnd.cpp view
@@ -0,0 +1,397 @@+#include "wrapper.h"
+
+wxDragResult ELJTextDropTarget::OnData(wxCoord x, wxCoord y, wxDragResult def)
+{
+	if (on_data_func)
+		return (wxDragResult) on_data_func(obj, (long)x, (long)y, (int) def);
+	else
+		return wxTextDropTarget::OnData(x, y, def);
+}
+
+bool ELJTextDropTarget::OnDrop(wxCoord x, wxCoord y)
+{
+	if (on_drop_func)
+		return (bool) on_drop_func(obj, (long)x, (long)y);
+	else
+		return wxTextDropTarget::OnDrop(x, y);
+}
+
+wxDragResult ELJTextDropTarget::OnEnter(wxCoord x, wxCoord y, wxDragResult def)
+{
+	if (on_enter_func)
+		return (wxDragResult) on_enter_func(obj, (long)x, (long)y, (int) def);
+	else
+		return wxTextDropTarget::OnEnter(x, y, def);
+}
+
+wxDragResult ELJTextDropTarget::OnDragOver(wxCoord x, wxCoord y, wxDragResult def)
+{
+	if (on_drag_func)
+		return (wxDragResult) on_drag_func(obj, (long)x, (long)y, (int) def);
+	else
+		return wxTextDropTarget::OnDragOver(x, y, def);
+}
+
+void ELJTextDropTarget::OnLeave()
+{
+	if (on_leave_func)
+		on_leave_func(obj);
+	else
+		wxTextDropTarget::OnLeave();
+}
+
+wxDragResult ELJFileDropTarget::OnData(wxCoord x, wxCoord y, wxDragResult def)
+{
+	if (on_data_func)
+		return (wxDragResult) on_data_func(obj, (long)x, (long)y, (int) def);
+	else
+		return wxFileDropTarget::OnData(x, y, def);
+}
+
+bool ELJFileDropTarget::OnDrop(wxCoord x, wxCoord y)
+{
+	if (on_drop_func)
+		return (bool) on_drop_func(obj, (long)x, (long)y);
+	else
+		return wxFileDropTarget::OnDrop(x, y);
+}
+
+wxDragResult ELJFileDropTarget::OnEnter(wxCoord x, wxCoord y, wxDragResult def)
+{
+	if (on_enter_func)
+		return (wxDragResult) on_enter_func(obj, (long)x, (long)y, (int) def);
+	else
+		return wxFileDropTarget::OnEnter(x, y, def);
+}
+
+wxDragResult ELJFileDropTarget::OnDragOver(wxCoord x, wxCoord y, wxDragResult def)
+{
+	if (on_drag_func)
+		return (wxDragResult) on_drag_func(obj, (long)x, (long)y, (int) def);
+	else
+		return wxFileDropTarget::OnDragOver(x, y, def);
+}
+
+void ELJFileDropTarget::OnLeave()
+{
+	if (on_leave_func)
+		on_leave_func(obj);
+	else
+		wxFileDropTarget::OnLeave();
+}
+
+wxDragResult ELJDropTarget::OnData(wxCoord x, wxCoord y, wxDragResult def)
+{
+	if (on_data_func)
+		return (wxDragResult) on_data_func(obj, (long)x, (long)y, (int) def);
+	else
+	{
+		GetData();
+		return def;
+	}
+}
+
+bool ELJDropTarget::OnDrop(wxCoord x, wxCoord y)
+{
+	if (on_drop_func)
+		return (bool) on_drop_func(obj, (long)x, (long)y);
+	else
+		return wxDropTarget::OnDrop(x, y);
+}
+
+wxDragResult ELJDropTarget::OnEnter(wxCoord x, wxCoord y, wxDragResult def)
+{
+	if (on_enter_func)
+		return (wxDragResult) on_enter_func(obj, (long)x, (long)y, (int) def);
+	else
+		return wxDropTarget::OnEnter(x, y, def);
+}
+
+wxDragResult ELJDropTarget::OnDragOver(wxCoord x, wxCoord y, wxDragResult def)
+{
+	if (on_drag_func)
+		return (wxDragResult) on_drag_func(obj, (long)x, (long)y, (int) def);
+	else
+		return wxDropTarget::OnDragOver(x, y, def);
+}
+
+void ELJDropTarget::OnLeave()
+{
+	if (on_leave_func)
+		on_leave_func(obj);
+	else
+		wxDropTarget::OnLeave();
+}
+
+bool ELJFileDropTarget::OnDropFiles(wxCoord x, wxCoord y, const wxArrayString& filenames)
+{
+	bool result = false;
+	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();
+	
+	result = func(obj, (long)x, (long)y, (void*)arr, (int)filenames.GetCount()) != 0;
+	free(arr);
+	
+	return result;
+}
+
+bool ELJTextDropTarget::OnDropText(wxCoord x, wxCoord y, const wxString& text)
+{
+  return func(obj, (long)x, (long)y, (void*)text.wchar_str()) != 0;
+}
+
+extern "C"
+{
+
+EWXWEXPORT(void*,ELJFileDropTarget_Create)(void* self,void* _func)
+{
+	return (void*)new ELJFileDropTarget(self, (FileDropFunc)_func);
+}
+
+EWXWEXPORT(void,ELJFileDropTarget_Delete)(ELJFileDropTarget* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(void*,ELJTextDropTarget_Create)(void* self,void* _func)
+{
+	return (void*)new ELJTextDropTarget(self, (TextDropFunc)_func);
+}
+
+EWXWEXPORT(void,ELJTextDropTarget_Delete)(ELJTextDropTarget* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(void*,TextDataObject_Create)(wxString* _txt)
+{
+	return (void*)new wxTextDataObject(*_txt);
+}
+
+EWXWEXPORT(void,TextDataObject_Delete)(void* self)
+{
+	delete (wxTextDataObject*)self;
+}
+
+EWXWEXPORT(size_t,TextDataObject_GetTextLength)(void* self)
+{
+	return ((wxTextDataObject*)self)->GetTextLength();
+}
+
+EWXWEXPORT(wxString*,TextDataObject_GetText)(void* self)
+{
+	wxString *result = new wxString();
+	*result = ((wxTextDataObject*)self)->GetText();
+	return result;
+}
+
+EWXWEXPORT(void,TextDataObject_SetText)(void* _obj,wxString* strText)
+{
+	((wxTextDataObject*)_obj)->SetText(*strText);
+}
+
+EWXWEXPORT(void*,FileDataObject_Create)(int _cnt,void* _lst)
+{
+	wxFileDataObject* result = new wxFileDataObject();
+	if (_cnt)
+	{
+		for (int i = 0; i < _cnt; i++)
+			result->AddFile(((wxChar**)_lst)[i]);
+	}
+	return (void*)result;
+}
+
+EWXWEXPORT(void,FileDataObject_Delete)(void* self)
+{
+	delete (wxFileDataObject*)self;
+}
+
+EWXWEXPORT(void,FileDataObject_AddFile)(void* self,wxString* _fle)
+{
+	((wxFileDataObject*)self)->AddFile(*_fle);
+}
+
+EWXWEXPORT(int,FileDataObject_GetFilenames)(void* self,void* _lst)
+{
+	wxArrayString arr = ((wxFileDataObject*)self)->GetFilenames();
+	if (_lst)
+	{
+		for (unsigned int i = 0; i < arr.GetCount(); i++)
+			((const wxChar**)_lst)[i] = wxStrdup (arr.Item(i).wchar_str());
+	}
+	return arr.GetCount();
+}
+
+
+EWXWEXPORT(void*,BitmapDataObject_Create)(wxBitmap* _bmp)
+{
+	return (void*)new wxBitmapDataObject(*_bmp);
+}
+
+EWXWEXPORT(void*,BitmapDataObject_CreateEmpty)()
+{
+	return (void*)new wxBitmapDataObject();
+}
+
+EWXWEXPORT(void,BitmapDataObject_Delete)(void* self)
+{
+	delete (wxBitmapDataObject*)self;
+}
+
+EWXWEXPORT(void,BitmapDataObject_SetBitmap)(void* self,wxBitmap* _bmp)
+{
+	((wxBitmapDataObject*)self)->SetBitmap (*_bmp);
+}
+
+EWXWEXPORT(void,BitmapDataObject_GetBitmap)(void* self,wxBitmap* _bmp)
+{
+	*_bmp = ((wxBitmapDataObject*)self)->GetBitmap ();
+}
+
+
+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, win,*((wxCursor*)copy),*((wxCursor*)move),*((wxCursor*)none));
+#else
+	return (void*)new wxDropSource(*data, win,*((wxIcon*)copy),*((wxIcon*)move),*((wxIcon*)none));
+#endif
+}
+
+EWXWEXPORT(void,DropSource_Delete)(void* self)
+{
+	delete (wxDropSource*)self;
+}
+
+EWXWEXPORT(int,DropSource_DoDragDrop)(void* self,bool _move)
+{
+	return (int)((wxDropSource*)self)->DoDragDrop(_move);
+}
+
+EWXWEXPORT(void*,ELJDropTarget_Create)(void* self)
+{
+	return (void*)new ELJDropTarget(self);
+}
+
+EWXWEXPORT(void,ELJDropTarget_Delete)(void* self)
+{
+	delete (ELJDropTarget*)self;
+}
+
+EWXWEXPORT(void,ELJFileDropTarget_SetOnData)(void* self,void* _func)
+{
+	((ELJFileDropTarget*)self)->SetOnData((DragThreeFunc)_func);
+}
+
+EWXWEXPORT(void,ELJFileDropTarget_SetOnDrop)(void* self,void* _func)
+{
+	((ELJFileDropTarget*)self)->SetOnDrop((DragTwoFunc)_func);
+}
+
+EWXWEXPORT(void,ELJFileDropTarget_SetOnEnter)(void* self,void* _func)
+{
+	((ELJFileDropTarget*)self)->SetOnEnter((DragThreeFunc)_func);
+}
+
+EWXWEXPORT(void,ELJFileDropTarget_SetOnDragOver)(void* self,void* _func)
+{
+	((ELJFileDropTarget*)self)->SetOnDragOver((DragThreeFunc)_func);
+}
+
+EWXWEXPORT(void,ELJFileDropTarget_SetOnLeave)(void* self,void* _func)
+{
+	((ELJFileDropTarget*)self)->SetOnLeave((DragZeroFunc)_func);
+}
+
+EWXWEXPORT(void,ELJTextDropTarget_SetOnData)(void* self,void* _func)
+{
+	((ELJTextDropTarget*)self)->SetOnData((DragThreeFunc)_func);
+}
+
+EWXWEXPORT(void,ELJTextDropTarget_SetOnDrop)(void* self,void* _func)
+{
+	((ELJTextDropTarget*)self)->SetOnDrop((DragTwoFunc)_func);
+}
+
+EWXWEXPORT(void,ELJTextDropTarget_SetOnEnter)(void* self,void* _func)
+{
+	((ELJTextDropTarget*)self)->SetOnEnter((DragThreeFunc)_func);
+}
+
+EWXWEXPORT(void,ELJTextDropTarget_SetOnDragOver)(void* self,void* _func)
+{
+	((ELJTextDropTarget*)self)->SetOnDragOver((DragThreeFunc)_func);
+}
+
+EWXWEXPORT(void,ELJTextDropTarget_SetOnLeave)(void* self,void* _func)
+{
+	((ELJTextDropTarget*)self)->SetOnLeave((DragZeroFunc)_func);
+}
+
+EWXWEXPORT(void,ELJDropTarget_SetOnData)(void* self,void* _func)
+{
+	((ELJDropTarget*)self)->SetOnData((DragThreeFunc)_func);
+}
+
+EWXWEXPORT(void,ELJDropTarget_SetOnDrop)(void* self,void* _func)
+{
+	((ELJDropTarget*)self)->SetOnDrop((DragTwoFunc)_func);
+}
+
+EWXWEXPORT(void,ELJDropTarget_SetOnEnter)(void* self,void* _func)
+{
+	((ELJDropTarget*)self)->SetOnEnter((DragThreeFunc)_func);
+}
+
+EWXWEXPORT(void,ELJDropTarget_SetOnDragOver)(void* self,void* _func)
+{
+	((ELJDropTarget*)self)->SetOnDragOver((DragThreeFunc)_func);
+}
+
+EWXWEXPORT(void,ELJDropTarget_SetOnLeave)(void* self,void* _func)
+{
+	((ELJDropTarget*)self)->SetOnLeave((DragZeroFunc)_func);
+}
+
+EWXWEXPORT(void,wxDropTarget_GetData)(void* self)
+{
+	((wxDropTarget*)self)->GetData();
+}
+
+EWXWEXPORT(void,wxDropTarget_SetDataObject)(void* self,void* _dat)
+{
+	((wxDropTarget*)self)->SetDataObject((wxDataObject*)_dat);
+}
+
+EWXWEXPORT(void*,ELJDragDataObject_Create)(void* self,wxString* _fmt,void* _func1,void* _func2,void* _func3)
+{
+#if (wxVERSION_NUMBER < 2900)
+	return (void*)new ELJDragDataObject(self, const_cast<wxChar*>(_fmt->c_str()), (DataGetDataSize)_func1, (DataGetDataHere)_func2, (DataSetData)_func3);
+#else
+	return (void*)new ELJDragDataObject(self, *(_fmt), (DataGetDataSize)_func1, (DataGetDataHere)_func2, (DataSetData)_func3);
+#endif
+}
+
+EWXWEXPORT(void,ELJDragDataObject_Delete)(void* self)
+{
+	delete (ELJDragDataObject*)self;
+}
+
+EWXWEXPORT(void*,wxDataObjectComposite_Create)()
+{
+	return (void*)new wxDataObjectComposite();
+}
+
+EWXWEXPORT(void,wxDataObjectComposite_Delete)(void* self)
+{
+	delete (wxDataObjectComposite*)self;
+}
+
+EWXWEXPORT(void,wxDataObjectComposite_Add)(void* self,void* _dat,bool _preferred)
+{
+	((wxDataObjectComposite*)self)->Add((wxDataObjectSimple*)_dat, _preferred);
+}
+
+}
+ src/cpp/eljdrawing.cpp view
@@ -0,0 +1,16 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*, wxDrawWindow_Create) (void* _prt, int _id, int _lft, int _top, int _wdt, int _hgt, int _stl)
+{
+	return (void*) new wxWindow ((wxWindow*)_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+}
+
+EWXWEXPORT(void*, wxDrawControl_Create) (void* _prt, int _id, int _lft, int _top, int _wdt, int _hgt, int _stl)
+{
+	return (void*) new wxControl ((wxWindow*)_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+}
+
+}
+ src/cpp/eljevent.cpp view
@@ -0,0 +1,1886 @@+#include "wrapper.h"+#include "wx/process.h"+#include "wx/dialup.h"++#include "wx/power.h"++#if defined(wxUSE_TAB_DIALOG) && (wxUSE_TAB_DIALOG==0)+# undef wxUSE_TAB_DIALOG+#endif++#ifdef USE_CONTRIB+#include "wx/plot/plot.h"+#include "wx/gizmos/dynamicsash.h"+#endif++////////////////////////////////////////////////////////////////////////////////+// Included as we need event wrappers. All have guards in the headers+// so don't repeat them here...+////////////////////////////////////////////////////////////////////////////////+#include "wx/aui/aui.h"+#include "wx/choicebk.h"+#include "wx/clrpicker.h"+#include "wx/collpane.h"+#include "wx/dataview.h"+#include "wx/fdrepdlg.h"+#include "wx/filectrl.h"+#include "wx/filepicker.h"+#include "wx/fontpicker.h"+#include "wx/fswatcher.h"+#include "wx/headerctrl.h"+#include "wx/hyperlink.h"+#include "wx/listbook.h"+#include "wx/mediactrl.h"+#include "wx/propgrid/propgrid.h"+#include "wx/ribbon/bar.h"+#include "wx/ribbon/buttonbar.h"+#include "wx/ribbon/gallery.h"+#include "wx/ribbon/toolbar.h"+#include "wx/richtext/richtextctrl.h"+#include "wx/srchctrl.h"+#include "wx/stc/stc.h"+#include "wx/taskbar.h"+#include "wx/textctrl.h"+#include "wx/tglbtn.h"+#include "wx/toolbook.h"+#include "wx/treebook.h"++extern "C"+{++EWXWEXPORT(wxCommandEvent*,wxCommandEvent_Create)(int _typ,int _id)+{+        return new wxCommandEvent((wxEventType)_typ, _id);+}++EWXWEXPORT(void,wxCommandEvent_Delete)(wxCommandEvent* self)+{+        delete self;+}++EWXWEXPORT(int,wxEvent_GetTimestamp)(wxEvent* self)+{+        return self->GetTimestamp();+}++EWXWEXPORT(void,wxEvent_Skip)(wxEvent* self)+{+        self->Skip();+}++EWXWEXPORT(int,wxEvent_GetEventType)(wxEvent* self)+{+        return (int)self->GetEventType();+}++EWXWEXPORT(void,wxEvent_SetEventType)(wxEvent* self,int typ)+{+        self->SetEventType((wxEventType) typ);+}++EWXWEXPORT(void*,wxEvent_GetEventObject)(wxEvent* self)+{+        return (void*)self->GetEventObject();+}++EWXWEXPORT(void,wxEvent_SetEventObject)(wxEvent* self,wxObject* obj)+{+        self->SetEventObject(obj);+}++EWXWEXPORT(void,wxEvent_SetTimestamp)(wxEvent* self,int ts)+{+        self->SetTimestamp((long)ts);+}++EWXWEXPORT(int,wxEvent_GetId)(wxEvent* self)+{+        return self->GetId();+}++EWXWEXPORT(void,wxEvent_SetId)(wxEvent* self,int Id)+{+        self->SetId(Id);+}++EWXWEXPORT(bool,wxEvent_GetSkipped)(wxEvent* self)+{+        return self->GetSkipped();+}++EWXWEXPORT(bool,wxEvent_IsCommandEvent)(wxEvent* self)+{+        return self->IsCommandEvent();+}++EWXWEXPORT(void,wxEvent_CopyObject)(wxEvent* self,wxObject* object_dest)+{+#if wxVERSION_NUMBER < 2400+        self->CopyObject(*object_dest);+#endif+}++EWXWEXPORT(void,wxEvent_SetCallbackUserData)(wxEvent* self,wxObject* obj)+{+        self->m_callbackUserData = obj;+}++EWXWEXPORT(void*,wxEvent_GetCallbackUserData)(wxEvent* self)+{+        return (void*)self->m_callbackUserData;+}++EWXWEXPORT(void,wxCommandEvent_SetClientData)(wxCommandEvent* self,void* clientData)+{+        self->SetClientData(clientData);+}++EWXWEXPORT(void*,wxCommandEvent_GetClientData)(wxCommandEvent* self)+{+        return self->GetClientData();+}++EWXWEXPORT(void,wxCommandEvent_SetClientObject)(wxCommandEvent* self,void* clientObject)+{+        self->SetClientObject((wxClientData*)clientObject);+}++EWXWEXPORT(void*,wxCommandEvent_GetClientObject)(wxCommandEvent* self)+{+        return (void*)self->GetClientObject();+}++EWXWEXPORT(int,wxCommandEvent_GetSelection)(wxCommandEvent* self)+{+        return self->GetSelection();+}++EWXWEXPORT(void,wxCommandEvent_SetString)(wxCommandEvent* self,wxString* s)+{+        self->SetString(*s);+}++EWXWEXPORT(wxString*,wxCommandEvent_GetString)(wxCommandEvent* self)+{+        wxString *result = new wxString();+        *result = self->GetString();+        return result;+}++EWXWEXPORT(bool,wxCommandEvent_IsChecked)(wxCommandEvent* self)+{+        return self->IsChecked();+}++EWXWEXPORT(bool,wxCommandEvent_IsSelection)(wxCommandEvent* self)+{+        return self->IsSelection();+}++EWXWEXPORT(void,wxCommandEvent_SetExtraLong)(wxCommandEvent* self,long extraLong)+{+        self->SetExtraLong(extraLong);+}++EWXWEXPORT(long,wxCommandEvent_GetExtraLong)(wxCommandEvent* self)+{+        return self->GetExtraLong();+}++EWXWEXPORT(void,wxCommandEvent_SetInt)(wxCommandEvent* self,int i)+{+        self->SetInt(i);+}++EWXWEXPORT(long,wxCommandEvent_GetInt)(wxCommandEvent* self)+{+        return self->GetInt();+}++EWXWEXPORT(void,wxCommandEvent_CopyObject)(wxCommandEvent* self,wxObject* object_dest)+{+#if wxVERSION_NUMBER < 2400+        self->CopyObject(*object_dest);+#endif+}++EWXWEXPORT(void,wxNotifyEvent_Veto)(wxNotifyEvent* self)+{+        self->Veto();+}++EWXWEXPORT(void,wxNotifyEvent_Allow)(wxNotifyEvent* self)+{+        self->Allow();+}++EWXWEXPORT(bool,wxNotifyEvent_IsAllowed)(wxNotifyEvent* self)+{+        return self->IsAllowed();+}++EWXWEXPORT(void,wxNotifyEvent_CopyObject)(wxNotifyEvent* self,wxObject* object_dest)+{+#if wxVERSION_NUMBER < 2400+        self->CopyObject(*object_dest);+#endif+}++EWXWEXPORT(int,wxScrollWinEvent_GetOrientation)(wxScrollWinEvent* self)+{+        return self->GetOrientation();+}++EWXWEXPORT(int,wxScrollWinEvent_GetPosition)(wxScrollWinEvent* self)+{+        return self->GetPosition();+}++EWXWEXPORT(void,wxScrollWinEvent_SetOrientation)(wxScrollWinEvent* self,int orient)+{+        self->SetOrientation(orient);+}++EWXWEXPORT(void,wxScrollWinEvent_SetPosition)(wxScrollWinEvent* self,int pos)+{+        self->SetPosition(pos);+}++EWXWEXPORT(bool,wxMouseEvent_IsButton)(wxMouseEvent* self)+{+        return self->IsButton();+}++EWXWEXPORT(bool,wxMouseEvent_ButtonDown)(wxMouseEvent* self,int but)+{+#if (wxVERSION_NUMBER < 2900)+        int _but = but;+#else+        wxMouseButton _but = (wxMouseButton) but;+#endif+        return self->ButtonDown(_but);+}++EWXWEXPORT(bool,wxMouseEvent_ButtonDClick)(wxMouseEvent* self,int but)+{+#if (wxVERSION_NUMBER < 2900)+        int _but = but;+#else+        wxMouseButton _but = (wxMouseButton) but;+#endif+        return self->ButtonDClick(_but);+}++EWXWEXPORT(bool,wxMouseEvent_ButtonUp)(wxMouseEvent* self,int but)+{+#if (wxVERSION_NUMBER < 2900)+        int _but = but;+#else+        wxMouseButton _but = (wxMouseButton) but;+#endif+        return self->ButtonUp(_but);+}++EWXWEXPORT(bool,wxMouseEvent_Button)(wxMouseEvent* self,int but)+{+#if (wxVERSION_NUMBER < 2900)+        int _but = but;+#else+        wxMouseButton _but = (wxMouseButton) but;+#endif+        return self->Button(_but);+}++EWXWEXPORT(bool,wxMouseEvent_ButtonIsDown)(wxMouseEvent* self,int but)+{+#if (wxVERSION_NUMBER < 2900)+        int _but = but;+#else+        wxMouseButton _but = (wxMouseButton) but;+#endif+        return self->ButtonIsDown(_but);+}++EWXWEXPORT(bool,wxMouseEvent_ControlDown)(wxMouseEvent* self)+{+        return self->ControlDown();+}++EWXWEXPORT(bool,wxMouseEvent_MetaDown)(wxMouseEvent* self)+{+        return self->MetaDown();+}++EWXWEXPORT(bool,wxMouseEvent_AltDown)(wxMouseEvent* self)+{+        return self->AltDown();+}++EWXWEXPORT(bool,wxMouseEvent_ShiftDown)(wxMouseEvent* self)+{+        return self->ShiftDown();+}++EWXWEXPORT(bool,wxMouseEvent_LeftDown)(wxMouseEvent* self)+{+        return self->LeftDown();+}++EWXWEXPORT(bool,wxMouseEvent_MiddleDown)(wxMouseEvent* self)+{+        return self->MiddleDown();+}++EWXWEXPORT(bool,wxMouseEvent_RightDown)(wxMouseEvent* self)+{+        return self->RightDown();+}++EWXWEXPORT(bool,wxMouseEvent_LeftUp)(wxMouseEvent* self)+{+        return self->LeftUp();+}++EWXWEXPORT(bool,wxMouseEvent_MiddleUp)(wxMouseEvent* self)+{+        return self->MiddleUp();+}++EWXWEXPORT(bool,wxMouseEvent_RightUp)(wxMouseEvent* self)+{+        return self->RightUp();+}++EWXWEXPORT(bool,wxMouseEvent_LeftDClick)(wxMouseEvent* self)+{+        return self->LeftDClick();+}++EWXWEXPORT(bool,wxMouseEvent_MiddleDClick)(wxMouseEvent* self)+{+        return self->MiddleDClick();+}++EWXWEXPORT(bool,wxMouseEvent_RightDClick)(wxMouseEvent* self)+{+        return self->RightDClick();+}++EWXWEXPORT(bool,wxMouseEvent_LeftIsDown)(wxMouseEvent* self)+{+        return self->LeftIsDown();+}++EWXWEXPORT(bool,wxMouseEvent_MiddleIsDown)(wxMouseEvent* self)+{+        return self->MiddleIsDown();+}++EWXWEXPORT(bool,wxMouseEvent_RightIsDown)(wxMouseEvent* self)+{+        return self->RightIsDown();+}++EWXWEXPORT(bool,wxMouseEvent_Dragging)(wxMouseEvent* self)+{+        return self->Dragging();+}++EWXWEXPORT(bool,wxMouseEvent_Moving)(wxMouseEvent* self)+{+        return self->Moving();+}++EWXWEXPORT(bool,wxMouseEvent_Entering)(wxMouseEvent* self)+{+        return self->Entering();+}++EWXWEXPORT(bool,wxMouseEvent_Leaving)(wxMouseEvent* self)+{+        return self->Leaving();+}++EWXWEXPORT(wxPoint*,wxMouseEvent_GetPosition)(wxMouseEvent* self)+{+	wxPoint* pt = new wxPoint();+	*pt = self->GetPosition();+	return pt;+}++EWXWEXPORT(wxPoint*,wxMouseEvent_GetLogicalPosition)(wxMouseEvent* self,wxDC* dc)+{+	wxPoint* pt = new wxPoint();+	*pt = self->GetLogicalPosition(*dc);+	return pt;+}++EWXWEXPORT(int,wxMouseEvent_GetX)(wxMouseEvent* self)+{+        return self->GetX();+}++EWXWEXPORT(int,wxMouseEvent_GetY)(wxMouseEvent* self)+{+        return self->GetY();+}++EWXWEXPORT(void,wxMouseEvent_CopyObject)(wxMouseEvent* self,wxObject* object_dest)+{+#if wxVERSION_NUMBER < 2400+        self->CopyObject(*object_dest);+#endif+}++EWXWEXPORT(wxCoord,wxSetCursorEvent_GetX)(wxSetCursorEvent* self)+{+        return self->GetX();+}++EWXWEXPORT(wxCoord,wxSetCursorEvent_GetY)(wxSetCursorEvent* self)+{+        return self->GetY();+}++EWXWEXPORT(void,wxSetCursorEvent_SetCursor)(wxSetCursorEvent* self,wxCursor* cursor)+{+        self->SetCursor(*cursor);+}++EWXWEXPORT(wxCursor*,wxSetCursorEvent_GetCursor)(wxSetCursorEvent* self)+{+        wxCursor* cur = new wxCursor;+        *cur = self->GetCursor();+        return cur;+}++EWXWEXPORT(bool,wxSetCursorEvent_HasCursor)(wxSetCursorEvent* self)+{+        return self->HasCursor();+}++EWXWEXPORT(bool,wxKeyEvent_ControlDown)(wxKeyEvent* self)+{+        return self->ControlDown();+}++EWXWEXPORT(bool,wxKeyEvent_MetaDown)(wxKeyEvent* self)+{+        return self->MetaDown();+}++EWXWEXPORT(bool,wxKeyEvent_AltDown)(wxKeyEvent* self)+{+        return self->AltDown();+}++EWXWEXPORT(bool,wxKeyEvent_ShiftDown)(wxKeyEvent* self)+{+        return self->ShiftDown();+}++EWXWEXPORT(bool,wxKeyEvent_HasModifiers)(wxKeyEvent* self)+{+        return self->HasModifiers();+}++EWXWEXPORT(int,wxKeyEvent_GetKeyCode)(wxKeyEvent* self)+{+        return self->GetKeyCode();+}++EWXWEXPORT(int,wxKeyEvent_GetModifiers)(wxKeyEvent* self)+{+        return self->GetModifiers();+}++EWXWEXPORT(void,wxKeyEvent_SetKeyCode)(wxKeyEvent* self,int code)+{+        self->m_keyCode = code;+}++EWXWEXPORT(wxPoint*,wxKeyEvent_GetPosition)(wxKeyEvent* self)+{+	wxPoint* pt = new wxPoint();+	*pt = self->GetPosition();+	return pt;+}++EWXWEXPORT(wxCoord,wxKeyEvent_GetX)(wxKeyEvent* self)+{+        return self->GetX();+}++EWXWEXPORT(wxCoord,wxKeyEvent_GetY)(wxKeyEvent* self)+{+        return self->GetY();+}++EWXWEXPORT(void,wxKeyEvent_CopyObject)(wxKeyEvent* self,wxObject* obj)+{+#if wxVERSION_NUMBER < 2400+        self->CopyObject(*obj);+#endif+}++EWXWEXPORT(wxSize*,wxSizeEvent_GetSize)(wxSizeEvent* self)+{+	wxSize* s = new wxSize();+	*s = self->GetSize();+	return s;+}++EWXWEXPORT(void,wxSizeEvent_CopyObject)(wxSizeEvent* self,wxObject* obj)+{+#if wxVERSION_NUMBER < 2400+        self->CopyObject(*obj);+#endif+}++EWXWEXPORT(wxPoint*,wxMoveEvent_GetPosition)(wxMoveEvent* self)+{+	wxPoint* pt = new wxPoint();+	*pt = self->GetPosition();+	return pt;+}++EWXWEXPORT(void,wxMoveEvent_CopyObject)(wxMoveEvent* self,wxObject* obj)+{+#if wxVERSION_NUMBER < 2400+        self->CopyObject(*obj);+#endif+}++EWXWEXPORT(wxDC*,wxEraseEvent_GetDC)(wxEraseEvent* self)+{+        return self->GetDC();+}++EWXWEXPORT(void,wxEraseEvent_CopyObject)(wxEraseEvent* self,wxObject* obj)+{+#if wxVERSION_NUMBER < 2400+        self->CopyObject(*obj);+#endif+}++EWXWEXPORT(bool,wxActivateEvent_GetActive)(wxActivateEvent* self)+{+        return self->GetActive();+}++EWXWEXPORT(void,wxActivateEvent_CopyObject)(wxActivateEvent* self,wxObject* obj)+{+#if wxVERSION_NUMBER < 2400+        self->CopyObject(*obj);+#endif+}++EWXWEXPORT(int,wxMenuEvent_GetMenuId)(wxMenuEvent* self)+{+        return self->GetMenuId();+}++EWXWEXPORT(void,wxMenuEvent_CopyObject)(wxMenuEvent* self,wxObject* obj)+{+#if wxVERSION_NUMBER < 2400+        self->CopyObject(*obj);+#endif+}++EWXWEXPORT(void,wxCloseEvent_SetLoggingOff)(wxCloseEvent* self,bool logOff)+{+        self->SetLoggingOff(logOff);+}++EWXWEXPORT(bool,wxCloseEvent_GetLoggingOff)(wxCloseEvent* self)+{+        return self->GetLoggingOff();+}++EWXWEXPORT(void,wxCloseEvent_Veto)(wxCloseEvent* self,bool veto)+{+        self->Veto(veto);+}++EWXWEXPORT(void,wxCloseEvent_SetCanVeto)(wxCloseEvent* self,bool canVeto)+{+        self->SetCanVeto(canVeto);+}++EWXWEXPORT(bool,wxCloseEvent_CanVeto)(wxCloseEvent* self)+{+        return self->CanVeto();+}++EWXWEXPORT(bool,wxCloseEvent_GetVeto)(wxCloseEvent* self)+{+        return self->GetVeto();+}++EWXWEXPORT(void,wxCloseEvent_CopyObject)(wxCloseEvent* self,wxObject* obj)+{+#if wxVERSION_NUMBER < 2400+        self->CopyObject(*obj);+#endif+}++EWXWEXPORT(void,wxShowEvent_SetShow)(wxShowEvent* self,bool show)+{+        self->SetShow(show);+}++EWXWEXPORT(bool,wxShowEvent_IsShown)(wxShowEvent* self)+{+#if (wxVERSION_NUMBER < 2900)+        return self->GetShow();+#else+        return self->IsShown();+#endif+}++EWXWEXPORT(void,wxShowEvent_CopyObject)(wxShowEvent* self,wxObject* obj)+{+#if wxVERSION_NUMBER < 2400+        self->CopyObject(*obj);+#endif+}++EWXWEXPORT(wxPoint*,wxJoystickEvent_GetPosition)(wxJoystickEvent* self)+{+	wxPoint* pt = new wxPoint();+	*pt = self->GetPosition();+	return pt;+}++EWXWEXPORT(int,wxJoystickEvent_GetZPosition)(wxJoystickEvent* self)+{+        return self->GetZPosition();+}++EWXWEXPORT(int,wxJoystickEvent_GetButtonState)(wxJoystickEvent* self)+{+        return self->GetButtonState();+}++EWXWEXPORT(int,wxJoystickEvent_GetButtonChange)(wxJoystickEvent* self)+{+        return self->GetButtonChange();+}++EWXWEXPORT(int,wxJoystickEvent_GetJoystick)(wxJoystickEvent* self)+{+        return self->GetJoystick();+}++EWXWEXPORT(void,wxJoystickEvent_SetJoystick)(wxJoystickEvent* self,int stick)+{+        self->SetJoystick(stick);+}++EWXWEXPORT(void,wxJoystickEvent_SetButtonState)(wxJoystickEvent* self,int state)+{+        self->SetButtonState(state);+}++EWXWEXPORT(void,wxJoystickEvent_SetButtonChange)(wxJoystickEvent* self,int change)+{+        self->SetButtonChange(change);+}++EWXWEXPORT(void,wxJoystickEvent_SetPosition)(wxJoystickEvent* self,int x,int y)+{+	wxPoint pos(x,y);+	self->SetPosition(pos);+}++EWXWEXPORT(void,wxJoystickEvent_SetZPosition)(wxJoystickEvent* self,int zPos)+{+        self->SetZPosition(zPos);+}++EWXWEXPORT(bool,wxJoystickEvent_IsButton)(wxJoystickEvent* self)+{+        return self->IsButton();+}++EWXWEXPORT(bool,wxJoystickEvent_IsMove)(wxJoystickEvent* self)+{+        return self->IsMove();+}++EWXWEXPORT(bool,wxJoystickEvent_IsZMove)(wxJoystickEvent* self)+{+        return self->IsZMove();+}++EWXWEXPORT(bool,wxJoystickEvent_ButtonDown)(wxJoystickEvent* self,int but)+{+        return self->ButtonDown(but);+}++EWXWEXPORT(bool,wxJoystickEvent_ButtonUp)(wxJoystickEvent* self,int but)+{+        return self->ButtonUp(but);+}++EWXWEXPORT(bool,wxJoystickEvent_ButtonIsDown)(wxJoystickEvent* self,int but)+{+        return self->ButtonIsDown(but);+}++EWXWEXPORT(void,wxJoystickEvent_CopyObject)(wxJoystickEvent* self,wxObject* obj)+{+#if wxVERSION_NUMBER < 2400+        self->CopyObject(*obj);+#endif+}++EWXWEXPORT(bool,wxUpdateUIEvent_GetChecked)(wxUpdateUIEvent* self)+{+        return self->GetChecked();+}++EWXWEXPORT(bool,wxUpdateUIEvent_GetEnabled)(wxUpdateUIEvent* self)+{+        return self->GetEnabled();+}++EWXWEXPORT(wxString*,wxUpdateUIEvent_GetText)(wxUpdateUIEvent* self)+{+        wxString *result = new wxString();+        *result = self->GetText();+        return result;+}++EWXWEXPORT(bool,wxUpdateUIEvent_GetSetText)(wxUpdateUIEvent* self)+{+        return self->GetSetText();+}++EWXWEXPORT(bool,wxUpdateUIEvent_GetSetChecked)(wxUpdateUIEvent* self)+{+        return self->GetSetChecked();+}++EWXWEXPORT(bool,wxUpdateUIEvent_GetSetEnabled)(wxUpdateUIEvent* self)+{+        return self->GetSetEnabled();+}++EWXWEXPORT(void,wxUpdateUIEvent_Check)(wxUpdateUIEvent* self,bool check)+{+        self->Check(check);+}++EWXWEXPORT(void,wxUpdateUIEvent_Enable)(wxUpdateUIEvent* self,bool enable)+{+        self->Enable(enable);+}++EWXWEXPORT(void,wxUpdateUIEvent_SetText)(wxUpdateUIEvent* self,wxString* text)+{+        self->SetText(*text);+}++EWXWEXPORT(void,wxUpdateUIEvent_CopyObject)(wxUpdateUIEvent* self,wxObject* obj)+{+#if wxVERSION_NUMBER < 2400+        self->CopyObject(*obj);+#endif+}++EWXWEXPORT(void,wxPaletteChangedEvent_SetChangedWindow)(wxPaletteChangedEvent* self,wxWindow* win)+{+        self->SetChangedWindow(win);+}++EWXWEXPORT(void*,wxPaletteChangedEvent_GetChangedWindow)(wxPaletteChangedEvent* self)+{+        return (void*)self->GetChangedWindow();+}++EWXWEXPORT(void,wxPaletteChangedEvent_CopyObject)(wxPaletteChangedEvent* self,wxObject* obj)+{+#if wxVERSION_NUMBER < 2400+        self->CopyObject(*obj);+#endif+}++EWXWEXPORT(void,wxQueryNewPaletteEvent_SetPaletteRealized)(wxQueryNewPaletteEvent* self,bool realized)+{+        self->SetPaletteRealized(realized);+}++EWXWEXPORT(bool,wxQueryNewPaletteEvent_GetPaletteRealized)(wxQueryNewPaletteEvent* self)+{+        return self->GetPaletteRealized();+}++EWXWEXPORT(void,wxQueryNewPaletteEvent_CopyObject)(wxQueryNewPaletteEvent* self,wxObject* obj)+{+#if wxVERSION_NUMBER < 2400+        self->CopyObject(*obj);+#endif+}++EWXWEXPORT(bool,wxNavigationKeyEvent_GetDirection)(wxNavigationKeyEvent* self)+{+        return self->GetDirection();+}++EWXWEXPORT(void,wxNavigationKeyEvent_SetDirection)(wxNavigationKeyEvent* self,bool bForward)+{+        self->SetDirection(bForward);+}++EWXWEXPORT(bool,wxNavigationKeyEvent_IsWindowChange)(wxNavigationKeyEvent* self)+{+        return self->IsWindowChange();+}++EWXWEXPORT(void,wxNavigationKeyEvent_SetWindowChange)(wxNavigationKeyEvent* self,bool bIs)+{+        self->SetWindowChange(bIs);+}++EWXWEXPORT(bool,wxNavigationKeyEvent_ShouldPropagate)(wxNavigationKeyEvent* self)+{+        return self->ShouldPropagate();+}+	+EWXWEXPORT(void*,wxNavigationKeyEvent_GetCurrentFocus)(wxNavigationKeyEvent* self)+{+        return (void*) self->GetCurrentFocus();+}++EWXWEXPORT(void,wxNavigationKeyEvent_SetCurrentFocus)(wxNavigationKeyEvent* self,wxWindow* win)+{+        self->SetCurrentFocus(win);+}++EWXWEXPORT(void*,wxWindowCreateEvent_GetWindow)(wxWindowCreateEvent* self)+{+        return (void*)self->GetWindow();+}++EWXWEXPORT(void*,wxWindowDestroyEvent_GetWindow)(wxWindowDestroyEvent* self)+{+        return (void*)self->GetWindow();+}++EWXWEXPORT(void,wxIdleEvent_RequestMore)(wxIdleEvent* self,bool needMore)+{+        self->RequestMore(needMore);+}++EWXWEXPORT(bool,wxIdleEvent_MoreRequested)(wxIdleEvent* self)+{+        return self->MoreRequested();+}++EWXWEXPORT(void,wxIdleEvent_CopyObject)(wxIdleEvent* self,wxObject* object_dest)+{+#if wxVERSION_NUMBER < 2400+        self->CopyObject(*object_dest);+#endif+}++EWXWEXPORT(int,wxListEvent_GetCode)(wxListEvent* self)+{+#if wxCHECK_VERSION(2,5,0)+	return self->GetKeyCode();+#else+        return self->GetCode();+#endif+}++EWXWEXPORT(long,wxListEvent_GetIndex)(wxListEvent* self)+{+        return self->GetIndex();+}+EWXWEXPORT(int,wxListEvent_GetColumn)(wxListEvent* self)+{+        return self->GetColumn();+}++EWXWEXPORT(bool,wxListEvent_Cancelled)(wxListEvent* self)+{+#if wxVERSION_NUMBER < 2400+        return self->Cancelled();+#else+        return false;+#endif+}++EWXWEXPORT(wxPoint*,wxListEvent_GetPoint)(wxListEvent* self)+{+	wxPoint* pt = new wxPoint();+	*pt = self->GetPoint();+	return pt;+}++EWXWEXPORT(wxString*,wxListEvent_GetLabel)(wxListEvent* self)+{+        wxString *result = new wxString();+        *result = self->GetLabel();+        return result;+}++EWXWEXPORT(wxString*,wxListEvent_GetText)(wxListEvent* self)+{+        wxString *result = new wxString();+        *result = self->GetText();+        return result;+}++EWXWEXPORT(int,wxListEvent_GetImage)(wxListEvent* self)+{+        return self->GetImage();+}++EWXWEXPORT(long,wxListEvent_GetData)(wxListEvent* self)+{+        return self->GetData();+}++EWXWEXPORT(long,wxListEvent_GetMask)(wxListEvent* self)+{+        return self->GetMask();+}++EWXWEXPORT(void,wxListEvent_GetItem)(wxListEvent* self,void* _ref)+{+#if wxVERSION_NUMBER < 2400+        *((wxListItem*)_ref) = self->GetItem();+#else+        wxListItem* ret = new wxListItem(self->GetItem());+        *((void**)_ref) = (void*)ret;+#endif+}++EWXWEXPORT(void,wxTreeEvent_GetItem)(wxTreeEvent* self,wxTreeItemId* _ref)+{+        *_ref = self->GetItem();+}++EWXWEXPORT(void,wxTreeEvent_GetOldItem)(wxTreeEvent* self,wxTreeItemId* _ref)+{+        *_ref = self->GetOldItem();+}++EWXWEXPORT(wxPoint*,wxTreeEvent_GetPoint)(wxTreeEvent* self)+{+	wxPoint* pt = new wxPoint();+	*pt = self->GetPoint();+	return pt;+}++EWXWEXPORT(int,wxTreeEvent_GetCode)(wxTreeEvent* self)+{+        return self->GetKeyCode();+}++EWXWEXPORT(wxString*,wxTreeEvent_GetLabel)(wxTreeEvent* self)+{+        wxString *result = new wxString();+        *result = self->GetLabel();+        return result;+}++EWXWEXPORT(int,wxSpinEvent_GetPosition)(wxSpinEvent* self)+{+        return self->GetPosition();+}++EWXWEXPORT(void,wxSpinEvent_SetPosition)(wxSpinEvent* self,int pos)+{+        self->SetPosition(pos);+}++EWXWEXPORT(int,wxTimerEvent_GetInterval)(wxTimerEvent* self)+{+        return self->GetInterval();+}++EWXWEXPORT(int,wxCalendarEvent_GetWeekDay)(wxCalendarEvent* self)+{+        return self->GetWeekDay();+}++EWXWEXPORT(void,wxCalendarEvent_GetDate)(wxCalendarEvent* self,wxDateTime* _dte)+{+        *_dte = self->GetDate();+}+++EWXWEXPORT(int,wxScrollEvent_GetOrientation)(wxScrollEvent* self)+{+        return self->GetOrientation();+}++EWXWEXPORT(int,wxScrollEvent_GetPosition)(wxScrollEvent* self)+{+        return self->GetPosition();+}++EWXWEXPORT(wxPoint*,wxHelpEvent_GetPosition)(wxHelpEvent* self)+{+	wxPoint* pt = new wxPoint();+	*pt = self->GetPosition();+	return pt;+}++EWXWEXPORT(void,wxHelpEvent_SetPosition)(wxHelpEvent* self,int x,int y)+{+        self->SetPosition(wxPoint(x, y));+}++EWXWEXPORT(wxString*,wxHelpEvent_GetLink)(wxHelpEvent* self)+{+        wxString *result = new wxString();+        *result = self->GetLink();+        return result;+}++EWXWEXPORT(void,wxHelpEvent_SetLink)(wxHelpEvent* self,wxString* link)+{+        self->SetLink(*link);+}++EWXWEXPORT(wxString*,wxHelpEvent_GetTarget)(wxHelpEvent* self)+{+        wxString *result = new wxString();+        *result = self->GetTarget();+        return result;+}++EWXWEXPORT(void,wxHelpEvent_SetTarget)(wxHelpEvent* self,wxString* target)+{+        self->SetTarget(*target);+}++EWXWEXPORT(bool,wxPropertyGridEvent_HasProperty)(wxPropertyGridEvent* self)+{+        return self->GetProperty() != 0;+}++EWXWEXPORT(wxPGProperty*,wxPropertyGridEvent_GetProperty)(wxPropertyGridEvent* self)+{+#if defined(wxUSE_PROPGRID)+        wxPGProperty* const prop = self->GetProperty();+        return prop == 0 ? new wxPGProperty() : prop;+#else+        return NULL;+#endif+}++////////////////////////////////////////////////////////////////////////////////+// Event wrappers+////////////////////////////////////////////////////////////////////////////////++MAKE_EVENT_WRAPPER(EVT_NULL)+MAKE_EVENT_WRAPPER(EVT_FIRST)++#if wxUSE_AUI+// from aui/auibar.h+MAKE_EVENT_WRAPPER(EVT_COMMAND_AUITOOLBAR_TOOL_DROPDOWN)+MAKE_EVENT_WRAPPER(EVT_COMMAND_AUITOOLBAR_OVERFLOW_CLICK)+MAKE_EVENT_WRAPPER(EVT_COMMAND_AUITOOLBAR_RIGHT_CLICK)+MAKE_EVENT_WRAPPER(EVT_COMMAND_AUITOOLBAR_MIDDLE_CLICK)+MAKE_EVENT_WRAPPER(EVT_COMMAND_AUITOOLBAR_BEGIN_DRAG)++// from aui/auibook.h+MAKE_EVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_PAGE_CLOSE)+MAKE_EVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_PAGE_CHANGED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_PAGE_CHANGING)+MAKE_EVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_PAGE_CLOSED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_BUTTON)+MAKE_EVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_BEGIN_DRAG)+MAKE_EVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_END_DRAG)+MAKE_EVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_DRAG_MOTION)+MAKE_EVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_ALLOW_DND)+MAKE_EVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_TAB_MIDDLE_DOWN)+MAKE_EVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_TAB_MIDDLE_UP)+MAKE_EVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_TAB_RIGHT_DOWN)+MAKE_EVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_TAB_RIGHT_UP)+MAKE_EVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_DRAG_DONE)+MAKE_EVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_BG_DCLICK)++// from aui/framemanager.h+MAKE_EVENT_WRAPPER(EVT_AUI_PANE_BUTTON)+MAKE_EVENT_WRAPPER(EVT_AUI_PANE_CLOSE)+MAKE_EVENT_WRAPPER(EVT_AUI_PANE_MAXIMIZE)+MAKE_EVENT_WRAPPER(EVT_AUI_PANE_RESTORE)+MAKE_EVENT_WRAPPER(EVT_AUI_RENDER)+MAKE_EVENT_WRAPPER(EVT_AUI_FIND_MANAGER)+#else+// from aui/auibar.h+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_AUITOOLBAR_TOOL_DROPDOWN)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_AUITOOLBAR_OVERFLOW_CLICK)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_AUITOOLBAR_RIGHT_CLICK)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_AUITOOLBAR_MIDDLE_CLICK)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_AUITOOLBAR_BEGIN_DRAG)++// from aui/auibook.h+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_PAGE_CLOSE)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_PAGE_CHANGED)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_PAGE_CHANGING)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_PAGE_CLOSED)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_BUTTON)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_BEGIN_DRAG)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_END_DRAG)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_DRAG_MOTION)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_ALLOW_DND)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_TAB_MIDDLE_DOWN)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_TAB_MIDDLE_UP)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_TAB_RIGHT_DOWN)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_TAB_RIGHT_UP)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_DRAG_DONE)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_AUINOTEBOOK_BG_DCLICK)++// from aui/framemanager.h+MAKE_UNDEFEVENT_WRAPPER(EVT_AUI_PANE_BUTTON)+MAKE_UNDEFEVENT_WRAPPER(EVT_AUI_PANE_CLOSE)+MAKE_UNDEFEVENT_WRAPPER(EVT_AUI_PANE_MAXIMIZE)+MAKE_UNDEFEVENT_WRAPPER(EVT_AUI_PANE_RESTORE)+MAKE_UNDEFEVENT_WRAPPER(EVT_AUI_RENDER)+MAKE_UNDEFEVENT_WRAPPER(EVT_AUI_FIND_MANAGER)+#endif // wxUSE_AUI++// from calctrl.h+#if wxUSE_CALENDARCTRL+MAKE_EVENT_WRAPPER(EVT_CALENDAR_SEL_CHANGED)+#if (wxVERSION_NUMBER >= 2900)+ MAKE_EVENT_WRAPPER(EVT_CALENDAR_PAGE_CHANGED)+#else+ MAKE_UNDEFEVENT_WRAPPER(EVT_CALENDAR_PAGE_CHANGED)+#endif+MAKE_EVENT_WRAPPER(EVT_CALENDAR_DOUBLECLICKED)+MAKE_EVENT_WRAPPER(EVT_CALENDAR_WEEKDAY_CLICKED)+#if (wxVERSION_NUMBER >= 2900)+ MAKE_EVENT_WRAPPER(EVT_CALENDAR_WEEK_CLICKED)+#else+ MAKE_UNDEFEVENT_WRAPPER(EVT_CALENDAR_WEEK_CLICKED)+#endif+MAKE_EVENT_WRAPPER(EVT_CALENDAR_DAY_CHANGED)+MAKE_EVENT_WRAPPER(EVT_CALENDAR_MONTH_CHANGED)+MAKE_EVENT_WRAPPER(EVT_CALENDAR_YEAR_CHANGED)+#endif //wxUSE_CALENDARCTRL++// from choicebook.h+#if wxUSE_CHOICEBOOK+MAKE_EVENT_WRAPPER(EVT_COMMAND_CHOICEBOOK_PAGE_CHANGED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_CHOICEBOOK_PAGE_CHANGING)+#endif++// from clipbrd.h+#if (wxVERSION_NUMBER >= 2900) && wxUSE_CLIPBOARD+ MAKE_EVENT_WRAPPER(EVT_CLIPBOARD_CHANGED)+#else+ MAKE_UNDEFEVENT_WRAPPER(EVT_CLIPBOARD_CHANGED)+#endif++// from clrpicker.h+#if wxUSE_COLOURPICKERCTRL+MAKE_EVENT_WRAPPER(EVT_COMMAND_COLOURPICKER_CHANGED)+#endif++// from collpane.h+#if wxUSE_COLLPANE+MAKE_EVENT_WRAPPER(EVT_COMMAND_COLLPANE_CHANGED)+#endif++// from dataview.h+#if (wxVERSION_NUMBER >= 2900) && wxUSE_DATAVIEWCTRL+ MAKE_EVENT_WRAPPER(EVT_COMMAND_DATAVIEW_SELECTION_CHANGED)+ MAKE_EVENT_WRAPPER(EVT_COMMAND_DATAVIEW_ITEM_ACTIVATED)+ MAKE_EVENT_WRAPPER(EVT_COMMAND_DATAVIEW_ITEM_COLLAPSED)+ MAKE_EVENT_WRAPPER(EVT_COMMAND_DATAVIEW_ITEM_EXPANDED)+ MAKE_EVENT_WRAPPER(EVT_COMMAND_DATAVIEW_ITEM_COLLAPSING)+ MAKE_EVENT_WRAPPER(EVT_COMMAND_DATAVIEW_ITEM_EXPANDING)+ MAKE_EVENT_WRAPPER(EVT_COMMAND_DATAVIEW_ITEM_START_EDITING)+ MAKE_EVENT_WRAPPER(EVT_COMMAND_DATAVIEW_ITEM_EDITING_STARTED)+ MAKE_EVENT_WRAPPER(EVT_COMMAND_DATAVIEW_ITEM_EDITING_DONE)+ MAKE_EVENT_WRAPPER(EVT_COMMAND_DATAVIEW_ITEM_VALUE_CHANGED)+ MAKE_EVENT_WRAPPER(EVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU)+ MAKE_EVENT_WRAPPER(EVT_COMMAND_DATAVIEW_COLUMN_HEADER_CLICK)+ MAKE_EVENT_WRAPPER(EVT_COMMAND_DATAVIEW_COLUMN_HEADER_RIGHT_CLICK)+ MAKE_EVENT_WRAPPER(EVT_COMMAND_DATAVIEW_COLUMN_SORTED)+ MAKE_EVENT_WRAPPER(EVT_COMMAND_DATAVIEW_COLUMN_REORDERED)+ MAKE_EVENT_WRAPPER(EVT_COMMAND_DATAVIEW_CACHE_HINT)+ MAKE_EVENT_WRAPPER(EVT_COMMAND_DATAVIEW_ITEM_BEGIN_DRAG)+ MAKE_EVENT_WRAPPER(EVT_COMMAND_DATAVIEW_ITEM_DROP_POSSIBLE)+ MAKE_EVENT_WRAPPER(EVT_COMMAND_DATAVIEW_ITEM_DROP)+#else+ MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_DATAVIEW_SELECTION_CHANGED)+ MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_DATAVIEW_ITEM_ACTIVATED)+ MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_DATAVIEW_ITEM_COLLAPSED)+ MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_DATAVIEW_ITEM_EXPANDED)+ MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_DATAVIEW_ITEM_COLLAPSING)+ MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_DATAVIEW_ITEM_EXPANDING)+ MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_DATAVIEW_ITEM_START_EDITING)+ MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_DATAVIEW_ITEM_EDITING_STARTED)+ MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_DATAVIEW_ITEM_EDITING_DONE)+ MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_DATAVIEW_ITEM_VALUE_CHANGED)+ MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU)+ MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_DATAVIEW_COLUMN_HEADER_CLICK)+ MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_DATAVIEW_COLUMN_HEADER_RIGHT_CLICK)+ MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_DATAVIEW_COLUMN_SORTED)+ MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_DATAVIEW_COLUMN_REORDERED)+ MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_DATAVIEW_CACHE_HINT)+ MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_DATAVIEW_ITEM_BEGIN_DRAG)+ MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_DATAVIEW_ITEM_DROP_POSSIBLE)+ MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_DATAVIEW_ITEM_DROP)+#endif++// from dateevt.h+MAKE_EVENT_WRAPPER(EVT_DATE_CHANGED)++// from dialog.h+#if (wxVERSION_NUMBER >= 2900)+ MAKE_EVENT_WRAPPER(EVT_WINDOW_MODAL_DIALOG_CLOSED)+#else+ MAKE_UNDEFEVENT_WRAPPER(EVT_WINDOW_MODAL_DIALOG_CLOSED)+#endif++// from dialup.h - does anyone even care about this stuff these days?+#if wxUSE_DIALUP_MANAGER+MAKE_EVENT_WRAPPER(EVT_DIALUP_CONNECTED)+MAKE_EVENT_WRAPPER(EVT_DIALUP_DISCONNECTED)+#endif++// from event.h+MAKE_EVENT_WRAPPER(EVT_COMMAND_BUTTON_CLICKED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_CHECKBOX_CLICKED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_CHOICE_SELECTED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_LISTBOX_SELECTED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_LISTBOX_DOUBLECLICKED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_CHECKLISTBOX_TOGGLED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_MENU_SELECTED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_SLIDER_UPDATED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_RADIOBOX_SELECTED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_RADIOBUTTON_SELECTED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_VLBOX_SELECTED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_COMBOBOX_SELECTED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TOOL_RCLICKED)+#if (wxVERSION_NUMBER >= 2900)+ MAKE_EVENT_WRAPPER(EVT_COMMAND_TOOL_DROPDOWN_CLICKED)+#else+ MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_TOOL_DROPDOWN_CLICKED)+#endif+MAKE_EVENT_WRAPPER(EVT_COMMAND_TOOL_ENTER)+#if (wxVERSION_NUMBER >= 2900)+ MAKE_EVENT_WRAPPER(EVT_COMMAND_COMBOBOX_DROPDOWN)+ MAKE_EVENT_WRAPPER(EVT_COMMAND_COMBOBOX_CLOSEUP)+ MAKE_EVENT_WRAPPER(EVT_COMMAND_THREAD)+#else+ MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_COMBOBOX_DROPDOWN)+ MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_COMBOBOX_CLOSEUP)+ MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_THREAD)+#endif+MAKE_EVENT_WRAPPER(EVT_LEFT_DOWN)+MAKE_EVENT_WRAPPER(EVT_LEFT_UP)+MAKE_EVENT_WRAPPER(EVT_MIDDLE_DOWN)+MAKE_EVENT_WRAPPER(EVT_MIDDLE_UP)+MAKE_EVENT_WRAPPER(EVT_RIGHT_DOWN)+MAKE_EVENT_WRAPPER(EVT_RIGHT_UP)+MAKE_EVENT_WRAPPER(EVT_MOTION)+MAKE_EVENT_WRAPPER(EVT_ENTER_WINDOW)+MAKE_EVENT_WRAPPER(EVT_LEAVE_WINDOW)+MAKE_EVENT_WRAPPER(EVT_LEFT_DCLICK)+MAKE_EVENT_WRAPPER(EVT_MIDDLE_DCLICK)+MAKE_EVENT_WRAPPER(EVT_RIGHT_DCLICK)+MAKE_EVENT_WRAPPER(EVT_SET_FOCUS)+MAKE_EVENT_WRAPPER(EVT_KILL_FOCUS)+MAKE_EVENT_WRAPPER(EVT_CHILD_FOCUS)+MAKE_EVENT_WRAPPER(EVT_MOUSEWHEEL)+#if (wxVERSION_NUMBER >= 2900)+ MAKE_EVENT_WRAPPER(EVT_AUX1_DOWN)+ MAKE_EVENT_WRAPPER(EVT_AUX1_UP)+ MAKE_EVENT_WRAPPER(EVT_AUX1_DCLICK)+ MAKE_EVENT_WRAPPER(EVT_AUX2_DOWN)+ MAKE_EVENT_WRAPPER(EVT_AUX2_UP)+ MAKE_EVENT_WRAPPER(EVT_AUX2_DCLICK)+#else+ MAKE_UNDEFEVENT_WRAPPER(EVT_AUX1_DOWN)+ MAKE_UNDEFEVENT_WRAPPER(EVT_AUX1_UP)+ MAKE_UNDEFEVENT_WRAPPER(EVT_AUX1_DCLICK)+ MAKE_UNDEFEVENT_WRAPPER(EVT_AUX2_DOWN)+ MAKE_UNDEFEVENT_WRAPPER(EVT_AUX2_UP)+ MAKE_UNDEFEVENT_WRAPPER(EVT_AUX2_DCLICK)+#endif+MAKE_EVENT_WRAPPER(EVT_CHAR)+MAKE_EVENT_WRAPPER(EVT_CHAR_HOOK)+MAKE_EVENT_WRAPPER(EVT_NAVIGATION_KEY)+MAKE_EVENT_WRAPPER(EVT_KEY_DOWN)+MAKE_EVENT_WRAPPER(EVT_KEY_UP)++#if wxUSE_HOTKEY+MAKE_EVENT_WRAPPER(EVT_HOTKEY)+#else+MAKE_UNDEFEVENT_WRAPPER(EVT_HOTKEY)+#endif++MAKE_EVENT_WRAPPER(EVT_SET_CURSOR)+MAKE_EVENT_WRAPPER(EVT_SCROLL_TOP)+MAKE_EVENT_WRAPPER(EVT_SCROLL_BOTTOM)+MAKE_EVENT_WRAPPER(EVT_SCROLL_LINEUP)+MAKE_EVENT_WRAPPER(EVT_SCROLL_LINEDOWN)+MAKE_EVENT_WRAPPER(EVT_SCROLL_PAGEUP)+MAKE_EVENT_WRAPPER(EVT_SCROLL_PAGEDOWN)+MAKE_EVENT_WRAPPER(EVT_SCROLL_THUMBTRACK)+MAKE_EVENT_WRAPPER(EVT_SCROLL_THUMBRELEASE)+MAKE_EVENT_WRAPPER(EVT_SCROLL_CHANGED)++#if (wxVERSION_NUMBER >= 2900) && wxUSE_SPINBTN+ MAKE_EVENT_WRAPPER(EVT_SPIN_UP)+ MAKE_EVENT_WRAPPER(EVT_SPIN_DOWN)+ MAKE_EVENT_WRAPPER(EVT_SPIN)+#else+ MAKE_UNDEFEVENT_WRAPPER(EVT_SPIN_UP)+ MAKE_UNDEFEVENT_WRAPPER(EVT_SPIN_DOWN)+ MAKE_UNDEFEVENT_WRAPPER(EVT_SPIN)+#endif++MAKE_EVENT_WRAPPER(EVT_SCROLLWIN_TOP)+MAKE_EVENT_WRAPPER(EVT_SCROLLWIN_BOTTOM)+MAKE_EVENT_WRAPPER(EVT_SCROLLWIN_LINEUP)+MAKE_EVENT_WRAPPER(EVT_SCROLLWIN_LINEDOWN)+MAKE_EVENT_WRAPPER(EVT_SCROLLWIN_PAGEUP)+MAKE_EVENT_WRAPPER(EVT_SCROLLWIN_PAGEDOWN)+MAKE_EVENT_WRAPPER(EVT_SCROLLWIN_THUMBTRACK)+MAKE_EVENT_WRAPPER(EVT_SCROLLWIN_THUMBRELEASE)+MAKE_EVENT_WRAPPER(EVT_SIZE)+MAKE_EVENT_WRAPPER(EVT_MOVE)+MAKE_EVENT_WRAPPER(EVT_CLOSE_WINDOW)+MAKE_EVENT_WRAPPER(EVT_END_SESSION)+MAKE_EVENT_WRAPPER(EVT_QUERY_END_SESSION)+MAKE_EVENT_WRAPPER(EVT_ACTIVATE_APP)+MAKE_EVENT_WRAPPER(EVT_ACTIVATE)+MAKE_EVENT_WRAPPER(EVT_CREATE)+MAKE_EVENT_WRAPPER(EVT_DESTROY)+MAKE_EVENT_WRAPPER(EVT_SHOW)+MAKE_EVENT_WRAPPER(EVT_ICONIZE)+MAKE_EVENT_WRAPPER(EVT_MAXIMIZE)+MAKE_EVENT_WRAPPER(EVT_MOUSE_CAPTURE_CHANGED)+MAKE_EVENT_WRAPPER(EVT_MOUSE_CAPTURE_LOST)+MAKE_EVENT_WRAPPER(EVT_PAINT)+MAKE_EVENT_WRAPPER(EVT_ERASE_BACKGROUND)+MAKE_EVENT_WRAPPER(EVT_NC_PAINT)+MAKE_EVENT_WRAPPER(EVT_MENU_OPEN)+MAKE_EVENT_WRAPPER(EVT_MENU_CLOSE)+MAKE_EVENT_WRAPPER(EVT_MENU_HIGHLIGHT)+MAKE_EVENT_WRAPPER(EVT_CONTEXT_MENU)+MAKE_EVENT_WRAPPER(EVT_SYS_COLOUR_CHANGED)+MAKE_EVENT_WRAPPER(EVT_DISPLAY_CHANGED)+MAKE_EVENT_WRAPPER(EVT_QUERY_NEW_PALETTE)+MAKE_EVENT_WRAPPER(EVT_PALETTE_CHANGED)+MAKE_EVENT_WRAPPER(EVT_JOY_BUTTON_DOWN)+MAKE_EVENT_WRAPPER(EVT_JOY_BUTTON_UP)+MAKE_EVENT_WRAPPER(EVT_JOY_MOVE)+MAKE_EVENT_WRAPPER(EVT_JOY_ZMOVE)+MAKE_EVENT_WRAPPER(EVT_DROP_FILES)+MAKE_EVENT_WRAPPER(EVT_INIT_DIALOG)+MAKE_EVENT_WRAPPER(EVT_IDLE)+MAKE_EVENT_WRAPPER(EVT_UPDATE_UI)+MAKE_EVENT_WRAPPER(EVT_SIZING)+MAKE_EVENT_WRAPPER(EVT_MOVING)+# if (wxVERSION_NUMBER >= 2900)+ MAKE_EVENT_WRAPPER(EVT_MOVE_START)+ MAKE_EVENT_WRAPPER(EVT_MOVE_END)+#else+ MAKE_UNDEFEVENT_WRAPPER(EVT_MOVE_START)+ MAKE_UNDEFEVENT_WRAPPER(EVT_MOVE_END)+#endif+MAKE_EVENT_WRAPPER(EVT_HIBERNATE)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TEXT_COPY)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TEXT_CUT)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TEXT_PASTE)+MAKE_EVENT_WRAPPER(EVT_COMMAND_LEFT_CLICK)+MAKE_EVENT_WRAPPER(EVT_COMMAND_LEFT_DCLICK)+MAKE_EVENT_WRAPPER(EVT_COMMAND_RIGHT_CLICK)+MAKE_EVENT_WRAPPER(EVT_COMMAND_RIGHT_DCLICK)+MAKE_EVENT_WRAPPER(EVT_COMMAND_SET_FOCUS)+MAKE_EVENT_WRAPPER(EVT_COMMAND_KILL_FOCUS)+MAKE_EVENT_WRAPPER(EVT_COMMAND_ENTER)+MAKE_EVENT_WRAPPER(EVT_HELP)+MAKE_EVENT_WRAPPER(EVT_DETAILED_HELP)++// these 2 events are the same+#define wxEVT_COMMAND_TOOL_CLICKED wxEVT_COMMAND_MENU_SELECTED+MAKE_EVENT_WRAPPER(EVT_COMMAND_TOOL_CLICKED)++// from filectrl.h+#if (wxVERSION_NUMBER >= 2900) && wxUSE_FILECTRL+MAKE_EVENT_WRAPPER(EVT_FILECTRL_SELECTIONCHANGED)+MAKE_EVENT_WRAPPER(EVT_FILECTRL_FILEACTIVATED)+MAKE_EVENT_WRAPPER(EVT_FILECTRL_FOLDERCHANGED)+MAKE_EVENT_WRAPPER(EVT_FILECTRL_FILTERCHANGED)+#else+MAKE_UNDEFEVENT_WRAPPER(EVT_FILECTRL_SELECTIONCHANGED)+MAKE_UNDEFEVENT_WRAPPER(EVT_FILECTRL_FILEACTIVATED)+MAKE_UNDEFEVENT_WRAPPER(EVT_FILECTRL_FOLDERCHANGED)+MAKE_UNDEFEVENT_WRAPPER(EVT_FILECTRL_FILTERCHANGED)+#endif++// from filepicker.h+#if wxUSE_FILEPICKERCTRL || wxUSE_DIRPICKERCTRL+MAKE_EVENT_WRAPPER(EVT_COMMAND_FILEPICKER_CHANGED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_DIRPICKER_CHANGED)+#endif++// from fontpicker.h+#if wxUSE_FONTPICKERCTRL+MAKE_EVENT_WRAPPER(EVT_COMMAND_FONTPICKER_CHANGED)+#endif++// from fswatcher.h+#if (wxVERSION_NUMBER >= 2900) && wxUSE_FSWATCHER+MAKE_EVENT_WRAPPER(EVT_FSWATCHER)+#else+MAKE_UNDEFEVENT_WRAPPER(EVT_FSWATCHER)+#endif++// from generic/grid.h+#if wxUSE_GRID+MAKE_EVENT_WRAPPER(EVT_GRID_CELL_LEFT_CLICK)+MAKE_EVENT_WRAPPER(EVT_GRID_CELL_RIGHT_CLICK)+MAKE_EVENT_WRAPPER(EVT_GRID_CELL_LEFT_DCLICK)+MAKE_EVENT_WRAPPER(EVT_GRID_CELL_RIGHT_DCLICK)+MAKE_EVENT_WRAPPER(EVT_GRID_LABEL_LEFT_CLICK)+MAKE_EVENT_WRAPPER(EVT_GRID_LABEL_RIGHT_CLICK)+MAKE_EVENT_WRAPPER(EVT_GRID_LABEL_LEFT_DCLICK)+MAKE_EVENT_WRAPPER(EVT_GRID_LABEL_RIGHT_DCLICK)+MAKE_EVENT_WRAPPER(EVT_GRID_ROW_SIZE)+MAKE_EVENT_WRAPPER(EVT_GRID_COL_SIZE)+MAKE_EVENT_WRAPPER(EVT_GRID_RANGE_SELECT)+#if (wxVERSION_NUMBER >= 2900)+ MAKE_EVENT_WRAPPER(EVT_GRID_CELL_CHANGING)+ MAKE_EVENT_WRAPPER(EVT_GRID_CELL_CHANGED)+#else+ MAKE_UNDEFEVENT_WRAPPER(EVT_GRID_CELL_CHANGING)+ MAKE_UNDEFEVENT_WRAPPER(EVT_GRID_CELL_CHANGED)+#endif+MAKE_EVENT_WRAPPER(EVT_GRID_SELECT_CELL)+MAKE_EVENT_WRAPPER(EVT_GRID_EDITOR_SHOWN)+MAKE_EVENT_WRAPPER(EVT_GRID_EDITOR_HIDDEN)+MAKE_EVENT_WRAPPER(EVT_GRID_EDITOR_CREATED)+MAKE_EVENT_WRAPPER(EVT_GRID_CELL_BEGIN_DRAG)+MAKE_EVENT_WRAPPER(EVT_GRID_COL_MOVE)+#if (wxVERSION_NUMBER >= 2900)+ MAKE_EVENT_WRAPPER(EVT_GRID_COL_SORT)+#else+ MAKE_UNDEFEVENT_WRAPPER(EVT_GRID_COL_SORT)+#endif+#endif++// from laywin.h+MAKE_EVENT_WRAPPER(EVT_QUERY_LAYOUT_INFO)+MAKE_EVENT_WRAPPER(EVT_CALCULATE_LAYOUT)++// from sashwin.h+#if wxUSE_SASH+MAKE_EVENT_WRAPPER(EVT_SASH_DRAGGED)+#endif++// from headerctrl.h+#if (wxVERSION_NUMBER >= 2900) && wxUSE_HEADERCTRL+MAKE_EVENT_WRAPPER(EVT_COMMAND_HEADER_CLICK)+MAKE_EVENT_WRAPPER(EVT_COMMAND_HEADER_RIGHT_CLICK)+MAKE_EVENT_WRAPPER(EVT_COMMAND_HEADER_MIDDLE_CLICK)+MAKE_EVENT_WRAPPER(EVT_COMMAND_HEADER_DCLICK)+MAKE_EVENT_WRAPPER(EVT_COMMAND_HEADER_RIGHT_DCLICK)+MAKE_EVENT_WRAPPER(EVT_COMMAND_HEADER_MIDDLE_DCLICK)+MAKE_EVENT_WRAPPER(EVT_COMMAND_HEADER_SEPARATOR_DCLICK)+MAKE_EVENT_WRAPPER(EVT_COMMAND_HEADER_BEGIN_RESIZE)+MAKE_EVENT_WRAPPER(EVT_COMMAND_HEADER_RESIZING)+MAKE_EVENT_WRAPPER(EVT_COMMAND_HEADER_END_RESIZE)+MAKE_EVENT_WRAPPER(EVT_COMMAND_HEADER_BEGIN_REORDER)+MAKE_EVENT_WRAPPER(EVT_COMMAND_HEADER_END_REORDER)+MAKE_EVENT_WRAPPER(EVT_COMMAND_HEADER_DRAGGING_CANCELLED)+#else+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_HEADER_CLICK)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_HEADER_RIGHT_CLICK)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_HEADER_MIDDLE_CLICK)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_HEADER_DCLICK)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_HEADER_RIGHT_DCLICK)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_HEADER_MIDDLE_DCLICK)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_HEADER_SEPARATOR_DCLICK)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_HEADER_BEGIN_RESIZE)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_HEADER_RESIZING)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_HEADER_END_RESIZE)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_HEADER_BEGIN_REORDER)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_HEADER_END_REORDER)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_HEADER_DRAGGING_CANCELLED)+#endif++// from html/htmlwin.h+#if wxUSE_HTML+MAKE_EVENT_WRAPPER(EVT_COMMAND_HTML_CELL_CLICKED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_HTML_CELL_HOVER)+MAKE_EVENT_WRAPPER(EVT_COMMAND_HTML_LINK_CLICKED)+#endif++// from hyperlink.h+#if wxUSE_HYPERLINKCTRL+MAKE_EVENT_WRAPPER(EVT_COMMAND_HYPERLINK)+#endif++// from listbase.h+MAKE_EVENT_WRAPPER(EVT_COMMAND_LIST_BEGIN_DRAG)+MAKE_EVENT_WRAPPER(EVT_COMMAND_LIST_BEGIN_RDRAG)+MAKE_EVENT_WRAPPER(EVT_COMMAND_LIST_BEGIN_LABEL_EDIT)+MAKE_EVENT_WRAPPER(EVT_COMMAND_LIST_END_LABEL_EDIT)+MAKE_EVENT_WRAPPER(EVT_COMMAND_LIST_DELETE_ITEM)+MAKE_EVENT_WRAPPER(EVT_COMMAND_LIST_DELETE_ALL_ITEMS)+MAKE_EVENT_WRAPPER(EVT_COMMAND_LIST_ITEM_SELECTED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_LIST_ITEM_DESELECTED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_LIST_KEY_DOWN)+MAKE_EVENT_WRAPPER(EVT_COMMAND_LIST_INSERT_ITEM)+MAKE_EVENT_WRAPPER(EVT_COMMAND_LIST_COL_CLICK)+MAKE_EVENT_WRAPPER(EVT_COMMAND_LIST_ITEM_RIGHT_CLICK)+MAKE_EVENT_WRAPPER(EVT_COMMAND_LIST_ITEM_MIDDLE_CLICK)+MAKE_EVENT_WRAPPER(EVT_COMMAND_LIST_ITEM_ACTIVATED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_LIST_CACHE_HINT)+MAKE_EVENT_WRAPPER(EVT_COMMAND_LIST_COL_RIGHT_CLICK)+MAKE_EVENT_WRAPPER(EVT_COMMAND_LIST_COL_BEGIN_DRAG)+MAKE_EVENT_WRAPPER(EVT_COMMAND_LIST_COL_DRAGGING)+MAKE_EVENT_WRAPPER(EVT_COMMAND_LIST_COL_END_DRAG)+MAKE_EVENT_WRAPPER(EVT_COMMAND_LIST_ITEM_FOCUSED)++// from listbook.h+#if wxUSE_LISTBOOK+MAKE_EVENT_WRAPPER(EVT_COMMAND_LISTBOOK_PAGE_CHANGED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_LISTBOOK_PAGE_CHANGING)+#endif++// from notebook.h+#if wxUSE_NOTEBOOK+MAKE_EVENT_WRAPPER(EVT_COMMAND_NOTEBOOK_PAGE_CHANGED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_NOTEBOOK_PAGE_CHANGING)+#endif++// from power.h+#ifdef wxHAS_POWER_EVENTS+MAKE_EVENT_WRAPPER(EVT_POWER_SUSPENDING)+MAKE_EVENT_WRAPPER(EVT_POWER_SUSPENDED)+MAKE_EVENT_WRAPPER(EVT_POWER_SUSPEND_CANCEL)+MAKE_EVENT_WRAPPER(EVT_POWER_RESUME)+#else+MAKE_UNDEFEVENT_WRAPPER(EVT_POWER_SUSPENDING)+MAKE_UNDEFEVENT_WRAPPER(EVT_POWER_SUSPENDED)+MAKE_UNDEFEVENT_WRAPPER(EVT_POWER_SUSPEND_CANCEL)+MAKE_UNDEFEVENT_WRAPPER(EVT_POWER_RESUME)+#endif++// from process.h+MAKE_EVENT_WRAPPER(EVT_END_PROCESS)++// from propgrid/propgrid.h+#if wxUSE_PROPGRID+ MAKE_EVENT_WRAPPER(EVT_PG_SELECTED)+ MAKE_EVENT_WRAPPER(EVT_PG_CHANGING)+ MAKE_EVENT_WRAPPER(EVT_PG_CHANGED)+ MAKE_EVENT_WRAPPER(EVT_PG_HIGHLIGHTED)+ MAKE_EVENT_WRAPPER(EVT_PG_RIGHT_CLICK)+ MAKE_EVENT_WRAPPER(EVT_PG_PAGE_CHANGED)+ MAKE_EVENT_WRAPPER(EVT_PG_ITEM_COLLAPSED)+ MAKE_EVENT_WRAPPER(EVT_PG_ITEM_EXPANDED)+ MAKE_EVENT_WRAPPER(EVT_PG_DOUBLE_CLICK)+#else+ MAKE_UNDEFEVENT_WRAPPER(EVT_PG_SELECTED)+ MAKE_UNDEFEVENT_WRAPPER(EVT_PG_CHANGING)+ MAKE_UNDEFEVENT_WRAPPER(EVT_PG_CHANGED)+ MAKE_UNDEFEVENT_WRAPPER(EVT_PG_HIGHLIGHTED)+ MAKE_UNDEFEVENT_WRAPPER(EVT_PG_RIGHT_CLICK)+ MAKE_UNDEFEVENT_WRAPPER(EVT_PG_PAGE_CHANGED)+ MAKE_UNDEFEVENT_WRAPPER(EVT_PG_ITEM_COLLAPSED)+ MAKE_UNDEFEVENT_WRAPPER(EVT_PG_ITEM_EXPANDED)+ MAKE_UNDEFEVENT_WRAPPER(EVT_PG_DOUBLE_CLICK)+#endif++// from ribbon/bar.h+#if wxUSE_RIBBON+MAKE_EVENT_WRAPPER(EVT_COMMAND_RIBBONBAR_PAGE_CHANGED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_RIBBONBAR_PAGE_CHANGING)+MAKE_EVENT_WRAPPER(EVT_COMMAND_RIBBONBAR_TAB_MIDDLE_DOWN)+MAKE_EVENT_WRAPPER(EVT_COMMAND_RIBBONBAR_TAB_MIDDLE_UP)+MAKE_EVENT_WRAPPER(EVT_COMMAND_RIBBONBAR_TAB_RIGHT_DOWN)+MAKE_EVENT_WRAPPER(EVT_COMMAND_RIBBONBAR_TAB_RIGHT_UP)++// from ribbon/buttonbar.h+MAKE_EVENT_WRAPPER(EVT_COMMAND_RIBBONBUTTON_CLICKED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_RIBBONBUTTON_DROPDOWN_CLICKED)++// from ribbon/gallery.h+MAKE_EVENT_WRAPPER(EVT_COMMAND_RIBBONGALLERY_HOVER_CHANGED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_RIBBONGALLERY_SELECTED)++// from ribbon/toolbar.h+MAKE_EVENT_WRAPPER(EVT_COMMAND_RIBBONTOOL_CLICKED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_RIBBONTOOL_DROPDOWN_CLICKED)+#else+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_RIBBONBAR_PAGE_CHANGED)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_RIBBONBAR_PAGE_CHANGING)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_RIBBONBAR_TAB_MIDDLE_DOWN)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_RIBBONBAR_TAB_MIDDLE_UP)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_RIBBONBAR_TAB_RIGHT_DOWN)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_RIBBONBAR_TAB_RIGHT_UP)++// from ribbon/buttonbar.h+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_RIBBONBUTTON_CLICKED)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_RIBBONBUTTON_DROPDOWN_CLICKED)++// from ribbon/gallery.h+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_RIBBONGALLERY_HOVER_CHANGED)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_RIBBONGALLERY_SELECTED)++// from ribbon/toolbar.h+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_RIBBONTOOL_CLICKED)+MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_RIBBONTOOL_DROPDOWN_CLICKED)+#endif++// from richtext/richtextctrl.h+#if wxUSE_RICHTEXT+MAKE_EVENT_WRAPPER(EVT_COMMAND_RICHTEXT_LEFT_CLICK)+MAKE_EVENT_WRAPPER(EVT_COMMAND_RICHTEXT_RIGHT_CLICK)+MAKE_EVENT_WRAPPER(EVT_COMMAND_RICHTEXT_MIDDLE_CLICK)+MAKE_EVENT_WRAPPER(EVT_COMMAND_RICHTEXT_LEFT_DCLICK)+MAKE_EVENT_WRAPPER(EVT_COMMAND_RICHTEXT_RETURN)+MAKE_EVENT_WRAPPER(EVT_COMMAND_RICHTEXT_CHARACTER)+MAKE_EVENT_WRAPPER(EVT_COMMAND_RICHTEXT_DELETE)+MAKE_EVENT_WRAPPER(EVT_COMMAND_RICHTEXT_STYLESHEET_CHANGING)+MAKE_EVENT_WRAPPER(EVT_COMMAND_RICHTEXT_STYLESHEET_CHANGED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_RICHTEXT_STYLESHEET_REPLACING)+MAKE_EVENT_WRAPPER(EVT_COMMAND_RICHTEXT_STYLESHEET_REPLACED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_RICHTEXT_CONTENT_INSERTED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_RICHTEXT_CONTENT_DELETED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_RICHTEXT_STYLE_CHANGED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_RICHTEXT_SELECTION_CHANGED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_RICHTEXT_BUFFER_RESET)+#endif++// from socket.h+#if wxUSE_SOCKETS+MAKE_EVENT_WRAPPER(EVT_SOCKET)+#endif++// from spinctrl.h+#if wxUSE_SPINCTRL+MAKE_EVENT_WRAPPER(EVT_COMMAND_SPINCTRL_UPDATED)+# if (wxVERSION_NUMBER >= 2900)+ MAKE_EVENT_WRAPPER(EVT_COMMAND_SPINCTRLDOUBLE_UPDATED)+# else+ MAKE_UNDEFEVENT_WRAPPER(EVT_COMMAND_SPINCTRLDOUBLE_UPDATED)+# endif+#endif++// from splitter.h+MAKE_EVENT_WRAPPER(EVT_COMMAND_SPLITTER_SASH_POS_CHANGED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_SPLITTER_SASH_POS_CHANGING)+MAKE_EVENT_WRAPPER(EVT_COMMAND_SPLITTER_DOUBLECLICKED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_SPLITTER_UNSPLIT)++// from srchctrl.h+#if wxUSE_SEARCHCTRL+MAKE_EVENT_WRAPPER(EVT_COMMAND_SEARCHCTRL_CANCEL_BTN)+MAKE_EVENT_WRAPPER(EVT_COMMAND_SEARCHCTRL_SEARCH_BTN)+#endif++// from textctrl.h+#if wxUSE_TEXTCTRL+MAKE_EVENT_WRAPPER(EVT_COMMAND_TEXT_UPDATED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TEXT_ENTER)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TEXT_URL)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TEXT_MAXLEN)+#endif++// from tglbtn.h+#if wxUSE_TOGGLEBTN+MAKE_EVENT_WRAPPER(EVT_COMMAND_TOGGLEBUTTON_CLICKED)+#endif++// from timer.h+#if wxUSE_TIMER+MAKE_EVENT_WRAPPER(EVT_TIMER)+#endif++// from toolbook.h+#if wxUSE_TOOLBOOK+MAKE_EVENT_WRAPPER(EVT_COMMAND_TOOLBOOK_PAGE_CHANGED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TOOLBOOK_PAGE_CHANGING)+#endif++// from treebase.h+#if wxUSE_TREECTRL+MAKE_EVENT_WRAPPER(EVT_COMMAND_TREE_BEGIN_DRAG)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TREE_BEGIN_RDRAG)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TREE_BEGIN_LABEL_EDIT)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TREE_END_LABEL_EDIT)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TREE_DELETE_ITEM)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TREE_GET_INFO)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TREE_SET_INFO)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TREE_ITEM_EXPANDED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TREE_ITEM_EXPANDING)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TREE_ITEM_COLLAPSED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TREE_ITEM_COLLAPSING)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TREE_SEL_CHANGED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TREE_SEL_CHANGING)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TREE_KEY_DOWN)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TREE_ITEM_ACTIVATED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TREE_ITEM_RIGHT_CLICK)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TREE_ITEM_MIDDLE_CLICK)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TREE_END_DRAG)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TREE_STATE_IMAGE_CLICK)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TREE_ITEM_GETTOOLTIP)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TREE_ITEM_MENU)+#endif++// from treebook.h+#if wxUSE_TREEBOOK+MAKE_EVENT_WRAPPER(EVT_COMMAND_TREEBOOK_PAGE_CHANGED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TREEBOOK_PAGE_CHANGING)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TREEBOOK_NODE_COLLAPSED)+MAKE_EVENT_WRAPPER(EVT_COMMAND_TREEBOOK_NODE_EXPANDED)+#endif++// from wizard.h+#if wxUSE_WIZARDDLG+MAKE_EVENT_WRAPPER(EVT_WIZARD_PAGE_CHANGED)+MAKE_EVENT_WRAPPER(EVT_WIZARD_PAGE_CHANGING)+MAKE_EVENT_WRAPPER(EVT_WIZARD_CANCEL)+MAKE_EVENT_WRAPPER(EVT_WIZARD_HELP)+MAKE_EVENT_WRAPPER(EVT_WIZARD_FINISHED)+MAKE_EVENT_WRAPPER(EVT_WIZARD_PAGE_SHOWN)+#endif++////////////////////////////////////////////////////////////////////////////////+// Keypress wrappers+////////////////////////////////////////////////////////////////////////////////++#define MAKE_KEYPRESS_WRAPPER(key) EWXWEXPORT(int,exp##key)() { return (int)WX##key; }++MAKE_KEYPRESS_WRAPPER(K_BACK)+MAKE_KEYPRESS_WRAPPER(K_TAB)+MAKE_KEYPRESS_WRAPPER(K_RETURN)+MAKE_KEYPRESS_WRAPPER(K_ESCAPE)+MAKE_KEYPRESS_WRAPPER(K_SPACE)+MAKE_KEYPRESS_WRAPPER(K_DELETE)+MAKE_KEYPRESS_WRAPPER(K_START)+MAKE_KEYPRESS_WRAPPER(K_LBUTTON)+MAKE_KEYPRESS_WRAPPER(K_RBUTTON)+MAKE_KEYPRESS_WRAPPER(K_CANCEL)+MAKE_KEYPRESS_WRAPPER(K_MBUTTON)+MAKE_KEYPRESS_WRAPPER(K_CLEAR)+MAKE_KEYPRESS_WRAPPER(K_SHIFT)+MAKE_KEYPRESS_WRAPPER(K_ALT)+MAKE_KEYPRESS_WRAPPER(K_CONTROL)+MAKE_KEYPRESS_WRAPPER(K_MENU)+MAKE_KEYPRESS_WRAPPER(K_PAUSE)+MAKE_KEYPRESS_WRAPPER(K_CAPITAL)+MAKE_KEYPRESS_WRAPPER(K_END)+MAKE_KEYPRESS_WRAPPER(K_HOME)+MAKE_KEYPRESS_WRAPPER(K_LEFT)+MAKE_KEYPRESS_WRAPPER(K_UP)+MAKE_KEYPRESS_WRAPPER(K_RIGHT)+MAKE_KEYPRESS_WRAPPER(K_DOWN)+MAKE_KEYPRESS_WRAPPER(K_SELECT)+MAKE_KEYPRESS_WRAPPER(K_PRINT)+MAKE_KEYPRESS_WRAPPER(K_EXECUTE)+MAKE_KEYPRESS_WRAPPER(K_SNAPSHOT)+MAKE_KEYPRESS_WRAPPER(K_INSERT)+MAKE_KEYPRESS_WRAPPER(K_HELP)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD0)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD1)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD2)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD3)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD4)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD5)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD6)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD7)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD8)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD9)+MAKE_KEYPRESS_WRAPPER(K_MULTIPLY)+MAKE_KEYPRESS_WRAPPER(K_ADD)+MAKE_KEYPRESS_WRAPPER(K_SEPARATOR)+MAKE_KEYPRESS_WRAPPER(K_SUBTRACT)+MAKE_KEYPRESS_WRAPPER(K_DECIMAL)+MAKE_KEYPRESS_WRAPPER(K_DIVIDE)+MAKE_KEYPRESS_WRAPPER(K_F1)+MAKE_KEYPRESS_WRAPPER(K_F2)+MAKE_KEYPRESS_WRAPPER(K_F3)+MAKE_KEYPRESS_WRAPPER(K_F4)+MAKE_KEYPRESS_WRAPPER(K_F5)+MAKE_KEYPRESS_WRAPPER(K_F6)+MAKE_KEYPRESS_WRAPPER(K_F7)+MAKE_KEYPRESS_WRAPPER(K_F8)+MAKE_KEYPRESS_WRAPPER(K_F9)+MAKE_KEYPRESS_WRAPPER(K_F10)+MAKE_KEYPRESS_WRAPPER(K_F11)+MAKE_KEYPRESS_WRAPPER(K_F12)+MAKE_KEYPRESS_WRAPPER(K_F13)+MAKE_KEYPRESS_WRAPPER(K_F14)+MAKE_KEYPRESS_WRAPPER(K_F15)+MAKE_KEYPRESS_WRAPPER(K_F16)+MAKE_KEYPRESS_WRAPPER(K_F17)+MAKE_KEYPRESS_WRAPPER(K_F18)+MAKE_KEYPRESS_WRAPPER(K_F19)+MAKE_KEYPRESS_WRAPPER(K_F20)+MAKE_KEYPRESS_WRAPPER(K_F21)+MAKE_KEYPRESS_WRAPPER(K_F22)+MAKE_KEYPRESS_WRAPPER(K_F23)+MAKE_KEYPRESS_WRAPPER(K_F24)+MAKE_KEYPRESS_WRAPPER(K_NUMLOCK)+MAKE_KEYPRESS_WRAPPER(K_SCROLL)+MAKE_KEYPRESS_WRAPPER(K_PAGEUP)+MAKE_KEYPRESS_WRAPPER(K_PAGEDOWN)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD_SPACE)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD_TAB)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD_ENTER)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD_F1)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD_F2)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD_F3)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD_F4)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD_HOME)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD_LEFT)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD_UP)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD_RIGHT)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD_DOWN)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD_PAGEUP)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD_PAGEDOWN)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD_END)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD_BEGIN)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD_INSERT)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD_DELETE)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD_EQUAL)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD_MULTIPLY)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD_ADD)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD_SEPARATOR)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD_SUBTRACT)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD_DECIMAL)+MAKE_KEYPRESS_WRAPPER(K_NUMPAD_DIVIDE)+MAKE_KEYPRESS_WRAPPER(K_WINDOWS_LEFT)+MAKE_KEYPRESS_WRAPPER(K_WINDOWS_RIGHT)+MAKE_KEYPRESS_WRAPPER(K_WINDOWS_MENU)+MAKE_KEYPRESS_WRAPPER(K_COMMAND)+MAKE_KEYPRESS_WRAPPER(K_SPECIAL1)+MAKE_KEYPRESS_WRAPPER(K_SPECIAL2)+MAKE_KEYPRESS_WRAPPER(K_SPECIAL3)+MAKE_KEYPRESS_WRAPPER(K_SPECIAL4)+MAKE_KEYPRESS_WRAPPER(K_SPECIAL5)+MAKE_KEYPRESS_WRAPPER(K_SPECIAL6)+MAKE_KEYPRESS_WRAPPER(K_SPECIAL7)+MAKE_KEYPRESS_WRAPPER(K_SPECIAL8)+MAKE_KEYPRESS_WRAPPER(K_SPECIAL9)+MAKE_KEYPRESS_WRAPPER(K_SPECIAL10)+MAKE_KEYPRESS_WRAPPER(K_SPECIAL11)+MAKE_KEYPRESS_WRAPPER(K_SPECIAL12)+MAKE_KEYPRESS_WRAPPER(K_SPECIAL13)+MAKE_KEYPRESS_WRAPPER(K_SPECIAL14)+MAKE_KEYPRESS_WRAPPER(K_SPECIAL15)+MAKE_KEYPRESS_WRAPPER(K_SPECIAL16)+MAKE_KEYPRESS_WRAPPER(K_SPECIAL17)+MAKE_KEYPRESS_WRAPPER(K_SPECIAL18)+MAKE_KEYPRESS_WRAPPER(K_SPECIAL19)+MAKE_KEYPRESS_WRAPPER(K_SPECIAL20)+}
+ src/cpp/eljfiledialog.cpp view
@@ -0,0 +1,121 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*, wxFileDialog_Create) (wxWindow* _prt,wxString* _msg,wxString* _dir,wxString* _fle,wxString* _wcd, int _lft, int _top, int _stl)
+{
+	return (void*) new wxFileDialog (_prt,*_msg,*_dir,*_fle,*_wcd, _stl, wxPoint(_lft, _top));
+}
+
+EWXWEXPORT(void,wxFileDialog_SetMessage)(void* _obj,wxString* message)
+{
+	((wxFileDialog*)_obj)->SetMessage(*message);
+}
+	
+EWXWEXPORT(void,wxFileDialog_SetPath)(void* _obj,wxString* path)
+{
+	((wxFileDialog*)_obj)->SetPath(*path);
+}
+	
+EWXWEXPORT(void,wxFileDialog_SetDirectory)(void* _obj,wxString* dir)
+{
+	((wxFileDialog*)_obj)->SetDirectory(*dir);
+}
+	
+EWXWEXPORT(void,wxFileDialog_SetFilename)(void* _obj,wxString* name)
+{
+	((wxFileDialog*)_obj)->SetFilename(*name);
+}
+	
+EWXWEXPORT(void,wxFileDialog_SetWildcard)(void* _obj,wxString* wildCard)
+{
+	((wxFileDialog*)_obj)->SetWildcard(*wildCard);
+}
+	
+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)
+{
+	((wxFileDialog*)_obj)->SetFilterIndex(filterIndex);
+}
+	
+EWXWEXPORT(wxString*,wxFileDialog_GetMessage)(void* _obj)
+{
+	wxString *result = new wxString();
+	*result = ((wxFileDialog*)_obj)->GetMessage();
+	return result;
+}
+	
+EWXWEXPORT(wxString*,wxFileDialog_GetPath)(void* _obj)
+{
+	wxString *result = new wxString();
+	*result = ((wxFileDialog*)_obj)->GetPath();
+	return result;
+}
+	
+EWXWEXPORT(int,wxFileDialog_GetPaths)(void* _obj,void* paths)
+{
+	wxArrayString arr;
+	((wxFileDialog*)_obj)->GetPaths(arr);
+	if (paths)
+	{
+		for (unsigned int i = 0; i < arr.GetCount(); i++)
+		    ((const wxChar**)paths)[i] = wxStrdup (arr.Item(i).wchar_str());
+	}
+	return arr.GetCount();
+}
+	
+EWXWEXPORT(wxString*,wxFileDialog_GetDirectory)(void* _obj)
+{
+	wxString *result = new wxString();
+	*result = ((wxFileDialog*)_obj)->GetDirectory();
+	return result;
+}
+	
+EWXWEXPORT(wxString*,wxFileDialog_GetFilename)(void* _obj)
+{
+	wxString *result = new wxString();
+	*result = ((wxFileDialog*)_obj)->GetFilename();
+	return result;
+}
+	
+EWXWEXPORT(int,wxFileDialog_GetFilenames)(void* _obj,void* paths)
+{
+	wxArrayString arr;
+	((wxFileDialog*)_obj)->GetFilenames(arr);
+	if (paths)
+	{
+		for (unsigned int i = 0; i < arr.GetCount(); i++)
+			((const wxChar**)paths)[i] = wxStrdup (arr.Item(i).wchar_str());
+	}
+	return arr.GetCount();
+}
+	
+EWXWEXPORT(wxString*,wxFileDialog_GetWildcard)(void* _obj)
+{
+	wxString *result = new wxString();
+	*result = ((wxFileDialog*)_obj)->GetWildcard();
+	return result;
+}
+	
+EWXWEXPORT(int,wxFileDialog_GetStyle)(void* _obj)
+{
+#if WXWIN_COMPATIBILITY_2_6
+	return (int)((wxFileDialog*)_obj)->GetStyle();
+#else
+	return 0;
+#endif
+}
+	
+EWXWEXPORT(int,wxFileDialog_GetFilterIndex)(void* _obj)
+{
+	return ((wxFileDialog*)_obj)->GetFilterIndex();
+}
+	
+}
+ src/cpp/eljfilehist.cpp view
@@ -0,0 +1,94 @@+#include "wrapper.h"
+#include "wx/docview.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxFileHistory_Create)(int maxFiles)
+{
+	return (void*)new wxFileHistory(maxFiles);
+}
+	
+EWXWEXPORT(void,wxFileHistory_Delete)(void* _obj)
+{
+	delete (wxFileHistory*)_obj;
+}
+	
+EWXWEXPORT(void,wxFileHistory_AddFileToHistory)(void* _obj,wxString* file)
+{
+	((wxFileHistory*)_obj)->AddFileToHistory(*file);
+}
+	
+EWXWEXPORT(void,wxFileHistory_RemoveFileFromHistory)(void* _obj,int i)
+{
+	((wxFileHistory*)_obj)->RemoveFileFromHistory(i);
+}
+	
+EWXWEXPORT(int,wxFileHistory_GetMaxFiles)(void* _obj)
+{
+	return ((wxFileHistory*)_obj)->GetMaxFiles();
+}
+	
+EWXWEXPORT(void,wxFileHistory_UseMenu)(void* _obj,void* menu)
+{
+	((wxFileHistory*)_obj)->UseMenu((wxMenu*)menu);
+}
+	
+EWXWEXPORT(void,wxFileHistory_RemoveMenu)(void* _obj,void* menu)
+{
+	((wxFileHistory*)_obj)->RemoveMenu((wxMenu*)menu);
+}
+	
+EWXWEXPORT(void,wxFileHistory_Load)(void* _obj,void* config)
+{
+	((wxFileHistory*)_obj)->Load(*((wxConfigBase*)config));
+}
+	
+EWXWEXPORT(void,wxFileHistory_Save)(void* _obj,void* config)
+{
+	((wxFileHistory*)_obj)->Save(*((wxConfigBase*)config));
+}
+	
+EWXWEXPORT(void,wxFileHistory_AddFilesToMenu)(void* _obj,void* menu)
+{
+	if (menu)
+		((wxFileHistory*)_obj)->AddFilesToMenu((wxMenu*)menu);
+	else
+		((wxFileHistory*)_obj)->AddFilesToMenu();
+}
+	
+EWXWEXPORT(wxString*,wxFileHistory_GetHistoryFile)(void* _obj,int i)
+{
+  wxString *result = new wxString();
+  *result = ((wxFileHistory*)_obj)->GetHistoryFile(i);
+  return result;
+}
+	
+EWXWEXPORT(int,wxFileHistory_GetCount)(void* _obj)
+{
+#if (wxVERSION_NUMBER <= 2600)
+	return ((wxFileHistory*)_obj)->GetNoHistoryFiles();
+#else
+	return ((wxFileHistory*)_obj)->GetCount();
+#endif
+}
+	
+EWXWEXPORT(int,wxFileHistory_GetMenus)(void* _obj, void* _ref)
+{
+	wxList lst = ((wxFileHistory*)_obj)->GetMenus();
+	if (_ref)
+	{
+		int i = 0;
+		wxList::compatibility_iterator node = lst.GetFirst();
+		while (node)
+		{
+			((void**)_ref)[i] = node->GetData();
+			node = node->GetNext();
+			++i;
+		}
+	}
+	
+	return lst.GetCount();
+}
+	
+}
+ src/cpp/eljfindrepldlg.cpp view
@@ -0,0 +1,118 @@+/*==============================================================================
+ * eljfindrepdlg.cpp
+ *
+ * C wrapper for wxFindReplaceData
+ *
+ * (C) 2002-2011 wxEiffel and wxHaskell contributors. See contributors.txt
+ * 
+ *==============================================================================*/
+
+#include "wrapper.h"
+#if wxVERSION_NUMBER >= 2400
+#include "wx/fdrepdlg.h"
+
+extern "C"
+{
+
+////////////////////////////////////////////////////////////////////////////////
+// Event Handlers
+////////////////////////////////////////////////////////////////////////////////
+
+#pragma message "wxWidgets find/replace dialog event wrappers generated"
+MAKE_EVENT_WRAPPER(EVT_COMMAND_FIND)
+MAKE_EVENT_WRAPPER(EVT_COMMAND_FIND_NEXT)
+MAKE_EVENT_WRAPPER(EVT_COMMAND_FIND_REPLACE)
+MAKE_EVENT_WRAPPER(EVT_COMMAND_FIND_REPLACE_ALL)
+MAKE_EVENT_WRAPPER(EVT_COMMAND_FIND_CLOSE)
+
+////////////////////////////////////////////////////////////////////////////////
+// Wrappers
+////////////////////////////////////////////////////////////////////////////////
+
+EWXWEXPORT(void*,wxFindReplaceData_CreateDefault)()
+{
+	return (void*)new wxFindReplaceData();
+}
+	
+EWXWEXPORT(void*,wxFindReplaceData_Create)(int flags)
+{
+	return (void*)new wxFindReplaceData((wxUint32)flags);
+}
+
+EWXWEXPORT(void,wxFindReplaceData_Delete)(void* _obj)
+{
+	delete (wxFindReplaceData*)_obj;
+}
+	
+EWXWEXPORT(wxString*,wxFindReplaceData_GetFindString)(void* _obj)
+{
+	wxString *result = new wxString();
+	*result = ((wxFindReplaceData*)_obj)->GetFindString();
+	return result;
+}
+	
+EWXWEXPORT(wxString*,wxFindReplaceData_GetReplaceString)(void* _obj)
+{
+	wxString *result = new wxString();
+	*result = ((wxFindReplaceData*)_obj)->GetReplaceString();
+	return result;
+}
+	
+EWXWEXPORT(int,wxFindReplaceData_GetFlags)(void* _obj)
+{
+	return ((wxFindReplaceData*)_obj)->GetFlags();
+}
+	
+EWXWEXPORT(void,wxFindReplaceData_SetFlags)(void* _obj,int flags)
+{
+	((wxFindReplaceData*)_obj)->SetFlags((wxUint32)flags);
+}
+	
+EWXWEXPORT(void,wxFindReplaceData_SetFindString)(void* _obj,wxString* str)
+{
+	((wxFindReplaceData*)_obj)->SetFindString(*str);
+}
+	
+EWXWEXPORT(void,wxFindReplaceData_SetReplaceString)(void* _obj,wxString* str)
+{
+	((wxFindReplaceData*)_obj)->SetReplaceString(*str);
+}
+	
+
+EWXWEXPORT(int,wxFindDialogEvent_GetFlags)(void* _obj)
+{
+	return ((wxFindDialogEvent*)_obj)->GetFlags();
+}
+	
+EWXWEXPORT(wxString*,wxFindDialogEvent_GetFindString)(void* _obj)
+{
+	wxString *result = new wxString();
+	*result = ((wxFindReplaceData*)_obj)->GetFindString();
+	return result;
+}
+	
+EWXWEXPORT(wxString*,wxFindDialogEvent_GetReplaceString)(void* _obj)
+{
+	wxString *result = new wxString();
+	*result = ((wxFindReplaceData*)_obj)->GetFindString();
+	return result;
+}
+	
+
+EWXWEXPORT(void*,wxFindReplaceDialog_Create)(wxWindow* parent,void* data,wxString* title,int style)
+{
+	return (void*)new wxFindReplaceDialog(parent, (wxFindReplaceData*)data, *title, style);
+}
+	
+EWXWEXPORT(void*,wxFindReplaceDialog_GetData)(void* _obj)
+{
+	return (void*)((wxFindReplaceDialog*)_obj)->GetData();
+}
+	
+EWXWEXPORT(void,wxFindReplaceDialog_SetData)(void* _obj,void* data)
+{
+	((wxFindReplaceDialog*)_obj)->SetData((wxFindReplaceData*)data);
+}
+	
+}
+#endif
+ src/cpp/eljfont.cpp view
@@ -0,0 +1,258 @@+#include "wrapper.h"
+#include "wx/fontenum.h"
+#include "wx/fontmap.h"
+#include "wx/encconv.h"
+
+extern "C"
+{
+
+typedef int _cdecl (*TTextEnum) (void* self, void* _txt);
+
+}
+
+class ELJFontEnumerator : public wxFontEnumerator
+{
+	private:
+		TTextEnum func;
+		void*     EiffelObject;
+	public:
+		ELJFontEnumerator (void* self, void* _fnc) : wxFontEnumerator()
+		{
+			func = (TTextEnum)_fnc;
+			EiffelObject = self;
+		}
+		
+	    virtual bool OnFacename(const wxString& facename)
+        { 
+			return func(EiffelObject, (void*)facename.wchar_str()) != 0;
+		}
+		virtual bool OnFontEncoding(const wxString& WXUNUSED(facename), const wxString& encoding)
+        {
+			return func(EiffelObject, (void*)encoding.wchar_str()) != 0;
+		}
+
+};
+
+extern "C"
+{
+
+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,*face, (wxFontEncoding)enc);
+}
+
+EWXWEXPORT(wxFont*,wxFont_CreateDefault)()
+{
+	return new wxFont ();
+}
+
+EWXWEXPORT(void*,wxFont_CreateFromStock)(int id)
+{
+	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(void,wxFont_Delete)(wxFont* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(bool,wxFont_IsOk)(wxFont* self)
+{
+	return self->IsOk();
+}
+	
+EWXWEXPORT(int,wxFont_GetPointSize)(wxFont* self)
+{
+	return self->GetPointSize();
+}
+	
+EWXWEXPORT(int,wxFont_GetFamily)(wxFont* self)
+{
+	return self->GetFamily();
+}
+	
+EWXWEXPORT(int,wxFont_GetStyle)(wxFont* self)
+{
+	return self->GetStyle();
+}
+	
+EWXWEXPORT(int,wxFont_GetWeight)(wxFont* self)
+{
+	return self->GetWeight();
+}
+	
+EWXWEXPORT(bool,wxFont_GetUnderlined)(wxFont* self)
+{
+	return self->GetUnderlined();
+}
+	
+EWXWEXPORT(wxString*,wxFont_GetFaceName)(wxFont* self)
+{
+	wxString *result = new wxString();
+	*result = self->GetFaceName();
+	return result;
+}
+	
+EWXWEXPORT(int,wxFont_GetEncoding)(wxFont* self)
+{
+	return (int)self->GetEncoding();
+}
+	
+EWXWEXPORT(void,wxFont_SetPointSize)(wxFont* self,int pointSize)
+{
+	self->SetPointSize(pointSize);
+}
+	
+EWXWEXPORT(void,wxFont_SetFamily)(wxFont* self,int family)
+{
+	self->SetFamily(family);
+}
+	
+EWXWEXPORT(void,wxFont_SetStyle)(wxFont* self,int style)
+{
+	self->SetStyle(style);
+}
+	
+EWXWEXPORT(void,wxFont_SetWeight)(wxFont* self,int weight)
+{
+	self->SetWeight(weight);
+}
+	
+EWXWEXPORT(void,wxFont_SetFaceName)(wxFont* self,wxString* faceName)
+{
+	self->SetFaceName(*faceName);
+}
+	
+EWXWEXPORT(void,wxFont_SetUnderlined)(wxFont* self,bool underlined)
+{
+	self->SetUnderlined(underlined);
+}
+	
+EWXWEXPORT(void,wxFont_SetEncoding)(wxFont* self,int encoding)
+{
+	self->SetEncoding((wxFontEncoding)encoding);
+}
+	
+EWXWEXPORT(wxString*,wxFont_GetFamilyString)(wxFont* self)
+{
+	wxString *result = new wxString();
+	*result = self->GetFamilyString();
+	return result;
+}
+	
+EWXWEXPORT(wxString*,wxFont_GetStyleString)(wxFont* self)
+{
+	wxString *result = new wxString();
+	*result = self->GetStyleString();
+	return result;
+}
+	
+EWXWEXPORT(wxString*,wxFont_GetWeightString)(wxFont* self)
+{
+	wxString *result = new wxString();
+	*result = self->GetWeightString();
+	return result;
+}
+	
+EWXWEXPORT(int,wxFont_GetDefaultEncoding)(wxFont* self)
+{
+	return (int)self->GetDefaultEncoding();
+}
+	
+EWXWEXPORT(void,wxFont_SetDefaultEncoding)(wxFont* self,int encoding)
+{
+	self->SetDefaultEncoding((wxFontEncoding) encoding);
+}
+	
+
+EWXWEXPORT(void*,wxFontEnumerator_Create)(void* self,void* _fnc)
+{
+	return (void*)new ELJFontEnumerator(self, _fnc);
+}
+
+EWXWEXPORT(void,wxFontEnumerator_Delete)(ELJFontEnumerator* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(bool,wxFontEnumerator_EnumerateFacenames)(ELJFontEnumerator* self,int encoding,bool fixedWidthOnly)
+{
+	return self->EnumerateFacenames((wxFontEncoding)encoding, fixedWidthOnly);
+}
+	
+EWXWEXPORT(bool,wxFontEnumerator_EnumerateEncodings)(ELJFontEnumerator* self,wxString* facename)
+{
+	return self->EnumerateEncodings(*facename);
+}
+	
+
+EWXWEXPORT(void*,wxFontMapper_Create)()
+{
+	return wxTheFontMapper;
+}
+
+EWXWEXPORT(bool,wxFontMapper_GetAltForEncoding)(wxFontMapper* self,int encoding,void* alt_encoding,wxString* facename)
+{
+	return self->GetAltForEncoding((wxFontEncoding)encoding, (wxFontEncoding*)alt_encoding,*facename, false);
+}
+	
+EWXWEXPORT(bool,wxFontMapper_IsEncodingAvailable)(wxFontMapper* self,int encoding,wxString* _buf)
+{
+	return self->IsEncodingAvailable((wxFontEncoding)encoding,*_buf);
+}
+	
+
+EWXWEXPORT(void*,wxEncodingConverter_Create)()
+{
+	return (void*)new wxEncodingConverter();
+}
+
+EWXWEXPORT(void,wxEncodingConverter_Delete)(void* self)
+{
+	delete (wxEncodingConverter*)self;
+}
+
+EWXWEXPORT(bool,wxEncodingConverter_Init)(wxEncodingConverter* self,int input_enc,int output_enc,int method)
+{
+	return self->Init((wxFontEncoding)input_enc, (wxFontEncoding)output_enc, method);
+}
+	
+EWXWEXPORT(void,wxEncodingConverter_Convert)(void* self,void* input,void* output)
+{
+	((wxEncodingConverter*)self)->Convert((const char*)input, (char*)output);
+}
+
+EWXWEXPORT(int,wxEncodingConverter_GetPlatformEquivalents)(void* self,int enc,int platform,void* _lst)
+{
+	wxFontEncodingArray arr = ((wxEncodingConverter*)self)->GetPlatformEquivalents((wxFontEncoding)enc, platform);
+	if (_lst)
+	{
+		for (unsigned int i = 0; i < arr.GetCount(); i++)
+			((int*)_lst)[i] = (int)arr.Item(i);
+	}
+	return (int)arr.GetCount();
+}
+
+EWXWEXPORT(int,wxEncodingConverter_GetAllEquivalents)(void* self,int enc,void* _lst)
+{
+	wxFontEncodingArray arr = ((wxEncodingConverter*)self)->GetAllEquivalents((wxFontEncoding)enc);
+	if (_lst)
+	{
+		for (unsigned int i = 0; i < arr.GetCount(); i++)
+			((int*)_lst)[i] = (int)arr.Item(i);
+	}
+	return (int)arr.GetCount();
+}
+
+}
+ src/cpp/eljfontdata.cpp view
@@ -0,0 +1,91 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxFontData_Create)()
+{
+	return (void*)new wxFontData();
+}
+
+EWXWEXPORT(void,wxFontData_Delete)(void* self)
+{
+	delete (wxFontData*)self;
+}
+
+EWXWEXPORT(void,wxFontData_SetAllowSymbols)(void* self,bool flag)
+{
+	((wxFontData*)self)->SetAllowSymbols(flag);
+}
+	
+EWXWEXPORT(bool,wxFontData_GetAllowSymbols)(wxFontData* self)
+{
+	return self->GetAllowSymbols();
+}
+	
+EWXWEXPORT(void,wxFontData_SetColour)(void* self,wxColour* colour)
+{
+	((wxFontData*)self)->SetColour(*colour);
+}
+	
+EWXWEXPORT(void,wxFontData_GetColour)(void* self,wxColour* _ref)
+{
+	*_ref = ((wxFontData*)self)->GetColour();
+}
+	
+EWXWEXPORT(void,wxFontData_SetShowHelp)(void* self,bool flag)
+{
+	((wxFontData*)self)->SetShowHelp(flag);
+}
+	
+EWXWEXPORT(bool,wxFontData_GetShowHelp)(wxFontData* self)
+{
+	return self->GetShowHelp();
+}
+	
+EWXWEXPORT(void,wxFontData_EnableEffects)(void* self,bool flag)
+{
+	((wxFontData*)self)->EnableEffects(flag);
+}
+	
+EWXWEXPORT(bool,wxFontData_GetEnableEffects)(wxFontData* self)
+{
+	return self->GetEnableEffects();
+}
+	
+EWXWEXPORT(void,wxFontData_SetInitialFont)(void* self,wxFont* font)
+{
+	((wxFontData*)self)->SetInitialFont(*font);
+}
+	
+EWXWEXPORT(void,wxFontData_GetInitialFont)(void* self,wxFont* ref)
+{
+	*ref = ((wxFontData*)self)->GetInitialFont();
+}
+	
+EWXWEXPORT(void,wxFontData_SetChosenFont)(void* self,wxFont* font)
+{
+	((wxFontData*)self)->SetChosenFont(*font);
+}
+	
+EWXWEXPORT(void,wxFontData_GetChosenFont)(void* self,wxFont* ref)
+{
+	*ref = ((wxFontData*)self)->GetChosenFont();
+}
+	
+EWXWEXPORT(void,wxFontData_SetRange)(void* self,int minRange,int maxRange)
+{
+	((wxFontData*)self)->SetRange(minRange, maxRange);
+}
+	
+EWXWEXPORT(int,wxFontData_GetEncoding)(wxFontData* self)
+{
+	return (int)self->GetEncoding();
+}
+	
+EWXWEXPORT(void,wxFontData_SetEncoding)(void* self,int encoding)
+{
+	((wxFontData*)self)->SetEncoding((wxFontEncoding)encoding);
+}
+	
+}
+ src/cpp/eljfontdlg.cpp view
@@ -0,0 +1,24 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*, wxFontDialog_Create) (void* _prt, void* fnt)
+{
+#if WXWIN_COMPATIBILITY_2_6
+  #ifdef wxMAC_USE_EXPERIMENTAL_FONTDIALOG
+	  return (void*) new wxFontDialog ((wxWindow*)_prt, (wxFontData&) fnt);
+  #else
+	  return (void*) new wxFontDialog ((wxWindow*)_prt, (wxFontData*) fnt);
+  #endif
+#else
+	return (void*) new wxFontDialog ((wxWindow*)_prt, (wxFontData&) fnt);
+#endif
+}
+
+EWXWEXPORT(void, wxFontDialog_GetFontData)(void* _obj, void* _ref)
+{
+	*((wxFontData*)_ref) = ((wxFontDialog*)_obj)->GetFontData();
+}
+
+}
+ src/cpp/eljframe.cpp view
@@ -0,0 +1,212 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(bool,wxTopLevelWindow_EnableCloseButton)(wxTopLevelWindow* self,bool enable)
+{
+  return self->EnableCloseButton(enable);
+}
+
+EWXWEXPORT(void*,wxTopLevelWindow_GetDefaultButton)(wxTopLevelWindow* self)
+{
+  return (void*)self->GetDefaultItem();
+}
+
+EWXWEXPORT(void*,wxTopLevelWindow_GetDefaultItem)(wxTopLevelWindow* self)
+{
+  return (void*)self->GetDefaultItem();
+}
+
+EWXWEXPORT(void*,wxTopLevelWindow_GetIcon)(wxTopLevelWindow* self)
+{
+  static wxIcon tmp = self->GetIcon();
+  return (void*)&tmp;
+}
+
+EWXWEXPORT(wxString*,wxTopLevelWindow_GetTitle)(wxTopLevelWindow* self)
+{
+  wxString *result = new wxString();
+  *result = self->GetTitle();
+  return result;
+}
+
+EWXWEXPORT(void,wxTopLevelWindow_Iconize)(wxTopLevelWindow* self,bool iconize)
+{
+  ((wxTopLevelWindow*)self)->Iconize(iconize);
+}
+
+EWXWEXPORT(bool,wxTopLevelWindow_IsActive)(wxTopLevelWindow* self)
+{
+  return self->IsActive();
+}
+
+EWXWEXPORT(bool,wxTopLevelWindow_IsIconized)(wxTopLevelWindow* self)
+{
+  return self->IsIconized();
+}
+
+EWXWEXPORT(bool,wxTopLevelWindow_IsMaximized)(wxTopLevelWindow* self)
+{
+  return self->IsMaximized();
+}
+
+EWXWEXPORT(void,wxTopLevelWindow_Maximize)(void* self,bool iconize)
+{
+  ((wxTopLevelWindow*)self)->Maximize(iconize);
+}
+
+EWXWEXPORT(void,wxTopLevelWindow_RequestUserAttention)(void* self,int flags)
+{
+  ((wxTopLevelWindow*)self)->RequestUserAttention(flags);
+}
+
+EWXWEXPORT(void,wxTopLevelWindow_SetDefaultButton)(void* self,void* _item)
+{
+  ((wxTopLevelWindow*)self)->SetDefaultItem((wxButton*)_item);
+}
+
+EWXWEXPORT(void,wxTopLevelWindow_SetDefaultItem)(void* self,wxWindow* _item)
+{
+  ((wxTopLevelWindow*)self)->SetDefaultItem( _item);
+}
+
+EWXWEXPORT(void,wxTopLevelWindow_SetIcon)(void* self,wxIcon* _icons)
+{
+  ((wxTopLevelWindow*)self)->SetIcon(*_icons);
+}
+
+EWXWEXPORT(void,wxTopLevelWindow_SetIcons)(void* self,void* _icons)
+{
+  ((wxTopLevelWindow*)self)->SetIcons(*((wxIconBundle*)_icons));
+}
+
+EWXWEXPORT(void,wxTopLevelWindow_SetMaxSize)(void* self,int _w,int _h)
+{
+  ((wxTopLevelWindow*)self)->SetMaxSize(wxSize(_w, _h));
+}
+           
+EWXWEXPORT(void,wxTopLevelWindow_SetMinSize)(void* self,int _w,int _h)
+{
+  ((wxTopLevelWindow*)self)->SetMinSize(wxSize(_w, _h));
+}
+
+EWXWEXPORT(void,wxTopLevelWindow_SetTitle)(void* self,wxString* _str)
+{
+  ((wxTopLevelWindow*)self)->SetTitle(*_str);
+}
+
+EWXWEXPORT(wxFrame*,wxFrame_Create)(wxWindow* _prt,int _id,wxString* _txt,int _lft,int _top,int _wdt,int _hgt,int _stl)
+{
+	return new wxFrame (_prt, _id, *_txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+}
+
+EWXWEXPORT(wxStatusBar*,wxFrame_CreateStatusBar)(wxFrame* self,int number,int style)
+{
+	return self->CreateStatusBar(number, style, 1);
+}
+	
+#if wxVERSION_NUMBER >= 2800
+EWXWEXPORT(void,wxFrame_Maximize)(wxFrame* self)
+{
+	self->Maximize();
+}
+#endif
+	
+EWXWEXPORT(void,wxFrame_Restore)(wxFrame* self)
+{
+	self->Restore();
+}
+	
+#if wxVERSION_NUMBER >= 2800
+EWXWEXPORT(void,wxFrame_Iconize)(wxFrame* self)
+{
+	self->Iconize();
+}
+	
+EWXWEXPORT(bool,wxFrame_IsMaximized)(wxFrame* self)
+{
+	return self->IsMaximized();
+}
+	
+EWXWEXPORT(bool,wxFrame_IsIconized)(wxFrame* self)
+{
+	return self->IsIconized();
+}
+	
+EWXWEXPORT(void*,wxFrame_GetIcon)(wxFrame* self)
+{
+    static wxIcon icon;
+    icon = self->GetIcon();
+    return (void*) &icon;
+}
+	
+EWXWEXPORT(void,wxFrame_SetIcon)(wxFrame* self,wxIcon* _icon)
+{
+	self->SetIcon(*_icon);
+}
+#endif
+	
+EWXWEXPORT(int,wxFrame_GetClientAreaOrigin_left)(wxFrame* self)
+{
+	return self->GetClientAreaOrigin().x;
+}
+	
+EWXWEXPORT(int,wxFrame_GetClientAreaOrigin_top)(wxFrame* self)
+{
+	return self->GetClientAreaOrigin().y;
+}
+	
+EWXWEXPORT(void,wxFrame_SetMenuBar)(wxFrame* self,wxMenuBar* menubar)
+{
+	self->SetMenuBar(menubar);
+}
+	
+EWXWEXPORT(wxMenuBar*,wxFrame_GetMenuBar)(wxFrame* self)
+{
+	return self->GetMenuBar();
+}
+	
+EWXWEXPORT(wxStatusBar*,wxFrame_GetStatusBar)(wxFrame* self)
+{
+	return self->GetStatusBar();
+}
+	
+EWXWEXPORT(void,wxFrame_SetStatusBar)(wxFrame* self,wxStatusBar* statBar)
+{
+	self->SetStatusBar(statBar);
+}
+	
+EWXWEXPORT(void,wxFrame_SetStatusText)(wxFrame* self,wxString* _txt,int _number)
+{
+	self->SetStatusText(*_txt, _number);
+}
+	
+EWXWEXPORT(void,wxFrame_SetStatusWidths)(wxFrame* self,int _n,void* _widths_field)
+{
+	self->SetStatusWidths(_n, (int*)_widths_field);
+}
+	
+EWXWEXPORT(void*,wxFrame_CreateToolBar)(wxFrame* self,long style)
+{
+	return (void*)self->CreateToolBar(style, 1);
+}
+	
+EWXWEXPORT(void*,wxFrame_GetToolBar)(wxFrame* self)
+{
+	return (void*)self->GetToolBar();
+}
+	
+EWXWEXPORT(void,wxFrame_SetToolBar)(wxFrame* self,wxToolBar* _toolbar)
+{
+	self->SetToolBar(_toolbar);
+}
+
+#if wxVERSION_NUMBER >= 2400 && wxVERSION_NUMBER < 2800
+EWXWEXPORT(void,wxFrame_SetIcons)(wxFrame* self,void* _icons)
+{
+	self->SetIcons(*((wxIconBundle*)_icons));
+}
+#endif
+
+}
+ src/cpp/eljgauge.cpp view
@@ -0,0 +1,51 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*, wxGauge_Create) (void* _prt, int _id, int _rng, int _lft, int _top, int _wdt, int _hgt, int _stl)
+{
+	return (void*) new wxGauge ((wxWindow*)_prt, _id, _rng, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+}
+
+EWXWEXPORT(void, wxGauge_SetShadowWidth)(void* _obj, int w)
+{
+	((wxGauge*)_obj)->SetShadowWidth(w);
+}
+	
+EWXWEXPORT(void, wxGauge_SetBezelFace)(void* _obj, int w)
+{
+	((wxGauge*)_obj)->SetBezelFace(w);
+}
+	
+EWXWEXPORT(void, wxGauge_SetRange)(void* _obj, int r)
+{
+	((wxGauge*)_obj)->SetRange(r);
+}
+	
+EWXWEXPORT(void, wxGauge_SetValue)(void* _obj, int pos)
+{
+	((wxGauge*)_obj)->SetValue(pos);
+}
+	
+EWXWEXPORT(int, wxGauge_GetShadowWidth)(void* _obj)
+{
+	return ((wxGauge*)_obj)->GetShadowWidth();
+}
+	
+EWXWEXPORT(int, wxGauge_GetBezelFace)(void* _obj)
+{
+	return ((wxGauge*)_obj)->GetBezelFace();
+}
+	
+EWXWEXPORT(int, wxGauge_GetRange)(void* _obj)
+{
+	return ((wxGauge*)_obj)->GetRange();
+}
+	
+EWXWEXPORT(int, wxGauge_GetValue)(void* _obj)
+{
+	return ((wxGauge*)_obj)->GetValue();
+}
+	
+}
+ src/cpp/eljgrid.cpp view
@@ -0,0 +1,1366 @@+#include "wrapper.h"
+#include "eljgrid.h"
+
+extern "C"
+{
+
+EWXWEXPORT(wxGridCellCoordsArray*,wxGridCellCoordsArray_Create)()
+{
+	return new wxGridCellCoordsArray();
+}
+
+EWXWEXPORT(void,wxGridCellCoordsArray_Delete)(wxGridCellCoordsArray* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(int,wxGridCellCoordsArray_GetCount)(wxGridCellCoordsArray* self)
+{
+	return self->GetCount();
+}
+
+EWXWEXPORT(void,wxGridCellCoordsArray_Item)(wxGridCellCoordsArray* self,int _idx,int* _c,int* _r)
+{
+	*_c = self->Item(_idx).GetCol();
+	*_r = self->Item(_idx).GetRow();
+}
+
+
+EWXWEXPORT(bool,wxGridCellEditor_IsCreated)(wxGridCellEditor* self)
+{
+	return self->IsCreated();
+}
+	
+EWXWEXPORT(void*,wxGridCellEditor_GetControl)(wxGridCellEditor* self)
+{
+	return (void*)self->GetControl();
+}
+	
+EWXWEXPORT(void,wxGridCellEditor_SetControl)(wxGridCellEditor* self,wxControl* control)
+{
+	self->SetControl(control);
+}
+	
+EWXWEXPORT(void,wxGridCellEditor_Create)(wxGridCellEditor* self,wxWindow* parent,int id,wxEvtHandler* evtHandler)
+{
+	self->Create(parent, (wxWindowID) id, evtHandler);
+}
+	
+EWXWEXPORT(void,wxGridCellEditor_SetSize)(wxGridCellEditor* self,int x,int y,int w,int h)
+{
+	self->SetSize(wxRect(x, y, w, h));
+}
+	
+EWXWEXPORT(void,wxGridCellEditor_Show)(wxGridCellEditor* self,bool show,void* attr)
+{
+	self->Show(show, (wxGridCellAttr*)attr);
+}
+	
+EWXWEXPORT(void,wxGridCellEditor_PaintBackground)(wxGridCellEditor* self,int x,int y,int w,int h,void* attr)
+{
+	self->PaintBackground(wxRect(x, y, w, h), (wxGridCellAttr*)attr);
+}
+	
+EWXWEXPORT(void,wxGridCellEditor_BeginEdit)(wxGridCellEditor* self,int row,int col,void* grid)
+{
+	self->BeginEdit(row, col, (wxGrid*)grid);
+}
+
+EWXWEXPORT(bool,wxGridCellEditor_EndEdit)(wxGridCellEditor* self,int row,int col,wxGrid* grid, wxString* oldCell, wxString* newCell)
+{
+#if (wxVERSION_NUMBER < 2900)
+	return self->EndEdit(row, col,  grid);
+#else
+  return self->EndEdit(row, col, grid, *oldCell, newCell);
+#endif
+}
+
+EWXWEXPORT(void,wxGridCellEditor_Reset)(wxGridCellEditor* self)
+{
+	self->Reset();
+}
+	
+EWXWEXPORT(bool,wxGridCellEditor_IsAcceptedKey)(wxGridCellEditor* self,wxKeyEvent* event)
+{
+	return self->IsAcceptedKey(*event);
+}
+	
+EWXWEXPORT(void,wxGridCellEditor_StartingKey)(wxGridCellEditor* self,wxKeyEvent* event)
+{
+	self->StartingKey(*event);
+}
+	
+EWXWEXPORT(void,wxGridCellEditor_StartingClick)(wxGridCellEditor* self)
+{
+	self->StartingClick();
+}
+	
+EWXWEXPORT(void,wxGridCellEditor_HandleReturn)(wxGridCellEditor* self,wxKeyEvent* event)
+{
+	self->HandleReturn(*event);
+}
+	
+EWXWEXPORT(void,wxGridCellEditor_Destroy)(wxGridCellEditor* self)
+{
+	self->Destroy();
+}
+	
+EWXWEXPORT(void,wxGridCellEditor_SetParameters)(wxGridCellEditor* self,wxString* params)
+{
+	self->SetParameters(*params);
+}
+	
+EWXWEXPORT(void*,wxGridCellTextEditor_Ctor)()
+{
+	return (void*)new wxGridCellTextEditor();
+}
+
+EWXWEXPORT(void*,wxGridCellNumberEditor_Ctor)(int min,int max)
+{
+	return (void*)new wxGridCellNumberEditor(min, max);
+}
+
+EWXWEXPORT(void*,wxGridCellFloatEditor_Ctor)(int width,int precision)
+{
+	return (void*)new wxGridCellFloatEditor(width, precision);
+}
+
+EWXWEXPORT(void*,wxGridCellBoolEditor_Ctor)()
+{
+	return (void*)new wxGridCellBoolEditor();
+}
+
+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);
+}
+
+EWXWEXPORT(void*,wxGridCellAttr_Ctor)()
+{
+	return (void*)new wxGridCellAttr();
+}
+
+EWXWEXPORT(void,wxGridCellAttr_IncRef)(wxGridCellAttr* self)
+{
+	self->IncRef();
+}
+	
+EWXWEXPORT(void,wxGridCellAttr_DecRef)(wxGridCellAttr* self)
+{
+	self->DecRef();
+}
+	
+EWXWEXPORT(void,wxGridCellAttr_SetTextColour)(wxGridCellAttr* self,wxColour* colText)
+{
+	self->SetTextColour(*colText);
+}
+	
+EWXWEXPORT(void,wxGridCellAttr_SetBackgroundColour)(wxGridCellAttr* self,wxColour* colBack)
+{
+	self->SetBackgroundColour(*colBack);
+}
+	
+EWXWEXPORT(void,wxGridCellAttr_SetFont)(wxGridCellAttr* self,wxFont* font)
+{
+	self->SetFont(*font);
+}
+	
+EWXWEXPORT(void,wxGridCellAttr_SetAlignment)(wxGridCellAttr* self,int hAlign,int vAlign)
+{
+	self->SetAlignment(hAlign, vAlign);
+}
+	
+EWXWEXPORT(void,wxGridCellAttr_SetReadOnly)(wxGridCellAttr* self,bool isReadOnly)
+{
+	self->SetReadOnly(isReadOnly);
+}
+	
+EWXWEXPORT(void,wxGridCellAttr_SetRenderer)(wxGridCellAttr* self,void* renderer)
+{
+	self->SetRenderer((wxGridCellRenderer*)renderer);
+}
+	
+EWXWEXPORT(void,wxGridCellAttr_SetEditor)(wxGridCellAttr* self,wxGridCellEditor* editor)
+{
+	self->SetEditor(editor);
+}
+	
+EWXWEXPORT(bool,wxGridCellAttr_HasTextColour)(wxGridCellAttr* self)
+{
+	return self->HasTextColour();
+}
+	
+EWXWEXPORT(bool,wxGridCellAttr_HasBackgroundColour)(wxGridCellAttr* self)
+{
+	return self->HasBackgroundColour();
+}
+	
+EWXWEXPORT(bool,wxGridCellAttr_HasFont)(wxGridCellAttr* self)
+{
+	return self->HasFont();
+}
+	
+EWXWEXPORT(bool,wxGridCellAttr_HasAlignment)(wxGridCellAttr* self)
+{
+	return self->HasAlignment();
+}
+	
+EWXWEXPORT(bool,wxGridCellAttr_HasRenderer)(wxGridCellAttr* self)
+{
+	return self->HasRenderer();
+}
+	
+EWXWEXPORT(bool,wxGridCellAttr_HasEditor)(wxGridCellAttr* self)
+{
+	return self->HasEditor();
+}
+	
+EWXWEXPORT(void,wxGridCellAttr_GetTextColour)(wxGridCellAttr* self,wxColour* colour)
+{
+	*colour = self->GetTextColour();
+}
+	
+EWXWEXPORT(void,wxGridCellAttr_GetBackgroundColour)(wxGridCellAttr* self,wxColour* colour)
+{
+	*colour = self->GetBackgroundColour();
+}
+	
+EWXWEXPORT(void,wxGridCellAttr_GetFont)(wxGridCellAttr* self,wxFont* font)
+{
+	*font = self->GetFont();
+}
+	
+EWXWEXPORT(void,wxGridCellAttr_GetAlignment)(wxGridCellAttr* self,int* hAlign,int* vAlign)
+{
+	self->GetAlignment(hAlign, vAlign);
+}
+	
+EWXWEXPORT(void*,wxGridCellAttr_GetRenderer)(wxGridCellAttr* self,wxGrid* grid,int row,int col)
+{
+	return (void*)self->GetRenderer(grid, row, col);
+}
+	
+EWXWEXPORT(void*,wxGridCellAttr_GetEditor)(wxGridCellAttr* self,wxGrid* grid,int row,int col)
+{
+	return (void*)self->GetEditor(grid, row, col);
+}
+	
+EWXWEXPORT(bool,wxGridCellAttr_IsReadOnly)(wxGridCellAttr* self)
+{
+	return self->IsReadOnly();
+}
+	
+EWXWEXPORT(void,wxGridCellAttr_SetDefAttr)(wxGridCellAttr* self,wxGridCellAttr* defAttr)
+{
+	self->SetDefAttr(defAttr);
+}
+	
+EWXWEXPORT(void*,wxGrid_Create)(wxWindow* _prt,int _id,int _lft,int _top,int _wdt,int _hgt,int _stl)
+{
+	return (void*)new wxGrid (_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl | wxWANTS_CHARS);
+}
+
+EWXWEXPORT(void,wxGrid_CreateGrid)(wxGrid* self,int rows,int cols,int selmode)
+{
+	self->CreateGrid (rows, cols, (wxGrid::wxGridSelectionModes)selmode);
+}
+
+EWXWEXPORT(void,wxGrid_SetSelectionMode)(wxGrid* self,int selmode)
+{
+	self->SetSelectionMode((wxGrid::wxGridSelectionModes) selmode);
+}
+	
+EWXWEXPORT(int,wxGrid_GetNumberRows)(wxGrid* self)
+{
+	return self->GetNumberRows();
+}
+	
+EWXWEXPORT(int,wxGrid_GetNumberCols)(wxGrid* self)
+{
+	return self->GetNumberCols();
+}
+	
+EWXWEXPORT(bool,wxGrid_ProcessTableMessage)(wxGrid* self,wxGridTableMessage* evt)
+{
+	return self->ProcessTableMessage(*evt);
+}
+
+EWXWEXPORT(void*,wxGrid_GetTable)(wxGrid* self)
+{
+	return (void*)self->GetTable();
+}
+	
+EWXWEXPORT(bool,wxGrid_SetTable)(wxGrid* self,wxGridTableBase* table,bool takeOwnership,int selmode)
+{
+	return self->SetTable(table, takeOwnership , (wxGrid::wxGridSelectionModes) selmode);
+}
+	
+EWXWEXPORT(void,wxGrid_ClearGrid)(wxGrid* self)
+{
+	self->ClearGrid();
+}
+	
+EWXWEXPORT(bool,wxGrid_InsertRows)(wxGrid* self,int pos,int numRows,bool updateLabels)
+{
+	return self->InsertRows(pos, numRows, updateLabels);
+}
+	
+EWXWEXPORT(bool,wxGrid_AppendRows)(wxGrid* self,int numRows,bool updateLabels)
+{
+	return self->AppendRows(numRows, updateLabels);
+}
+	
+EWXWEXPORT(bool,wxGrid_DeleteRows)(wxGrid* self,int pos,int numRows,bool updateLabels)
+{
+	return self->DeleteRows(pos, numRows, updateLabels);
+}
+	
+EWXWEXPORT(bool,wxGrid_InsertCols)(wxGrid* self,int pos,int numCols,bool updateLabels)
+{
+	return self->InsertCols(pos, numCols, updateLabels);
+}
+	
+EWXWEXPORT(bool,wxGrid_AppendCols)(wxGrid* self,int numCols,int updateLabels)
+{
+	return self->AppendCols( numCols, updateLabels);
+}
+	
+EWXWEXPORT(bool,wxGrid_DeleteCols)(wxGrid* self,int pos,int numCols,bool updateLabels)
+{
+	return self->DeleteCols(pos, numCols, updateLabels);
+}
+	
+EWXWEXPORT(void,wxGrid_DrawGridSpace)(wxGrid* self,wxDC* dc)
+{
+	self->DrawGridSpace(*dc);
+}
+	
+EWXWEXPORT(void,wxGrid_DrawCellBorder)(wxGrid* self,wxDC* dc,int _row,int _col)
+{
+	self->DrawCellBorder(*dc, wxGridCellCoords(_row, _col));
+}
+	
+EWXWEXPORT(void,wxGrid_DrawAllGridLines)(wxGrid* self,wxDC* dc,void* reg)
+{
+	self->DrawAllGridLines(*dc,*((wxRegion*)reg));
+}
+	
+EWXWEXPORT(void,wxGrid_DrawCell)(wxGrid* self,wxDC* dc,int _row,int _col)
+{
+	self->DrawCell(*dc, wxGridCellCoords(_row, _col));
+}
+	
+EWXWEXPORT(void,wxGrid_DrawCellHighlight)(wxGrid* self,wxDC* dc,void* attr)
+{
+	self->DrawCellHighlight(*dc, (const wxGridCellAttr*)attr);
+}
+	
+EWXWEXPORT(void,wxGrid_DrawRowLabels)(wxGrid* self,wxDC* dc)
+{
+#if wxVERSION_NUMBER >= 2400
+	wxArrayInt arr;
+	self->DrawRowLabels(*dc, arr);
+#else
+	self->DrawRowLabels(*dc);
+#endif
+}
+	
+EWXWEXPORT(void,wxGrid_DrawRowLabel)(wxGrid* self,wxDC* dc,int row)
+{
+	self->DrawRowLabel(*dc, row);
+}
+	
+EWXWEXPORT(void,wxGrid_DrawColLabels)(wxGrid* self,wxDC* dc)
+{
+#if wxVERSION_NUMBER >= 2400
+	wxArrayInt arr;
+	self->DrawColLabels(*dc, arr);
+#else
+	self->DrawColLabels(*dc);
+#endif
+}
+	
+EWXWEXPORT(void,wxGrid_DrawColLabel)(wxGrid* self,wxDC* dc,int col)
+{
+	self->DrawColLabel(*dc, col);
+}
+	
+EWXWEXPORT(void,wxGrid_DrawTextRectangle)(wxGrid* self,wxDC* dc,wxString* txt,int x,int y,int w,int h,int horizontalAlignment,int verticalAlignment)
+{
+	self->DrawTextRectangle(*dc,*txt, wxRect(x, y, w, h), horizontalAlignment, verticalAlignment);
+}
+	
+EWXWEXPORT(int,wxGrid_StringToLines)(wxGrid* self,wxString* value,void* lines)
+{
+	int result = 0;
+	wxArrayString arr;
+	
+	self->StringToLines(*value, arr);
+	
+	result = arr.GetCount();
+	
+	if (lines)
+	{
+		for (int i = 0; i < result; i++)
+			((const wxChar**)lines)[i] = wxStrdup (arr[i].wchar_str());
+	}
+	return result;
+}
+	
+EWXWEXPORT(void,wxGrid_GetTextBoxSize)(wxGrid* self,wxDC* dc,int count,void* lines,void* width,void* height)
+{
+	wxArrayString arr;
+
+	for (int i = 0; i < count; i++)
+		arr[i] = ((wxChar**)lines)[i];
+
+	self->GetTextBoxSize(*dc, arr, (long*)width, (long*)height);
+}
+	
+EWXWEXPORT(void,wxGrid_BeginBatch)(wxGrid* self)
+{
+	self->BeginBatch();
+}
+	
+EWXWEXPORT(void,wxGrid_EndBatch)(wxGrid* self)
+{
+	self->EndBatch();
+}
+	
+EWXWEXPORT(int,wxGrid_GetBatchCount)(wxGrid* self)
+{
+	return self->GetBatchCount();
+}
+	
+EWXWEXPORT(bool,wxGrid_IsEditable)(wxGrid* self)
+{
+	return self->IsEditable();
+}
+	
+EWXWEXPORT(void,wxGrid_EnableEditing)(wxGrid* self,bool edit)
+{
+	self->EnableEditing(edit);
+}
+	
+EWXWEXPORT(void,wxGrid_EnableCellEditControl)(wxGrid* self,bool enable)
+{
+	self->EnableCellEditControl(enable);
+}
+	
+EWXWEXPORT(void,wxGrid_DisableCellEditControl)(wxGrid* self)
+{
+	self->DisableCellEditControl();
+}
+	
+EWXWEXPORT(bool,wxGrid_CanEnableCellControl)(wxGrid* self)
+{
+	return self->CanEnableCellControl();
+}
+	
+EWXWEXPORT(bool,wxGrid_IsCellEditControlEnabled)(wxGrid* self)
+{
+	return self->IsCellEditControlEnabled();
+}
+	
+EWXWEXPORT(bool,wxGrid_IsCellEditControlShown)(wxGrid* self)
+{
+	return self->IsCellEditControlShown();
+}
+	
+EWXWEXPORT(bool,wxGrid_IsCurrentCellReadOnly)(wxGrid* self)
+{
+	return self->IsCurrentCellReadOnly();
+}
+	
+EWXWEXPORT(void,wxGrid_ShowCellEditControl)(wxGrid* self)
+{
+	self->ShowCellEditControl();
+}
+	
+EWXWEXPORT(void,wxGrid_HideCellEditControl)(wxGrid* self)
+{
+	self->HideCellEditControl();
+}
+	
+EWXWEXPORT(void,wxGrid_SaveEditControlValue)(wxGrid* self)
+{
+	self->SaveEditControlValue();
+}
+	
+EWXWEXPORT(void,wxGrid_XYToCell)(wxGrid* self,int x,int y,int* r,int* c)
+{
+	wxGridCellCoords cds;
+	self->XYToCell(x, y, cds);
+	*r = cds.GetRow();
+	*c = cds.GetCol();
+}
+	
+EWXWEXPORT(int,wxGrid_YToRow)(wxGrid* self,int y)
+{
+	return self->YToRow(y);
+}
+	
+EWXWEXPORT(int,wxGrid_XToCol)(wxGrid* self,int x)
+{
+	return self->XToCol(x);
+}
+	
+EWXWEXPORT(int,wxGrid_YToEdgeOfRow)(wxGrid* self,int y)
+{
+	return self->YToEdgeOfRow(y);
+}
+	
+EWXWEXPORT(int,wxGrid_XToEdgeOfCol)(wxGrid* self,int x)
+{
+	return self->XToEdgeOfCol(x);
+}
+	
+EWXWEXPORT(wxRect*,wxGrid_CellToRect)(wxGrid* self,int top,int left,int bottom,int right)
+{
+	wxRect* rct = new wxRect();
+	*rct = self->BlockToDeviceRect(wxGridCellCoords(top, left), wxGridCellCoords(bottom, right));
+	return rct;
+}
+	
+EWXWEXPORT(int,wxGrid_GetGridCursorRow)(wxGrid* self)
+{
+	return self->GetGridCursorRow();
+}
+	
+EWXWEXPORT(int,wxGrid_GetGridCursorCol)(wxGrid* self)
+{
+	return self->GetGridCursorCol();
+}
+	
+EWXWEXPORT(bool,wxGrid_IsVisible)(wxGrid* self,int row,int col,bool wholeCellVisible)
+{
+	return self->IsVisible(row, col, wholeCellVisible);
+}
+	
+EWXWEXPORT(void,wxGrid_MakeCellVisible)(wxGrid* self,int row,int col)
+{
+	self->MakeCellVisible(row, col);
+}
+	
+EWXWEXPORT(void,wxGrid_SetGridCursor)(wxGrid* self,int row,int col)
+{
+	self->SetGridCursor(row, col);
+}
+	
+EWXWEXPORT(bool,wxGrid_MoveCursorUp)(wxGrid* self,bool expandSelection)
+{
+	return self->MoveCursorUp(expandSelection);
+}
+	
+EWXWEXPORT(bool,wxGrid_MoveCursorDown)(wxGrid* self,bool expandSelection)
+{
+	return self->MoveCursorDown(expandSelection);
+}
+	
+EWXWEXPORT(bool,wxGrid_MoveCursorLeft)(wxGrid* self,bool expandSelection)
+{
+	return self->MoveCursorLeft(expandSelection);
+}
+	
+EWXWEXPORT(bool,wxGrid_MoveCursorRight)(wxGrid* self,bool expandSelection)
+{
+	return self->MoveCursorRight(expandSelection);
+}
+	
+EWXWEXPORT(bool,wxGrid_MovePageDown)(wxGrid* self)
+{
+	return self->MovePageDown();
+}
+	
+EWXWEXPORT(bool,wxGrid_MovePageUp)(wxGrid* self)
+{
+	return self->MovePageUp();
+}
+	
+EWXWEXPORT(bool,wxGrid_MoveCursorUpBlock)(wxGrid* self,bool expandSelection)
+{
+	return self->MoveCursorUpBlock(expandSelection);
+}
+	
+EWXWEXPORT(bool,wxGrid_MoveCursorDownBlock)(wxGrid* self,bool expandSelection)
+{
+	return self->MoveCursorDownBlock(expandSelection);
+}
+	
+EWXWEXPORT(bool,wxGrid_MoveCursorLeftBlock)(wxGrid* self,bool expandSelection)
+{
+	return self->MoveCursorLeftBlock(expandSelection);
+}
+	
+EWXWEXPORT(bool,wxGrid_MoveCursorRightBlock)(wxGrid* self,bool expandSelection)
+{
+	return self->MoveCursorRightBlock(expandSelection);
+}
+	
+EWXWEXPORT(int,wxGrid_GetDefaultRowLabelSize)(wxGrid* self)
+{
+	return self->GetDefaultRowLabelSize();
+}
+	
+EWXWEXPORT(int,wxGrid_GetRowLabelSize)(wxGrid* self)
+{
+	return self->GetRowLabelSize();
+}
+	
+EWXWEXPORT(int,wxGrid_GetDefaultColLabelSize)(wxGrid* self)
+{
+	return self->GetDefaultColLabelSize();
+}
+	
+EWXWEXPORT(int,wxGrid_GetColLabelSize)(wxGrid* self)
+{
+	return self->GetColLabelSize();
+}
+	
+EWXWEXPORT(void,wxGrid_GetLabelBackgroundColour)(wxGrid* self,wxColour* colour)
+{
+	*colour = self->GetLabelBackgroundColour();
+}
+	
+EWXWEXPORT(void,wxGrid_GetLabelTextColour)(wxGrid* self,wxColour* colour)
+{
+	*colour = self->GetLabelTextColour();
+}
+	
+EWXWEXPORT(void,wxGrid_GetLabelFont)(wxGrid* self,wxFont* font)
+{
+	*font = self->GetLabelFont();
+}
+	
+EWXWEXPORT(void,wxGrid_GetRowLabelAlignment)(wxGrid* self,int* horiz,int* vert)
+{
+	self->GetRowLabelAlignment(horiz,vert);
+}
+	
+EWXWEXPORT(void,wxGrid_GetColLabelAlignment)(wxGrid* self,int* horiz,int* vert)
+{
+	self->GetColLabelAlignment(horiz,vert);
+}
+	
+EWXWEXPORT(wxString*,wxGrid_GetRowLabelValue)(wxGrid* self,int row)
+{
+	wxString *result = new wxString();
+	*result = self->GetRowLabelValue(row);
+	return result;
+}
+	
+EWXWEXPORT(wxString*,wxGrid_GetColLabelValue)(wxGrid* self,int col)
+{
+	wxString *result = new wxString();
+	*result = self->GetColLabelValue(col);
+	return result;
+}
+	
+EWXWEXPORT(void,wxGrid_GetGridLineColour)(wxGrid* self,wxColour* colour)
+{
+	*colour = self->GetGridLineColour();
+}
+	
+EWXWEXPORT(void,wxGrid_GetCellHighlightColour)(wxGrid* self,wxColour* colour)
+{
+	*colour = self->GetCellHighlightColour();
+}
+	
+EWXWEXPORT(void,wxGrid_SetRowLabelSize)(wxGrid* self,int width)
+{
+	self->SetRowLabelSize(width);
+}
+	
+EWXWEXPORT(void,wxGrid_SetColLabelSize)(wxGrid* self,int height)
+{
+	self->SetColLabelSize(height);
+}
+	
+EWXWEXPORT(void,wxGrid_SetLabelBackgroundColour)(wxGrid* self,wxColour* colour)
+{
+	self->SetLabelBackgroundColour(*colour);
+}
+	
+EWXWEXPORT(void,wxGrid_SetLabelTextColour)(wxGrid* self,wxColour* colour)
+{
+	self->SetLabelTextColour(*colour);
+}
+	
+EWXWEXPORT(void,wxGrid_SetLabelFont)(wxGrid* self,wxFont* font)
+{
+	self->SetLabelFont(*font);
+}
+	
+EWXWEXPORT(void,wxGrid_SetRowLabelAlignment)(wxGrid* self,int horiz,int vert)
+{
+	self->SetRowLabelAlignment(horiz, vert);
+}
+	
+EWXWEXPORT(void,wxGrid_SetColLabelAlignment)(wxGrid* self,int horiz,int vert)
+{
+	self->SetColLabelAlignment(horiz, vert);
+}
+	
+EWXWEXPORT(void,wxGrid_SetRowLabelValue)(wxGrid* self,int row,wxString* label)
+{
+	self->SetRowLabelValue(row,*label);
+}
+	
+EWXWEXPORT(void,wxGrid_SetColLabelValue)(wxGrid* self,int col,wxString* label)
+{
+	self->SetColLabelValue(col,*label);
+}
+	
+EWXWEXPORT(void,wxGrid_SetGridLineColour)(wxGrid* self,wxColour* col)
+{
+	self->SetGridLineColour(*col);
+}
+	
+EWXWEXPORT(void,wxGrid_SetCellHighlightColour)(wxGrid* self,wxColour* col)
+{
+	self->SetCellHighlightColour(*col);
+}
+	
+EWXWEXPORT(void,wxGrid_EnableDragRowSize)(wxGrid* self,bool enable)
+{
+	self->EnableDragRowSize(enable);
+}
+	
+EWXWEXPORT(void,wxGrid_DisableDragRowSize)(wxGrid* self)
+{
+	self->DisableDragRowSize();
+}
+	
+EWXWEXPORT(bool,wxGrid_CanDragRowSize)(wxGrid* self)
+{
+	return self->CanDragRowSize();
+}
+	
+EWXWEXPORT(void,wxGrid_EnableDragColSize)(wxGrid* self,bool enable)
+{
+	self->EnableDragColSize(enable);
+}
+	
+EWXWEXPORT(void,wxGrid_DisableDragColSize)(wxGrid* self)
+{
+	self->DisableDragColSize();
+}
+	
+EWXWEXPORT(bool,wxGrid_CanDragColSize)(wxGrid* self)
+{
+	return self->CanDragColSize();
+}
+	
+EWXWEXPORT(void,wxGrid_EnableDragGridSize)(wxGrid* self,bool enable)
+{
+	self->EnableDragGridSize(enable);
+}
+	
+EWXWEXPORT(void,wxGrid_DisableDragGridSize)(wxGrid* self)
+{
+	self->DisableDragGridSize();
+}
+	
+EWXWEXPORT(bool,wxGrid_CanDragGridSize)(wxGrid* self)
+{
+	return self->CanDragGridSize();
+}
+	
+EWXWEXPORT(void,wxGrid_SetRowAttr)(wxGrid* self,int row,wxGridCellAttr* attr)
+{
+	self->SetRowAttr(row, attr);
+}
+	
+EWXWEXPORT(void,wxGrid_SetColAttr)(wxGrid* self,int col,wxGridCellAttr* attr)
+{
+	self->SetColAttr(col, attr);
+}
+	
+EWXWEXPORT(void,wxGrid_SetColFormatBool)(wxGrid* self,int col)
+{
+	self->SetColFormatBool(col);
+}
+	
+EWXWEXPORT(void,wxGrid_SetColFormatNumber)(wxGrid* self,int col)
+{
+	self->SetColFormatNumber(col);
+}
+	
+EWXWEXPORT(void,wxGrid_SetColFormatFloat)(wxGrid* self,int col,int width,int precision)
+{
+	self->SetColFormatFloat(col, width, precision);
+}
+	
+EWXWEXPORT(void,wxGrid_SetColFormatCustom)(wxGrid* self,int col,wxString* typeName)
+{
+	self->SetColFormatCustom(col,*typeName);
+}
+	
+EWXWEXPORT(void,wxGrid_EnableGridLines)(wxGrid* self,bool enable)
+{
+	self->EnableGridLines(enable);
+}
+	
+EWXWEXPORT(bool,wxGrid_GridLinesEnabled)(wxGrid* self)
+{
+	return self->GridLinesEnabled();
+}
+	
+EWXWEXPORT(int,wxGrid_GetDefaultRowSize)(wxGrid* self)
+{
+	return self->GetDefaultRowSize();
+}
+	
+EWXWEXPORT(int,wxGrid_GetRowSize)(wxGrid* self,int row)
+{
+	return self->GetRowSize(row);
+}
+	
+EWXWEXPORT(int,wxGrid_GetDefaultColSize)(wxGrid* self)
+{
+	return self->GetDefaultColSize();
+}
+	
+EWXWEXPORT(int,wxGrid_GetColSize)(wxGrid* self,int col)
+{
+	return self->GetColSize(col);
+}
+	
+EWXWEXPORT(void,wxGrid_GetDefaultCellBackgroundColour)(wxGrid* self,wxColour* colour)
+{
+	*colour = self->GetDefaultCellBackgroundColour();
+}
+	
+EWXWEXPORT(void,wxGrid_GetCellBackgroundColour)(wxGrid* self,int row,int col,wxColour* colour)
+{
+	*colour = self->GetCellBackgroundColour(row, col);
+}
+	
+EWXWEXPORT(void,wxGrid_GetDefaultCellTextColour)(wxGrid* self,wxColour* colour)
+{
+	*colour = self->GetDefaultCellTextColour();
+}
+	
+EWXWEXPORT(void,wxGrid_GetCellTextColour)(wxGrid* self,int row,int col,wxColour* colour)
+{
+	*colour = self->GetCellTextColour(row, col);
+}
+	
+EWXWEXPORT(void,wxGrid_GetDefaultCellFont)(wxGrid* self,wxFont* font)
+{
+	*font = self->GetDefaultCellFont();
+}
+	
+EWXWEXPORT(void,wxGrid_GetCellFont)(wxGrid* self,int row,int col,wxFont* font)
+{
+	*font = self->GetCellFont(row, col);
+}
+	
+EWXWEXPORT(void,wxGrid_GetDefaultCellAlignment)(wxGrid* self,int* horiz,int* vert)
+{
+	self->GetDefaultCellAlignment(horiz,vert);
+}
+	
+EWXWEXPORT(void,wxGrid_GetCellAlignment)(wxGrid* self,int row,int col,int* horiz,int* vert)
+{
+	self->GetCellAlignment(row, col, horiz,vert);
+}
+	
+EWXWEXPORT(void,wxGrid_SetDefaultRowSize)(wxGrid* self,int height,bool resizeExistingRows)
+{
+	self->SetDefaultRowSize(height, resizeExistingRows);
+}
+	
+EWXWEXPORT(void,wxGrid_SetRowSize)(wxGrid* self,int row,int height)
+{
+	self->SetRowSize(row, height);
+}
+	
+EWXWEXPORT(void,wxGrid_SetDefaultColSize)(wxGrid* self,int width,bool resizeExistingCols)
+{
+	self->SetDefaultColSize(width, resizeExistingCols);
+}
+	
+EWXWEXPORT(void,wxGrid_SetColSize)(wxGrid* self,int col,int width)
+{
+	self->SetColSize(col, width);
+}
+	
+EWXWEXPORT(void,wxGrid_AutoSizeColumn)(wxGrid* self,int col,bool setAsMin)
+{
+	self->AutoSizeColumn(col, setAsMin);
+}
+	
+EWXWEXPORT(void,wxGrid_AutoSizeRow)(wxGrid* self,int row,bool setAsMin)
+{
+	self->AutoSizeRow(row, setAsMin);
+}
+	
+EWXWEXPORT(void,wxGrid_AutoSizeColumns)(wxGrid* self,bool setAsMin)
+{
+	self->AutoSizeColumns(setAsMin);
+}
+	
+EWXWEXPORT(void,wxGrid_AutoSizeRows)(wxGrid* self,bool setAsMin)
+{
+	self->AutoSizeRows(setAsMin);
+}
+	
+EWXWEXPORT(void,wxGrid_AutoSize)(wxGrid* self)
+{
+	self->AutoSize();
+}
+	
+EWXWEXPORT(void,wxGrid_SetColMinimalWidth)(wxGrid* self,int col,int width)
+{
+	self->SetColMinimalWidth(col, width);
+}
+	
+EWXWEXPORT(void,wxGrid_SetRowMinimalHeight)(wxGrid* self,int row,int width)
+{
+	self->SetRowMinimalHeight(row, width);
+}
+	
+EWXWEXPORT(void,wxGrid_SetDefaultCellBackgroundColour)(wxGrid* self,wxColour* colour)
+{
+	self->SetDefaultCellBackgroundColour(*colour);
+}
+	
+EWXWEXPORT(void,wxGrid_SetCellBackgroundColour)(wxGrid* self,int row,int col,wxColour* colour)
+{
+	self->SetCellBackgroundColour(row, col,* colour);
+}
+	
+EWXWEXPORT(void,wxGrid_SetDefaultCellTextColour)(wxGrid* self,wxColour* colour)
+{
+	self->SetDefaultCellTextColour(*colour);
+}
+	
+EWXWEXPORT(void,wxGrid_SetCellTextColour)(wxGrid* self,int row,int col,wxColour* colour)
+{
+	self->SetCellTextColour(row, col,* colour);
+}
+	
+EWXWEXPORT(void,wxGrid_SetDefaultCellFont)(wxGrid* self,wxFont* font)
+{
+	self->SetDefaultCellFont(*font);
+}
+	
+EWXWEXPORT(void,wxGrid_SetCellFont)(wxGrid* self,int row,int col,wxFont* font)
+{
+	self->SetCellFont(row, col,*font );
+}
+	
+EWXWEXPORT(void,wxGrid_SetDefaultCellAlignment)(wxGrid* self,int horiz,int vert)
+{
+	self->SetDefaultCellAlignment(horiz, vert);
+}
+	
+EWXWEXPORT(void,wxGrid_SetCellAlignment)(wxGrid* self,int row,int col,int horiz,int vert)
+{
+	self->SetCellAlignment(row, col, horiz, vert);
+}
+	
+EWXWEXPORT(void,wxGrid_SetDefaultRenderer)(wxGrid* self,void* renderer)
+{
+	self->SetDefaultRenderer((wxGridCellRenderer*)renderer);
+}
+	
+EWXWEXPORT(void,wxGrid_SetCellRenderer)(wxGrid* self,int row,int col,void* renderer)
+{
+	self->SetCellRenderer(row, col, (wxGridCellRenderer*)renderer);
+}
+	
+EWXWEXPORT(void*,wxGrid_GetDefaultRenderer)(wxGrid* self)
+{
+	return (void*)self->GetDefaultRenderer();
+}
+	
+EWXWEXPORT(void*,wxGrid_GetCellRenderer)(wxGrid* self,int row,int col)
+{
+	return (void*)self->GetCellRenderer(row, col);
+}
+	
+EWXWEXPORT(void,wxGrid_SetDefaultEditor)(wxGrid* self,wxGridCellEditor* editor)
+{
+	self->SetDefaultEditor(editor);
+}
+	
+EWXWEXPORT(void,wxGrid_SetCellEditor)(wxGrid* self,int row,int col,wxGridCellEditor* editor)
+{
+	self->SetCellEditor(row, col,editor);
+}
+	
+EWXWEXPORT(void*,wxGrid_GetDefaultEditor)(wxGrid* self)
+{
+	return (void*)self->GetDefaultEditor();
+}
+	
+EWXWEXPORT(void*,wxGrid_GetCellEditor)(wxGrid* self,int row,int col)
+{
+	return (void*)self->GetCellEditor(row, col);
+}
+	
+EWXWEXPORT(wxString*,wxGrid_GetCellValue)(wxGrid* self,int row,int col)
+{
+	wxString *result = new wxString();
+	*result = self->GetCellValue(row, col);
+	return result;
+}
+	
+EWXWEXPORT(void,wxGrid_SetCellValue)(wxGrid* self,int row,int col,wxString* s)
+{
+	self->SetCellValue(row, col,* s);
+}
+	
+EWXWEXPORT(bool,wxGrid_IsReadOnly)(wxGrid* self,int row,int col)
+{
+	return self->IsReadOnly(row, col);
+}
+	
+EWXWEXPORT(void,wxGrid_SetReadOnly)(wxGrid* self,int row,int col,bool isReadOnly)
+{
+	self->SetReadOnly(row, col, isReadOnly);
+}
+	
+EWXWEXPORT(void,wxGrid_SelectRow)(wxGrid* self,int row,bool addToSelected)
+{
+	self->SelectRow(row, addToSelected);
+}
+	
+EWXWEXPORT(void,wxGrid_SelectCol)(wxGrid* self,int col,bool addToSelected)
+{
+	self->SelectCol(col, addToSelected);
+}
+	
+EWXWEXPORT(void,wxGrid_SelectBlock)(wxGrid* self,int topRow,int leftCol,int bottomRow,int rightCol,bool addToSelected)
+{
+	self->SelectBlock(topRow, leftCol, bottomRow, rightCol, addToSelected);
+}
+	
+EWXWEXPORT(void,wxGrid_SelectAll)(wxGrid* self)
+{
+	self->SelectAll();
+}
+	
+EWXWEXPORT(bool,wxGrid_IsSelection)(wxGrid* self)
+{
+	return self->IsSelection();
+}
+	
+EWXWEXPORT(void,wxGrid_ClearSelection)(wxGrid* self)
+{
+	self->ClearSelection();
+}
+	
+EWXWEXPORT(bool,wxGrid_IsInSelection)(wxGrid* self,int row,int col)
+{
+	return self->IsInSelection(row, col );
+}
+	
+EWXWEXPORT(wxRect*,wxGrid_BlockToDeviceRect)(wxGrid* self,int top,int left,int bottom,int right)
+{
+	wxRect* rct = new wxRect();
+	*rct = self->BlockToDeviceRect(wxGridCellCoords(top, left), wxGridCellCoords(bottom, right));
+	return rct;
+}
+	
+EWXWEXPORT(void,wxGrid_GetSelectionBackground)(wxGrid* self,wxColour* colour)
+{
+	*colour = self->GetSelectionBackground();
+}
+	
+EWXWEXPORT(void,wxGrid_GetSelectionForeground)(wxGrid* self,wxColour* colour)
+{
+	*colour = self->GetSelectionForeground();
+}
+	
+EWXWEXPORT(void,wxGrid_SetSelectionBackground)(wxGrid* self,wxColour* c)
+{
+	self->SetSelectionBackground(*c);
+}
+	
+EWXWEXPORT(void,wxGrid_SetSelectionForeground)(wxGrid* self,wxColour* c)
+{
+	self->SetSelectionForeground(*c);
+}
+	
+EWXWEXPORT(void,wxGrid_RegisterDataType)(wxGrid* self,wxString* typeName,void* renderer,wxGridCellEditor* editor)
+{
+	self->RegisterDataType(*typeName, (wxGridCellRenderer*)renderer, editor);
+}
+	
+EWXWEXPORT(void*,wxGrid_GetDefaultEditorForCell)(wxGrid* self,int row,int col)
+{
+	return (void*)self->GetDefaultEditorForCell(row, col);
+}
+	
+EWXWEXPORT(void*,wxGrid_GetDefaultRendererForCell)(wxGrid* self,int row,int col)
+{
+	return (void*)self->GetDefaultRendererForCell(row, col);
+}
+	
+EWXWEXPORT(void*,wxGrid_GetDefaultEditorForType)(wxGrid* self,wxString* typeName)
+{
+	return (void*)self->GetDefaultEditorForType(*typeName);
+}
+	
+EWXWEXPORT(void*,wxGrid_GetDefaultRendererForType)(wxGrid* self,wxString* typeName)
+{
+	return (void*)self->GetDefaultRendererForType(*typeName);
+}
+	
+EWXWEXPORT(void,wxGrid_SetMargins)(wxGrid* self,int extraWidth,int extraHeight)
+{
+	self->SetMargins(extraWidth, extraHeight);
+}
+
+EWXWEXPORT(void,wxGrid_GetSelectedCells)(wxGrid* self,wxGridCellCoordsArray* _arr)
+{
+	*_arr = self->GetSelectedCells();
+}
+	
+EWXWEXPORT(void,wxGrid_GetSelectionBlockTopLeft)(wxGrid* self,wxGridCellCoordsArray* _arr)
+{
+	*_arr = self->GetSelectionBlockTopLeft();
+}
+	
+EWXWEXPORT(void,wxGrid_GetSelectionBlockBottomRight)(wxGrid* self,wxGridCellCoordsArray* _arr)
+{
+	*_arr = self->GetSelectionBlockBottomRight();
+}
+	
+EWXWEXPORT(int,wxGrid_GetSelectedRows)(wxGrid* self,void* _arr)
+{
+	wxArrayInt arr = self->GetSelectedRows();
+	if (_arr)
+	{
+		for (unsigned int i = 0; i < arr.GetCount(); i++)
+			((int*)_arr)[i] = arr.Item(i);
+	}
+	return arr.GetCount();
+}
+	
+EWXWEXPORT(int,wxGrid_GetSelectedCols)(wxGrid* self,void* _arr)
+{
+	wxArrayInt arr = self->GetSelectedCols();
+	if (_arr)
+	{
+		for (unsigned int i = 0; i < arr.GetCount(); i++)
+			((int*)_arr)[i] = arr.Item(i);
+	}
+	return arr.GetCount();
+}
+	
+
+
+EWXWEXPORT(void*,ELJGridTable_Create)(void* self,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 (self,
+	                                _EifGetNumberRows,
+	                                _EifGetNumberCols,
+	                                _EifGetValue,
+	                                _EifSetValue,
+	                                _EifIsEmptyCell,
+	                                _EifClear,
+	                                _EifInsertRows,
+	                                _EifAppendRows,
+	                                _EifDeleteRows,
+	                                _EifInsertCols,
+	                                _EifAppendCols,
+	                                _EifDeleteCols,
+	                                _EifSetRowLabelValue,
+	                                _EifSetColLabelValue,
+	                                _EifGetRowLabelValue,
+	                                _EifGetColLabelValue);
+}
+	
+EWXWEXPORT(void,ELJGridTable_Delete)(ELJGridTable* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(void*,ELJGridTable_GetView)(ELJGridTable* self)
+{
+	return (void*)self->GetView();
+}
+
+EWXWEXPORT(void,ELJGridTable_SendTableMessage)(ELJGridTable* self,int id,int val1,int val2)
+{
+	wxGridTableMessage msg(self, id, val1, val2);
+	self->GetView()->ProcessTableMessage(msg);
+}
+
+EWXWEXPORT(int,wxGridEvent_GetRow)(wxGridEvent* self)
+{
+	return self->GetRow();
+}
+	
+EWXWEXPORT(int,wxGridEvent_GetCol)(wxGridEvent* self)
+{
+	return self->GetCol();
+}
+	
+EWXWEXPORT(wxPoint*,wxGridEvent_GetPosition)(wxGridEvent* self)
+{
+	wxPoint* pt = new wxPoint();
+	*pt = self->GetPosition();
+	return pt;
+}
+	
+EWXWEXPORT(bool,wxGridEvent_Selecting)(wxGridEvent* self)
+{
+	return self->Selecting();
+}
+	
+EWXWEXPORT(bool,wxGridEvent_ControlDown)(wxGridEvent* self)
+{
+	return self->ControlDown();
+}
+	
+EWXWEXPORT(bool,wxGridEvent_MetaDown)(wxGridEvent* self)
+{
+	return self->MetaDown();
+}
+	
+EWXWEXPORT(bool,wxGridEvent_ShiftDown)(wxGridEvent* self)
+{
+	return self->ShiftDown();
+}
+	
+EWXWEXPORT(bool,wxGridEvent_AltDown)(wxGridEvent* self)
+{
+	return self->AltDown();
+}
+	
+
+EWXWEXPORT(int,wxGridSizeEvent_GetRowOrCol)(wxGridSizeEvent* self)
+{
+	return self->GetRowOrCol();
+}
+	
+EWXWEXPORT(wxPoint*,wxGridSizeEvent_GetPosition)(wxGridSizeEvent* self)
+{
+	wxPoint* pt = new wxPoint();
+	*pt = self->GetPosition();
+	return pt;
+}
+	
+EWXWEXPORT(bool,wxGridSizeEvent_ControlDown)(wxGridSizeEvent* self)
+{
+	return self->ControlDown();
+}
+	
+EWXWEXPORT(bool,wxGridSizeEvent_MetaDown)(wxGridSizeEvent* self)
+{
+	return self->MetaDown();
+}
+	
+EWXWEXPORT(bool,wxGridSizeEvent_ShiftDown)(wxGridSizeEvent* self)
+{
+	return self->ShiftDown();
+}
+	
+EWXWEXPORT(bool,wxGridSizeEvent_AltDown)(wxGridSizeEvent* self)
+{
+	return self->AltDown();
+}
+	
+
+EWXWEXPORT(void,wxGridRangeSelectEvent_GetTopLeftCoords)(wxGridRangeSelectEvent* self,int* _c,int* _r)
+{
+	wxGridCellCoords crd = self->GetTopLeftCoords();
+	*_c = crd.GetRow();
+	*_r = crd.GetCol();
+}
+	
+EWXWEXPORT(void,wxGridRangeSelectEvent_GetBottomRightCoords)(wxGridRangeSelectEvent* self,int* _c,int* _r)
+{
+	wxGridCellCoords crd = self->GetBottomRightCoords();
+	*_c = crd.GetRow();
+	*_r = crd.GetCol();
+}
+	
+EWXWEXPORT(int,wxGridRangeSelectEvent_GetTopRow)(wxGridRangeSelectEvent* self)
+{
+	return self->GetTopRow();
+}
+	
+EWXWEXPORT(int,wxGridRangeSelectEvent_GetBottomRow)(wxGridRangeSelectEvent* self)
+{
+	return self->GetBottomRow();
+}
+	
+EWXWEXPORT(int,wxGridRangeSelectEvent_GetLeftCol)(wxGridRangeSelectEvent* self)
+{
+	return self->GetLeftCol();
+}
+	
+EWXWEXPORT(int,wxGridRangeSelectEvent_GetRightCol)(wxGridRangeSelectEvent* self)
+{
+	return self->GetRightCol();
+}
+	
+EWXWEXPORT(bool,wxGridRangeSelectEvent_Selecting)(wxGridRangeSelectEvent* self)
+{
+	return self->Selecting();
+}
+	
+EWXWEXPORT(bool,wxGridRangeSelectEvent_ControlDown)(wxGridRangeSelectEvent* self)
+{
+	return self->ControlDown();
+}
+	
+EWXWEXPORT(bool,wxGridRangeSelectEvent_MetaDown)(wxGridRangeSelectEvent* self)
+{
+	return self->MetaDown();
+}
+	
+EWXWEXPORT(bool,wxGridRangeSelectEvent_ShiftDown)(wxGridRangeSelectEvent* self)
+{
+	return self->ShiftDown();
+}
+	
+EWXWEXPORT(bool,wxGridRangeSelectEvent_AltDown)(wxGridRangeSelectEvent* self)
+{
+	return self->AltDown();
+}
+	
+
+EWXWEXPORT(int,wxGridEditorCreatedEvent_GetRow)(wxGridEditorCreatedEvent* self)
+{
+	return self->GetRow();
+}
+	
+EWXWEXPORT(int,wxGridEditorCreatedEvent_GetCol)(wxGridEditorCreatedEvent* self)
+{
+	return self->GetCol();
+}
+	
+EWXWEXPORT(void*,wxGridEditorCreatedEvent_GetControl)(wxGridEditorCreatedEvent* self)
+{
+	return (void*)self->GetControl();
+}
+	
+EWXWEXPORT(void,wxGridEditorCreatedEvent_SetRow)(wxGridEditorCreatedEvent* self,int row)
+{
+	self->SetRow(row);
+}
+	
+EWXWEXPORT(void,wxGridEditorCreatedEvent_SetCol)(wxGridEditorCreatedEvent* self,int col)
+{
+	self->SetCol(col);
+}
+	
+EWXWEXPORT(void,wxGridEditorCreatedEvent_SetControl)(wxGridEditorCreatedEvent* self,wxControl* ctrl)
+{
+	self->SetControl(ctrl);
+}
+	
+
+} 
+ src/cpp/eljhelpcontroller.cpp view
@@ -0,0 +1,135 @@+#include "wrapper.h"
+#include "wx/fs_zip.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxHtmlHelpController_Create)(int _style)
+{
+	wxGetApp().InitZipFileSystem();
+	wxGetApp().InitImageHandlers();
+	return (void*)new wxHtmlHelpController(_style);
+}
+
+EWXWEXPORT(void,wxHtmlHelpController_Delete)(void* self)
+{
+	delete (wxHtmlHelpController*)self;
+}
+
+EWXWEXPORT(void,wxHtmlHelpController_SetTitleFormat)(void* self,wxString* format)
+{
+	((wxHtmlHelpController*)self)->SetTitleFormat(*format);
+}
+	
+EWXWEXPORT(void,wxHtmlHelpController_SetTempDir)(void* self,wxString* path)
+{
+	((wxHtmlHelpController*)self)->SetTempDir(*path);
+}
+	
+EWXWEXPORT(bool,wxHtmlHelpController_AddBook)(wxHtmlHelpController* self,wxString* book,bool show_wait_msg)
+{
+	return self->AddBook(*book, show_wait_msg);
+}
+	
+EWXWEXPORT(void,wxHtmlHelpController_Display)(wxHtmlHelpController* self,wxString* x)
+{
+	self->Display(*x);
+}
+	
+EWXWEXPORT(void,wxHtmlHelpController_DisplayNumber)(wxHtmlHelpController* self,int id)
+{
+	self->Display(id);
+}
+	
+EWXWEXPORT(void,wxHtmlHelpController_DisplayContents)(wxHtmlHelpController* self)
+{
+	self->DisplayContents();
+}
+	
+EWXWEXPORT(void,wxHtmlHelpController_DisplayIndex)(wxHtmlHelpController* self)
+{
+	self->DisplayIndex();
+}
+	
+EWXWEXPORT(bool,wxHtmlHelpController_KeywordSearch)(wxHtmlHelpController* self,wxString* keyword)
+{
+	return self->KeywordSearch(*keyword);
+}
+	
+EWXWEXPORT(void*,wxHtmlHelpController_GetFrame)(void* self)
+{
+	return (void*)((wxHtmlHelpController*)self)->GetFrame();
+}
+	
+EWXWEXPORT(void,wxHtmlHelpController_UseConfig)(void* self,wxConfigBase* config,wxString* rootpath)
+{
+	((wxHtmlHelpController*)self)->UseConfig(config,*rootpath);
+}
+	
+EWXWEXPORT(void,wxHtmlHelpController_ReadCustomization)(void* self,wxConfigBase* cfg,wxString* path)
+{
+	((wxHtmlHelpController*)self)->ReadCustomization(cfg,*path);
+}
+	
+EWXWEXPORT(void,wxHtmlHelpController_WriteCustomization)(void* self,wxConfigBase* cfg,wxString* path)
+{
+	((wxHtmlHelpController*)self)->WriteCustomization(cfg,*path);
+}
+	
+EWXWEXPORT(bool,wxHtmlHelpController_Initialize)(wxHtmlHelpController* self,wxString* file)
+{
+	return self->Initialize(*file);
+}
+	
+EWXWEXPORT(void,wxHtmlHelpController_SetViewer)(void* self,wxString* viewer,int flags)
+{
+	((wxHtmlHelpController*)self)->SetViewer(*viewer, (long)flags);
+}
+	
+EWXWEXPORT(bool,wxHtmlHelpController_LoadFile)(wxHtmlHelpController* self,wxString* file)
+{
+	return self->LoadFile(*file);
+}
+	
+EWXWEXPORT(bool,wxHtmlHelpController_DisplaySectionNumber)(wxHtmlHelpController* self,int sectionNo)
+{
+	return self->DisplaySection(sectionNo);
+}
+	
+EWXWEXPORT(bool,wxHtmlHelpController_DisplaySection)(wxHtmlHelpController* self,wxString* section)
+{
+	return self->DisplaySection(*section);
+}
+	
+EWXWEXPORT(bool,wxHtmlHelpController_DisplayBlock)(wxHtmlHelpController* self,int blockNo)
+{
+	return self->DisplayBlock((long)blockNo);
+}
+	
+EWXWEXPORT(void,wxHtmlHelpController_SetFrameParameters)(void* self,wxString* title,int width,int height,int pos_x,int pos_y,bool newFrameEachTime)
+{
+	((wxHtmlHelpController*)self)->SetFrameParameters(*title, wxSize(width, height), wxPoint(pos_x, pos_y), 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*)self)->GetFrameParameters(&size, &pos, (bool*)newFrameEachTime);
+	
+	*height = size.y;
+	*width  = size.x;
+	*pos_x  = pos.x;
+	*pos_y  = pos.y;
+	
+	return result;
+}
+	
+EWXWEXPORT(bool,wxHtmlHelpController_Quit)(wxHtmlHelpController* self)
+{
+	return self->Quit();
+}
+	
+}
+ src/cpp/eljicnbndl.cpp view
@@ -0,0 +1,49 @@+#include "wrapper.h"
+#if wxVERSION_NUMBER >= 2400
+#include "wx/artprov.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxIconBundle_CreateDefault)()
+{
+	return (void*)new wxIconBundle();
+}
+	
+EWXWEXPORT(void*,wxIconBundle_CreateFromFile)(wxString* file,int type)
+{
+	return (void*)new wxIconBundle(*file, (long)type);
+}
+	
+EWXWEXPORT(void*,wxIconBundle_CreateFromIcon)(void* icon)
+{
+	return (void*) new wxIconBundle(*((wxIcon*)icon));
+}
+	
+EWXWEXPORT(void,wxIconBundle_Assign)(void* _obj,void* _ref)
+{
+	*((wxIconBundle*)_ref) = *((wxIconBundle*)_obj);
+}
+	
+EWXWEXPORT(void,wxIconBundle_Delete)(void* _obj)
+{
+	delete (wxIconBundle*)_obj;
+}
+	
+EWXWEXPORT(void,wxIconBundle_AddIconFromFile)(void* _obj,wxString* file,int type)
+{
+	((wxIconBundle*)_obj)->AddIcon(*file, (long)type);
+}
+	
+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)
+{
+	*((wxIcon*)_ref) = ((wxIconBundle*)_obj)->GetIcon(wxSize(w, h));
+}
+
+}
+#endif
+ src/cpp/eljicon.cpp view
@@ -0,0 +1,128 @@+#include "wrapper.h"++extern "C"+{++EWXWEXPORT(void*,wxIcon_CreateDefault)()+{+	return (void*)new wxIcon();+}++EWXWEXPORT(void,wxIcon_Delete)(wxIcon* self)+{+	delete self;+}++EWXWEXPORT(void*,wxIcon_FromRaw)(void* data,int width,int height)+{+#ifdef __WIN32__+	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);+#endif+}++EWXWEXPORT(void*,wxIcon_FromXPM)(void* data)+{+	return (void*)new wxIcon((const wxChar*)data);+}++EWXWEXPORT(void*,wxIcon_CreateLoad)(wxString* name,long type,int width,int height)+{+	return (void*)new wxIcon(*name, (wxBitmapType)type, width, height);+}++EWXWEXPORT(bool,wxIcon_Load)(wxIcon* self,wxString* name,long type,int width,int height)+{+#ifdef __WIN32__+	return self->LoadFile(*name, (wxBitmapType)type, width, height);+#else+	return self->LoadFile(*name, (wxBitmapType)type);+#endif+}++EWXWEXPORT(void,wxIcon_CopyFromBitmap)(wxIcon* self,wxBitmap* bmp)+{+#ifdef __WIN32__+	self->CopyFromBitmap(*bmp);+#endif+}++EWXWEXPORT(bool,wxIcon_IsOk)(wxIcon* self)+{+	return self->IsOk();+}++EWXWEXPORT(int,wxIcon_GetDepth)(wxIcon* self)+{+	return self->GetDepth();+}++EWXWEXPORT(int,wxIcon_GetWidth)(wxIcon* self)+{+	return self->GetWidth();+}++EWXWEXPORT(int,wxIcon_GetHeight)(wxIcon* self)+{+	return self->GetHeight();+}++#if (wxVERSION_NUMBER >= 2800)+EWXWEXPORT(void,wxIcon_SetDepth)(wxIcon* self,int depth)+{+	self->SetDepth(depth);+}++EWXWEXPORT(void,wxIcon_SetWidth)(wxIcon* self,int width)+{+	self->SetWidth(width);+}++EWXWEXPORT(void,wxIcon_SetHeight)(wxIcon* self,int height)+{+	self->SetHeight(height);+}+#endif++EWXWEXPORT(void,wxIcon_Assign)(wxIcon* self,void* other)+{+	*self = *((wxIcon*)other);+}++EWXWEXPORT(bool,wxIcon_IsEqual)(wxIcon* self,wxIcon* other)+{+#if (wxVERSION_NUMBER <= 2800)+	return *self == *other;+#else+	wxIcon* icon1 = self;+	wxIcon* icon2 = other;+	wxBitmap bmp1;+	wxBitmap bmp2;+	bmp1.CopyFromIcon(*icon1);+	bmp2.CopyFromIcon(*icon2);+	wxImage image1 = (wxImage)bmp1.ConvertToImage();+	wxImage image2 = (wxImage)bmp2.ConvertToImage();+	wxImage* img1 = &image1;+	wxImage* img2 = &image2;+	if( (icon1->GetWidth() == icon2->GetWidth()) &&+		(icon1->GetHeight() == icon2->GetHeight()) &&+		(icon1->GetDepth() == icon2->GetDepth())){+		bool equal = true;+		for(int sx=0;sx<(icon1->GetWidth());sx++){+			for(int sy=0;sy<(icon1->GetHeight());sy++){+				equal = equal &&+					(img1->GetRed(sx,sy)==img2->GetRed(sx,sy) &&+					img1->GetGreen(sx,sy)==img2->GetGreen(sx,sy) &&+					img1->GetBlue(sx,sy)==img2->GetBlue(sx,sy) &&+					img1->GetAlpha(sx,sy)==img2->GetAlpha(sx,sy));+			}+		}+		return equal;+	} else {+		return false;+	}+#endif+}++}
+ src/cpp/eljimage.cpp view
@@ -0,0 +1,247 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(wxImage*,wxImage_CreateDefault)()
+{
+	return new wxImage();
+}
+
+EWXWEXPORT(wxImage*,wxImage_CreateSized)(int width,int height)
+{
+	return new wxImage(width, height);
+}
+
+EWXWEXPORT(wxImage*,wxImage_CreateFromByteString)(char* data,size_t length,int type)
+{
+	wxMemoryInputStream in(data,length);
+	return new wxImage(in, type);
+}
+
+EWXWEXPORT(wxImage*,wxImage_CreateFromLazyByteString)(char* data,size_t length,int type)
+{
+	wxMemoryInputStream in(data,length);
+	return new wxImage(in, type);
+}
+
+EWXWEXPORT(size_t,wxImage_ConvertToByteString)(wxImage* self,int type,char* data)
+{
+	wxMemoryOutputStream out;
+	self->SaveFile(out, type);
+	size_t len = out.GetLength();
+        return out.CopyTo(data, len);
+}
+
+EWXWEXPORT(size_t,wxImage_ConvertToLazyByteString)(wxImage* self,int type,char* data)
+{
+	wxMemoryOutputStream out;
+	self->SaveFile(out, type);
+	size_t len = out.GetLength();
+        return out.CopyTo(data, len);
+}
+
+EWXWEXPORT(wxImage*,wxImage_CreateFromData)(int width,int height,void* data)
+{
+	return new wxImage(width, height, (unsigned char*)data, true);
+}
+
+EWXWEXPORT(wxImage*,wxImage_CreateFromFile)(wxString* name)
+{
+	return new wxImage(*name);
+}
+
+EWXWEXPORT(wxImage*,wxImage_CreateFromBitmap)(wxBitmap* bitmap)
+{
+	return new wxImage(bitmap->ConvertToImage());
+}
+
+EWXWEXPORT(void,wxImage_ConvertToBitmap)(wxImage* self,wxBitmap* bitmap)
+{
+	wxBitmap tmp(*self);
+	*bitmap = tmp;
+}
+	
+EWXWEXPORT(void,wxImage_Initialize)(wxImage* self,int width,int height)
+{
+	self->Create(width, height);
+}
+	
+EWXWEXPORT(void,wxImage_InitializeFromData)(wxImage* self,int width,int height,void* data)
+{
+	self->Create(width, height, (unsigned char*)data, true);
+}
+	
+EWXWEXPORT(void,wxImage_Destroy)(wxImage* self)
+{
+	self->Destroy();
+}
+	
+EWXWEXPORT(void,wxImage_GetSubImage)(wxImage* self,int x,int y,int w,int h,wxImage* image)
+{
+	*image = self->GetSubImage(wxRect(x, y, w, h));
+}
+	
+EWXWEXPORT(void,wxImage_Paste)(wxImage* self,wxImage* image,int x,int y)
+{
+	self->Paste(*image, x, y);
+}
+	
+EWXWEXPORT(void,wxImage_Scale)(wxImage* self,int width,int height,wxImage* image)
+{
+	*image = self->Scale(width, height);
+}
+	
+EWXWEXPORT(void,wxImage_Rescale)(wxImage* self,int width,int height)
+{
+	self->Rescale(width, height);
+}
+	
+EWXWEXPORT(void,wxImage_Rotate)(wxImage* self,double angle,int c_x,int c_y,bool interpolating,void* offset_after_rotation,wxImage* image)
+{
+	*image = self->Rotate(angle, wxPoint(c_x, c_y), interpolating, (wxPoint*)offset_after_rotation);
+}
+	
+EWXWEXPORT(void,wxImage_Rotate90)(wxImage* self,bool clockwise,wxImage* image)
+{
+	*image = self->Rotate90(clockwise);
+}
+	
+EWXWEXPORT(void,wxImage_Mirror)(wxImage* self,bool horizontally,wxImage* image)
+{
+	*image = self->Mirror(horizontally);
+}
+	
+EWXWEXPORT(void,wxImage_Replace)(wxImage* self,wxUint8 r1,wxUint8 g1,wxUint8 b1,wxUint8 r2,wxUint8 g2,wxUint8 b2)
+{
+	self->Replace(r1, g1, b1, r2, g2, b2);
+}
+	
+EWXWEXPORT(void,wxImage_SetRGB)(wxImage* self,int x,int y,wxUint8 r,wxUint8 g,wxUint8 b)
+{
+	self->SetRGB(x, y, r, g, b);
+}
+	
+EWXWEXPORT(wxUint8,wxImage_GetRed)(wxImage* self,int x,int y)
+{
+	return self->GetRed(x, y);
+}
+	
+EWXWEXPORT(wxUint8,wxImage_GetGreen)(wxImage* self,int x,int y)
+{
+	return self->GetGreen(x, y);
+}
+	
+EWXWEXPORT(wxUint8,wxImage_GetBlue)(wxImage* self,int x,int y)
+{
+	return self->GetBlue(x, y);
+}
+	
+EWXWEXPORT(bool,wxImage_CanRead)(wxString* name)
+{
+	return wxImage::CanRead(*name);
+}
+	
+EWXWEXPORT(bool,wxImage_LoadFile)(wxImage* self,wxString* name,int type)
+{
+	return self->LoadFile(*name, (long)type);
+}
+	
+EWXWEXPORT(bool,wxImage_SaveFile)(wxImage* self,wxString* name,int type)
+{
+	return self->SaveFile(*name, (long)type);
+}
+	
+EWXWEXPORT(bool,wxImage_IsOk)(wxImage* self)
+{
+	return self->IsOk();
+}
+	
+EWXWEXPORT(int,wxImage_GetWidth)(wxImage* self)
+{
+	return self->GetWidth();
+}
+	
+EWXWEXPORT(int,wxImage_GetHeight)(wxImage* self)
+{
+	return self->GetHeight();
+}
+	
+EWXWEXPORT(void*,wxImage_GetData)(wxImage* self)
+{
+	return (void*)self->GetData();
+}
+	
+EWXWEXPORT(void,wxImage_SetData)(wxImage* self,void* data)
+{
+	self->SetData((unsigned char*)data);
+}
+	
+EWXWEXPORT(void,wxImage_SetDataAndSize)(wxImage* self,char* data,int new_width,int new_height)
+{
+	self->SetData((unsigned char*)data, new_width, new_height);
+}
+	
+EWXWEXPORT(void,wxImage_SetMaskColour)(wxImage* self,wxUint8 r,wxUint8 g,wxUint8 b)
+{
+	self->SetMaskColour(r, g, b);
+}
+	
+EWXWEXPORT(wxUint8,wxImage_GetMaskRed)(wxImage* self)
+{
+	return self->GetMaskRed();
+}
+	
+EWXWEXPORT(wxUint8,wxImage_GetMaskGreen)(wxImage* self)
+{
+	return self->GetMaskGreen();
+}
+	
+EWXWEXPORT(wxUint8,wxImage_GetMaskBlue)(wxImage* self)
+{
+	return self->GetMaskBlue();
+}
+	
+EWXWEXPORT(void,wxImage_SetMask)(wxImage* self,bool mask)
+{
+	self->SetMask(mask);
+}
+	
+EWXWEXPORT(bool,wxImage_HasMask)(wxImage* self)
+{
+	return self->HasMask();
+}
+	
+EWXWEXPORT(int,wxImage_CountColours)(wxImage* self,int stopafter)
+{
+	return self->CountColours((long)stopafter);
+}
+
+EWXWEXPORT (wxString*,wxImage_GetOption)(wxImage* self,wxString* key)
+{
+	wxString *result = new wxString();
+	*result = self->GetOption(*key);
+	return result;
+}
+
+EWXWEXPORT (int,wxImage_GetOptionInt)(wxImage* self,wxString* key)
+{
+	return  self->GetOptionInt(*key);
+}
+
+EWXWEXPORT(void,wxImage_SetOption)(wxImage* self,wxString* key,wxString* value)
+{
+	self->SetOption(*key,*value);
+}
+
+EWXWEXPORT(void,wxImage_SetOptionInt)(wxImage* self,wxString* key,int value)
+{
+	self->SetOption(*key, value);
+}
+
+EWXWEXPORT(int,wxImage_HasOption)(wxImage* self,wxString* key)
+{
+	return self->HasOption(*key);
+}
+
+}
+ src/cpp/eljimagelist.cpp view
@@ -0,0 +1,74 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(wxImageList*,wxImageList_Create)(int width,int height,bool mask,int initialCount)
+{
+	return new wxImageList(width, height, mask, initialCount);
+}
+	
+EWXWEXPORT(void,wxImageList_Delete)(wxImageList* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(int,wxImageList_GetImageCount)(void* self)
+{
+	return ((wxImageList*)self)->GetImageCount();
+}
+	
+EWXWEXPORT(void,wxImageList_GetSize)(void* self,int index,int* width,int* height)
+{
+	bool success = ((wxImageList*)self)->GetSize(index,*width,*height);
+        if (!success) {
+          *width = -1;
+          *height = -1;
+        };
+}
+	
+EWXWEXPORT(int,wxImageList_AddBitmap)(void* self,wxBitmap* bitmap,wxBitmap* mask)
+{
+	return ((wxImageList*)self)->Add(*bitmap,*mask);
+}
+	
+EWXWEXPORT(int,wxImageList_AddMasked)(void* self,wxBitmap* bitmap,wxColour* maskColour)
+{
+	return ((wxImageList*)self)->Add(*bitmap,*maskColour);
+}
+	
+EWXWEXPORT(int,wxImageList_AddIcon)(void* self,wxIcon* icon)
+{
+	return ((wxImageList*)self)->Add(*icon);
+}
+	
+EWXWEXPORT(bool,wxImageList_Replace)(wxImageList* self,int index,wxBitmap* bitmap,wxBitmap* mask)
+{
+#ifdef __WIN32__
+	return self->Replace(index,*bitmap,*mask);
+#else
+	return self->Replace(index,*bitmap);
+#endif
+}
+	
+EWXWEXPORT(bool,wxImageList_ReplaceIcon)(wxImageList* self,int index,wxIcon* icon)
+{
+	return self->Replace(index,*icon);
+}
+	
+EWXWEXPORT(bool,wxImageList_Remove)(wxImageList* self,int index)
+{
+	return self->Remove(index);
+}
+	
+EWXWEXPORT(bool,wxImageList_RemoveAll)(wxImageList* self)
+{
+	return self->RemoveAll();
+}
+	
+EWXWEXPORT(bool,wxImageList_Draw)(wxImageList* self,int index,wxDC* dc,int x,int y,int flags,bool solidBackground)
+{
+	return self->Draw(index,*dc, x, y, flags, solidBackground);
+}
+	
+}
+ src/cpp/eljlayoutconstraints.cpp view
@@ -0,0 +1,181 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxLayoutConstraints_left)(void* self)
+{
+	return (void*)(&((wxLayoutConstraints*)self)->left);
+}
+	
+EWXWEXPORT(void*,wxLayoutConstraints_top)(void* self)
+{
+	return (void*)(&((wxLayoutConstraints*)self)->top);
+}
+	
+EWXWEXPORT(void*,wxLayoutConstraints_right)(void* self)
+{
+	return (void*)(&((wxLayoutConstraints*)self)->right);
+}
+	
+EWXWEXPORT(void*,wxLayoutConstraints_bottom)(void* self)
+{
+	return (void*)(&((wxLayoutConstraints*)self)->bottom);
+}
+	
+EWXWEXPORT(void*,wxLayoutConstraints_width)(void* self)
+{
+	return (void*)(&((wxLayoutConstraints*)self)->width);
+}
+	
+EWXWEXPORT(void*,wxLayoutConstraints_height)(void* self)
+{
+	return (void*)(&((wxLayoutConstraints*)self)->height);
+}
+	
+EWXWEXPORT(void*,wxLayoutConstraints_centreX)(void* self)
+{
+	return (void*)(&((wxLayoutConstraints*)self)->centreX);
+}
+	
+EWXWEXPORT(void*,wxLayoutConstraints_centreY)(void* self)
+{
+	return (void*)(&((wxLayoutConstraints*)self)->centreY);
+}
+	
+EWXWEXPORT(void*,wxLayoutConstraints_Create)()
+{
+	return (void*)new wxLayoutConstraints();
+}
+
+EWXWEXPORT(void,wxIndividualLayoutConstraint_Set)(void* self,int rel,wxWindowBase* otherW,int otherE,int val,int marg)
+{
+	((wxIndividualLayoutConstraint*)self)->Set((wxRelationship)rel,  otherW, (wxEdge)otherE, val, marg);
+}
+	
+EWXWEXPORT(void,wxIndividualLayoutConstraint_LeftOf)(void* self,wxWindowBase* sibling,int marg)
+{
+	((wxIndividualLayoutConstraint*)self)->LeftOf( sibling, (wxEdge)marg);
+}
+	
+EWXWEXPORT(void,wxIndividualLayoutConstraint_RightOf)(void* self,wxWindowBase* sibling,int marg)
+{
+	((wxIndividualLayoutConstraint*)self)->RightOf(sibling, (wxEdge)marg);
+}
+	
+EWXWEXPORT(void,wxIndividualLayoutConstraint_Above)(void* self,wxWindow* sibling,int marg)
+{
+	((wxIndividualLayoutConstraint*)self)->Above(sibling,marg);
+}
+	
+EWXWEXPORT(void,wxIndividualLayoutConstraint_Below)(void* self,wxWindow* sibling,int marg)
+{
+	((wxIndividualLayoutConstraint*)self)->Below(sibling, marg);
+}
+	
+EWXWEXPORT(void,wxIndividualLayoutConstraint_SameAs)(void* self,wxWindowBase* otherW,int edge,int marg)
+{
+	((wxIndividualLayoutConstraint*)self)->SameAs(otherW, (wxEdge)edge, (wxEdge)marg);
+}
+	
+EWXWEXPORT(void,wxIndividualLayoutConstraint_PercentOf)(void* self,wxWindowBase* otherW,int wh,int per)
+{
+	((wxIndividualLayoutConstraint*)self)->PercentOf(otherW, (wxEdge)wh, per);
+}
+	
+EWXWEXPORT(void,wxIndividualLayoutConstraint_Absolute)(void* self,int val)
+{
+	((wxIndividualLayoutConstraint*)self)->Absolute(val);
+}
+	
+EWXWEXPORT(void,wxIndividualLayoutConstraint_Unconstrained)(void* self)
+{
+	((wxIndividualLayoutConstraint*)self)->Unconstrained();
+}
+	
+EWXWEXPORT(void,wxIndividualLayoutConstraint_AsIs)(void* self)
+{
+	((wxIndividualLayoutConstraint*)self)->AsIs();
+}
+	
+EWXWEXPORT(void*,wxIndividualLayoutConstraint_GetOtherWindow)(void* self)
+{
+	return (void*)((wxIndividualLayoutConstraint*)self)->GetOtherWindow();
+}
+	
+EWXWEXPORT(int,wxIndividualLayoutConstraint_GetMyEdge)(wxIndividualLayoutConstraint* self)
+{
+	return (int)self->GetMyEdge();
+}
+	
+EWXWEXPORT(void,wxIndividualLayoutConstraint_SetEdge)(void* self,int which)
+{
+	((wxIndividualLayoutConstraint*)self)->SetEdge((wxEdge)which);
+}
+	
+EWXWEXPORT(void,wxIndividualLayoutConstraint_SetValue)(void* self,int v)
+{
+	((wxIndividualLayoutConstraint*)self)->SetValue(v);
+}
+	
+EWXWEXPORT(int,wxIndividualLayoutConstraint_GetMargin)(void* self)
+{
+	return ((wxIndividualLayoutConstraint*)self)->GetMargin();
+}
+	
+EWXWEXPORT(void,wxIndividualLayoutConstraint_SetMargin)(void* self,int m)
+{
+	((wxIndividualLayoutConstraint*)self)->SetMargin(m);
+}
+	
+EWXWEXPORT(int,wxIndividualLayoutConstraint_GetValue)(void* self)
+{
+	return ((wxIndividualLayoutConstraint*)self)->GetValue();
+}
+	
+EWXWEXPORT(int,wxIndividualLayoutConstraint_GetPercent)(void* self)
+{
+	return ((wxIndividualLayoutConstraint*)self)->GetPercent();
+}
+	
+EWXWEXPORT(int,wxIndividualLayoutConstraint_GetOtherEdge)(void* self)
+{
+	return ((wxIndividualLayoutConstraint*)self)->GetOtherEdge();
+}
+	
+EWXWEXPORT(bool,wxIndividualLayoutConstraint_GetDone)(wxIndividualLayoutConstraint* self)
+{
+	return self->GetDone();
+}
+	
+EWXWEXPORT(void,wxIndividualLayoutConstraint_SetDone)(void* self,bool d)
+{
+	((wxIndividualLayoutConstraint*)self)->SetDone(d);
+}
+	
+EWXWEXPORT(int,wxIndividualLayoutConstraint_GetRelationship)(void* self)
+{
+	return ((wxIndividualLayoutConstraint*)self)->GetRelationship();
+}
+	
+EWXWEXPORT(void,wxIndividualLayoutConstraint_SetRelationship)(void* self,int r)
+{
+	((wxIndividualLayoutConstraint*)self)->SetRelationship((wxRelationship)r);
+}
+	
+EWXWEXPORT(bool,wxIndividualLayoutConstraint_ResetIfWin)(wxIndividualLayoutConstraint* self,wxWindowBase* otherW)
+{
+	return self->ResetIfWin(otherW);
+}
+	
+EWXWEXPORT(bool,wxIndividualLayoutConstraint_SatisfyConstraint)(wxIndividualLayoutConstraint* self,void* constraints,wxWindowBase* win)
+{
+	return self->SatisfyConstraint((wxLayoutConstraints*)constraints, win);
+}
+	
+EWXWEXPORT(int,wxIndividualLayoutConstraint_GetEdge)(void* self,int which,wxWindowBase* thisWin,wxWindowBase* other)
+{
+	return ((wxIndividualLayoutConstraint*)self)->GetEdge((wxEdge)which,  thisWin, other);
+}
+	
+}
+ src/cpp/eljlistbox.cpp view
@@ -0,0 +1,114 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+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);
+
+	for (int i = 0; i < _n; i++)
+		result->Append(((wxChar**)_str)[i]);
+
+	return (void*) result;
+}
+
+EWXWEXPORT(void,wxListBox_Clear)(wxListBox* self)
+{
+	self->Clear();
+}
+	
+EWXWEXPORT(void,wxListBox_Delete)(wxListBox* self,int n)
+{
+	self->Delete(n);
+}
+	
+EWXWEXPORT(int,wxListBox_GetCount)(wxListBox* self)
+{
+	return self->GetCount();
+}
+	
+EWXWEXPORT(wxString*,wxListBox_GetString)(wxListBox* self,int n)
+{
+	wxString *result = new wxString();
+	*result = self->GetString(n);
+	return result;
+}
+	
+EWXWEXPORT(void,wxListBox_SetString)(wxListBox* self,int n,wxString* s)
+{
+	self->SetString(n,*s);
+}
+	
+EWXWEXPORT(int,wxListBox_FindString)(wxListBox* self,wxString* s)
+{
+	return self->FindString(*s);
+}
+	
+EWXWEXPORT(bool,wxListBox_IsSelected)(wxListBox* self,int n)
+{
+	return self->IsSelected(n);
+}
+	
+EWXWEXPORT(void,wxListBox_SetSelection)(wxListBox* self,int n,bool select)
+{
+	self->SetSelection(n, select);
+}
+	
+EWXWEXPORT(int,wxListBox_GetSelection)(wxListBox* self)
+{
+	return self->GetSelection();
+}
+	
+EWXWEXPORT(int,wxListBox_GetSelections)(wxListBox* self,int* aSelections,int allocated)
+{
+	wxArrayInt sel;
+	int result = self->GetSelections(sel);
+	
+	if (allocated < result) return -result;
+	
+	for (int i = 0; i < result; i++) aSelections[i] = sel[i];
+	return result;
+}
+	
+EWXWEXPORT(void,wxListBox_Append)(wxListBox* self,wxString* item)
+{
+	self->Append(*item);
+}
+	
+EWXWEXPORT(void,wxListBox_AppendData)(wxListBox* self,wxString* item,void* _data)
+{
+	self->Append(*item, _data);
+}
+	
+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];
+	
+	self->InsertItems(array, pos);
+}
+	
+EWXWEXPORT(void,wxListBox_SetFirstItem)(wxListBox* self,int n)
+{
+	self->SetFirstItem(n);
+}
+	
+EWXWEXPORT(void,wxListBox_SetClientData)(wxListBox* self,int n,void* clientData)
+{
+	self->SetClientData(n, clientData);
+}
+	
+EWXWEXPORT(void*,wxListBox_GetClientData)(wxListBox* self,int n)
+{
+	return (void*) self->GetClientData(n);
+}
+	
+EWXWEXPORT(void,wxListBox_SetStringSelection)(wxListBox* self,wxString* str,bool sel)
+{
+	self->SetStringSelection(*str, sel);
+}
+
+}
+ src/cpp/eljlistctrl.cpp view
@@ -0,0 +1,487 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+typedef int _cdecl (*EiffelSortFunc) (void* obj, int data1, int data2);
+
+typedef struct _EiffelSort
+{
+	void*          obj;
+	EiffelSortFunc fnc;
+}EiffelSort;
+
+int wxCALLBACK ListCmp (long item1, long item2, long sortData)
+{
+	return ((EiffelSort*)sortData)->fnc (((EiffelSort*)sortData)->obj, (int)item1, (int)item2);
+}
+
+EWXWEXPORT(wxListItem*,wxListItem_Create)()
+{
+	return new wxListItem();
+}
+
+EWXWEXPORT(void,wxListItem_Delete)(wxListItem* self)
+{
+	delete self;
+}
+EWXWEXPORT(void,wxListItem_Clear)(wxListItem* self)
+{
+	self->Clear();
+}
+	
+EWXWEXPORT(void,wxListItem_ClearAttributes)(wxListItem* self)
+{
+	self->ClearAttributes();
+}
+	
+EWXWEXPORT(void,wxListItem_SetMask)(wxListItem* self,int mask)
+{
+	self->SetMask((long)mask);
+}
+	
+EWXWEXPORT(void,wxListItem_SetId)(wxListItem* self,int id)
+{
+	self->SetId((long)id);
+}
+	
+EWXWEXPORT(void,wxListItem_SetColumn)(wxListItem* self,int col)
+{
+	self->SetColumn(col);
+}
+	
+EWXWEXPORT(void,wxListItem_SetState)(wxListItem* self,int state)
+{
+	self->SetState((long)state);
+}
+	
+EWXWEXPORT(void,wxListItem_SetStateMask)(wxListItem* self,int stateMask)
+{
+	self->SetStateMask((long)stateMask);
+}
+	
+EWXWEXPORT(void,wxListItem_SetText)(wxListItem* self,wxString* text)
+{
+	self->SetText(*text);
+}
+	
+EWXWEXPORT(void,wxListItem_SetImage)(wxListItem* self,int image)
+{
+	self->SetImage(image);
+}
+	
+EWXWEXPORT(void,wxListItem_SetData)(wxListItem* self,int data)
+{
+	self->SetData((long)data);
+}
+	
+EWXWEXPORT(void,wxListItem_SetDataPointer)(wxListItem* self,void* data)
+{
+	self->SetData(data);
+}
+	
+EWXWEXPORT(void,wxListItem_SetWidth)(wxListItem* self,int width)
+{
+	self->SetWidth(width);
+}
+	
+EWXWEXPORT(void,wxListItem_SetAlign)(wxListItem* self,int align)
+{
+	self->SetAlign((wxListColumnFormat)align);
+}
+	
+EWXWEXPORT(void,wxListItem_SetTextColour)(wxListItem* self,wxColour* colText)
+{
+	self->SetTextColour(*colText);
+}
+	
+EWXWEXPORT(void,wxListItem_SetBackgroundColour)(wxListItem* self,wxColour* colBack)
+{
+	self->SetBackgroundColour(*colBack);
+}
+	
+EWXWEXPORT(void,wxListItem_SetFont)(wxListItem* self,wxFont* font)
+{
+	self->SetFont(*font);
+}
+	
+EWXWEXPORT(long,wxListItem_GetMask)(wxListItem* self)
+{
+	return self->GetMask();
+}
+	
+EWXWEXPORT(long,wxListItem_GetId)(wxListItem* self)
+{
+	return self->GetId();
+}
+	
+EWXWEXPORT(int,wxListItem_GetColumn)(wxListItem* self)
+{
+	return self->GetColumn();
+}
+	
+EWXWEXPORT(long,wxListItem_GetState)(wxListItem* self)
+{
+	return self->GetState();
+}
+	
+EWXWEXPORT(wxString*,wxListItem_GetText)(wxListItem* self)
+{
+	wxString *result = new wxString();
+	*result = self->GetText();
+	return result;
+}
+	
+EWXWEXPORT(int,wxListItem_GetImage)(wxListItem* self)
+{
+	return self->GetImage();
+}
+	
+EWXWEXPORT(long,wxListItem_GetData)(wxListItem* self)
+{
+	return self->GetData();
+}
+	
+EWXWEXPORT(int,wxListItem_GetWidth)(wxListItem* self)
+{
+	return self->GetWidth();
+}
+	
+EWXWEXPORT(int,wxListItem_GetAlign)(wxListItem* self)
+{
+	return (int)self->GetAlign();
+}
+	
+EWXWEXPORT(void*,wxListItem_GetAttributes)(wxListItem* self)
+{
+	return (void*)self->GetAttributes();
+}
+	
+EWXWEXPORT(int,wxListItem_HasAttributes)(wxListItem* self)
+{
+	return (int)self->HasAttributes();
+}
+	
+EWXWEXPORT(void,wxListItem_GetTextColour)(wxListItem* self,wxColour* _ref)
+{
+	*_ref = self->GetTextColour();
+}
+	
+EWXWEXPORT(void,wxListItem_GetBackgroundColour)(wxListItem* self,wxColour* _ref)
+{
+	*_ref = self->GetBackgroundColour();
+}
+	
+EWXWEXPORT(void,wxListItem_GetFont)(wxListItem* self,wxFont* _ref)
+{
+	*_ref = self->GetFont();
+}
+	
+EWXWEXPORT(void*,wxListCtrl_Create)(wxWindow* _prt,int _id, int _lft,int _top,int _wdt,int _hgt,int _stl)
+{
+	return (void*) new wxListCtrl (_prt, _id,wxPoint(_lft, _top),wxSize(_wdt, _hgt), _stl);
+}
+
+EWXWEXPORT(int,wxListCtrl_SetForegroundColour)(wxListCtrl* self,wxColour* col)
+{
+	return (int)self->SetForegroundColour(*col);
+}
+	
+EWXWEXPORT(int,wxListCtrl_SetBackgroundColour)(wxListCtrl* self,wxColour* col)
+{
+	return (int)self->SetBackgroundColour(*col);
+}
+	
+EWXWEXPORT(int,wxListCtrl_GetColumn)(wxListCtrl* self,int col,wxListItem* item)
+{
+	return (int)self->GetColumn(col,*item);
+}
+	
+EWXWEXPORT(int,wxListCtrl_SetColumn)(wxListCtrl* self,int col,wxListItem* item)
+{
+	return (int)self->SetColumn(col,*item);
+}
+	
+EWXWEXPORT(int,wxListCtrl_GetColumnWidth)(void* self,int col)
+{
+	return ((wxListCtrl*)self)->GetColumnWidth(col);
+}
+	
+EWXWEXPORT(bool,wxListCtrl_SetColumnWidth)(wxListCtrl* self,int col,int width)
+{
+	return self->SetColumnWidth(col, width);
+}
+	
+EWXWEXPORT(int,wxListCtrl_GetCountPerPage)(wxListCtrl* self)
+{
+	return self->GetCountPerPage();
+}
+	
+EWXWEXPORT(void*,wxListCtrl_GetEditControl)(wxListCtrl* self)
+{
+#ifdef __WIN32__
+	return (void*)self->GetEditControl();
+#else
+	return NULL;
+#endif
+}
+	
+EWXWEXPORT(int,wxListCtrl_GetItem)(wxListCtrl* self,wxListItem* info)
+{
+	return (int)self->GetItem(*info);
+}
+	
+EWXWEXPORT(bool,wxListCtrl_SetItemFromInfo)(wxListCtrl* self,wxListItem* info)
+{
+	return self->SetItem(*info);
+}
+	
+EWXWEXPORT(bool,wxListCtrl_SetItem)(wxListCtrl* self,int index,int col,wxString* label,int imageId)
+{
+	return self->SetItem((long)index, col,*label, imageId);
+}
+	
+EWXWEXPORT(int,wxListCtrl_GetItemState)(void* self,int item,int stateMask)
+{
+	return ((wxListCtrl*)self)->GetItemState((long)item, (long)stateMask);
+}
+	
+EWXWEXPORT(bool,wxListCtrl_SetItemState)(wxListCtrl* self,int item,int state,int stateMask)
+{
+	return self->SetItemState((long)item, (long)state, (long)stateMask);
+}
+	
+EWXWEXPORT(bool,wxListCtrl_SetItemImage)(wxListCtrl* self,int item,int image,int selImage)
+{
+	return self->SetItemImage((long)item, image, selImage);
+}
+	
+EWXWEXPORT(wxString*,wxListCtrl_GetItemText)(wxListCtrl* self,int item)
+{
+	wxString *result = new wxString();
+	*result = self->GetItemText((long)item);
+	return result;
+}
+	
+EWXWEXPORT(void,wxListCtrl_SetItemText)(wxListCtrl* self,int item,wxString* str)
+{
+	self->SetItemText((long)item,*str);
+}
+	
+EWXWEXPORT(int,wxListCtrl_GetItemData)(wxListCtrl* self,int item)
+{
+	return (int)self->GetItemData((long)item);
+}
+	
+EWXWEXPORT(bool,wxListCtrl_SetItemData)(wxListCtrl* self,int item,int data)
+{
+	return self->SetItemData((long)item, (long)data);
+}
+	
+EWXWEXPORT(wxRect*,wxListCtrl_GetItemRect)(wxListCtrl* self,int item,int code)
+{
+	wxRect* rct = new wxRect();
+	bool result = self->GetItemRect((long)item, *rct, code);
+	if (result)
+	{
+		return rct;
+	}
+	return NULL;
+}
+	
+EWXWEXPORT(wxPoint*,wxListCtrl_GetItemPosition)(wxListCtrl* self,int item)
+{
+	wxPoint* pos = new wxPoint();
+	bool result = self->GetItemPosition((long)item, *pos);
+	if (result)
+	{
+		return pos;
+	}
+	return NULL;
+}
+	
+EWXWEXPORT(int,wxListCtrl_SetItemPosition)(wxListCtrl* self,int item,int x,int y)
+{
+	return self->SetItemPosition((long)item, wxPoint(x,y));
+}
+	
+EWXWEXPORT(int,wxListCtrl_GetItemCount)(wxListCtrl* self)
+{
+	return self->GetItemCount();
+}
+	
+EWXWEXPORT(int,wxListCtrl_GetColumnCount)(wxListCtrl* self)
+{
+	return self->GetColumnCount();
+}
+	
+EWXWEXPORT(wxSize*,wxListCtrl_GetItemSpacing)(wxListCtrl* self,bool isSmall)
+{
+	wxSize* sz = new wxSize();
+	*sz = self->GetItemSpacing();
+	return sz;
+}
+	
+EWXWEXPORT(int,wxListCtrl_GetSelectedItemCount)(wxListCtrl* self)
+{
+	return self->GetSelectedItemCount();
+}
+	
+EWXWEXPORT(void,wxListCtrl_GetTextColour)(wxListCtrl* self,wxColour* colour)
+{
+	*colour = self->GetTextColour();
+}
+	
+EWXWEXPORT(void,wxListCtrl_SetTextColour)(wxListCtrl* self,wxColour* col)
+{
+	self->SetTextColour(*col);
+}
+	
+EWXWEXPORT(int,wxListCtrl_GetTopItem)(wxListCtrl* self)
+{
+	return (int)self->GetTopItem();
+}
+	
+EWXWEXPORT(void,wxListCtrl_SetSingleStyle)(wxListCtrl* self,int style,bool add)
+{
+	self->SetSingleStyle((long)style, add);
+}
+	
+EWXWEXPORT(void,wxListCtrl_SetWindowStyleFlag)(wxListCtrl* self,int style)
+{
+	self->SetWindowStyleFlag((long)style);
+}
+	
+EWXWEXPORT(int,wxListCtrl_GetNextItem)(wxListCtrl* self,int item,int geometry,int state)
+{
+	return self->GetNextItem((long)item, geometry, state);
+}
+	
+EWXWEXPORT(void*,wxListCtrl_GetImageList)(wxListCtrl* self,int which)
+{
+	return (void*)self->GetImageList(which);
+}
+	
+EWXWEXPORT(void,wxListCtrl_SetImageList)(wxListCtrl* self,void* imageList,int which)
+{
+	self->SetImageList((wxImageList*)imageList, which);
+}
+	
+EWXWEXPORT(bool,wxListCtrl_Arrange)(wxListCtrl* self,int flag)
+{
+	return self->Arrange(flag);
+}
+	
+EWXWEXPORT(bool,wxListCtrl_DeleteItem)(wxListCtrl* self,int item)
+{
+	return self->DeleteItem((long)item);
+}
+	
+EWXWEXPORT(bool,wxListCtrl_DeleteAllItems)(wxListCtrl* self)
+{
+	return self->DeleteAllItems();
+}
+	
+EWXWEXPORT(bool,wxListCtrl_DeleteColumn)(wxListCtrl* self,int col)
+{
+	return self->DeleteColumn(col);
+}
+	
+EWXWEXPORT(int,wxListCtrl_DeleteAllColumns)(wxListCtrl* self)
+{
+	return (int)self->DeleteAllColumns();
+}
+	
+EWXWEXPORT(void,wxListCtrl_ClearAll)(wxListCtrl* self)
+{
+	self->ClearAll();
+}
+	
+EWXWEXPORT(void,wxListCtrl_EditLabel)(wxListCtrl* self,int item)
+{
+	self->EditLabel((long)item);
+}
+	
+EWXWEXPORT(bool,wxListCtrl_EndEditLabel)(wxListCtrl* self,bool cancel)
+{
+#ifdef __WIN32__
+	return self->EndEditLabel(cancel);
+#else
+	return false;
+#endif
+}
+	
+EWXWEXPORT(bool,wxListCtrl_EnsureVisible)(wxListCtrl* self,int item)
+{
+	return self->EnsureVisible((long)item);
+}
+	
+EWXWEXPORT(int,wxListCtrl_FindItem)(wxListCtrl* self,int start,wxString* str,bool partial)
+{
+	return (long)self->FindItem((long)start,* str, partial);
+}
+	
+EWXWEXPORT(int,wxListCtrl_FindItemByData)(wxListCtrl* self,int start,int data)
+{
+	return (int)self->FindItem((long)start, (long)data);
+}
+	
+EWXWEXPORT(int,wxListCtrl_FindItemByPosition)(wxListCtrl* self,int start,int x,int y,int direction)
+{
+	return (int)self->FindItem((long)start, wxPoint(x, y), direction);
+}
+	
+EWXWEXPORT(int,wxListCtrl_HitTest)(wxListCtrl* self,int x,int y,void* flags)
+{
+	return self->HitTest(wxPoint(x, y),*((int*)flags));
+}
+	
+EWXWEXPORT(int,wxListCtrl_InsertItem)(wxListCtrl* self,wxListItem* info)
+{
+	return (int)self->InsertItem(*info);
+}
+	
+EWXWEXPORT(int,wxListCtrl_InsertItemWithData)(wxListCtrl* self,int index,wxString* label)
+{
+	return (int)self->InsertItem((long)index,*label);
+}
+	
+EWXWEXPORT(int,wxListCtrl_InsertItemWithImage)(wxListCtrl* self,int index,int imageIndex)
+{
+	return (int)self->InsertItem((long)index, imageIndex);
+}
+	
+EWXWEXPORT(int,wxListCtrl_InsertItemWithLabel)(wxListCtrl* self,int index,wxString* label,int imageIndex)
+{
+	return (int)self->InsertItem((long)index,*label, imageIndex);
+}
+	
+EWXWEXPORT(int,wxListCtrl_InsertColumnFromInfo)(wxListCtrl* self,int col,wxListItem* info)
+{
+	return (int)self->InsertColumn((long)col,*info);
+}
+	
+EWXWEXPORT(int,wxListCtrl_InsertColumn)(wxListCtrl* self,int col,wxString* heading,int format,int width)
+{
+	return (int)self->InsertColumn((long)col,* heading, format, width);
+}
+	
+EWXWEXPORT(bool,wxListCtrl_ScrollList)(wxListCtrl* self,int dx,int dy)
+{
+	return self->ScrollList(dx, dy);
+}
+	
+EWXWEXPORT(bool,wxListCtrl_SortItems)(wxListCtrl* self,void* fnc,void* obj)
+{
+	EiffelSort srt = {obj, (EiffelSortFunc)fnc};
+	return self->SortItems(ListCmp, (long)&srt);
+}
+	
+EWXWEXPORT(void,wxListCtrl_UpdateStyle)(wxListCtrl* self)
+{
+#ifdef __WIN32__
+	self->UpdateStyle();
+#endif
+}
+	
+}
+ src/cpp/eljlocale.cpp view
@@ -0,0 +1,80 @@+#include "wrapper.h"
+#include "wx/intl.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxLocale_Create)(int _lang,int _flags)
+{
+	return (void*)new wxLocale(_lang, _flags);
+}
+
+EWXWEXPORT(void,wxLocale_Delete)(wxLocale* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(bool,wxLocale_IsOk)(wxLocale* self)
+{
+	return self->IsOk();
+}
+	
+EWXWEXPORT(void*,wxLocale_GetLocale)(wxLocale* self)
+{
+#if (wxVERSION_NUMBER < 2900)
+	return (void*)self->GetLocale();
+#else
+    wxString retVal = self->GetLocale();
+    return (void*) retVal.wchar_str();
+#endif
+}
+	
+EWXWEXPORT(void,wxLocale_AddCatalogLookupPathPrefix)(wxLocale* self,void* prefix)
+{
+	self->AddCatalogLookupPathPrefix((const wxChar*)prefix);
+}
+	
+EWXWEXPORT(bool,wxLocale_AddCatalog)(wxLocale* self,void* szDomain)
+{
+	return self->AddCatalog((const wxChar*)szDomain);
+}
+	
+EWXWEXPORT(bool,wxLocale_IsLoaded)(wxLocale* self,void* szDomain)
+{
+	return self->IsLoaded((const wxChar*)szDomain);
+}
+	
+EWXWEXPORT(void*,wxLocale_GetString)(wxLocale* self,void* szOrigString,void* szDomain)
+{
+#if (wxVERSION_NUMBER < 2900)
+	return (void*)self->GetString((const wxChar*)szOrigString, (const wxChar*)szDomain);
+#else
+    wxString retVal = self->GetString((const wxChar*)szOrigString, (const wxChar*)szDomain);
+    return (void*) retVal.wchar_str();
+#endif
+}
+	
+EWXWEXPORT(wxString*,wxLocale_GetName)(void* _obj)
+{
+	wxString *result = new wxString();
+	*result = ((wxLocale*)_obj)->GetName();
+	return result;
+}
+	
+
+EWXWEXPORT(void*,wxGetELJLocale)()
+{
+	return (void*)wxGetLocale();
+}
+	
+EWXWEXPORT(void*,wxGetELJTranslation)(void* sz)
+{
+#if (wxVERSION_NUMBER < 2900)
+    return (void*)wxGetTranslation((const wxChar*)sz);
+#else
+    wxString retVal = wxGetTranslation((const wxChar*) sz);
+    return (void*) retVal.wchar_str();
+#endif
+}
+	
+}
+ src/cpp/eljlog.cpp view
@@ -0,0 +1,211 @@+#include "wrapper.h"
+#include "wx/log.h"
+
+extern "C"
+{
+
+typedef void (*TLogFunc) (void*, int, void*, int);
+
+}
+
+class ELJLog : public wxLog
+{
+	private:
+		TLogFunc func;
+		void*    EiffelObject;
+		
+    protected:
+		virtual void DoLog(wxLogLevel level, const wxChar *szString, time_t t)
+                  {
+                    wxString s(szString);
+                    func (EiffelObject, (int)level, (void*)&s , (int)t);
+                  }
+
+	public:
+		ELJLog (void* _obj, void* _fnc) : wxLog()
+		{
+			func = (TLogFunc)_fnc;
+			EiffelObject = _obj;
+		}
+};
+
+extern "C"
+{
+
+EWXWEXPORT(void*,ELJLog_Create)(void* self,void* _fnc)
+{
+	return (void*)new ELJLog(self, _fnc);
+}
+
+EWXWEXPORT(void,ELJLog_Delete)(ELJLog* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(bool,ELJLog_IsEnabled)(ELJLog* self)
+{
+	return self->IsEnabled();
+}
+	
+EWXWEXPORT(int,ELJLog_EnableLogging)(ELJLog* self,bool doIt)
+{
+	return (int)self->EnableLogging(doIt);
+}
+	
+EWXWEXPORT(void,ELJLog_OnLog)(ELJLog* self,int level,void* szString,int t)
+{
+	self->OnLog((wxLogLevel)level, (const wxChar*)szString, (time_t)t);
+}
+	
+EWXWEXPORT(void,ELJLog_Flush)(ELJLog* self)
+{
+	self->Flush();
+}
+	
+EWXWEXPORT(int,ELJLog_HasPendingMessages)(ELJLog* self)
+{
+	return (int)self->HasPendingMessages();
+}
+	
+EWXWEXPORT(void,ELJLog_FlushActive)(ELJLog* self)
+{
+	self->FlushActive();
+}
+	
+EWXWEXPORT(void*,ELJLog_GetActiveTarget)()
+{
+	return (void*)ELJLog::GetActiveTarget();
+}
+	
+EWXWEXPORT(void*,ELJLog_SetActiveTarget)(wxLog* pLogger)
+{
+	return (void*)ELJLog::SetActiveTarget(pLogger);
+}
+	
+EWXWEXPORT(void,ELJLog_Suspend)(ELJLog* self)
+{
+	self->Suspend();
+}
+	
+EWXWEXPORT(void,ELJLog_Resume)(ELJLog* self)
+{
+	self->Resume();
+}
+	
+EWXWEXPORT(void,ELJLog_SetVerbose)(ELJLog* self,bool bVerbose)
+{
+	self->SetVerbose(bVerbose);
+}
+	
+EWXWEXPORT(void,ELJLog_DontCreateOnDemand)(ELJLog* self)
+{
+	self->DontCreateOnDemand();
+}
+	
+EWXWEXPORT(void,ELJLog_SetTraceMask)(ELJLog* self,int ulMask)
+{
+	self->SetTraceMask((wxTraceMask)ulMask);
+}
+	
+EWXWEXPORT(void,ELJLog_AddTraceMask)(ELJLog* self,void* str)
+{
+	self->AddTraceMask((const wxChar*)str);
+}
+	
+EWXWEXPORT(void,ELJLog_RemoveTraceMask)(ELJLog* self,void* str)
+{
+	self->RemoveTraceMask((const wxChar*)str);
+}
+	
+EWXWEXPORT(void,ELJLog_SetTimestamp)(ELJLog* self,void* ts)
+{
+	self->SetTimestamp((const wxChar*)ts);
+}
+	
+EWXWEXPORT(int,ELJLog_GetVerbose)(ELJLog* self)
+{
+	return (int)self->GetVerbose();
+}
+	
+EWXWEXPORT(int,ELJLog_GetTraceMask)(ELJLog* self)
+{
+	return (int)self->GetTraceMask();
+}
+	
+EWXWEXPORT(bool,ELJLog_IsAllowedTraceMask)(ELJLog* self,void* mask)
+{
+	return self->IsAllowedTraceMask((const wxChar*)mask);
+}
+	
+EWXWEXPORT(void*,ELJLog_GetTimestamp)(ELJLog* self)
+{
+#if (wxVERSION_NUMBER < 2900)
+	return (void*)self->GetTimestamp();
+#else
+    wxString retVal = self->GetTimestamp();
+    return (void*) retVal.wchar_str();
+#endif
+}
+
+EWXWEXPORT(int,ELJSysErrorCode)()
+{
+	return (int)wxSysErrorCode();
+}
+
+EWXWEXPORT(void*,ELJSysErrorMsg)(int nErrCode)
+{
+	return (void*)wxSysErrorMsg((unsigned long)nErrCode);
+}
+
+EWXWEXPORT(void,LogErrorMsg)(wxString* _msg)
+{
+	wxLogError(*_msg);
+}
+
+EWXWEXPORT(void,LogFatalErrorMsg)(wxString* _msg)
+{
+	wxLogFatalError(*_msg);
+}
+
+EWXWEXPORT(void,LogWarningMsg)(wxString* _msg)
+{
+	wxLogWarning(*_msg);
+}
+
+EWXWEXPORT(void,LogMessageMsg)(wxString* _msg)
+{
+	wxLogMessage(*_msg);
+}
+
+
+EWXWEXPORT(void*,wxLogChain_Create)(void* logger)
+{
+	return new wxLogChain ((wxLog*)logger);
+}
+
+EWXWEXPORT(void,wxLogChain_Delete)(wxLogChain* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(void,wxLogChain_SetLog)(wxLogChain* self,wxLog* logger)
+{
+	self->SetLog(logger);
+}
+	
+EWXWEXPORT(void,wxLogChain_PassMessages)(wxLogChain* self,bool bDoPass)
+{
+	self->PassMessages(bDoPass);
+}
+	
+EWXWEXPORT(bool,wxLogChain_IsPassingMessages)(wxLogChain* self)
+{
+	return self->IsPassingMessages();
+}
+	
+EWXWEXPORT(void*,wxLogChain_GetOldLog)(wxLogChain* self)
+{
+	return (void*)self->GetOldLog();
+}
+	
+}
+ src/cpp/eljmask.cpp view
@@ -0,0 +1,16 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*, wxMask_Create) (void* bitmap)
+{
+	return (void*) new wxMask (*(wxBitmap*)bitmap);
+}
+
+EWXWEXPORT(void*, wxMask_CreateColoured) (void* bitmap, void* colour)
+{
+	return (void*) new wxMask (*(wxBitmap*)bitmap, *(wxColour*)colour);
+}
+
+}
+ src/cpp/eljmdi.cpp view
@@ -0,0 +1,77 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*, wxMDIParentFrame_Create) (wxWindow* _prt,int _id,wxString* _txt,int _lft,int _top,int _wdt,int _hgt,int _stl)
+{
+	return (void*) new wxMDIParentFrame (_prt, _id, *_txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+}
+
+EWXWEXPORT(void*,wxMDIParentFrame_GetActiveChild)(void* _obj)
+{
+	return (void*)((wxMDIParentFrame*)_obj)->GetActiveChild();
+}
+	
+EWXWEXPORT(void*,wxMDIParentFrame_GetClientWindow)(void* _obj)
+{
+	return (void*)((wxMDIParentFrame*)_obj)->GetClientWindow();
+}
+	
+EWXWEXPORT(void*,wxMDIParentFrame_OnCreateClient)(void* _obj)
+{
+	return (void*)((wxMDIParentFrame*)_obj)->OnCreateClient();
+}
+	
+EWXWEXPORT(void*,wxMDIParentFrame_GetWindowMenu)(void* _obj)
+{
+#ifdef __WIN32__
+	return (void*)((wxMDIParentFrame*)_obj)->GetWindowMenu();
+#else
+	return NULL;
+#endif
+}
+	
+EWXWEXPORT(void,wxMDIParentFrame_SetWindowMenu)(void* _obj,void* menu)
+{
+#ifdef __WIN32__
+	((wxMDIParentFrame*)_obj)->SetWindowMenu((wxMenu*) menu);
+#endif
+}
+	
+EWXWEXPORT(void,wxMDIParentFrame_Cascade)(void* _obj)
+{
+	((wxMDIParentFrame*)_obj)->Cascade();
+}
+	
+EWXWEXPORT(void,wxMDIParentFrame_Tile)(void* _obj)
+{
+	((wxMDIParentFrame*)_obj)->Tile();
+}
+	
+EWXWEXPORT(void,wxMDIParentFrame_ArrangeIcons)(void* _obj)
+{
+	((wxMDIParentFrame*)_obj)->ArrangeIcons();
+}
+	
+EWXWEXPORT(void,wxMDIParentFrame_ActivateNext)(void* _obj)
+{
+	((wxMDIParentFrame*)_obj)->ActivateNext();
+}
+	
+EWXWEXPORT(void,wxMDIParentFrame_ActivatePrevious)(void* _obj)
+{
+	((wxMDIParentFrame*)_obj)->ActivatePrevious();
+}
+	
+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);
+}
+
+EWXWEXPORT(void,wxMDIChildFrame_Activate)(void* _obj)
+{
+	((wxMDIChildFrame*)_obj)->Activate();
+}
+	
+}
+ src/cpp/eljmenu.cpp view
@@ -0,0 +1,346 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(wxMenu*,wxMenu_Create)(wxString* title,long style)
+{
+	return new wxMenu(*title, style);
+}
+	
+EWXWEXPORT(void,wxMenu_DeletePointer)(wxMenu* self)
+{
+	delete self;
+}
+	
+EWXWEXPORT(void,wxMenu_AppendSeparator)(wxMenu* self)
+{
+	self->AppendSeparator();
+}
+	
+EWXWEXPORT(void,wxMenu_Append)(wxMenu* self,int id,wxString* text,wxString* help,bool isCheckable)
+{
+	self->Append(id,*text,*help, isCheckable);
+}
+	
+EWXWEXPORT(void,wxMenu_AppendSub)(wxMenu* self,int id,wxString* text,wxMenu* submenu,wxString* help)
+{
+	self->Append(id,*text,submenu,*help);
+}
+	
+EWXWEXPORT(void,wxMenu_AppendItem)(wxMenu* self,wxMenuItem* _itm)
+{
+	self->Append(_itm);
+}
+	
+EWXWEXPORT(void,wxMenu_Break)(wxMenu* self)
+{
+	self->Break();
+}
+	
+EWXWEXPORT(void,wxMenu_Insert)(wxMenu* self,size_t pos,int id,wxString* text,wxString* help,bool isCheckable)
+{
+	self->Insert(pos, id,*text,*help, isCheckable);
+}
+	
+EWXWEXPORT(void,wxMenu_InsertSub)(wxMenu* self,size_t pos,int id,wxString* text,wxMenu* submenu,wxString* help)
+{
+	self->Insert(pos, id,*text, submenu,*help);
+}
+	
+EWXWEXPORT(void,wxMenu_InsertItem)(wxMenu* self,int pos,wxMenuItem* _itm)
+{
+	self->Insert((size_t)pos, _itm);
+}
+	
+EWXWEXPORT(void,wxMenu_Prepend)(wxMenu* self,int id,wxString* text,wxString* help,bool isCheckable)
+{
+	self->Prepend(id,*text,*help, isCheckable);
+}
+	
+EWXWEXPORT(void,wxMenu_PrependSub)(wxMenu* self,int id,wxString* text,wxMenu* submenu,wxString* help)
+{
+	self->Prepend(id,*text, submenu,*help);
+}
+	
+EWXWEXPORT(void,wxMenu_PrependItem)(wxMenu* self,wxMenuItem* _itm)
+{
+	self->Prepend(_itm);
+}
+	
+EWXWEXPORT(void,wxMenu_RemoveByItem)(wxMenu* self,wxMenuItem* item)
+{
+	self->Remove(item);
+}
+	
+EWXWEXPORT(void,wxMenu_RemoveById)(wxMenu* self,int id,void* _itm)
+{
+	*((void**)_itm) = (void*)self->Remove(id);
+}
+	
+EWXWEXPORT(void,wxMenu_DeleteById)(wxMenu* self,int id)
+{
+	self->Delete(id);
+}
+	
+EWXWEXPORT(void,wxMenu_DeleteByItem)(wxMenu* self,wxMenuItem* _itm)
+{
+	self->Delete(_itm);
+}
+	
+EWXWEXPORT(void,wxMenu_DestroyById)(wxMenu* self,int id)
+{
+	self->Destroy(id);
+}
+	
+EWXWEXPORT(void,wxMenu_DestroyByItem)(wxMenu* self,wxMenuItem* _itm)
+{
+	self->Destroy(_itm);
+}
+	
+EWXWEXPORT(size_t,wxMenu_GetMenuItemCount)(wxMenu* self)
+{
+	return self->GetMenuItemCount();
+}
+	
+EWXWEXPORT(int,wxMenu_GetMenuItems)(wxMenu* self,void* _lst)
+{
+	if (_lst)
+	{
+		for (unsigned int i = 0; i < self->GetMenuItems().GetCount(); i++)
+			((void**)_lst)[i] = self->GetMenuItems().Item(i)->GetData();
+	}
+	return self->GetMenuItems().GetCount();
+}
+	
+EWXWEXPORT(int,wxMenu_FindItemByLabel)(wxMenu* self,wxString* itemString)
+{
+	return self->FindItem(*itemString);
+}
+	
+EWXWEXPORT(wxMenuItem*,wxMenu_FindItem)(wxMenu* self,int id)
+{
+	return self->FindItem(id);
+}
+	
+EWXWEXPORT(void,wxMenu_Enable)(wxMenu* self,int id,bool enable)
+{
+	self->Enable(id, enable);
+}
+	
+EWXWEXPORT(bool,wxMenu_IsEnabled)(wxMenu* self,int id)
+{
+	return self->IsEnabled(id);
+}
+	
+EWXWEXPORT(void,wxMenu_Check)(wxMenu* self,int id,bool check)
+{
+	self->Check(id, check);
+}
+	
+EWXWEXPORT(bool,wxMenu_IsChecked)(wxMenu* self,int id)
+{
+	return self->IsChecked(id);
+}
+	
+EWXWEXPORT(void,wxMenu_SetLabel)(wxMenu* self,int id,wxString* label)
+{
+	self->SetLabel(id,*label);
+}
+	
+EWXWEXPORT(wxString*,wxMenu_GetLabel)(wxMenu* self,int id)
+{
+	wxString *result = new wxString();
+	*result = self->GetLabel(id);
+	return result;
+}
+	
+EWXWEXPORT(void,wxMenu_SetHelpString)(wxMenu* self,int id,wxString* helpString)
+{
+	self->SetHelpString(id,*helpString);
+}
+	
+EWXWEXPORT(wxString*,wxMenu_GetHelpString)(wxMenu* self,int id)
+{
+	wxString *result = new wxString();
+	*result = self->GetHelpString(id);
+	return result;
+}
+	
+EWXWEXPORT(void,wxMenu_SetTitle)(void* _obj,wxString* title)
+{
+	((wxMenu*)_obj)->SetTitle(*title);
+}
+	
+EWXWEXPORT(wxString*,wxMenu_GetTitle)(wxMenu* self)
+{
+	wxString *result = new wxString();
+	*result = self->GetTitle();
+	return result;
+}
+	
+EWXWEXPORT(void,wxMenu_SetClientData)(wxMenu* self,void* clientData)
+{
+	self->SetClientData(clientData);
+}
+	
+EWXWEXPORT(void*,wxMenu_GetClientData)(wxMenu* self)
+{
+	return (void*)self->GetClientData();
+}
+	
+EWXWEXPORT(void,wxMenu_SetEventHandler)(wxMenu* self,wxEvtHandler* handler)
+{
+	self->SetEventHandler(handler);
+}
+	
+EWXWEXPORT(void,wxMenu_SetInvokingWindow)(wxMenu* self,wxWindow* win)
+{
+	self->SetInvokingWindow(win);
+}
+	
+EWXWEXPORT(void*,wxMenu_GetInvokingWindow)(wxMenu* self)
+{
+	return (void*)self->GetInvokingWindow();
+}
+	
+EWXWEXPORT(int,wxMenu_GetStyle)(wxMenu* self)
+{
+	return self->GetStyle();
+}
+	
+EWXWEXPORT(void,wxMenu_UpdateUI)(wxMenu* self,wxEvtHandler* source)
+{
+	self->UpdateUI(source);
+}
+	
+EWXWEXPORT(bool,wxMenu_IsAttached)(wxMenu* self)
+{
+	return self->IsAttached();
+}
+	
+EWXWEXPORT(void,wxMenu_SetParent)(wxMenu* self,wxMenu* parent)
+{
+	self->SetParent(parent);
+}
+	
+EWXWEXPORT(void*,wxMenu_GetParent)(wxMenu* self)
+{
+	return (void*)self->GetParent();
+}
+	
+
+EWXWEXPORT(wxMenuItem*,wxMenuItem_Create)()
+{
+	return new wxMenuItem();
+}
+	
+EWXWEXPORT(void,wxMenuItem_Delete)(wxMenuItem* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(wxMenu*,wxMenuItem_GetMenu)(wxMenuItem* self)
+{
+	return self->GetMenu();
+}
+	
+EWXWEXPORT(void,wxMenuItem_SetId)(wxMenuItem* self,int id)
+{
+	self->SetId(id);
+}
+	
+EWXWEXPORT(int,wxMenuItem_GetId)(wxMenuItem* self)
+{
+	return self->GetId();
+}
+	
+EWXWEXPORT(bool,wxMenuItem_IsSeparator)(wxMenuItem* self)
+{
+	return self->IsSeparator();
+}
+	
+EWXWEXPORT(void,wxMenuItem_SetText)(wxMenuItem* self,wxString* str)
+{
+	self->SetText(*str);
+}
+	
+EWXWEXPORT(wxString*,wxMenuItem_GetLabel)(wxMenuItem* self)
+{
+	wxString *result = new wxString();
+	*result = self->GetLabel();
+	return result;
+}
+	
+EWXWEXPORT(wxString*,wxMenuItem_GetText)(wxMenuItem* self)
+{
+	wxString *result = new wxString();
+	*result = self->GetText();
+	return result;
+}
+
+EWXWEXPORT(wxString*,wxMenuItem_GetLabelFromText)(wxString* text)
+{
+	wxString *result = new wxString();
+	*result = wxMenuItem::GetLabelFromText(* text);
+	return result;
+}
+
+EWXWEXPORT(void,wxMenuItem_SetCheckable)(wxMenuItem* self,bool checkable)
+{
+	self->SetCheckable(checkable);
+}
+	
+EWXWEXPORT(bool,wxMenuItem_IsCheckable)(wxMenuItem* self)
+{
+	return self->IsCheckable();
+}
+	
+EWXWEXPORT(bool,wxMenuItem_IsSubMenu)(wxMenuItem* self)
+{
+	return self->IsSubMenu();
+}
+	
+EWXWEXPORT(void,wxMenuItem_SetSubMenu)(wxMenuItem* self,wxMenu* menu)
+{
+	self->SetSubMenu(menu);
+}
+	
+EWXWEXPORT(wxMenu*,wxMenuItem_GetSubMenu)(wxMenuItem* self)
+{
+	return self->GetSubMenu();
+}
+	
+EWXWEXPORT(void,wxMenuItem_Enable)(wxMenuItem* self,bool enable)
+{
+	self->Enable(enable);
+}
+	
+EWXWEXPORT(bool,wxMenuItem_IsEnabled)(wxMenuItem* self)
+{
+	return self->IsEnabled();
+}
+	
+EWXWEXPORT(void,wxMenuItem_Check)(wxMenuItem* self,bool check)
+{
+	self->Check(check);
+}
+	
+EWXWEXPORT(bool,wxMenuItem_IsChecked)(wxMenuItem* self)
+{
+	return self->IsChecked();
+}
+	
+EWXWEXPORT(void,wxMenuItem_SetHelp)(wxMenuItem* self,wxString* str)
+{
+	self->SetHelp(*str);
+}
+	
+EWXWEXPORT(wxString*,wxMenuItem_GetHelp)(wxMenuItem* self)
+{
+	wxString *result = new wxString();
+	*result = self->GetHelp();
+	return result;
+}
+
+}
+ src/cpp/eljmenubar.cpp view
@@ -0,0 +1,133 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxMenuBar_Create)(int _style)
+{
+	return new wxMenuBar(_style);
+}
+	
+EWXWEXPORT(void,wxMenuBar_DeletePointer)(wxMenuBar* self)
+{
+	delete self;
+}
+	
+EWXWEXPORT(bool,wxMenuBar_Append)(wxMenuBar* self,wxMenu* menu,wxString* title)
+{
+	return self->Append(menu,*title);
+}
+	
+EWXWEXPORT(bool,wxMenuBar_Insert)(wxMenuBar* self,int pos,wxMenu* menu,wxString* title)
+{
+	return self->Insert((size_t)pos,menu,*title);
+}
+	
+EWXWEXPORT(int,wxMenuBar_GetMenuCount)(wxMenuBar* self)
+{
+	return self->GetMenuCount();
+}
+	
+EWXWEXPORT(wxMenu*,wxMenuBar_GetMenu)(wxMenuBar* self,size_t pos)
+{
+	return self->GetMenu(pos);
+}
+	
+EWXWEXPORT(void*,wxMenuBar_Replace)(wxMenuBar* self,int pos,wxMenu* menu,wxString* title)
+{
+	return (void*)self->Replace((size_t) pos, menu,*title);
+}
+	
+EWXWEXPORT(void*,wxMenuBar_Remove)(wxMenuBar* self,int pos)
+{
+	return (void*)self->Remove((size_t) pos);
+}
+	
+EWXWEXPORT(void,wxMenuBar_EnableTop)(wxMenuBar* self,int pos,bool enable)
+{
+	self->EnableTop((size_t) pos, enable);
+}
+	
+EWXWEXPORT(void,wxMenuBar_SetLabelTop)(wxMenuBar* self,int pos,wxString* label)
+{
+	self->SetLabelTop((size_t) pos,*label);
+}
+	
+EWXWEXPORT(wxString*,wxMenuBar_GetLabelTop)(wxMenuBar* self,int pos)
+{
+	wxString *result = new wxString();
+	*result = self->GetLabelTop((size_t) pos);
+	return result;
+}
+	
+EWXWEXPORT(int,wxMenuBar_FindMenuItem)(wxMenuBar* self,wxString* menuString,wxString* itemString)
+{
+	return self->FindMenuItem(*menuString,*itemString);
+}
+	
+EWXWEXPORT(void*,wxMenuBar_FindItem)(wxMenuBar* self,int id)
+{
+	wxMenu* _foo = new wxMenu;
+	return (void*)self->FindItem(id, &_foo);
+}
+	
+EWXWEXPORT(int,wxMenuBar_FindMenu)(wxMenuBar* self,wxString* title)
+{
+	return self->FindMenu(*title);
+}
+	
+EWXWEXPORT(void,wxMenuBar_EnableItem)(wxMenuBar* self,int id,bool enable)
+{
+	self->Enable(id, enable);
+}
+	
+EWXWEXPORT(void,wxMenuBar_Check)(wxMenuBar* self,int id,bool check)
+{
+	self->Check(id, check);
+}
+	
+EWXWEXPORT(bool,wxMenuBar_IsChecked)(wxMenuBar* self,int id)
+{
+	return self->IsChecked(id);
+}
+	
+EWXWEXPORT(bool,wxMenuBar_IsEnabled)(wxMenuBar* self,int id)
+{
+	return self->IsEnabled(id);
+}
+	
+EWXWEXPORT(void,wxMenuBar_SetItemLabel)(wxMenuBar* self,int id,wxString* label)
+{
+	self->SetLabel(id,*label);
+}
+	
+EWXWEXPORT(wxString*,wxMenuBar_GetLabel)(void* _obj,int id)
+{
+	wxString *result = new wxString();
+	*result = ((wxMenuBar*)_obj)->GetLabel(id);
+	return result;
+}
+	
+EWXWEXPORT(void,wxMenuBar_SetHelpString)(wxMenuBar* self,int id,wxString* helpString)
+{
+	self->SetHelpString(id,*helpString);
+}
+	
+EWXWEXPORT(wxString*,wxMenuBar_GetHelpString)(void* _obj,int id)
+{
+	wxString *result = new wxString();
+	*result = ((wxMenuBar*)_obj)->GetHelpString(id);
+	return result;
+}
+	
+EWXWEXPORT(void,wxMenuBar_Enable)(wxMenuBar* self,bool enable)
+{
+	self->Enable(enable);
+}
+	
+EWXWEXPORT(void,wxMenuBar_SetLabel)(wxMenuBar* self,wxString* s)
+{
+	self->SetLabel(*s);
+}
+	
+}
+ src/cpp/eljmessagedialog.cpp view
@@ -0,0 +1,21 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxMessageDialog_Create)(wxWindow* _prt,wxString* _msg,wxString* _cap,int _stl)
+{
+	return (void*) new wxMessageDialog(_prt, *_msg, *_cap, (long)_stl);
+}
+
+EWXWEXPORT(void,wxMessageDialog_Delete)(void* _obj)
+{
+	delete (wxMessageDialog*)_obj;
+}
+
+EWXWEXPORT(int,wxMessageDialog_ShowModal)(void* _obj)
+{
+	return ((wxMessageDialog*)_obj)->ShowModal();
+}
+
+}
+ src/cpp/eljmime.cpp view
@@ -0,0 +1,130 @@+#include "wrapper.h"+#include "wx/mimetype.h"++extern "C"+{++EWXWEXPORT(void*,wxMimeTypesManager_Create)()+{+        return (void*)wxTheMimeTypesManager;+}++EWXWEXPORT(void*,wxMimeTypesManager_GetFileTypeFromExtension)(wxMimeTypesManager* self,wxString* _ext)+{+        return (void*)self->GetFileTypeFromExtension(*_ext);+}++EWXWEXPORT(void*,wxMimeTypesManager_GetFileTypeFromMimeType)(wxMimeTypesManager* self,wxString* _name)+{+        return (void*)self->GetFileTypeFromMimeType(*_name);+}++EWXWEXPORT(int,wxMimeTypesManager_EnumAllFileTypes)(wxMimeTypesManager* self,void* _lst)+{+        wxArrayString arr;+        int result = (int)self->EnumAllFileTypes(arr);++        if (_lst)+        {+                for (unsigned int i = 0; i < arr.GetCount(); i++)+                        ((const wxChar**)_lst)[i] = wxStrdup (arr.Item(i).wchar_str());+        }++        return result;+}++EWXWEXPORT(void,wxMimeTypesManager_AddFallbacks)(wxMimeTypesManager* self,void* _types)+{+        self->AddFallbacks((const wxFileTypeInfo*)_types);+}++EWXWEXPORT(bool,wxMimeTypesManager_IsOfType)(wxMimeTypesManager* self,wxString* _type,wxString* _wildcard)+{+        return self->IsOfType (*_type, *_wildcard);+}+++EWXWEXPORT(wxString*,wxFileType_GetMimeType)(wxFileType* self)+{+        wxString *result = new wxString();+        if (self->GetMimeType(result)!=true)+          result->Clear();+        return result;+}++EWXWEXPORT(int,wxFileType_GetMimeTypes)(void* self,void* _lst)+{+        wxArrayString arr;++        if (((wxFileType*)self)->GetMimeTypes(arr) && _lst)+        {+                for (unsigned int i = 0; i < arr.GetCount(); i++)+                        ((const wxChar**)_lst)[i] = wxStrdup (arr.Item(i).wchar_str());+        }++        return arr.GetCount();+}++EWXWEXPORT(int,wxFileType_GetExtensions)(void* self,void* _lst)+{+        wxArrayString arr;++        if (((wxFileType*)self)->GetExtensions(arr) && _lst)+        {+            for (unsigned int i = 0; i < arr.GetCount(); i++)                +                 ((const wxChar**)_lst)[i] = wxStrdup (arr.Item(i).wchar_str());+        }++        return arr.GetCount();+}++EWXWEXPORT(bool,wxFileType_GetIcon)(wxFileType* self,wxIcon* icon)+{+#if wxCHECK_VERSION(2,5,0)+	wxIconLocation iconLoc;+	bool res = self->GetIcon(&iconLoc);+	*icon = wxIcon(iconLoc);+	return res;+#else+	return self->GetIcon(icon);+#endif+}++EWXWEXPORT(wxString*,wxFileType_GetDescription)(wxFileType* self)+{+        wxString *result = new wxString();+        if (self->GetDescription(result) != true)+          result->Clear();+        return result;+}++EWXWEXPORT(wxString*,wxFileType_GetOpenCommand)(wxFileType* self,void* _params)+{+        wxString *result = new wxString();+        if (self->GetOpenCommand(result, *((wxFileType::MessageParameters*)_params)) != true)+          result->Clear();+        return result;+}++EWXWEXPORT(wxString*,wxFileType_GetPrintCommand)(wxFileType* self,void* _params)+{+        wxString *result = new wxString();+        if (self->GetPrintCommand(result, *((wxFileType::MessageParameters*)_params)) != true)+          result->Clear();+        return result;+}++EWXWEXPORT(wxString*,wxFileType_ExpandCommand)(wxFileType* self,void* _cmd,void* _params)+{+        wxString *result = new wxString();+        *result = self->ExpandCommand((const wxChar*)_cmd, *((wxFileType::MessageParameters*)_params));+        return result;+}++EWXWEXPORT(void,wxFileType_Delete)(void* self)+{+        delete (wxFileType*)self;+}+++}
+ src/cpp/eljminiframe.cpp view
@@ -0,0 +1,11 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxMiniFrame_Create)(wxWindow* _prt,int _id,wxString* _txt,int _lft,int _top,int _wdt,int _hgt,int _stl)
+{
+	return (void*) new wxMiniFrame (_prt, _id, *_txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+}
+
+}
+ src/cpp/eljnotebook.cpp view
@@ -0,0 +1,158 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(int,expNB_TOP)()
+{
+    return (int)wxNB_TOP;
+}
+
+EWXWEXPORT(int,expNB_BOTTOM)()
+{
+    return (int)wxNB_BOTTOM;
+}
+
+EWXWEXPORT(int,expNB_LEFT)()
+{
+    return (int)wxNB_LEFT;
+}
+
+EWXWEXPORT(int,expNB_RIGHT)()
+{
+    return (int)wxNB_RIGHT;
+}
+
+EWXWEXPORT(void*, wxNotebook_Create)(wxWindow* _prt,int _id,int _lft,int _top,int _wdt,int _hgt,int _stl)
+{
+	return (void*) new wxNotebook (_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+}
+
+EWXWEXPORT(int,wxNotebook_GetPageCount)(wxNotebook* self)
+{
+	return self->GetPageCount();
+}
+	
+EWXWEXPORT(int,wxNotebook_SetSelection)(wxNotebook* self,int nPage)
+{
+	return self->SetSelection(nPage);
+}
+	
+EWXWEXPORT(void,wxNotebook_AdvanceSelection)(wxNotebook* self,bool bForward)
+{
+	self->AdvanceSelection(bForward);
+}
+	
+EWXWEXPORT(int,wxNotebook_GetSelection)(wxNotebook* self)
+{
+	return self->GetSelection();
+}
+	
+EWXWEXPORT(bool,wxNotebook_SetPageText)(wxNotebook* self,int nPage,wxString* strText)
+{
+	return self->SetPageText(nPage,*strText);
+}
+	
+EWXWEXPORT(wxString*,wxNotebook_GetPageText)(wxNotebook* self,int nPage)
+{
+	wxString *result = new wxString();
+	*result = self->GetPageText(nPage);
+	return result;
+}
+	
+EWXWEXPORT(void,wxNotebook_SetImageList)(wxNotebook* self,void* imageList)
+{
+	self->SetImageList((wxImageList*)imageList);
+}
+	
+EWXWEXPORT(void*,wxNotebook_GetImageList)(void* self)
+{
+	return (void*)((wxNotebook*)self)->GetImageList();
+}
+	
+EWXWEXPORT(int,wxNotebook_GetPageImage)(wxNotebook* self,int nPage)
+{
+	return self->GetPageImage(nPage);
+}
+	
+EWXWEXPORT(bool,wxNotebook_SetPageImage)(wxNotebook* self,int nPage,int nImage)
+{
+	return self->SetPageImage(nPage, nImage);
+}
+	
+EWXWEXPORT(int,wxNotebook_GetRowCount)(wxNotebook* self)
+{
+	return self->GetRowCount();
+}
+	
+EWXWEXPORT(void,wxNotebook_SetPageSize)(wxNotebook* self,int _w,int _h)
+{
+	self->SetPageSize(wxSize(_w, _h));
+}
+	
+EWXWEXPORT(void,wxNotebook_SetPadding)(wxNotebook* self,int _w,int _h)
+{
+	self->SetPadding(wxSize(_w, _h));
+}
+
+EWXWEXPORT(int, wxNotebook_HitTest)(wxNotebook* _obj, int x, int y, long *flags)
+{
+	return _obj->HitTest(wxPoint(x, y), flags);
+}
+
+EWXWEXPORT(int,expBK_HITTEST_NOWHERE)()
+{
+    return (int)wxBK_HITTEST_NOWHERE;
+}
+
+EWXWEXPORT(int,expBK_HITTEST_ONICON)()
+{
+    return (int)wxBK_HITTEST_ONICON;
+}
+
+EWXWEXPORT(int,expBK_HITTEST_ONLABEL)()
+{
+    return (int)wxBK_HITTEST_ONLABEL;
+}
+
+EWXWEXPORT(int,expBK_HITTEST_ONITEM)()
+{
+    return (int)wxBK_HITTEST_ONITEM;
+}
+
+EWXWEXPORT(int,expBK_HITTEST_ONPAGE)()
+{
+    return (int)wxBK_HITTEST_ONPAGE;
+}
+
+EWXWEXPORT(bool,wxNotebook_DeletePage)(wxNotebook* self,int nPage)
+{
+	return self->DeletePage(nPage);
+}
+	
+EWXWEXPORT(bool,wxNotebook_RemovePage)(wxNotebook* self,int nPage)
+{
+	return self->RemovePage(nPage);
+}
+	
+EWXWEXPORT(bool,wxNotebook_DeleteAllPages)(wxNotebook* self)
+{
+	return self->DeleteAllPages();
+}
+	
+EWXWEXPORT(bool,wxNotebook_AddPage)(wxNotebook* self,wxNotebookPage* pPage,wxString* strText,bool bSelect,int imageId)
+{
+	return self->AddPage( pPage,* strText, bSelect, imageId);
+}
+	
+EWXWEXPORT(bool,wxNotebook_InsertPage)(wxNotebook* self,int nPage,wxNotebookPage* pPage,wxString* strText,bool bSelect,int imageId)
+{
+	return self->InsertPage(nPage,  pPage,* strText, bSelect, imageId);
+}
+	
+EWXWEXPORT(void*,wxNotebook_GetPage)(wxNotebook* self,int nPage)
+{
+	return (void*)self->GetPage(nPage);
+}
+	
+}
+ src/cpp/eljpalette.cpp view
@@ -0,0 +1,68 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxPalette_CreateDefault)()
+{
+	return (void*)new wxPalette();
+}
+
+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);
+}
+
+EWXWEXPORT(void,wxPalette_Delete)(wxPalette* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(int,wxPalette_GetPixel)(wxPalette* self,wxUint8 red,wxUint8 green,wxUint8 blue)
+{
+	return self->GetPixel(red,green,blue);
+}
+	
+EWXWEXPORT(bool,wxPalette_GetRGB)(wxPalette* self,int pixel,void* red,void* green,void* blue)
+{
+	return self->GetRGB(pixel, (unsigned char*)red, (unsigned char*)green, (unsigned char*)blue);
+}
+	
+EWXWEXPORT(bool,wxPalette_IsOk)(wxPalette* self)
+{
+	return self->IsOk();
+}
+	
+EWXWEXPORT(void,wxPalette_Assign)(void* self,void* palette)
+{
+	*((wxPalette*)self) = *((wxPalette*)palette);
+}
+
+EWXWEXPORT(bool,wxPalette_IsEqual)(wxPalette* self,wxPalette* palette)
+{
+#if (wxVERSION_NUMBER <= 2800)
+	return *self == *palette;
+#else
+	wxPalette* pal1 = self;
+	wxPalette* pal2 = palette;
+	if (pal1->GetColoursCount() == pal2->GetColoursCount()){
+		bool equal = true;
+		unsigned char red1 = 0;
+		unsigned char red2 = 0;
+		unsigned char green1 = 0;
+		unsigned char green2 = 0;
+		unsigned char blue1 = 0;
+		unsigned char blue2 = 0;
+		for(int x = 0; x<(pal1->GetColoursCount()); x++){
+			pal1->GetRGB(x, &red1, &green1, &blue1);
+			pal2->GetRGB(x, &red2, &green2, &blue2);
+			equal = equal && (red1==red2 && green1==green2 && blue1==blue2); 
+		}
+		return equal;
+	} else {
+		return false;
+	}
+#endif
+}
+
+}
+ src/cpp/eljpanel.cpp view
@@ -0,0 +1,40 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*, wxPanel_Create) (void* _prt, int _id, int _lft, int _top, int _wdt, int _hgt, int _stl)
+{
+	return (void*) new wxPanel ((wxWindow*)_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+}
+
+EWXWEXPORT(void, wxPanel_InitDialog)(void* _obj)
+{
+	((wxPanel*)_obj)->InitDialog();
+}
+	
+EWXWEXPORT(void*, wxPanel_GetDefaultItem)(void* _obj)
+{
+#if (wxVERSION_NUMBER <= 2800)
+	return (void*)((wxPanel*)_obj)->GetDefaultItem();
+#else
+	return (void*)((wxTopLevelWindow*)_obj)->GetDefaultItem();
+#endif
+}
+	
+EWXWEXPORT(void, wxPanel_SetDefaultItem)(void* _obj, void* btn)
+{
+#if (wxVERSION_NUMBER <= 2800)
+	((wxPanel*)_obj)->SetDefaultItem((wxButton*) btn);
+#else
+	((wxTopLevelWindow*)_obj)->SetDefaultItem((wxButton*) btn);
+#endif
+}
+
+#if (wxVERSION_NUMBER >= 2800)
+EWXWEXPORT(void, wxPanel_SetFocus)(void* _obj)
+{
+	((wxPanel*)_obj)->SetFocus();
+}
+#endif
+}
+ src/cpp/eljpen.cpp view
@@ -0,0 +1,165 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxPen_CreateDefault)()
+{
+	return new wxPen();
+}
+
+EWXWEXPORT(void*,wxPen_CreateFromColour)(wxColour* col,int width,int style)
+{
+	return new wxPen(*col, width, style);
+}
+
+EWXWEXPORT(void*,wxPen_CreateFromBitmap)(wxBitmap* stipple,int width)
+{
+#ifdef __WXGTK__
+        return 0;
+#else
+	return new wxPen(*stipple, width);
+#endif
+}
+
+EWXWEXPORT(void*,wxPen_CreateFromStock)(int id)
+{
+	switch (id)
+	{
+		case 0:
+			return (void*)wxRED_PEN;
+		case 1:
+			return (void*)wxCYAN_PEN;
+		case 2:
+			return (void*)wxGREEN_PEN;
+		case 3:
+			return (void*)wxBLACK_PEN;
+		case 4:
+			return (void*)wxWHITE_PEN;
+		case 5:
+			return (void*)wxTRANSPARENT_PEN;
+		case 6:
+			return (void*)wxBLACK_DASHED_PEN;
+		case 7:
+			return (void*)wxGREY_PEN;
+		case 8:
+			return (void*)wxMEDIUM_GREY_PEN;
+		case 9:
+			return (void*)wxLIGHT_GREY_PEN;
+	}
+	
+	return NULL;
+}
+
+EWXWEXPORT(void,wxPen_Delete)(void* self)
+{
+	delete (wxPen*)self;
+}
+
+EWXWEXPORT(void,wxPen_Assign)(void* self,void* pen)
+{
+	*((wxPen*)self) = *((wxPen*)pen);
+}
+	
+EWXWEXPORT(bool,wxPen_IsEqual)(wxPen* self,wxPen* pen)
+{
+	return *self == *pen;
+}
+	
+EWXWEXPORT(bool,wxPen_IsOk)(wxPen* self)
+{
+	return self->IsOk();
+}
+	
+EWXWEXPORT(void,wxPen_SetColour)(void* self,wxColour* col)
+{
+	((wxPen*)self)->SetColour(*col);
+}
+	
+EWXWEXPORT(void,wxPen_SetColourSingle)(void* self,wxUint8 r,wxUint8 g,wxUint8 b)
+{
+	((wxPen*)self)->SetColour(r,g,b);
+}
+	
+EWXWEXPORT(void,wxPen_SetWidth)(void* self,int width)
+{
+	((wxPen*)self)->SetWidth(width);
+}
+	
+EWXWEXPORT(void,wxPen_SetStyle)(void* self,int style)
+{
+	((wxPen*)self)->SetStyle(style);
+}
+	
+EWXWEXPORT(void,wxPen_SetStipple)(void* self,wxBitmap* stipple)
+{
+#if !defined(__WXGTK__)
+    ((wxPen*)self)->SetStipple(*stipple);
+#endif
+}
+	
+EWXWEXPORT(void,wxPen_SetDashes)(void* self,int nb_dashes,void* dash)
+{
+	((wxPen*)self)->SetDashes(nb_dashes, (wxDash*)dash);
+}
+	
+EWXWEXPORT(void,wxPen_SetJoin)(void* self,int join)
+{
+#if (wxVERSION_NUMBER < 2900)
+    int _join = join;
+#else
+    wxPenJoin _join = (wxPenJoin) join;
+#endif
+	((wxPen*)self)->SetJoin(_join);
+}
+	
+EWXWEXPORT(void,wxPen_SetCap)(void* self,int cap)
+{
+#if (wxVERSION_NUMBER < 2900)
+    int _cap = cap;
+#else
+    wxPenCap _cap = (wxPenCap) cap;
+#endif
+	((wxPen*)self)->SetCap(_cap);
+}
+	
+EWXWEXPORT(void,wxPen_GetColour)(void* self,wxColour* _ref)
+{
+	*_ref = ((wxPen*)self)->GetColour();
+}
+	
+EWXWEXPORT(int,wxPen_GetWidth)(void* self)
+{
+	return ((wxPen*)self)->GetWidth();
+}
+	
+EWXWEXPORT(int,wxPen_GetStyle)(void* self)
+{
+	return ((wxPen*)self)->GetStyle();
+}
+	
+EWXWEXPORT(int,wxPen_GetJoin)(void* self)
+{
+  return (int) ((wxPen*)self)->GetJoin();
+}
+	
+EWXWEXPORT(int,wxPen_GetCap)(void* self)
+{
+  return (int) ((wxPen*)self)->GetCap();
+}
+	
+EWXWEXPORT(int,wxPen_GetDashes)(void* self,void* ptr)
+{
+	return ((wxPen*)self)->GetDashes((wxDash**)ptr);
+}
+	
+EWXWEXPORT(void,wxPen_GetStipple)(void* self,wxBitmap* _ref)
+{
+#if defined(__WXGTK__)
+    *_ref = NULL;
+#else
+    *_ref = *(((wxPen*)self)->GetStipple());
+#endif
+}
+	
+}
+ src/cpp/eljprintdlg.cpp view
@@ -0,0 +1,222 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxPrintDialog_Create)(wxWindow* parent,wxPrintDialogData* data)
+{
+	return (void*)new wxPrintDialog(parent, data);
+}
+
+EWXWEXPORT(void,wxPrintDialog_GetPrintData)(wxPrintDialog* self,wxPrintData* _ref)
+{
+	*_ref = self->GetPrintData();
+}
+
+	
+EWXWEXPORT(void*,wxPrintDialog_GetPrintDC)(wxPrintDialog* self)
+{
+	return (void*)self->GetPrintDC();
+}
+	
+EWXWEXPORT(void*,wxPageSetupDialog_Create)(wxWindow* parent,wxPageSetupData* data)
+{
+	return (void*)new wxPageSetupDialog(parent, data);
+}
+
+EWXWEXPORT(void,wxPageSetupDialog_GetPageSetupData)(wxPageSetupDialog* self,wxPageSetupData* _ref)
+{
+	*_ref = self->GetPageSetupData();
+}
+	
+EWXWEXPORT(void*,wxPageSetupDialogData_Create)()
+{
+	return (void*)new wxPageSetupDialogData();
+}
+
+EWXWEXPORT(void*,wxPageSetupDialogData_CreateFromData)(wxPrintData* printData)
+{
+	return (void*)new wxPageSetupDialogData(*printData);
+}
+
+EWXWEXPORT(void,wxPageSetupDialogData_Delete)(wxPageSetupDialogData* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(wxSize*,wxPageSetupDialogData_GetPaperSize)(wxPageSetupDialogData* self)
+{
+	wxSize* s = new wxSize();
+	*s = self->GetPaperSize();
+	return s;
+}
+	
+EWXWEXPORT(int,wxPageSetupDialogData_GetPaperId)(wxPageSetupDialogData* self)
+{
+	return (int)self->GetPaperId();
+}
+	
+EWXWEXPORT(wxPoint*,wxPageSetupDialogData_GetMinMarginTopLeft)(wxPageSetupDialogData* self)
+{
+	wxPoint* pt = new wxPoint();
+	*pt = self->GetMinMarginTopLeft();
+	return pt;
+}
+	
+EWXWEXPORT(wxPoint*,wxPageSetupDialogData_GetMinMarginBottomRight)(wxPageSetupDialogData* self)
+{
+	wxPoint* pt = new wxPoint();
+	*pt = self->GetMinMarginBottomRight();
+	return pt;
+}
+	
+EWXWEXPORT(wxPoint*,wxPageSetupDialogData_GetMarginTopLeft)(wxPageSetupDialogData* self)
+{
+	wxPoint* pt = new wxPoint();
+	*pt = self->GetMarginTopLeft();
+	return pt;
+}
+	
+EWXWEXPORT(wxPoint*,wxPageSetupDialogData_GetMarginBottomRight)(wxPageSetupDialogData* self)
+{
+	wxPoint* pt = new wxPoint();
+	*pt = self->GetMarginBottomRight();
+	return pt;
+}
+	
+EWXWEXPORT(int,wxPageSetupDialogData_GetDefaultMinMargins)(wxPageSetupDialogData* self)
+{
+	return (int)self->GetDefaultMinMargins();
+}
+	
+EWXWEXPORT(int,wxPageSetupDialogData_GetEnableMargins)(wxPageSetupDialogData* self)
+{
+	return (int)self->GetEnableMargins();
+}
+	
+EWXWEXPORT(int,wxPageSetupDialogData_GetEnableOrientation)(wxPageSetupDialogData* self)
+{
+	return (int)self->GetEnableOrientation();
+}
+	
+EWXWEXPORT(int,wxPageSetupDialogData_GetEnablePaper)(wxPageSetupDialogData* self)
+{
+	return (int)self->GetEnablePaper();
+}
+	
+EWXWEXPORT(int,wxPageSetupDialogData_GetEnablePrinter)(wxPageSetupDialogData* self)
+{
+	return (int)self->GetEnablePrinter();
+}
+	
+EWXWEXPORT(int,wxPageSetupDialogData_GetDefaultInfo)(wxPageSetupDialogData* self)
+{
+	return (int)self->GetDefaultInfo();
+}
+	
+EWXWEXPORT(int,wxPageSetupDialogData_GetEnableHelp)(wxPageSetupDialogData* self)
+{
+	return (int)self->GetEnableHelp();
+}
+	
+EWXWEXPORT(void,wxPageSetupDialogData_SetPaperSize)(wxPageSetupDialogData* self,int w,int h)
+{
+	self->SetPaperSize(wxSize(w, h));
+}
+	
+EWXWEXPORT(void,wxPageSetupDialogData_SetPaperId)(wxPageSetupDialogData* self,void* id)
+{
+	self->SetPaperId(*((wxPaperSize*)id));
+}
+	
+EWXWEXPORT(void,wxPageSetupDialogData_SetPaperSizeId)(wxPageSetupDialogData* self,int id)
+{
+	self->SetPaperSize((wxPaperSize)id);
+}
+	
+EWXWEXPORT(void,wxPageSetupDialogData_SetMinMarginTopLeft)(wxPageSetupDialogData* self,int x,int y)
+{
+	self->SetMinMarginTopLeft(wxPoint(x, y));
+}
+	
+EWXWEXPORT(void,wxPageSetupDialogData_SetMinMarginBottomRight)(wxPageSetupDialogData* self,int x,int y)
+{
+	self->SetMinMarginBottomRight(wxPoint(x, y));
+}
+	
+EWXWEXPORT(void,wxPageSetupDialogData_SetMarginTopLeft)(wxPageSetupDialogData* self,int x,int y)
+{
+	self->SetMarginTopLeft(wxPoint(x, y));
+}
+	
+EWXWEXPORT(void,wxPageSetupDialogData_SetMarginBottomRight)(wxPageSetupDialogData* self,int x,int y)
+{
+	self->SetMarginBottomRight(wxPoint(x, y));
+}
+	
+EWXWEXPORT(void,wxPageSetupDialogData_SetDefaultMinMargins)(wxPageSetupDialogData* self,bool flag)
+{
+	self->SetDefaultMinMargins(flag);
+}
+	
+EWXWEXPORT(void,wxPageSetupDialogData_SetDefaultInfo)(wxPageSetupDialogData* self,bool flag)
+{
+	self->SetDefaultInfo(flag);
+}
+	
+EWXWEXPORT(void,wxPageSetupDialogData_EnableMargins)(wxPageSetupDialogData* self,bool flag)
+{
+	self->EnableMargins(flag);
+}
+	
+EWXWEXPORT(void,wxPageSetupDialogData_EnableOrientation)(wxPageSetupDialogData* self,bool flag)
+{
+	self->EnableOrientation(flag);
+}
+	
+EWXWEXPORT(void,wxPageSetupDialogData_EnablePaper)(wxPageSetupDialogData* self,bool flag)
+{
+	self->EnablePaper(flag);
+}
+	
+EWXWEXPORT(void,wxPageSetupDialogData_EnablePrinter)(wxPageSetupDialogData* self,bool flag)
+{
+	self->EnablePrinter(flag);
+}
+	
+EWXWEXPORT(void,wxPageSetupDialogData_EnableHelp)(wxPageSetupDialogData* self,bool flag)
+{
+	self->EnableHelp(flag);
+}
+	
+EWXWEXPORT(void,wxPageSetupDialogData_CalculateIdFromPaperSize)(wxPageSetupDialogData* self)
+{
+	self->CalculateIdFromPaperSize();
+}
+	
+EWXWEXPORT(void,wxPageSetupDialogData_CalculatePaperSizeFromId)(wxPageSetupDialogData* self)
+{
+	self->CalculatePaperSizeFromId();
+}
+	
+EWXWEXPORT(void,wxPageSetupDialogData_Assign)(wxPageSetupDialogData* self,wxPageSetupDialogData* data)
+{
+	*self = *data;
+}
+	
+EWXWEXPORT(void,wxPageSetupDialogData_AssignData)(wxPageSetupDialogData* self,wxPrintData* data)
+{
+	*self = *data;
+}
+	
+EWXWEXPORT(void,wxPageSetupDialogData_GetPrintData)(wxPageSetupDialogData* self,wxPrintData* _ref)
+{
+	*_ref = self->GetPrintData();
+}
+	
+EWXWEXPORT(void,wxPageSetupDialogData_SetPrintData)(wxPageSetupDialogData* self,wxPrintData* printData)
+{
+	self->SetPrintData(*printData);
+}
+	
+}
+ src/cpp/eljprinting.cpp view
@@ -0,0 +1,873 @@+#include "wrapper.h"
+
+#if !defined(__WXGTK__)
+# include <wx/dcprint.h>
+#endif
+
+#if defined(wxUSE_POSTSCRIPT) && (wxUSE_POSTSCRIPT==0)
+# undef wxUSE_POSTSCRIPT
+#endif
+
+#ifdef wxUSE_POSTSCRIPT
+# include <wx/dcps.h>
+# include "wx/generic/prntdlgg.h"
+#endif
+
+#ifndef wxUSE_POSTSCRIPT
+# define wxPostScriptDC        void
+#endif
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxPrinter_Create)(void* data)
+{
+	return (void*)new wxPrinter((wxPrintDialogData*)data);
+}
+
+EWXWEXPORT(void,wxPrinter_Delete)(wxPrinter* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(void*,wxPrinter_CreateAbortWindow)(wxPrinter* self,wxWindow* parent,wxPrintout* printout)
+{
+	return (void*)self->CreateAbortWindow(parent, printout);
+}
+	
+EWXWEXPORT(void,wxPrinter_ReportError)(wxPrinter* self,wxWindow* parent,wxPrintout* printout,wxString* message)
+{
+	self->ReportError(parent, printout,*message);
+}
+	
+EWXWEXPORT(void,wxPrinter_GetPrintDialogData)(wxPrinter* self,wxPrintDialogData* _ref)
+{
+	*_ref = self->GetPrintDialogData();
+}
+	
+EWXWEXPORT(bool,wxPrinter_GetAbort)(wxPrinter* self)
+{
+	return self->GetAbort();
+}
+	
+EWXWEXPORT(int,wxPrinter_GetLastError)(wxPrinter* self)
+{
+	return self->GetLastError();
+}
+	
+EWXWEXPORT(bool,wxPrinter_Setup)(wxPrinter* self,wxWindow* parent)
+{
+	return self->Setup(parent);
+}
+	
+EWXWEXPORT(bool,wxPrinter_Print)(wxPrinter* self,wxWindow* parent,wxPrintout* printout,bool prompt)
+{
+	return self->Print(parent, printout, prompt);
+}
+	
+EWXWEXPORT(void*,wxPrinter_PrintDialog)(wxPrinter* self,wxWindow* parent)
+{
+	return (void*)self->PrintDialog(parent);
+}
+	
+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, self, _DoOnBeginDocument, _DoOnEndDocument, _DoOnBeginPrinting, _DoOnEndPrinting, _DoOnPreparePrinting, _DoOnPrintPage, _DoOnHasPage, DoOnPageInfo);
+}
+EWXWEXPORT(void,ELJPrintout_Delete)(ELJPrintout* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(wxString*,ELJPrintout_GetTitle)(ELJPrintout* self)
+{
+	return new wxString(self->GetTitle());
+}
+	
+EWXWEXPORT(void*,ELJPrintout_GetDC)(ELJPrintout* self)
+{
+	return (void*)self->GetDC();
+}
+	
+EWXWEXPORT(void,ELJPrintout_SetDC)(ELJPrintout* self,wxDC* dc)
+{
+	self->SetDC(dc);
+}
+	
+EWXWEXPORT(void,ELJPrintout_SetPageSizePixels)(void* _obj,int w,int h)
+{
+	((ELJPrintout*)_obj)->SetPageSizePixels(w, h);
+}
+	
+EWXWEXPORT(void,ELJPrintout_GetPageSizePixels)(void* _obj,int* w,int* h)
+{
+	((ELJPrintout*)_obj)->GetPageSizePixels(w,h);
+}
+	
+EWXWEXPORT(void,ELJPrintout_SetPageSizeMM)(void* _obj,int w,int h)
+{
+	((ELJPrintout*)_obj)->SetPageSizeMM(w, h);
+}
+	
+EWXWEXPORT(void,ELJPrintout_GetPageSizeMM)(void* _obj,int* w,int* h)
+{
+	((ELJPrintout*)_obj)->GetPageSizeMM(w,h);
+}
+	
+EWXWEXPORT(void,ELJPrintout_SetPPIScreen)(void* _obj,int x,int y)
+{
+	((ELJPrintout*)_obj)->SetPPIScreen(x, y);
+}
+	
+EWXWEXPORT(void,ELJPrintout_GetPPIScreen)(void* _obj,int* x,int* y)
+{
+	((ELJPrintout*)_obj)->GetPPIScreen(x,y);
+}
+	
+EWXWEXPORT(void,ELJPrintout_SetPPIPrinter)(void* _obj,int x,int y)
+{
+	((ELJPrintout*)_obj)->SetPPIPrinter(x, y);
+}
+	
+EWXWEXPORT(void,ELJPrintout_GetPPIPrinter)(void* _obj,int* x,int* y)
+{
+	((ELJPrintout*)_obj)->GetPPIPrinter(x,y);
+}
+	
+EWXWEXPORT(bool,ELJPrintout_IsPreview)(ELJPrintout* self)
+{
+	return self->IsPreview();
+}
+
+EWXWEXPORT(void*,wxPreviewCanvas_Create)(void* preview,wxWindow* parent,int x,int y,int w,int h,int style)
+{
+	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)
+{
+    return (void*) new ELJPreviewFrame(_obj, _init, _create_canvas, _create_toolbar, preview, parent, title, x, y, w, h, style);
+}
+
+EWXWEXPORT(void,ELJPreviewFrame_Initialize)(ELJPreviewFrame* self)
+{
+	self->Initialize();
+}
+	
+EWXWEXPORT(void,ELJPreviewFrame_SetPreviewCanvas)(ELJPreviewFrame* self,void* obj)
+{
+	self->SetPreviewCanvas (obj);
+}
+	
+EWXWEXPORT(void,ELJPreviewFrame_SetControlBar)(ELJPreviewFrame* self,void* obj)
+{
+	self->SetControlBar (obj);
+}
+	
+EWXWEXPORT(void,ELJPreviewFrame_SetPrintPreview)(ELJPreviewFrame* self,void* obj)
+{
+	self->SetPrintPreview (obj);
+}
+	
+EWXWEXPORT(void*,ELJPreviewFrame_GetPreviewCanvas)(ELJPreviewFrame* self)
+{
+	return (void*)self->GetPreviewCanvas ();
+}
+	
+EWXWEXPORT(void*,ELJPreviewFrame_GetControlBar)(ELJPreviewFrame* self)
+{
+	return (void*)self->GetControlBar ();
+}
+	
+EWXWEXPORT(void*,ELJPreviewFrame_GetPrintPreview)(ELJPreviewFrame* self)
+{
+	return (void*)self->GetPrintPreview ();
+}
+	
+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, parent, wxPoint(x, y), wxSize(w, h), (long)style);
+}
+
+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)
+{
+    return (void*) new wxPrintPreview((wxPrintout*)printout, (wxPrintout*)printoutForPrinting, (wxPrintData*)data);
+}
+
+EWXWEXPORT(void,wxPrintPreview_Delete)(wxPrintPreview* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(void,wxPrintPreview_SetCurrentPage)(wxPrintPreview* self,int pageNum)
+{
+	self->SetCurrentPage(pageNum);
+}
+	
+EWXWEXPORT(int,wxPrintPreview_GetCurrentPage)(wxPrintPreview* self)
+{
+	return self->GetCurrentPage();
+}
+	
+EWXWEXPORT(void,wxPrintPreview_SetPrintout)(wxPrintPreview* self,wxPrintout* printout)
+{
+	self->SetPrintout(printout);
+}
+	
+EWXWEXPORT(void*,wxPrintPreview_GetPrintout)(wxPrintPreview* self)
+{
+	return (void*)self->GetPrintout();
+}
+	
+EWXWEXPORT(void*,wxPrintPreview_GetPrintoutForPrinting)(wxPrintPreview* self)
+{
+	return (void*)self->GetPrintoutForPrinting();
+}
+	
+EWXWEXPORT(void,wxPrintPreview_SetFrame)(wxPrintPreview* self,wxFrame* frame)
+{
+	self->SetFrame(frame);
+}
+	
+EWXWEXPORT(void,wxPrintPreview_SetCanvas)(wxPrintPreview* self,wxPreviewCanvas* canvas)
+{
+	self->SetCanvas(canvas);
+}
+	
+EWXWEXPORT(void*,wxPrintPreview_GetFrame)(wxPrintPreview* self)
+{
+	return (void*)self->GetFrame();
+}
+	
+EWXWEXPORT(void*,wxPrintPreview_GetCanvas)(wxPrintPreview* self)
+{
+	return (void*)self->GetCanvas();
+}
+	
+EWXWEXPORT(bool,wxPrintPreview_PaintPage)(wxPrintPreview* self,wxPreviewCanvas* canvas,wxDC* dc)
+{
+	return self->PaintPage(canvas,*dc);
+}
+	
+EWXWEXPORT(bool,wxPrintPreview_DrawBlankPage)(wxPrintPreview* self,wxPreviewCanvas* canvas,wxDC* dc)
+{
+	return self->DrawBlankPage(canvas,*dc);
+}
+	
+EWXWEXPORT(bool,wxPrintPreview_RenderPage)(wxPrintPreview* self,int pageNum)
+{
+	return self->RenderPage(pageNum);
+}
+	
+EWXWEXPORT(void,wxPrintPreview_GetPrintDialogData)(wxPrintPreview* self,wxPrintDialogData* _ref)
+{
+	*_ref = self->GetPrintDialogData();
+}
+	
+EWXWEXPORT(void,wxPrintPreview_SetZoom)(wxPrintPreview* self,int percent)
+{
+	self->SetZoom(percent);
+}
+	
+EWXWEXPORT(int,wxPrintPreview_GetZoom)(wxPrintPreview* self)
+{
+	return self->GetZoom();
+}
+	
+EWXWEXPORT(int,wxPrintPreview_GetMaxPage)(wxPrintPreview* self)
+{
+	return self->GetMaxPage();
+}
+	
+EWXWEXPORT(int,wxPrintPreview_GetMinPage)(wxPrintPreview* self)
+{
+	return self->GetMinPage();
+}
+	
+EWXWEXPORT(bool,wxPrintPreview_IsOk)(wxPrintPreview* self)
+{
+	return self->IsOk();
+}
+	
+EWXWEXPORT(void,wxPrintPreview_SetOk)(wxPrintPreview* self,bool ok)
+{
+	self->SetOk(ok);
+}
+	
+EWXWEXPORT(bool,wxPrintPreview_Print)(wxPrintPreview* self,bool interactive)
+{
+	return self->Print(interactive);
+}
+	
+EWXWEXPORT(void,wxPrintPreview_DetermineScaling)(wxPrintPreview* self)
+{
+	self->DetermineScaling();
+}
+	
+EWXWEXPORT(void*,wxPrintData_Create)()
+{
+	return (void*) new wxPrintData();
+}
+
+EWXWEXPORT(void,wxPrintData_Delete)(wxPrintData* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(void*,wxPostScriptPrintNativeData_Create)()
+{
+#ifdef wxUSE_POSTSCRIPT
+	return (void*)new wxPostScriptPrintNativeData();
+#else
+	return NULL;
+#endif
+}
+
+EWXWEXPORT(void,wxPostScriptPrintNativeData_Delete)(void* self)
+{
+#ifdef wxUSE_POSTSCRIPT
+	delete (wxPostScriptPrintNativeData*)self;
+#endif
+}
+
+EWXWEXPORT(int,wxPrintData_GetNoCopies)(wxPrintData* self)
+{
+	return self->GetNoCopies();
+}
+	
+EWXWEXPORT(bool,wxPrintData_GetCollate)(wxPrintData* self)
+{
+	return self->GetCollate();
+}
+	
+EWXWEXPORT(int,wxPrintData_GetOrientation)(wxPrintData* self)
+{
+	return self->GetOrientation();
+}
+	
+EWXWEXPORT(wxString*,wxPrintData_GetPrinterName)(wxPrintData* self)
+{
+	return new wxString(self->GetPrinterName());
+}
+	
+EWXWEXPORT(bool,wxPrintData_GetColour)(wxPrintData* self)
+{
+	return self->GetColour();
+}
+	
+EWXWEXPORT(int,wxPrintData_GetDuplex)(wxPrintData* self)
+{
+	return (int)self->GetDuplex();
+}
+	
+EWXWEXPORT(int,wxPrintData_GetPaperId)(wxPrintData* self)
+{
+	return (int)self->GetPaperId();
+}
+	
+EWXWEXPORT(wxSize*,wxPrintData_GetPaperSize)(wxPrintData* self)
+{
+	wxSize* s = new wxSize();
+	*s = self->GetPaperSize();
+	return s;
+}
+	
+EWXWEXPORT(int,wxPrintData_GetQuality)(wxPrintData* self)
+{
+	return (int)self->GetQuality();
+}
+	
+EWXWEXPORT(void,wxPrintData_SetNoCopies)(wxPrintData* self,int v)
+{
+	self->SetNoCopies(v);
+}
+	
+EWXWEXPORT(void,wxPrintData_SetCollate)(wxPrintData* self,bool flag)
+{
+	self->SetCollate(flag);
+}
+	
+EWXWEXPORT(void,wxPrintData_SetOrientation)(wxPrintData* self,int orient)
+{
+	self->SetOrientation(orient);
+}
+	
+EWXWEXPORT(void,wxPrintData_SetPrinterName)(wxPrintData* self,wxString* name)
+{
+	self->SetPrinterName(*name);
+}
+	
+EWXWEXPORT(void,wxPrintData_SetColour)(wxPrintData* self,bool colour)
+{
+	self->SetColour(colour);
+}
+	
+EWXWEXPORT(void,wxPrintData_SetDuplex)(wxPrintData* self,int duplex)
+{
+	self->SetDuplex((wxDuplexMode)duplex);
+}
+	
+EWXWEXPORT(void,wxPrintData_SetPaperId)(wxPrintData* self,int sizeId)
+{
+	self->SetPaperId((wxPaperSize)sizeId);
+}
+	
+EWXWEXPORT(void,wxPrintData_SetPaperSize)(wxPrintData* self,int w,int h)
+{
+	self->SetPaperSize(wxSize(w, h));
+}
+	
+EWXWEXPORT(void,wxPrintData_SetQuality)(wxPrintData* self,int quality)
+{
+	self->SetQuality((wxPrintQuality)quality);
+}
+	
+EWXWEXPORT(wxString*,wxPrintData_GetPrinterCommand)(void* self)
+{
+#if wxVERSION_NUMBER < 2600 || defined (wxUSE_POSTSCRIPT)
+#ifdef wxUSE_POSTSCRIPT
+	wxString tmp = ((wxPostScriptPrintNativeData*)self)->GetPrinterCommand();
+#else
+	wxString tmp = ((wxPrintData*)self)->GetPrinterCommand();
+#endif
+	return new wxString(tmp);
+#else
+	return NULL;
+#endif
+}
+	
+EWXWEXPORT(wxString*,wxPrintData_GetPrinterOptions)(void* self)
+{
+#if wxVERSION_NUMBER < 2600 || defined (wxUSE_POSTSCRIPT)
+#ifdef wxUSE_POSTSCRIPT
+	wxString tmp = ((wxPostScriptPrintNativeData*)self)->GetPrinterOptions();
+#else
+	wxString tmp = ((wxPrintData*)self)->GetPrinterOptions();
+#endif
+	return new wxString(tmp);
+#else
+	return NULL;
+#endif
+}
+	
+EWXWEXPORT(wxString*,wxPrintData_GetPreviewCommand)(void* self)
+{
+#if wxVERSION_NUMBER < 2600 || defined (wxUSE_POSTSCRIPT)
+#ifdef wxUSE_POSTSCRIPT
+	wxString tmp = ((wxPostScriptPrintNativeData*)self)->GetPreviewCommand();
+#else
+	wxString tmp = ((wxPrintData*)self)->GetPreviewCommand();
+#endif
+	return new wxString(tmp);
+#else
+	return NULL;
+#endif
+}
+	
+EWXWEXPORT(wxString*,wxPrintData_GetFilename)(wxPrintData* self)
+{
+	wxString tmp = self->GetFilename();
+	return new wxString(tmp);
+}
+	
+EWXWEXPORT(wxString*,wxPrintData_GetFontMetricPath)(void* self)
+{
+#if wxVERSION_NUMBER < 2600 || defined (wxUSE_POSTSCRIPT)
+#ifdef wxUSE_POSTSCRIPT
+	wxString tmp = ((wxPostScriptPrintNativeData*)self)->GetFontMetricPath();
+#else
+	wxString tmp = ((wxPrintData*)self)->GetFontMetricPath();
+#endif
+	return new wxString(tmp);
+#else
+	return NULL;
+#endif
+}
+	
+EWXWEXPORT(double,wxPrintData_GetPrinterScaleX)(void* self)
+{
+#ifdef wxUSE_POSTSCRIPT
+	return ((wxPostScriptPrintNativeData*)self)->GetPrinterScaleX();
+#elif wxVERSION_NUMBER < 2600
+	return ((wxPrintData*)self)->GetPrinterScaleX();
+#else
+	return 0.0;
+#endif
+}
+	
+EWXWEXPORT(double,wxPrintData_GetPrinterScaleY)(void* self)
+{
+#ifdef wxUSE_POSTSCRIPT
+	return ((wxPostScriptPrintNativeData*)self)->GetPrinterScaleY();
+#elif wxVERSION_NUMBER < 2600
+	return ((wxPrintData*)self)->GetPrinterScaleY();
+#else
+	return 0.0;
+#endif
+}
+	
+EWXWEXPORT(int,wxPrintData_GetPrinterTranslateX)(void* self)
+{
+#ifdef wxUSE_POSTSCRIPT
+	return ((wxPostScriptPrintNativeData*)self)->GetPrinterTranslateX();
+#elif wxVERSION_NUMBER < 2600
+	return ((wxPrintData*)self)->GetPrinterTranslateX();
+#else
+	return 0;
+#endif
+}
+	
+EWXWEXPORT(int,wxPrintData_GetPrinterTranslateY)(void* self)
+{
+#ifdef wxUSE_POSTSCRIPT
+	return ((wxPostScriptPrintNativeData*)self)->GetPrinterTranslateY();
+#elif wxVERSION_NUMBER < 2600
+	return ((wxPrintData*)self)->GetPrinterTranslateY();
+#else
+	return 0;
+#endif
+}
+	
+EWXWEXPORT(int,wxPrintData_GetPrintMode)(wxPrintData* self)
+{
+	return (int)self->GetPrintMode();
+}
+	
+EWXWEXPORT(void,wxPrintData_SetPrinterCommand)(void* self,wxString* command)
+{
+#ifdef wxUSE_POSTSCRIPT
+	((wxPostScriptPrintNativeData*)self)->SetPrinterCommand(*command);
+#elif wxVERSION_NUMBER < 2600
+	((wxPrintData*)self)->SetPrinterCommand(*command);
+#endif
+}
+	
+EWXWEXPORT(void,wxPrintData_SetPrinterOptions)(void* self,wxString* options)
+{
+#ifdef wxUSE_POSTSCRIPT
+	((wxPostScriptPrintNativeData*)self)->SetPrinterOptions(*options);
+#elif wxVERSION_NUMBER < 2600
+	((wxPrintData*)self)->SetPrinterOptions(*options);
+#endif
+}
+	
+EWXWEXPORT(void,wxPrintData_SetPreviewCommand)(void* self,wxString* command)
+{
+#ifdef wxUSE_POSTSCRIPT
+	((wxPostScriptPrintNativeData*)self)->SetPreviewCommand(*command);
+#elif wxVERSION_NUMBER < 2600
+	((wxPrintData*)self)->SetPreviewCommand(*command);
+#endif
+}
+	
+EWXWEXPORT(void,wxPrintData_SetFilename)(wxPrintData* self,wxString* filename)
+{
+	self->SetFilename(*filename);
+}
+	
+EWXWEXPORT(void,wxPrintData_SetFontMetricPath)(void* self,wxString* path)
+{
+#ifdef wxUSE_POSTSCRIPT
+	((wxPostScriptPrintNativeData*)self)->SetFontMetricPath(*path);
+#elif wxVERSION_NUMBER < 2600
+	((wxPrintData*)self)->SetFontMetricPath(*path);
+#endif
+}
+	
+EWXWEXPORT(void,wxPrintData_SetPrinterScaleX)(void* self,double x)
+{
+#ifdef wxUSE_POSTSCRIPT
+	((wxPostScriptPrintNativeData*)self)->SetPrinterScaleX(x);
+#elif wxVERSION_NUMBER < 2600
+	((wxPrintData*)self)->SetPrinterScaleX(x);
+#endif
+}
+	
+EWXWEXPORT(void,wxPrintData_SetPrinterScaleY)(void* self,double y)
+{
+#ifdef wxUSE_POSTSCRIPT
+	((wxPostScriptPrintNativeData*)self)->SetPrinterScaleY(y);
+#elif wxVERSION_NUMBER < 2600
+	((wxPrintData*)self)->SetPrinterScaleY(y);
+#endif
+}
+	
+EWXWEXPORT(void,wxPrintData_SetPrinterScaling)(void* self,double x,double y)
+{
+#ifdef wxUSE_POSTSCRIPT
+	((wxPostScriptPrintNativeData*)self)->SetPrinterScaling(x, y);
+#elif wxVERSION_NUMBER < 2600
+	((wxPrintData*)self)->SetPrinterScaling(x, y);
+#endif
+}
+	
+EWXWEXPORT(void,wxPrintData_SetPrinterTranslateX)(void* self,int x)
+{
+#ifdef wxUSE_POSTSCRIPT
+	((wxPostScriptPrintNativeData*)self)->SetPrinterTranslateX((int)x);
+#elif wxVERSION_NUMBER < 2600
+	((wxPrintData*)self)->SetPrinterTranslateX((int)x);
+#endif
+}
+	
+EWXWEXPORT(void,wxPrintData_SetPrinterTranslateY)(void* self,int y)
+{
+#ifdef wxUSE_POSTSCRIPT
+	((wxPostScriptPrintNativeData*)self)->SetPrinterTranslateY((int)y);
+#elif wxVERSION_NUMBER < 2600
+	((wxPrintData*)self)->SetPrinterTranslateY((long)y);
+#endif
+}
+	
+EWXWEXPORT(void,wxPrintData_SetPrinterTranslation)(void* self,int x,int y)
+{
+#ifdef wxUSE_POSTSCRIPT
+	((wxPostScriptPrintNativeData*)self)->SetPrinterTranslation((long)x, (long)y);
+#elif wxVERSION_NUMBER < 2600
+	((wxPrintData*)self)->SetPrinterTranslation((long)x, (long)y);
+#endif
+}
+	
+EWXWEXPORT(void,wxPrintData_SetPrintMode)(void* self,int printMode)
+{
+	((wxPrintData*)self)->SetPrintMode((wxPrintMode)printMode);
+}
+	
+EWXWEXPORT(void,wxPrintData_Assign)(void* self,void* data)
+{
+	*((wxPrintData*)self) = *((wxPrintData*)data);
+}
+	
+EWXWEXPORT(void*,wxPrintDialogData_CreateDefault)()
+{
+	return (void*)new wxPrintDialogData();
+}
+
+EWXWEXPORT(void*,wxPrintDialogData_CreateFromData)(void* printData)
+{
+	return (void*)new wxPrintDialogData(*((wxPrintData*)printData));
+}
+
+EWXWEXPORT(void,wxPrintDialogData_Delete)(void* self)
+{
+	delete (wxPrintDialogData*)self;
+}
+
+EWXWEXPORT(int,wxPrintDialogData_GetFromPage)(void* self)
+{
+	return ((wxPrintDialogData*)self)->GetFromPage();
+}
+	
+EWXWEXPORT(int,wxPrintDialogData_GetToPage)(void* self)
+{
+	return ((wxPrintDialogData*)self)->GetToPage();
+}
+	
+EWXWEXPORT(int,wxPrintDialogData_GetMinPage)(void* self)
+{
+	return ((wxPrintDialogData*)self)->GetMinPage();
+}
+	
+EWXWEXPORT(int,wxPrintDialogData_GetMaxPage)(void* self)
+{
+	return ((wxPrintDialogData*)self)->GetMaxPage();
+}
+	
+EWXWEXPORT(int,wxPrintDialogData_GetNoCopies)(void* self)
+{
+	return ((wxPrintDialogData*)self)->GetNoCopies();
+}
+	
+EWXWEXPORT(bool,wxPrintDialogData_GetAllPages)(wxPrintDialogData* self)
+{
+	return self->GetAllPages();
+}
+	
+EWXWEXPORT(bool,wxPrintDialogData_GetSelection)(wxPrintDialogData* self)
+{
+	return self->GetSelection();
+}
+	
+EWXWEXPORT(bool,wxPrintDialogData_GetCollate)(wxPrintDialogData* self)
+{
+	return self->GetCollate();
+}
+	
+EWXWEXPORT(bool,wxPrintDialogData_GetPrintToFile)(wxPrintDialogData* self)
+{
+	return self->GetPrintToFile();
+}
+
+EWXWEXPORT(void,wxPrintDialogData_SetFromPage)(wxPrintDialogData* self,int v)
+{
+	self->SetFromPage(v);
+}
+	
+EWXWEXPORT(void,wxPrintDialogData_SetToPage)(wxPrintDialogData* self,int v)
+{
+	self->SetToPage(v);
+}
+	
+EWXWEXPORT(void,wxPrintDialogData_SetMinPage)(wxPrintDialogData* self,int v)
+{
+	self->SetMinPage(v);
+}
+	
+EWXWEXPORT(void,wxPrintDialogData_SetMaxPage)(wxPrintDialogData* self,int v)
+{
+	self->SetMaxPage(v);
+}
+	
+EWXWEXPORT(void,wxPrintDialogData_SetNoCopies)(wxPrintDialogData* self,int v)
+{
+	self->SetNoCopies(v);
+}
+	
+EWXWEXPORT(void,wxPrintDialogData_SetAllPages)(wxPrintDialogData* self,bool flag)
+{
+	self->SetAllPages(flag);
+}
+	
+EWXWEXPORT(void,wxPrintDialogData_SetSelection)(wxPrintDialogData* self,bool flag)
+{
+	self->SetSelection(flag);
+}
+	
+EWXWEXPORT(void,wxPrintDialogData_SetCollate)(wxPrintDialogData* self,bool flag)
+{
+	self->SetCollate(flag);
+}
+	
+EWXWEXPORT(void,wxPrintDialogData_SetPrintToFile)(wxPrintDialogData* self,bool flag)
+{
+	self->SetPrintToFile(flag);
+}
+
+EWXWEXPORT(void,wxPrintDialogData_EnablePrintToFile)(wxPrintDialogData* self,bool flag)
+{
+	self->EnablePrintToFile(flag);
+}
+	
+EWXWEXPORT(void,wxPrintDialogData_EnableSelection)(wxPrintDialogData* self,bool flag)
+{
+	self->EnableSelection(flag);
+}
+	
+EWXWEXPORT(void,wxPrintDialogData_EnablePageNumbers)(wxPrintDialogData* self,bool flag)
+{
+	self->EnablePageNumbers(flag);
+}
+	
+EWXWEXPORT(void,wxPrintDialogData_EnableHelp)(wxPrintDialogData* self,bool flag)
+{
+	self->EnableHelp(flag);
+}
+	
+EWXWEXPORT(bool,wxPrintDialogData_GetEnablePrintToFile)(wxPrintDialogData* self)
+{
+	return self->GetEnablePrintToFile();
+}
+	
+EWXWEXPORT(bool,wxPrintDialogData_GetEnableSelection)(wxPrintDialogData* self)
+{
+	return self->GetEnableSelection();
+}
+	
+EWXWEXPORT(bool,wxPrintDialogData_GetEnablePageNumbers)(wxPrintDialogData* self)
+{
+	return self->GetEnablePageNumbers();
+}
+	
+EWXWEXPORT(bool,wxPrintDialogData_GetEnableHelp)(wxPrintDialogData* self)
+{
+	return self->GetEnableHelp();
+}
+	
+EWXWEXPORT(void,wxPrintDialogData_GetPrintData)(wxPrintDialogData* self,wxPrintData* _ref)
+{
+	*_ref = self->GetPrintData();
+}
+	
+EWXWEXPORT(void,wxPrintDialogData_SetPrintData)(wxPrintDialogData* self,wxPrintData* printData)
+{
+	self->SetPrintData(*printData);
+}
+	
+EWXWEXPORT(void,wxPrintDialogData_Assign)(wxPrintDialogData* self,wxPrintDialogData* data)
+{
+	*self = *data;
+}
+	
+EWXWEXPORT(void,wxPrintDialogData_AssignData)(wxPrintDialogData* self,wxPrintData* data)
+{
+	*self = *data;
+}
+	
+EWXWEXPORT(wxPostScriptDC*,wxPostScriptDC_Create)(wxPrintData* printData)
+{
+#ifdef wxUSE_POSTSCRIPT
+	return new wxPostScriptDC(*printData);
+#else
+	return NULL;
+#endif
+}
+
+EWXWEXPORT(void,wxPostScriptDC_Delete)(wxPostScriptDC* self)
+{
+#ifdef wxUSE_POSTSCRIPT
+	if (self) delete self;
+#endif
+}
+
+EWXWEXPORT(void,wxPostScriptDC_SetResolution)(wxPostScriptDC* self,int ppi)
+{
+#if (defined(wxUSE_POSTSCRIPT)) && (wxVERSION_NUMBER < 2900)
+	self->SetResolution(ppi);
+#endif
+}
+
+EWXWEXPORT(int,wxPostScriptDC_GetResolution)(wxPostScriptDC* self,int ppi)
+{
+#ifdef wxUSE_POSTSCRIPT
+	return self->GetResolution();
+#else
+	return 0;
+#endif
+}
+
+EWXWEXPORT(void*,wxPrinterDC_Create)(wxPrintData* printData)
+{
+#if defined(__WXGTK__) 
+	return NULL;
+#else
+	return new wxPrinterDC(*printData);
+#endif
+}
+
+EWXWEXPORT(void,wxPrinterDC_Delete)(void* self)
+{
+#if !defined(__WXGTK__)
+	delete (wxPrinterDC*)self;
+#endif
+}
+
+
+EWXWEXPORT(wxRect*,wxPrinterDC_GetPaperRect)(void* self)
+{
+#if !defined(__WXGTK__)
+	wxRect* rct = new wxRect();
+	*rct = ((wxPrinterDC*)self)->GetPaperRect();
+	return rct;
+#else
+	return 0;
+#endif
+}
+
+}
+ src/cpp/eljprocess.cpp view
@@ -0,0 +1,172 @@+#include "wrapper.h"
+#include "wx/process.h"
+
+extern "C"
+
+{
+
+EWXWEXPORT(void*,wxProcess_CreateDefault)(wxEvtHandler* _prt,int _id)
+{
+	return (void*)new wxProcess (_prt, _id);
+}
+
+EWXWEXPORT(void*,wxProcess_CreateRedirect)(wxEvtHandler* _prt,bool _rdr)
+{
+	return (void*)new wxProcess (_prt, _rdr);
+}
+
+EWXWEXPORT(void,wxProcess_Delete)(wxProcess* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(void,wxProcess_Redirect)(wxProcess* self)
+{
+	self->Redirect();
+}
+	
+EWXWEXPORT(bool,wxProcess_IsRedirected)(wxProcess* self)
+{
+	return self->IsRedirected();
+}
+	
+EWXWEXPORT(void,wxProcess_Detach)(wxProcess* self)
+{
+	self->Detach();
+}
+	
+EWXWEXPORT(void*,wxProcess_GetInputStream)(wxProcess* self)
+{
+	return (void*)self->GetInputStream();
+}
+	
+EWXWEXPORT(void*,wxProcess_GetErrorStream)(wxProcess* self)
+{
+	return (void*)self->GetErrorStream();
+}
+	
+EWXWEXPORT(void*,wxProcess_GetOutputStream)(wxProcess* self)
+{
+	return (void*)self->GetOutputStream();
+}
+	
+EWXWEXPORT(void,wxProcess_CloseOutput)(wxProcess* self)
+{
+	self->CloseOutput();
+}
+	
+
+EWXWEXPORT(int,wxProcessEvent_GetPid)(wxProcessEvent* self)
+{
+	return self->GetPid();
+}
+
+EWXWEXPORT(int,wxProcessEvent_GetExitCode)(wxProcessEvent* self)
+{
+	return self->GetExitCode();
+}
+
+
+EWXWEXPORT(int,wxStreamBase_GetLastError)(wxStreamBase* self)
+{
+	return (int)self->GetLastError();
+}
+	
+EWXWEXPORT(bool,wxStreamBase_IsOk)(wxStreamBase* self)
+{
+	return self->IsOk();
+}
+	
+EWXWEXPORT(int,wxStreamBase_GetSize)(wxStreamBase* self)
+{
+	return (int)self->GetSize();
+}
+	
+
+EWXWEXPORT(void,wxOutputStream_Delete)(wxOutputStream* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(void,wxOutputStream_PutC)(wxOutputStream* self,char c)
+{
+	self->PutC(c);
+}
+	
+EWXWEXPORT(void,wxOutputStream_Write)(wxOutputStream* self,void* buffer,int size)
+{
+	self->Write((const void*)buffer, (size_t)size);
+}
+	
+EWXWEXPORT(int,wxOutputStream_Seek)(wxOutputStream* self,int pos,int mode)
+{
+	return (int)self->SeekO((off_t)pos, (wxSeekMode)mode);
+}
+	
+EWXWEXPORT(int,wxOutputStream_Tell)(wxOutputStream* self)
+{
+	return (int)self->TellO();
+}
+	
+EWXWEXPORT(int,wxOutputStream_LastWrite)(wxOutputStream* self)
+{
+	return (int)self->LastWrite();
+}
+	
+EWXWEXPORT(void,wxOutputStream_Sync)(void* self)
+{
+	((wxOutputStream*)self)->Sync();
+}
+	
+
+EWXWEXPORT(void,wxInputStream_Delete)(wxInputStream* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(bool,wxInputStream_Eof)(wxInputStream* self)
+{
+	return self->Eof();
+}
+	
+EWXWEXPORT(char,wxInputStream_Peek)(wxInputStream* self)
+{
+	return self->Peek();
+}
+	
+EWXWEXPORT(char,wxInputStream_GetC)(wxInputStream* self)
+{
+	return self->GetC();
+}
+	
+EWXWEXPORT(void,wxInputStream_Read)(wxInputStream* self,void* buffer,int size)
+{
+	self->Read(buffer, (size_t)size);
+}
+	
+EWXWEXPORT(int,wxInputStream_SeekI)(wxInputStream* self,int pos,int mode)
+{
+	return (int)self->SeekI((off_t)pos, (wxSeekMode)mode);
+}
+	
+EWXWEXPORT(int,wxInputStream_Tell)(wxInputStream* self)
+{
+	return (int)self->TellI();
+}
+	
+EWXWEXPORT(int,wxInputStream_LastRead)(wxInputStream* self)
+{
+	return (int)self->LastRead();
+}	
+
+EWXWEXPORT(int,wxInputStream_UngetBuffer)(wxInputStream* self,void* buffer,int size)
+{
+	return (int)self->Ungetch((const void*)buffer, (size_t)size);
+}
+	
+EWXWEXPORT(int,wxInputStream_Ungetch)(wxInputStream* self,char c)
+{
+	return (int)self->Ungetch(c);
+}
+	
+}
+ src/cpp/eljradiobox.cpp view
@@ -0,0 +1,109 @@+#include "wrapper.h"++extern "C"+{++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 (_prt, _id, *_txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _n, items, _dim, _stl, wxDefaultValidator);+}++EWXWEXPORT(int,wxRadioBox_FindString)(void* _obj,wxString* s)+{+	return ((wxRadioBox*)_obj)->FindString(* s);+}++EWXWEXPORT(void,wxRadioBox_SetSelection)(void* _obj,int _n)+{+	((wxRadioBox*)_obj)->SetSelection(_n);+}++EWXWEXPORT(int,wxRadioBox_GetSelection)(void* _obj)+{+	return ((wxRadioBox*)_obj)->GetSelection();+}++EWXWEXPORT(void,wxRadioBox_SetItemLabel)(void* _obj,int item,wxString* label)+{+#if wxVERSION_NUMBER >= 2400+	((wxRadioBoxBase*)_obj)->SetString(item, *label);+#else+	((wxRadioBox*)_obj)->SetLabel(item, *label);+#endif+}++EWXWEXPORT(void,wxRadioBox_SetItemBitmap)(void* _obj,int item,void* bitmap)+{+#if wxVERSION_NUMBER < 2400+	((wxRadioBox*)_obj)->SetLabel(item, (wxBitmap*) bitmap);+#endif+}++EWXWEXPORT(wxString*,wxRadioBox_GetItemLabel)(void* _obj,int item)+{+  wxString *result = new wxString();++#if wxVERSION_NUMBER >= 2400+    *result = ((wxRadioBox*)_obj)->GetString(item);+#else+    *result = ((wxRadioBox*)_obj)->GetLabel(item);+#endif++  return result;+}++EWXWEXPORT(void,wxRadioBox_EnableItem)(void* self,int item,bool enable)+{+	((wxRadioBox*)self)->Enable(item, enable);+}++EWXWEXPORT(void,wxRadioBox_ShowItem)(void* self,int item,bool show)+{+	((wxRadioBox*)self)->Show(item, show);+}++EWXWEXPORT(wxString*,wxRadioBox_GetStringSelection)(void* _obj)+{+  wxString *result = new wxString();+  *result = ((wxRadioBox*)_obj)->GetStringSelection();+  return result;+}++EWXWEXPORT(void,wxRadioBox_SetStringSelection)(void* _obj,wxString* s)+{+	((wxRadioBox*)_obj)->SetStringSelection(* s);+}++EWXWEXPORT(int,wxRadioBox_Number)(void* _obj)+{+#if wxVERSION_NUMBER >= 2400+	return ((wxRadioBox*)_obj)->GetCount();+#else+	return ((wxRadioBox*)_obj)->Number();+#endif+}++EWXWEXPORT(int,wxRadioBox_GetNumberOfRowsOrCols)(void* _obj)+{+#if wxVERSION_NUMBER >= 2600+	return ((wxRadioBox*)_obj)->GetCount();+#else+	return ((wxRadioBox*)_obj)->GetNumberOfRowsOrCols();+#endif+}++EWXWEXPORT(void,wxRadioBox_SetNumberOfRowsOrCols)(void* _obj,int n)+{+#if wxVERSION_NUMBER >= 2600+	return;+#else+	((wxRadioBox*)_obj)->SetNumberOfRowsOrCols(n);+#endif+}++}
+ src/cpp/eljradiobutton.cpp view
@@ -0,0 +1,21 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxRadioButton_Create)(wxWindow* _prt,int _id,wxString* _txt,int _lft,int _top,int _wdt,int _hgt,int _stl)
+{
+	return (void*) new wxRadioButton (_prt, _id, *_txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, wxDefaultValidator);
+}
+
+EWXWEXPORT(void,wxRadioButton_SetValue)(wxRadioButton* self,bool value)
+{
+	self->SetValue(value);
+}
+	
+EWXWEXPORT(bool,wxRadioButton_GetValue)(wxRadioButton* self)
+{
+	return self->GetValue();
+}
+
+} 
+ src/cpp/eljrc.cpp view
@@ -0,0 +1,511 @@+#include "wrapper.h"
+#include <wx/xrc/xmlres.h>
+
+#ifdef wxUSE_STC
+# include "wx/stc/stc.h"
+#endif
+
+class wxMDIParentFrameXmlHandler : public wxXmlResourceHandler
+{
+public:
+    wxMDIParentFrameXmlHandler();
+    virtual wxObject *DoCreateResource();
+    virtual bool CanHandle(wxXmlNode *node);
+};
+
+class wxMDIChildFrameXmlHandler : public wxXmlResourceHandler
+{
+public:
+    wxMDIChildFrameXmlHandler();
+    virtual wxObject *DoCreateResource();
+    virtual bool CanHandle(wxXmlNode *node);
+};
+
+class wxSplitterWindowXmlHandler : public wxXmlResourceHandler
+{
+public:
+    wxSplitterWindowXmlHandler();
+    virtual wxObject *DoCreateResource();
+    virtual bool CanHandle(wxXmlNode *node);
+};
+
+#ifdef wxUSE_STC
+class wxStyledTextCtrlXmlHandler : public wxXmlResourceHandler
+{
+public:
+    wxStyledTextCtrlXmlHandler();
+    virtual wxObject *DoCreateResource();
+    virtual bool CanHandle(wxXmlNode *node);
+};
+#endif
+
+class wxGridXmlHandler : public wxXmlResourceHandler
+{
+public:
+    wxGridXmlHandler();
+    virtual wxObject *DoCreateResource();
+    virtual bool CanHandle(wxXmlNode *node);
+};
+
+wxMDIParentFrameXmlHandler::wxMDIParentFrameXmlHandler() : wxXmlResourceHandler()
+{
+    XRC_ADD_STYLE(wxSTAY_ON_TOP);
+    XRC_ADD_STYLE(wxCAPTION);
+    XRC_ADD_STYLE(wxDEFAULT_DIALOG_STYLE);
+    XRC_ADD_STYLE(wxDEFAULT_FRAME_STYLE);
+    XRC_ADD_STYLE(wxSYSTEM_MENU);
+    XRC_ADD_STYLE(wxRESIZE_BORDER);
+
+    XRC_ADD_STYLE(wxFRAME_TOOL_WINDOW);
+    XRC_ADD_STYLE(wxFRAME_FLOAT_ON_PARENT);
+    XRC_ADD_STYLE(wxMAXIMIZE_BOX);
+    XRC_ADD_STYLE(wxMINIMIZE_BOX);
+    XRC_ADD_STYLE(wxSTAY_ON_TOP);
+
+    XRC_ADD_STYLE(wxTAB_TRAVERSAL);
+    XRC_ADD_STYLE(wxWS_EX_VALIDATE_RECURSIVELY);
+    XRC_ADD_STYLE(wxCLIP_CHILDREN);
+
+    AddWindowStyles();
+}
+
+wxObject *wxMDIParentFrameXmlHandler::DoCreateResource()
+{
+    XRC_MAKE_INSTANCE(frame, wxMDIParentFrame);
+
+    frame->Create(m_parentAsWindow,
+                  GetID(),
+                  GetText(wxT("title")),
+                  wxDefaultPosition, wxDefaultSize,
+                  GetStyle(wxT("style"), wxDEFAULT_FRAME_STYLE),
+                  GetName());
+
+    if (HasParam(wxT("size")))
+        frame->SetClientSize(GetSize());
+    if (HasParam(wxT("pos")))
+        frame->Move(GetPosition());
+
+    SetupWindow(frame);
+
+    CreateChildren(frame);
+
+    if (GetBool(wxT("centered"), FALSE))
+        frame->Centre();
+
+    return frame;
+}
+
+bool wxMDIParentFrameXmlHandler::CanHandle(wxXmlNode *node)
+{
+    return IsOfClass(node, wxT("wxMDIParentFrame"));
+}
+
+wxMDIChildFrameXmlHandler::wxMDIChildFrameXmlHandler() : wxXmlResourceHandler()
+{
+    XRC_ADD_STYLE(wxSTAY_ON_TOP);
+    XRC_ADD_STYLE(wxCAPTION);
+    XRC_ADD_STYLE(wxDEFAULT_DIALOG_STYLE);
+    XRC_ADD_STYLE(wxDEFAULT_FRAME_STYLE);
+    XRC_ADD_STYLE(wxSYSTEM_MENU);
+    XRC_ADD_STYLE(wxRESIZE_BORDER);
+
+    XRC_ADD_STYLE(wxFRAME_TOOL_WINDOW);
+    XRC_ADD_STYLE(wxFRAME_FLOAT_ON_PARENT);
+    XRC_ADD_STYLE(wxMAXIMIZE_BOX);
+    XRC_ADD_STYLE(wxMINIMIZE_BOX);
+    XRC_ADD_STYLE(wxSTAY_ON_TOP);
+
+    XRC_ADD_STYLE(wxTAB_TRAVERSAL);
+    XRC_ADD_STYLE(wxWS_EX_VALIDATE_RECURSIVELY);
+    XRC_ADD_STYLE(wxCLIP_CHILDREN);
+
+    AddWindowStyles();
+}
+
+wxObject *wxMDIChildFrameXmlHandler::DoCreateResource()
+{
+    XRC_MAKE_INSTANCE(frame, wxMDIChildFrame);
+	
+	wxMDIParentFrame* prt = wxDynamicCast (m_parentAsWindow, wxMDIParentFrame);
+
+	if (prt == NULL)
+	{
+		wxLogError(wxT("Error in resource: wxMDIChildFrame has no wxMDIParentFrame."));
+		return NULL;
+	}
+
+    frame->Create(prt,
+                  GetID(),
+                  GetText(wxT("title")),
+                  wxDefaultPosition, wxDefaultSize,
+                  GetStyle(wxT("style"), wxDEFAULT_FRAME_STYLE),
+                  GetName());
+
+    SetupWindow(frame);
+
+    CreateChildren(frame);
+
+    if (GetBool(wxT("centered"), FALSE))
+        frame->Centre();
+
+    return frame;
+}
+
+bool wxMDIChildFrameXmlHandler::CanHandle(wxXmlNode *node)
+{
+    return IsOfClass(node, wxT("wxMDIChildFrame"));
+}
+
+wxSplitterWindowXmlHandler::wxSplitterWindowXmlHandler() : wxXmlResourceHandler()
+{
+    XRC_ADD_STYLE(wxSP_3D);
+    XRC_ADD_STYLE(wxSP_3DSASH);
+    XRC_ADD_STYLE(wxSP_BORDER);
+    XRC_ADD_STYLE(wxSP_NOBORDER);
+    XRC_ADD_STYLE(wxSP_PERMIT_UNSPLIT);
+    XRC_ADD_STYLE(wxSP_LIVE_UPDATE);
+
+    XRC_ADD_STYLE(wxTAB_TRAVERSAL);
+    XRC_ADD_STYLE(wxCLIP_CHILDREN);
+
+    AddWindowStyles();
+}
+
+wxObject *wxSplitterWindowXmlHandler::DoCreateResource()
+{
+    XRC_MAKE_INSTANCE(frame, wxSplitterWindow);
+
+    frame->Create(m_parentAsWindow,
+                  GetID(),
+                  wxDefaultPosition, wxDefaultSize,
+                  GetStyle(wxT("style"), wxSP_3D),
+                  GetName());
+
+    SetupWindow(frame);
+
+    CreateChildren(frame);
+	
+	if (frame->GetChildren().GetCount() != 2)
+	{
+		wxLogError(wxT("Error in resource: Splitter window needs exactly two children."));
+		return NULL;
+	}
+	
+	frame->SetSplitMode(GetLong (wxT("splitmode"), wxSPLIT_VERTICAL));
+	long sashpos = GetLong (wxT("sashposition"), 100);
+	
+	wxWindowList::compatibility_iterator node = frame->GetChildren().GetFirst();
+	wxWindow* wnd1 = node->GetData();
+	wxWindow* wnd2 = node->GetNext()->GetData();
+
+	if (frame->GetSplitMode() == wxSPLIT_VERTICAL)
+		frame->SplitVertically (wnd1, wnd2, sashpos);
+	else
+		frame->SplitHorizontally (wnd1, wnd2, sashpos);
+	
+    return frame;
+}
+
+bool wxSplitterWindowXmlHandler::CanHandle(wxXmlNode *node)
+{
+    return IsOfClass(node, wxT("wxSplitterWindow"));
+}
+
+#ifdef wxUSE_STC
+wxStyledTextCtrlXmlHandler::wxStyledTextCtrlXmlHandler() : wxXmlResourceHandler()
+{
+    AddWindowStyles();
+}
+
+wxObject *wxStyledTextCtrlXmlHandler::DoCreateResource()
+{
+    XRC_MAKE_INSTANCE(frame, wxStyledTextCtrl);
+	
+    frame->Create(m_parentAsWindow,
+                  GetID(),
+                  wxDefaultPosition, wxDefaultSize,
+                  GetStyle(wxT("style"), 0),
+                  GetName());
+
+    if (HasParam(wxT("size")))
+        frame->SetSize(GetSize());
+    if (HasParam(wxT("pos")))
+        frame->Move(GetPosition());
+
+    SetupWindow(frame);
+
+    return frame;
+}
+
+bool wxStyledTextCtrlXmlHandler::CanHandle(wxXmlNode *node)
+{
+    return IsOfClass(node, wxT("wxStyledTextCtrl"));
+}
+#endif
+
+wxGridXmlHandler::wxGridXmlHandler() : wxXmlResourceHandler()
+{
+    XRC_ADD_STYLE(wxTAB_TRAVERSAL);
+    XRC_ADD_STYLE(wxCLIP_CHILDREN);
+
+    AddWindowStyles();
+}
+
+wxObject *wxGridXmlHandler::DoCreateResource()
+{
+	wxGrid* grid = new wxGrid(m_parentAsWindow,
+                              GetID(),
+                              wxDefaultPosition, wxDefaultSize,
+                              GetStyle(wxT("style"), wxWANTS_CHARS),
+                              GetName());
+
+	long cols = GetLong (wxT("numcols"), 0);
+	long rows = GetLong (wxT("numrows"), 0);
+	
+	if (cols && rows)
+		grid->CreateGrid(cols, rows, (wxGrid::wxGridSelectionModes)GetLong (wxT("selmode"), 0));
+	
+    if (HasParam(wxT("size")))
+        grid->SetSize(GetSize());
+    if (HasParam(wxT("pos")))
+        grid->Move(GetPosition());
+
+	SetupWindow(grid);
+
+	return grid;
+}
+
+bool wxGridXmlHandler::CanHandle(wxXmlNode *node)
+{
+    return IsOfClass(node, wxT("wxGrid"));
+}
+
+extern "C"
+{
+
+EWXWEXPORT(bool,wxXmlResource_Load)(wxXmlResource* self,wxString* filemask)
+{
+	wxGetApp().InitZipFileSystem();
+	return self->Load(*filemask);
+}
+	
+EWXWEXPORT(void,wxXmlResource_InitAllHandlers)(wxXmlResource* self)
+{
+	self->InitAllHandlers();
+	self->AddHandler(new wxMDIParentFrameXmlHandler());
+	self->AddHandler(new wxMDIChildFrameXmlHandler());
+	self->AddHandler(new wxSplitterWindowXmlHandler());
+#ifdef wxUSE_STC
+	self->AddHandler(new wxStyledTextCtrlXmlHandler());
+#endif
+	self->AddHandler(new wxGridXmlHandler());
+}
+	
+EWXWEXPORT(wxXmlResource*,wxXmlResource_Create)(int flags)
+{
+	wxXmlResource* self = wxXmlResource::Get();
+
+	// Calling the wxc variant of InitAllHandlers() ensures additional
+	// handlers for splitters etc. get initialized as well.
+	wxXmlResource_InitAllHandlers(self);
+	self->SetFlags(flags);
+	return self;
+}
+	
+EWXWEXPORT(wxXmlResource*,wxXmlResource_CreateFromFile)(wxString* filemask,int flags)
+{
+	wxXmlResource* self = wxXmlResource_Create(flags);
+    if (self->Load(*filemask)) {
+		return self;
+    }
+	else {
+		delete self;
+		return NULL;
+	}
+}
+	
+EWXWEXPORT(void,wxXmlResource_AddHandler)(wxXmlResource* self,wxXmlResourceHandler* handler)
+{
+	self->AddHandler(handler);
+}
+	
+EWXWEXPORT(void,wxXmlResource_InsertHandler)(wxXmlResource* self,wxXmlResourceHandler* handler)
+{
+	self->InsertHandler(handler);
+}
+	
+EWXWEXPORT(void,wxXmlResource_ClearHandlers)(wxXmlResource* self)
+{
+	self->ClearHandlers();
+}
+	
+EWXWEXPORT(void,wxXmlResource_AddSubclassFactory)(wxXmlResource* self,wxXmlSubclassFactory* factory)
+{
+	self->AddSubclassFactory(factory);
+}
+
+EWXWEXPORT(wxMenu*,wxXmlResource_LoadMenu)(wxXmlResource* self,wxString* name)
+{
+	return self->LoadMenu(*name);
+}
+	
+EWXWEXPORT(wxMenuBar*,wxXmlResource_LoadMenuBar)(wxXmlResource* self,wxWindow* parent,wxString* name)
+{
+	return self->LoadMenuBar(parent,*name);
+}
+	
+EWXWEXPORT(wxToolBar*,wxXmlResource_LoadToolBar)(wxXmlResource* self,wxWindow* parent,wxString* name)
+{
+	return self->LoadToolBar(parent,*name);
+}
+	
+EWXWEXPORT(wxDialog*,wxXmlResource_LoadDialog)(wxXmlResource* self,wxWindow* parent,wxString* name)
+{
+    wxDialog* dlg = new wxDialog;
+    if (!self->LoadDialog(dlg, parent,*name)) {
+        delete dlg;
+        return NULL;
+    } else {
+        return dlg;
+    }
+}
+	
+EWXWEXPORT(wxPanel*,wxXmlResource_LoadPanel)(wxXmlResource* self,wxWindow* parent,wxString* name)
+{
+	return self->LoadPanel(parent,*name);
+}
+	
+EWXWEXPORT(wxFrame*,wxXmlResource_LoadFrame)(wxXmlResource* self,wxWindow* parent,wxString* name)
+{
+    wxFrame* frame = new wxFrame;
+    if (!self->LoadFrame(frame, parent,*name)) {
+        delete frame;
+        return NULL;
+    } else {
+        return frame;
+    }
+}
+	
+EWXWEXPORT(void,wxXmlResource_LoadBitmap)(wxXmlResource* self,wxString* name,wxBitmap* _ref)
+{
+	*_ref = self->LoadBitmap(*name);
+}
+	
+EWXWEXPORT(void,wxXmlResource_LoadIcon)(wxXmlResource* self,wxString* name,wxIcon* _ref)
+{
+	*_ref = self->LoadIcon(*name);
+}
+	
+EWXWEXPORT(bool,wxXmlResource_Unload)(wxXmlResource* self,wxString* name)
+{
+	return self->Unload(*name);
+}
+	
+EWXWEXPORT(bool,wxXmlResource_AttachUnknownControl)(wxXmlResource* self,wxString* name,wxWindow* control,wxWindow* parent)
+{
+	return self->AttachUnknownControl(*name, control, parent);
+}
+	
+EWXWEXPORT(int,wxXmlResource_GetXRCID)(wxXmlResource* self,wxString* str_id)
+{
+	return self->GetXRCID(*str_id);
+}
+	
+EWXWEXPORT(long,wxXmlResource_GetVersion)(wxXmlResource* self)
+{
+	return self->GetVersion();
+}
+	
+EWXWEXPORT(int,wxXmlResource_CompareVersion)(wxXmlResource* self,int major,int minor,int release,int revision)
+{
+	return self->CompareVersion(major, minor, release, revision);
+}
+	
+EWXWEXPORT(wxXmlResource*,wxXmlResource_Get)(wxXmlResource* self)
+{
+  return wxXmlResource::Get();
+}
+
+// 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)       \
+  {                                                                                          \
+  return reinterpret_cast<wx##_typ *>(_win->FindWindow(wxXmlResource::GetXRCID(*_str_id))); \
+  }
+// Construct the XRC control getter functions
+BUILD_XRCGETCTRL_FN(Sizer)
+BUILD_XRCGETCTRL_FN(BoxSizer)
+BUILD_XRCGETCTRL_FN(StaticBoxSizer)
+BUILD_XRCGETCTRL_FN(GridSizer)
+BUILD_XRCGETCTRL_FN(FlexGridSizer)
+BUILD_XRCGETCTRL_FN(BitmapButton)
+BUILD_XRCGETCTRL_FN(Button)
+BUILD_XRCGETCTRL_FN(CalendarCtrl)
+BUILD_XRCGETCTRL_FN(CheckBox)
+BUILD_XRCGETCTRL_FN(CheckListBox)
+BUILD_XRCGETCTRL_FN(Choice)
+BUILD_XRCGETCTRL_FN(ComboBox)
+BUILD_XRCGETCTRL_FN(Gauge)
+BUILD_XRCGETCTRL_FN(Grid)
+BUILD_XRCGETCTRL_FN(HtmlWindow)
+BUILD_XRCGETCTRL_FN(ListBox)
+BUILD_XRCGETCTRL_FN(ListCtrl)
+BUILD_XRCGETCTRL_FN(MDIChildFrame)
+BUILD_XRCGETCTRL_FN(MDIParentFrame)
+BUILD_XRCGETCTRL_FN(Menu)
+BUILD_XRCGETCTRL_FN(MenuBar)
+BUILD_XRCGETCTRL_FN(MenuItem)
+BUILD_XRCGETCTRL_FN(Notebook)
+BUILD_XRCGETCTRL_FN(Panel)
+BUILD_XRCGETCTRL_FN(RadioButton)
+BUILD_XRCGETCTRL_FN(RadioBox)
+BUILD_XRCGETCTRL_FN(ScrollBar)
+BUILD_XRCGETCTRL_FN(ScrolledWindow)
+BUILD_XRCGETCTRL_FN(Slider)
+BUILD_XRCGETCTRL_FN(SpinButton)
+BUILD_XRCGETCTRL_FN(SpinCtrl)
+BUILD_XRCGETCTRL_FN(SplitterWindow)
+#ifdef wxUSE_STC
+BUILD_XRCGETCTRL_FN(StyledTextCtrl)
+#else
+EWXWEXPORT(void*,wxXmlResource_GetStyledTextCtrl)(wxWindow* _win,wxString* _str_id)
+{
+  return NULL;
+}
+#endif
+BUILD_XRCGETCTRL_FN(StaticBitmap)
+BUILD_XRCGETCTRL_FN(StaticBox)
+BUILD_XRCGETCTRL_FN(StaticLine)
+BUILD_XRCGETCTRL_FN(StaticText)
+BUILD_XRCGETCTRL_FN(TextCtrl)
+BUILD_XRCGETCTRL_FN(TreeCtrl)
+	
+EWXWEXPORT(wxXmlResource*,wxXmlResource_Set)(wxXmlResource* self,wxXmlResource* res)
+{
+	return self->Set(res);
+}
+
+EWXWEXPORT(wxString*,wxXmlResource_GetDomain)(wxXmlResource* self)
+{
+	wxString* buf = new wxString();
+	*buf = self->GetDomain();
+	return buf;
+}
+
+EWXWEXPORT(void,wxXmlResource_SetDomain)(wxXmlResource* self,wxString* domain)
+{
+	self->SetDomain(*domain);
+}
+
+EWXWEXPORT(int,wxXmlResource_GetFlags)(wxXmlResource* self)
+{
+	return self->GetFlags();
+}
+	
+EWXWEXPORT(void,wxXmlResource_SetFlags)(wxXmlResource* self,int flags)
+{
+	self->SetFlags(flags);
+}
+	
+}
+ src/cpp/eljregion.cpp view
@@ -0,0 +1,91 @@+#include "wrapper.h"
+
+extern "C"
+{
+	
+EWXWEXPORT(void*,wxRegion_CreateDefault)()
+{
+	return (void*)new wxRegion();
+}
+
+EWXWEXPORT(void*,wxRegion_CreateFromRect)(int x,int y,int w,int h)
+{
+	return (void*)new wxRegion((wxCoord)x, (wxCoord)y, (wxCoord)w, (wxCoord)h);
+}
+
+EWXWEXPORT(void,wxRegion_Delete)(wxRegion* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(void,wxRegion_Assign)(wxRegion* self,wxRegion* region)
+{
+	*self = *region;
+}
+
+EWXWEXPORT(void,wxRegion_Clear)(wxRegion* self)
+{
+	self->Clear();
+}
+	
+EWXWEXPORT(bool,wxRegion_UnionRect)(wxRegion* self,int x,int y,int width,int height)
+{
+	return self->Union((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height);
+}
+	
+EWXWEXPORT(bool,wxRegion_UnionRegion)(wxRegion* self,wxRegion* region)
+{
+	return self->Union(*region);
+}
+	
+EWXWEXPORT(bool,wxRegion_IntersectRect)(wxRegion* self,int x,int y,int width,int height)
+{
+	return self->Intersect((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height);
+}
+	
+EWXWEXPORT(bool,wxRegion_IntersectRegion)(wxRegion* self,wxRegion* region)
+{
+	return self->Intersect(*region);
+}
+	
+EWXWEXPORT(bool,wxRegion_SubtractRect)(wxRegion* self,int x,int y,int width,int height)
+{
+	return self->Subtract((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height);
+}
+	
+EWXWEXPORT(bool,wxRegion_SubtractRegion)(wxRegion* self,wxRegion* region)
+{
+	return self->Subtract(*region);
+}
+	
+EWXWEXPORT(bool,wxRegion_XorRect)(wxRegion* self,int x,int y,int width,int height)
+{
+	return self->Xor((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height);
+}
+	
+EWXWEXPORT(bool,wxRegion_XorRegion)(wxRegion* self,wxRegion* region)
+{
+	return self->Xor(*region);
+}
+	
+EWXWEXPORT(void,wxRegion_GetBox)(wxRegion* self,void* x,void* y,void* w,void* h)
+{
+	self->GetBox(*((wxCoord*)x),*((wxCoord*)y),*((wxCoord*)w),*((wxCoord*)h));
+}
+	
+EWXWEXPORT(bool,wxRegion_IsEmpty)(wxRegion* self)
+{
+	return self->IsEmpty();
+}
+	
+EWXWEXPORT(bool,wxRegion_ContainsPoint)(wxRegion* self,int x,int y)
+{
+	return self->Contains((wxCoord)x, (wxCoord)y);
+}
+	
+EWXWEXPORT(bool,wxRegion_ContainsRect)(wxRegion* self,int x,int y,int width,int height)
+{
+	return self->Contains((wxCoord)x, (wxCoord)y, (wxCoord)width, (wxCoord)height);
+}
+	
+}
+ src/cpp/eljregioniter.cpp view
@@ -0,0 +1,61 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxRegionIterator_Create)()
+{
+	return (void*)new wxRegionIterator();
+}
+
+EWXWEXPORT(void*,wxRegionIterator_CreateFromRegion)(void* region)
+{
+	return (void*)new wxRegionIterator(*((wxRegion*)region));
+}
+
+EWXWEXPORT(void,wxRegionIterator_Delete)(wxRegionIterator* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(void,wxRegionIterator_Reset)(wxRegionIterator* self)
+{
+	self->Reset();
+}
+	
+EWXWEXPORT(void,wxRegionIterator_ResetToRegion)(wxRegionIterator* self,wxRegion* region)
+{
+	self->Reset(*region);
+}
+	
+EWXWEXPORT(bool,wxRegionIterator_HaveRects)(wxRegionIterator* self)
+{
+	return self->HaveRects();
+}
+
+EWXWEXPORT(void,wxRegionIterator_Next)(wxRegionIterator* self)
+{
+	(*self)++;
+}
+	
+EWXWEXPORT(int,wxRegionIterator_GetX)(wxRegionIterator* self)
+{
+	return self->GetX();
+}
+	
+EWXWEXPORT(int,wxRegionIterator_GetY)(wxRegionIterator* self)
+{
+	return self->GetY();
+}
+	
+EWXWEXPORT(int,wxRegionIterator_GetWidth)(wxRegionIterator* self)
+{
+	return self->GetWidth();
+}
+	
+EWXWEXPORT(int,wxRegionIterator_GetHeight)(wxRegionIterator* self)
+{
+	return self->GetHeight();
+}
+	
+}
+ src/cpp/eljsash.cpp view
@@ -0,0 +1,288 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxSashWindow_Create)(wxWindow* _par,int _id,int _x,int _y,int _w,int _h,int _stl)
+{
+	return (void*)new wxSashWindow (_par, _id, wxPoint(_x, _y), wxSize (_w, _h), (long)_stl);
+}
+
+EWXWEXPORT(void,wxSashWindow_SetSashVisible)(wxSashWindow* self,int edge,bool sash)
+{
+	self->SetSashVisible((wxSashEdgePosition)edge, sash);
+}
+	
+EWXWEXPORT(bool,wxSashWindow_GetSashVisible)(wxSashWindow* self,int edge)
+{
+	return self->GetSashVisible((wxSashEdgePosition)edge);
+}
+	
+EWXWEXPORT(void,wxSashWindow_SetSashBorder)(wxSashWindow* self,int edge,bool border)
+{
+#if WXWIN_COMPATIBILITY_2_6
+	self->SetSashBorder((wxSashEdgePosition)edge, border);
+#endif
+}
+	
+EWXWEXPORT(bool,wxSashWindow_HasBorder)(wxSashWindow* self,int edge)
+{
+#if WXWIN_COMPATIBILITY_2_6
+	return self->HasBorder((wxSashEdgePosition)edge);
+#else
+	return false;
+#endif
+}
+	
+EWXWEXPORT(int,wxSashWindow_GetEdgeMargin)(wxSashWindow* self,int edge)
+{
+	return self->GetEdgeMargin((wxSashEdgePosition)edge);
+}
+	
+EWXWEXPORT(void,wxSashWindow_SetDefaultBorderSize)(wxSashWindow* self,int width)
+{
+	self->SetDefaultBorderSize(width);
+}
+	
+EWXWEXPORT(int,wxSashWindow_GetDefaultBorderSize)(wxSashWindow* self)
+{
+	return self->GetDefaultBorderSize();
+}
+	
+EWXWEXPORT(void,wxSashWindow_SetExtraBorderSize)(wxSashWindow* self,int width)
+{
+	self->SetExtraBorderSize(width);
+}
+	
+EWXWEXPORT(int,wxSashWindow_GetExtraBorderSize)(wxSashWindow* self)
+{
+	return self->GetExtraBorderSize();
+}
+	
+EWXWEXPORT(void,wxSashWindow_SetMinimumSizeX)(wxSashWindow* self,int min)
+{
+	self->SetMinimumSizeX(min);
+}
+	
+EWXWEXPORT(void,wxSashWindow_SetMinimumSizeY)(wxSashWindow* self,int min)
+{
+	self->SetMinimumSizeY(min);
+}
+	
+EWXWEXPORT(int,wxSashWindow_GetMinimumSizeX)(wxSashWindow* self)
+{
+	return self->GetMinimumSizeX();
+}
+	
+EWXWEXPORT(int,wxSashWindow_GetMinimumSizeY)(wxSashWindow* self)
+{
+	return self->GetMinimumSizeY();
+}
+	
+EWXWEXPORT(void,wxSashWindow_SetMaximumSizeX)(wxSashWindow* self,int max)
+{
+	self->SetMaximumSizeX(max);
+}
+	
+EWXWEXPORT(void,wxSashWindow_SetMaximumSizeY)(wxSashWindow* self,int max)
+{
+	self->SetMaximumSizeY(max);
+}
+	
+EWXWEXPORT(int,wxSashWindow_GetMaximumSizeX)(wxSashWindow* self)
+{
+	return self->GetMaximumSizeX();
+}
+	
+EWXWEXPORT(int,wxSashWindow_GetMaximumSizeY)(wxSashWindow* self)
+{
+	return self->GetMaximumSizeY();
+}
+
+
+EWXWEXPORT(void*,wxSashEvent_Create)(int id,int edge)
+{
+	return (void*)new wxSashEvent(id, (wxSashEdgePosition)edge);
+}
+
+EWXWEXPORT(void,wxSashEvent_SetEdge)(wxSashEvent* self,int edge)
+{
+	self->SetEdge((wxSashEdgePosition)edge);
+}
+	
+EWXWEXPORT(int,wxSashEvent_GetEdge)(wxSashEvent* self)
+{
+	return (int)self->GetEdge();
+}
+	
+EWXWEXPORT(void,wxSashEvent_SetDragRect)(wxSashEvent* self,int x,int y,int w,int h)
+{
+	self->SetDragRect(wxRect (x, y , w, h));
+}
+	
+EWXWEXPORT(wxRect*,wxSashEvent_GetDragRect)(wxSashEvent* self)
+{
+	wxRect* rct = new wxRect();
+	*rct = self->GetDragRect();
+	return rct;
+}
+	
+EWXWEXPORT(void,wxSashEvent_SetDragStatus)(wxSashEvent* self,int status)
+{
+	self->SetDragStatus((wxSashDragStatus)status);
+}
+	
+EWXWEXPORT(int,wxSashEvent_GetDragStatus)(wxSashEvent* self)
+{
+	return (int)self->GetDragStatus();
+}
+	
+
+EWXWEXPORT(void*,wxSashLayoutWindow_Create)(wxWindow* _par,int _id,int _stl)
+{
+	return (void*)new wxSashLayoutWindow (_par, _id, wxDefaultPosition, wxDefaultSize, (long)_stl);
+}
+
+EWXWEXPORT(int,wxSashLayoutWindow_GetAlignment)(wxSashLayoutWindow* self)
+{
+	return (int)self->GetAlignment();
+}
+	
+EWXWEXPORT(int,wxSashLayoutWindow_GetOrientation)(wxSashLayoutWindow* self)
+{
+	return (int)self->GetOrientation();
+}
+	
+EWXWEXPORT(void,wxSashLayoutWindow_SetAlignment)(wxSashLayoutWindow* self,int align)
+{
+	self->SetAlignment((wxLayoutAlignment)align);
+}
+	
+EWXWEXPORT(void,wxSashLayoutWindow_SetOrientation)(wxSashLayoutWindow* self,int orient)
+{
+	self->SetOrientation((wxLayoutOrientation)orient);
+}
+	
+EWXWEXPORT(void,wxSashLayoutWindow_SetDefaultSize)(wxSashLayoutWindow* self,int w,int h)
+{
+	self->SetDefaultSize(wxSize(w, h));
+}
+	
+
+EWXWEXPORT(void*,wxQueryLayoutInfoEvent_Create)(int id)
+{
+	return (void*)new wxQueryLayoutInfoEvent(id);
+}
+
+EWXWEXPORT(void,wxQueryLayoutInfoEvent_SetRequestedLength)(wxQueryLayoutInfoEvent* self,int length)
+{
+	self->SetRequestedLength(length);
+}
+	
+EWXWEXPORT(int,wxQueryLayoutInfoEvent_GetRequestedLength)(wxQueryLayoutInfoEvent* self)
+{
+	return self->GetRequestedLength();
+}
+	
+EWXWEXPORT(void,wxQueryLayoutInfoEvent_SetFlags)(wxQueryLayoutInfoEvent* self,int flags)
+{
+	self->SetFlags(flags);
+}
+	
+EWXWEXPORT(int,wxQueryLayoutInfoEvent_GetFlags)(wxQueryLayoutInfoEvent* self)
+{
+	return self->GetFlags();
+}
+	
+EWXWEXPORT(void,wxQueryLayoutInfoEvent_SetSize)(wxQueryLayoutInfoEvent* self,int w,int h)
+{
+	self->SetSize(wxSize(w, h));
+}
+	
+EWXWEXPORT(wxSize*,wxQueryLayoutInfoEvent_GetSize)(wxQueryLayoutInfoEvent* self)
+{
+	wxSize* sz = new wxSize();
+	*sz = self->GetSize();
+	return sz;
+}
+	
+EWXWEXPORT(void,wxQueryLayoutInfoEvent_SetOrientation)(wxQueryLayoutInfoEvent* self,int orient)
+{
+	self->SetOrientation((wxLayoutOrientation)orient);
+}
+	
+EWXWEXPORT(int,wxQueryLayoutInfoEvent_GetOrientation)(wxQueryLayoutInfoEvent* self)
+{
+	return (int)self->GetOrientation();
+}
+	
+EWXWEXPORT(void,wxQueryLayoutInfoEvent_SetAlignment)(wxQueryLayoutInfoEvent* self,int align)
+{
+	self->SetAlignment((wxLayoutAlignment)align);
+}
+	
+EWXWEXPORT(int,wxQueryLayoutInfoEvent_GetAlignment)(wxQueryLayoutInfoEvent* self)
+{
+	return (int)self->GetAlignment();
+}
+	
+
+EWXWEXPORT(void*,wxCalculateLayoutEvent_Create)(int id)
+{
+	return (void*)new wxCalculateLayoutEvent(id);
+}
+
+EWXWEXPORT(void,wxCalculateLayoutEvent_SetFlags)(wxCalculateLayoutEvent* self,int flags)
+{
+	self->SetFlags(flags);
+}
+	
+EWXWEXPORT(int,wxCalculateLayoutEvent_GetFlags)(wxCalculateLayoutEvent* self)
+{
+	return self->GetFlags();
+}
+	
+EWXWEXPORT(void, wxCalculateLayoutEvent_SetRect)(wxCalculateLayoutEvent* self, int x, int y , int w, int h)
+{
+	self->SetRect(wxRect(x, y, w, h));
+}
+	
+EWXWEXPORT(wxRect*,wxCalculateLayoutEvent_GetRect)(wxCalculateLayoutEvent* self)
+{
+	wxRect* rct = new wxRect();
+	*rct = self->GetRect();
+	return rct;
+}
+
+EWXWEXPORT(void*,wxLayoutAlgorithm_Create)()
+{
+	return (void*)new wxLayoutAlgorithm();
+}
+
+EWXWEXPORT(void,wxLayoutAlgorithm_Delete)(wxLayoutAlgorithm* self)
+{
+	delete self;
+}
+
+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);
+	
+	bool result = self->LayoutMDIFrame(frame, r);
+	
+	if (r) delete r;
+	return result;
+}
+	
+EWXWEXPORT(bool,wxLayoutAlgorithm_LayoutFrame)(wxLayoutAlgorithm* self,wxFrame* frame,wxWindow* mainWindow)
+{
+	return self->LayoutFrame(frame, mainWindow);
+}
+	
+EWXWEXPORT(bool,wxLayoutAlgorithm_LayoutWindow)(wxLayoutAlgorithm* self,wxFrame* frame,wxWindow* mainWindow)
+{
+	return self->LayoutWindow(frame, mainWindow);
+}
+	
+}
+ src/cpp/eljscrollbar.cpp view
@@ -0,0 +1,41 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+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);
+}
+
+EWXWEXPORT(int,wxScrollBar_GetThumbPosition)(wxScrollBar* self)
+{
+	return self->GetThumbPosition();
+}
+
+EWXWEXPORT(int,wxScrollBar_GetThumbSize)(wxScrollBar* self)
+{
+	return self->GetThumbSize();
+}
+
+EWXWEXPORT(int,wxScrollBar_GetPageSize)(wxScrollBar* self)
+{
+	return self->GetPageSize();
+}
+
+EWXWEXPORT(int,wxScrollBar_GetRange)(wxScrollBar* self)
+{
+	return self->GetRange();
+}
+
+EWXWEXPORT(void,wxScrollBar_SetThumbPosition)(wxScrollBar* self,int viewStart)
+{
+	self->SetThumbPosition(viewStart);
+}
+
+EWXWEXPORT(void,wxScrollBar_SetScrollbar)(wxScrollBar* self,int position,int thumbSize,int range,int pageSize,bool refresh)
+{
+	self->SetScrollbar(position, thumbSize, range, pageSize, refresh);
+}
+
+}
+ src/cpp/eljscrolledwindow.cpp view
@@ -0,0 +1,106 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*, wxScrolledWindow_Create) (void* _prt, int _id, int _lft, int _top, int _wdt, int _hgt, int _stl)
+{
+	return (void*) new wxScrolledWindow ((wxWindow*)_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+}
+
+EWXWEXPORT(void,wxScrolledWindow_SetTargetWindow)(void* self,wxWindow* target)
+{
+	((wxScrolledWindow*)self)->SetTargetWindow(target);
+}
+	
+EWXWEXPORT(void*,wxScrolledWindow_GetTargetWindow)(void* self)
+{
+	return (void*)((wxScrolledWindow*)self)->GetTargetWindow();
+}
+	
+EWXWEXPORT(void,wxScrolledWindow_SetScrollbars)(void* self,int pixelsPerUnitX,int pixelsPerUnitY,int noUnitsX,int noUnitsY,int xPos,int yPos,bool noRefresh)
+{
+	((wxScrolledWindow*)self)->SetScrollbars(pixelsPerUnitX, pixelsPerUnitY, noUnitsX, noUnitsY, xPos, yPos, noRefresh);
+}
+	
+EWXWEXPORT(void,wxScrolledWindow_Scroll)(void* self,int x_pos,int y_pos)
+{
+	((wxScrolledWindow*)self)->Scroll(x_pos, y_pos);
+}
+	
+EWXWEXPORT(int,wxScrolledWindow_GetScrollPageSize)(void* self,int orient)
+{
+	return ((wxScrolledWindow*)self)->GetScrollPageSize(orient);
+}
+	
+EWXWEXPORT(void,wxScrolledWindow_SetScrollPageSize)(void* self,int orient,int pageSize)
+{
+	((wxScrolledWindow*)self)->SetScrollPageSize(orient, pageSize);
+}
+	
+EWXWEXPORT(void,wxScrolledWindow_GetScrollPixelsPerUnit)(void* self,int* x_unit,int* y_unit)
+{
+	((wxScrolledWindow*)self)->GetScrollPixelsPerUnit(x_unit,y_unit);
+}
+	
+EWXWEXPORT(void,wxScrolledWindow_EnableScrolling)(void* self,bool x_scrolling,bool y_scrolling)
+{
+	((wxScrolledWindow*)self)->EnableScrolling(x_scrolling, y_scrolling);
+}
+	
+EWXWEXPORT(void, wxScrolledWindow_GetViewStart)(void* _obj, void* x, void* y)
+{
+	((wxScrolledWindow*)_obj)->GetViewStart((int*)x, (int*)y);
+}
+	
+EWXWEXPORT(void, wxScrolledWindow_ViewStart)(void* _obj, void* x, void* y)
+{
+	((wxScrolledWindow*)_obj)->GetViewStart((int*)x, (int*)y);
+}
+	
+EWXWEXPORT(void, wxScrolledWindow_GetVirtualSize)(void* _obj, void* x, void* y)
+{
+	((wxScrolledWindow*)_obj)->GetVirtualSize((int*)x, (int*)y);
+}
+	
+EWXWEXPORT(void,wxScrolledWindow_SetScale)(void* self,double xs,double ys)
+{
+	((wxScrolledWindow*)self)->SetScale(xs, ys);
+}
+	
+EWXWEXPORT(double,wxScrolledWindow_GetScaleX)(void* self)
+{
+	return ((wxScrolledWindow*)self)->GetScaleX();
+}
+	
+EWXWEXPORT(double,wxScrolledWindow_GetScaleY)(void* self)
+{
+	return ((wxScrolledWindow*)self)->GetScaleY();
+}
+	
+EWXWEXPORT(void,wxScrolledWindow_CalcScrolledPosition)(void* self,int x,int y,int* xx,int* yy)
+{
+	((wxScrolledWindow*)self)->CalcScrolledPosition(x, y, xx, yy);
+}
+	
+EWXWEXPORT(void,wxScrolledWindow_CalcUnscrolledPosition)(void* self,int x,int y,int* xx,int* yy)
+{
+	((wxScrolledWindow*)self)->CalcUnscrolledPosition(x, y, xx, yy);
+}
+	
+EWXWEXPORT(void,wxScrolledWindow_AdjustScrollbars)(void* self)
+{
+	((wxScrolledWindow*)self)->AdjustScrollbars();
+}
+	
+EWXWEXPORT(void,wxScrolledWindow_OnDraw)(void* self,wxDC* dc)
+{
+	((wxScrolledWindow*)self)->OnDraw(*dc);
+}
+	
+EWXWEXPORT(void,wxScrolledWindow_PrepareDC)(void* self,wxDC* dc)
+{
+	((wxScrolledWindow*)self)->PrepareDC(*dc);
+}
+
+}
+ src/cpp/eljsingleinst.cpp view
@@ -0,0 +1,29 @@+#include "wrapper.h"
+#if wxVERSION_NUMBER >= 2400
+#include "wx/snglinst.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxSingleInstanceChecker_CreateDefault)()
+{
+	return (void*)new wxSingleInstanceChecker();
+}
+	
+EWXWEXPORT(bool,wxSingleInstanceChecker_Create)(wxSingleInstanceChecker* self,wxString* name,wxString* path)
+{
+	return self->Create(*name,*path);
+}
+	
+EWXWEXPORT(bool,wxSingleInstanceChecker_IsAnotherRunning)(wxSingleInstanceChecker* self)
+{
+	return self->IsAnotherRunning();
+}
+	
+EWXWEXPORT(void,wxSingleInstanceChecker_Delete)(void* self)
+{
+	delete (wxSingleInstanceChecker*)self;
+}
+	
+}
+#endif
+ src/cpp/eljsizer.cpp view
@@ -0,0 +1,665 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+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));
+}
+	
+EWXWEXPORT(void*,wxSizerItem_CreateInWindow)(wxWindow* window,int option,int flag,int border,void* userData)
+{
+	return (void*)new wxSizerItem(window, option, flag, border, new ELJDataObject(userData));
+}
+	
+EWXWEXPORT(void*,wxSizerItem_CreateInSizer)(wxSizer* sizer,int option,int flag,int border,void* userData)
+{
+	return (void*)new wxSizerItem(sizer, option, flag, border, new ELJDataObject(userData));
+}
+	
+EWXWEXPORT(wxSize*,wxSizerItem_GetSize)(wxSizerItem* self)
+{
+	wxSize* sz = new wxSize();
+	*sz = self->GetSize();
+	return sz;
+}
+	
+EWXWEXPORT(wxSize*,wxSizerItem_CalcMin)(wxSizerItem* self)
+{
+	wxSize* sz = new wxSize();
+	*sz = self->CalcMin();
+	return sz;
+}
+	
+EWXWEXPORT(void,wxSizerItem_SetDimension)(wxSizerItem* self,int _x,int _y,int _w,int _h)
+{
+	self->SetDimension(wxPoint(_x, _y), wxSize(_w, _h));
+}
+	
+EWXWEXPORT(wxSize*,wxSizerItem_GetMinSize)(wxSizerItem* self)
+{
+	wxSize* sz = new wxSize();
+	*sz = self->GetMinSize();
+	return sz;
+}
+	
+EWXWEXPORT(void,wxSizerItem_SetRatio)(wxSizerItem* self,int width,int height)
+{
+	self->SetRatio(width, height);
+}
+	
+EWXWEXPORT(void,wxSizerItem_SetFloatRatio)(wxSizerItem* self,float ratio)
+{
+	self->SetRatio(ratio);
+}
+	
+EWXWEXPORT(float,wxSizerItem_GetRatio)(wxSizerItem* self)
+{
+	return self->GetRatio();
+}
+	
+EWXWEXPORT(bool,wxSizerItem_IsWindow)(wxSizerItem* self)
+{
+	return self->IsWindow();
+}
+	
+EWXWEXPORT(bool,wxSizerItem_IsSizer)(wxSizerItem* self)
+{
+	return self->IsSizer();
+}
+	
+EWXWEXPORT(bool,wxSizerItem_IsSpacer)(wxSizerItem* self)
+{
+	return self->IsSpacer();
+}
+	
+EWXWEXPORT(void,wxSizerItem_SetInitSize)(wxSizerItem* self,int x,int y)
+{
+	self->SetInitSize(x, y);
+}
+	
+#if (wxVERSION_NUMBER < 2800)	
+EWXWEXPORT(void,wxSizerItem_SetOption)(wxSizerItem* self,int option)
+{
+	self->SetOption(option);
+}
+#endif
+
+EWXWEXPORT(void,wxSizerItem_SetFlag)(wxSizerItem* self,int flag)
+{
+	self->SetFlag(flag);
+}
+	
+EWXWEXPORT(void,wxSizerItem_SetBorder)(wxSizerItem* self,int border)
+{
+	self->SetBorder(border);
+}
+	
+EWXWEXPORT(wxWindow*,wxSizerItem_GetWindow)(wxSizerItem* self)
+{
+	return self->GetWindow();
+}
+	
+EWXWEXPORT(void,wxSizerItem_SetWindow)(wxSizerItem* self,wxWindow* window)
+{
+	self->SetWindow(window);
+}
+	
+EWXWEXPORT(void*,wxSizerItem_GetSizer)(wxSizerItem* self)
+{
+	return (void*)self->GetSizer();
+}
+	
+EWXWEXPORT(void,wxSizerItem_SetSizer)(wxSizerItem* self,wxSizer* sizer)
+{
+	self->SetSizer(sizer);
+}
+	
+#if (wxVERSION_NUMBER < 2800)
+EWXWEXPORT(int,wxSizerItem_GetOption)(wxSizerItem* self)
+{
+	return self->GetOption();
+}
+#endif
+
+EWXWEXPORT(int,wxSizerItem_GetFlag)(wxSizerItem* self)
+{
+	return self->GetFlag();
+}
+	
+EWXWEXPORT(int,wxSizerItem_GetBorder)(wxSizerItem* self)
+{
+	return self->GetBorder();
+}
+	
+EWXWEXPORT(void*,wxSizerItem_GetUserData)(wxSizerItem* self)
+{
+	return ((ELJDataObject*)self->GetUserData())->data;
+}
+	
+EWXWEXPORT(wxPoint*,wxSizerItem_GetPosition)(wxSizerItem* self)
+{
+	wxPoint* pt = new wxPoint();
+	*pt = self->GetPosition();
+	return pt;
+}
+	
+#if (wxVERSION_NUMBER >= 2800)
+EWXWEXPORT(void,wxSizerItem_Delete)(wxSizerItem* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(void,wxSizerItem_DeleteWindows)(wxSizerItem* self)
+{
+	self->DeleteWindows();
+}
+
+EWXWEXPORT(void,wxSizerItem_DetachSizer)(wxSizerItem* self)
+{
+	self->DetachSizer();
+}
+
+EWXWEXPORT(int,wxSizerItem_GetProportion)(wxSizerItem* self)
+{
+	return self->GetProportion();
+}
+
+EWXWEXPORT(wxRect*,wxSizerItem_GetRect)(wxSizerItem* self)
+{
+	wxRect* rct = new wxRect();
+	*rct = self->GetRect();
+	return rct;
+}
+
+EWXWEXPORT(wxSize*,wxSizerItem_GetSpacer)(wxSizerItem* self,void* _w,void* _h)
+{
+	wxSize* sz = new wxSize(0,0);
+
+	if (self->IsSpacer())
+	{
+		*sz = self->GetSpacer();
+	}
+	return sz;
+}
+
+EWXWEXPORT(bool,wxSizerItem_IsShown)(wxSizerItem* self)
+{
+	return  self->IsShown();
+}
+
+EWXWEXPORT(void,wxSizerItem_SetProportion)(wxSizerItem* self,int proportion)
+{
+	self->SetProportion(proportion);
+}
+
+EWXWEXPORT(void,wxSizerItem_SetSpacer)(wxSizerItem* self,int width,int height)
+{
+	self->SetSpacer(wxSize(width, height));
+}
+
+EWXWEXPORT(void,wxSizerItem_Show)(wxSizerItem* self,int show)
+{
+  	self->Show(show);
+}
+#endif
+
+EWXWEXPORT(void,wxSizer_AddWindow)(wxSizer* self,wxWindow* window,int option,int flag,int border,void* userData)
+{
+	self->Add(window, option, flag, border, new ELJDataObject (userData));
+}
+	
+EWXWEXPORT(void,wxSizer_AddSizer)(wxSizer* self,wxSizer* sizer,int option,int flag,int border,void* userData)
+{
+	self->Add(sizer, option, flag, border, new ELJDataObject (userData));
+}
+	
+EWXWEXPORT(void,wxSizer_Add)(wxSizer* self,int width,int height,int option,int flag,int border,void* userData)
+{
+	self->Add(width, height, option, flag, border, new ELJDataObject (userData));
+}
+	
+EWXWEXPORT(void,wxSizer_InsertWindow)(wxSizer* self,int before,wxWindow* window,int option,int flag,int border,void* userData)
+{
+	self->Insert(before, window, option, flag, border, new ELJDataObject (userData));
+}
+	
+EWXWEXPORT(void,wxSizer_InsertSizer)(wxSizer* self,int before,wxSizer* sizer,int option,int flag,int border,void* userData)
+{
+	self->Insert(before, sizer, option, flag, border, new ELJDataObject (userData));
+}
+	
+EWXWEXPORT(void,wxSizer_Insert)(wxSizer* self,int before,int width,int height,int option,int flag,int border,void* userData)
+{
+	self->Insert(before, width, height, option, flag, border, new ELJDataObject (userData));
+}
+	
+EWXWEXPORT(void,wxSizer_PrependWindow)(wxSizer* self,wxWindow* window,int option,int flag,int border,void* userData)
+{
+	self->Prepend(window, option, flag, border, new ELJDataObject (userData));
+}
+	
+EWXWEXPORT(void,wxSizer_PrependSizer)(wxSizer* self,wxSizer* sizer,int option,int flag,int border,void* userData)
+{
+	self->Prepend(sizer, option, flag, border, new ELJDataObject (userData));
+}
+	
+EWXWEXPORT(void,wxSizer_Prepend)(wxSizer* self,int width,int height,int option,int flag,int border,void* userData)
+{
+	self->Prepend(width, height, option, flag, border, new ELJDataObject (userData));
+}
+	
+#if (wxVERSION_NUMBER < 2800)	
+EWXWEXPORT(bool,wxSizer_RemoveWindow)(wxSizer* self,wxWindow* window)
+{
+	return self->Remove(window);
+}
+	
+EWXWEXPORT(bool,wxSizer_RemoveSizer)(wxSizer* self,wxSizer* sizer)
+{
+	return self->Remove(sizer);
+}
+	
+EWXWEXPORT(bool,wxSizer_Remove)(wxSizer* self,int pos)
+{
+	return self->Remove(pos);
+}
+#endif
+	
+EWXWEXPORT(void,wxSizer_SetMinSize)(wxSizer* self,int width,int height)
+{
+	self->SetMinSize(width, height);
+}
+	
+EWXWEXPORT(void,wxSizer_SetItemMinSizeWindow)(wxSizer* self,wxWindow* window,int width,int height)
+{
+	self->SetItemMinSize( window, width, height);
+}
+	
+EWXWEXPORT(void,wxSizer_SetItemMinSizeSizer)(wxSizer* self,wxSizer* sizer,int width,int height)
+{
+	self->SetItemMinSize(sizer, width, height);
+}
+	
+EWXWEXPORT(void,wxSizer_SetItemMinSize)(wxSizer* self,int pos,int width,int height)
+{
+	self->SetItemMinSize(pos, width, height);
+}
+	
+EWXWEXPORT(wxSize*,wxSizer_GetSize)(wxSizer* self)
+{
+	wxSize* s = new wxSize();
+	*s = self->GetSize();
+	return s;
+}
+	
+EWXWEXPORT(wxPoint*,wxSizer_GetPosition)(wxSizer* self)
+{
+	wxPoint* pt = new wxPoint();
+	*pt = self->GetPosition();
+	return pt;
+}
+	
+EWXWEXPORT(wxSize*,wxSizer_GetMinSize)(wxSizer* self)
+{
+	wxSize* sz = new wxSize();
+	*sz = self->GetMinSize();
+	return sz;
+}
+	
+EWXWEXPORT(void,wxSizer_RecalcSizes)(wxSizer* self)
+{
+	self->RecalcSizes();
+}
+	
+EWXWEXPORT(wxSize*,wxSizer_CalcMin)(wxSizer* self)
+{
+	wxSize* sz = new wxSize();
+	*sz = self->CalcMin();
+	return sz;
+}
+	
+EWXWEXPORT(void,wxSizer_Layout)(wxSizer* self)
+{
+	self->Layout();
+}
+	
+EWXWEXPORT(void,wxSizer_Fit)(wxSizer* self,wxWindow* window)
+{
+	self->Fit(window);
+}
+	
+EWXWEXPORT(void,wxSizer_SetSizeHints)(wxSizer* self,wxWindow* window)
+{
+	self->SetSizeHints(window);
+}
+	
+EWXWEXPORT(int, wxSizer_GetChildren)(wxSizer* self, void* _res, int _cnt)
+{
+	if (_res && (unsigned int)_cnt == self->GetChildren().GetCount())
+	{
+		int i = 0;
+		wxSizerItemList::compatibility_iterator node = self->GetChildren().GetFirst();
+		while (node)
+		{
+			((void**)_res)[i] = node->GetData();
+			node = node->GetNext();
+			++i;
+		}
+		return i;
+	}
+	else
+		return self->GetChildren().GetCount();
+}
+
+#if (wxVERSION_NUMBER >= 2800)
+EWXWEXPORT(void,wxSizer_AddSpacer)(wxSizer* self,int size)
+{
+	self->AddSpacer(size);
+}
+
+EWXWEXPORT(void,wxSizer_AddStretchSpacer)(wxSizer* self,int size)
+{
+	self->AddStretchSpacer(size);
+}
+
+EWXWEXPORT(void,wxSizer_Clear)(wxSizer* self,bool delete_windows)
+{
+	self->Clear(delete_windows);
+}
+
+EWXWEXPORT(bool,wxSizer_DetachWindow)(wxSizer* self,wxWindow* window)
+{
+	return self->Detach(window);
+}
+
+EWXWEXPORT(bool,wxSizer_DetachSizer)(wxSizer* self,wxSizer* sizer)
+{
+	return self->Detach(sizer);
+}
+
+EWXWEXPORT(bool,wxSizer_Detach)(wxSizer* self,int index)
+{
+	return self->Detach((size_t) index);
+}
+
+EWXWEXPORT(void,wxSizer_FitInside)(wxSizer* self,wxWindow* window)
+{
+	self->FitInside( window);
+}
+
+EWXWEXPORT(void*,wxSizer_GetContainingWindow)(wxSizer* self)
+{
+	return (void*)self->GetContainingWindow();
+}
+
+EWXWEXPORT(void*,wxSizer_GetItemWindow)(wxSizer* self,wxWindow* window,bool recursive)
+{
+	return (void*)self->GetItem( window, recursive);
+}
+
+EWXWEXPORT(void*,wxSizer_GetItemSizer)(wxSizer* self,wxSizer* sizer,bool recursive)
+{
+	return (void*)self->GetItem(sizer, recursive);
+}
+
+EWXWEXPORT(void*,wxSizer_GetItem)(wxSizer* self,int index)
+{
+	return (void*)self->GetItem((size_t) index);
+}
+
+EWXWEXPORT(bool,wxSizer_HideWindow)(wxSizer* self,wxWindow* window)
+{
+	return self->Hide(window);
+}
+
+EWXWEXPORT(bool,wxSizer_HideSizer)(wxSizer* self,wxSizer* sizer)
+{
+	return self->Hide(sizer);
+}
+
+EWXWEXPORT(bool,wxSizer_Hide)(wxSizer* self,int index)
+{
+	return self->Hide((size_t) index);
+}
+
+EWXWEXPORT(void*,wxSizer_InsertSpacer)(wxSizer* self,int index,int size)
+{
+	return (void*)self->InsertSpacer((size_t) index, size);
+}
+
+EWXWEXPORT(void*,wxSizer_InsertStretchSpacer)(wxSizer* self,int index,int prop)
+{
+	return (void*)self->InsertStretchSpacer((size_t) index, prop);
+}
+
+EWXWEXPORT(bool,wxSizer_IsShownWindow)(wxSizer* self,wxWindow* window)
+{
+	return self->IsShown( window);
+}
+
+EWXWEXPORT(bool,wxSizer_IsShownSizer)(wxSizer* self,wxSizer* sizer)
+{
+	return self->IsShown(sizer);
+}
+
+EWXWEXPORT(bool,wxSizer_IsShown)(wxSizer* self,size_t index)
+{
+	return self->IsShown( index);
+}
+
+EWXWEXPORT(void*,wxSizer_PrependSpacer)(wxSizer* self,int size)
+{
+	return (void*)self->PrependSpacer(size);
+}
+
+EWXWEXPORT(void*,wxSizer_PrependStretchSpacer)(wxSizer* self,int prop)
+{
+	return (void*)self->PrependStretchSpacer(prop);
+}
+
+EWXWEXPORT(bool,wxSizer_ReplaceWindow)(wxSizer* self,wxWindow* oldwin,wxWindow* newwin,bool recursive)
+{
+	return self->Replace(oldwin, newwin, recursive);
+}
+
+EWXWEXPORT(bool,wxSizer_ReplaceSizer)(wxSizer* self,wxSizer* oldsz,wxSizer* newsz,bool recursive)
+{
+	return self->Replace( oldsz, newsz,recursive);
+}
+
+EWXWEXPORT(bool,wxSizer_Replace)(wxSizer* self,int oldindex,wxSizerItem* newsz)
+{
+	return self->Replace((size_t) oldindex,newsz);
+}
+
+EWXWEXPORT(void,wxSizer_SetVirtualSizeHints)(wxSizer* self,wxWindow* window)
+{
+	self->SetVirtualSizeHints(window);
+}
+
+EWXWEXPORT(bool,wxSizer_ShowWindow)(wxSizer* self,wxWindow* window,bool show,bool recursive)
+{
+	return self->Show(window, show, recursive);
+}
+
+EWXWEXPORT(bool,wxSizer_ShowSizer)(wxSizer* self,wxSizer* sizer,bool show,bool recursive)
+{
+	return self->Show(sizer, show, recursive);
+}
+
+EWXWEXPORT(bool,wxSizer_Show)(wxSizer* self,int index,bool show)
+{
+	return self->Show((size_t) index, show);
+}
+#endif
+	
+EWXWEXPORT(void,wxSizer_SetDimension)(wxSizer* self,int x,int y,int width,int height)
+{
+	self->SetDimension(x, y, width, height);
+}
+	
+EWXWEXPORT(void*,wxGridSizer_Create)(int rows,int cols,int vgap,int hgap)
+{
+	return (void*)new wxGridSizer(rows, cols, vgap, hgap);
+}
+	
+EWXWEXPORT(void,wxGridSizer_RecalcSizes)(wxGridSizer* self)
+{
+	self->RecalcSizes();
+}
+	
+EWXWEXPORT(wxSize*,wxGridSizer_CalcMin)(wxGridSizer* self)
+{
+	wxSize* sz = new wxSize();
+	*sz = self->CalcMin();
+	return sz;
+}
+	
+EWXWEXPORT(void,wxGridSizer_SetCols)(wxGridSizer* self,int cols)
+{
+	self->SetCols(cols);
+}
+	
+EWXWEXPORT(void,wxGridSizer_SetRows)(wxGridSizer* self,int rows)
+{
+	self->SetRows(rows);
+}
+	
+EWXWEXPORT(void,wxGridSizer_SetVGap)(wxGridSizer* self,int gap)
+{
+	self->SetVGap(gap);
+}
+	
+EWXWEXPORT(void,wxGridSizer_SetHGap)(wxGridSizer* self,int gap)
+{
+	self->SetHGap(gap);
+}
+	
+EWXWEXPORT(int,wxGridSizer_GetCols)(wxGridSizer* self)
+{
+	return self->GetCols();
+}
+	
+EWXWEXPORT(int,wxGridSizer_GetRows)(wxGridSizer* self)
+{
+	return self->GetRows();
+}
+	
+EWXWEXPORT(int,wxGridSizer_GetVGap)(wxGridSizer* self)
+{
+	return self->GetVGap();
+}
+	
+EWXWEXPORT(int,wxGridSizer_GetHGap)(wxGridSizer* self)
+{
+	return self->GetHGap();
+}
+	
+EWXWEXPORT(void*,wxFlexGridSizer_Create)(int rows,int cols,int vgap,int hgap)
+{
+	return new wxFlexGridSizer(rows, cols, vgap, hgap);
+}
+	
+EWXWEXPORT(void,wxFlexGridSizer_RecalcSizes)(wxFlexGridSizer* self)
+{
+	self->RecalcSizes();
+}
+	
+EWXWEXPORT(wxSize*,wxFlexGridSizer_CalcMin)(wxFlexGridSizer* self)
+{
+	wxSize* sz = new wxSize();
+	*sz = self->CalcMin();
+	return sz;
+}
+	
+EWXWEXPORT(void,wxFlexGridSizer_AddGrowableRow)(wxFlexGridSizer* self,size_t idx)
+{
+	self->AddGrowableRow(idx);
+}
+	
+EWXWEXPORT(void,wxFlexGridSizer_RemoveGrowableRow)(wxFlexGridSizer* self,size_t idx)
+{
+	self->RemoveGrowableRow(idx);
+}
+	
+EWXWEXPORT(void,wxFlexGridSizer_AddGrowableCol)(wxFlexGridSizer* self,size_t idx)
+{
+	self->AddGrowableCol(idx);
+}
+	
+EWXWEXPORT(void,wxFlexGridSizer_RemoveGrowableCol)(wxFlexGridSizer* self,size_t idx)
+{
+	self->RemoveGrowableCol(idx);
+}
+	
+EWXWEXPORT(void*,wxBoxSizer_Create)(int orient)
+{
+	return (void*)new wxBoxSizer(orient);
+}
+	
+EWXWEXPORT(void,wxBoxSizer_RecalcSizes)(wxBoxSizer* self)
+{
+	self->RecalcSizes();
+}
+	
+EWXWEXPORT(wxSize*,wxBoxSizer_CalcMin)(wxBoxSizer* self)
+{
+	wxSize* sz = new wxSize();
+	*sz = self->CalcMin();
+	return sz;
+}
+	
+EWXWEXPORT(int,wxBoxSizer_GetOrientation)(wxBoxSizer* self)
+{
+	return self->GetOrientation();
+}
+	
+EWXWEXPORT(void*,wxStaticBoxSizer_Create)(wxStaticBox* box,int orient)
+{
+	return (void*)new wxStaticBoxSizer(box, orient );
+}
+	
+EWXWEXPORT(void,wxStaticBoxSizer_RecalcSizes)(wxStaticBoxSizer* self)
+{
+	self->RecalcSizes();
+}
+	
+EWXWEXPORT(wxSize*,wxStaticBoxSizer_CalcMin)(wxStaticBoxSizer* self)
+{
+	wxSize* sz = new wxSize();
+	*sz = self->CalcMin();
+	return sz;
+}
+	
+EWXWEXPORT(void*,wxStaticBoxSizer_GetStaticBox)(wxStaticBoxSizer* self)
+{
+	return (void*)self->GetStaticBox();
+}
+	
+#if (wxVERSION_NUMBER < 2800)
+EWXWEXPORT(void*,wxNotebookSizer_Create)(wxNotebook* nb)
+{
+	return (void*)new wxNotebookSizer(nb);
+}
+	
+EWXWEXPORT(void,wxNotebookSizer_RecalcSizes)(wxNotebookSizer* self)
+{
+	self->RecalcSizes();
+}
+	
+EWXWEXPORT(wxSize*,wxNotebookSizer_CalcMin)(wxNotebookSizer* self)
+{
+	wxSize* sz = new wxSize();
+	*sz = self->CalcMin();
+	return sz;
+}
+	
+EWXWEXPORT(void*,wxNotebookSizer_GetNotebook)(wxNotebookSizer* self)
+{
+	return (void*)self->GetNotebook();
+}
+#endif
+
+}
+ src/cpp/eljslider.cpp view
@@ -0,0 +1,107 @@+#include "wrapper.h"
+#include "wx/slider.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*, wxSlider_Create) (void* _prt, int _id, int _init, int _min, int _max, int _lft, int _top, int _wdt, int _hgt, long _stl)
+{
+	return (void*) new wxSlider ((wxWindow*)_prt, _id, _init, _min, _max, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+}
+
+EWXWEXPORT(int,wxSlider_GetValue)(void* _obj)
+{
+	return ((wxSlider*)_obj)->GetValue();
+}
+	
+EWXWEXPORT(void,wxSlider_SetValue)(void* _obj, int value)
+{
+	((wxSlider*)_obj)->SetValue(value);
+}
+	
+EWXWEXPORT(void,wxSlider_SetRange)(void* _obj, int minValue, int maxValue)
+{
+	((wxSlider*)_obj)->SetRange(minValue, maxValue);
+}
+	
+EWXWEXPORT(int,wxSlider_GetMin)(void* _obj)
+{
+	return ((wxSlider*)_obj)->GetMin();
+}
+	
+EWXWEXPORT(int,wxSlider_GetMax)(void* _obj)
+{
+	return ((wxSlider*)_obj)->GetMax();
+}
+	
+EWXWEXPORT(void,wxSlider_SetTickFreq)(void* _obj, int n, int pos)
+{
+	((wxSlider*)_obj)->SetTickFreq(n, pos);
+}
+	
+EWXWEXPORT(int,wxSlider_GetTickFreq)(void* _obj)
+{
+	return ((wxSlider*)_obj)->GetTickFreq();
+}
+	
+EWXWEXPORT(void,wxSlider_SetPageSize)(void* _obj, int pageSize)
+{
+	((wxSlider*)_obj)->SetPageSize(pageSize);
+}
+	
+EWXWEXPORT(int,wxSlider_GetPageSize)(void* _obj)
+{
+	return ((wxSlider*)_obj)->GetPageSize();
+}
+	
+EWXWEXPORT(void,wxSlider_ClearSel)(void* _obj)
+{
+	((wxSlider*)_obj)->ClearSel();
+}
+	
+EWXWEXPORT(void,wxSlider_ClearTicks)(void* _obj)
+{
+	((wxSlider*)_obj)->ClearTicks();
+}
+	
+EWXWEXPORT(void,wxSlider_SetLineSize)(void* _obj, int lineSize)
+{
+	((wxSlider*)_obj)->SetLineSize(lineSize);
+}
+	
+EWXWEXPORT(int,wxSlider_GetLineSize)(void* _obj)
+{
+	return ((wxSlider*)_obj)->GetLineSize();
+}
+	
+EWXWEXPORT(int,wxSlider_GetSelEnd)(void* _obj)
+{
+	return ((wxSlider*)_obj)->GetSelEnd();
+}
+	
+EWXWEXPORT(int,wxSlider_GetSelStart)(void* _obj)
+{
+	return ((wxSlider*)_obj)->GetSelStart();
+}
+	
+EWXWEXPORT(void,wxSlider_SetSelection)(void* _obj, int minPos, int maxPos)
+{
+	((wxSlider*)_obj)->SetSelection(minPos, maxPos);
+}
+	
+EWXWEXPORT(void,wxSlider_SetThumbLength)(void* _obj, int len)
+{
+	((wxSlider*)_obj)->SetThumbLength(len);
+}
+	
+EWXWEXPORT(int,wxSlider_GetThumbLength)(void* _obj)
+{
+	return ((wxSlider*)_obj)->GetThumbLength();
+}
+	
+EWXWEXPORT(void,wxSlider_SetTick)(void* _obj, int tickPos)
+{
+	((wxSlider*)_obj)->SetTick(tickPos);
+}
+	
+} 
+ src/cpp/eljspinctrl.cpp view
@@ -0,0 +1,66 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+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 (_prt, _id, *_txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, _min, _max, _init);
+}
+
+EWXWEXPORT(void,wxSpinCtrl_SetValue)(void* _obj,int val)
+{
+	((wxSpinCtrl*)_obj)->SetValue(val);
+}
+	
+EWXWEXPORT(int,wxSpinCtrl_GetValue)(void* _obj)
+{
+	return ((wxSpinCtrl*)_obj)->GetValue();
+}
+	
+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)
+{
+	return ((wxSpinCtrl*)_obj)->GetMin();
+}
+	
+EWXWEXPORT(int,wxSpinCtrl_GetMax)(void* _obj)
+{
+	return ((wxSpinCtrl*)_obj)->GetMax();
+}
+
+EWXWEXPORT(void*,wxSpinButton_Create)(wxWindow* _prt,int _id,int _lft,int _top,int _wdt,int _hgt,long _stl)
+{
+	return (void*) new wxSpinButton (_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+}
+
+EWXWEXPORT(int,wxSpinButton_GetValue)(void* _obj)
+{
+	return ((wxSpinButton*)_obj)->GetValue();
+}
+	
+EWXWEXPORT(int,wxSpinButton_GetMin)(void* _obj)
+{
+	return ((wxSpinButton*)_obj)->GetMin();
+}
+	
+EWXWEXPORT(int,wxSpinButton_GetMax)(void* _obj)
+{
+	return ((wxSpinButton*)_obj)->GetMax();
+}
+	
+EWXWEXPORT(void,wxSpinButton_SetValue)(void* _obj,int val)
+{
+	((wxSpinButton*)_obj)->SetValue(val);
+}
+	
+EWXWEXPORT(void,wxSpinButton_SetRange)(void* _obj,int minVal,int maxVal)
+{
+	((wxSpinButton*)_obj)->SetRange(minVal, maxVal);
+}
+	
+}
+ src/cpp/eljsplitterwindow.cpp view
@@ -0,0 +1,101 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxSplitterWindow_Create)(wxWindow* _prt, int _id, int _lft, int _top, int _wdt, int _hgt, int _stl)
+{
+	return (void*)new wxSplitterWindow (_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+}
+
+EWXWEXPORT(void*,wxSplitterWindow_GetWindow1)(void* self)
+{
+	return (void*)((wxSplitterWindow*)self)->GetWindow1();
+}
+	
+EWXWEXPORT(void*,wxSplitterWindow_GetWindow2)(void* self)
+{
+	return (void*)((wxSplitterWindow*)self)->GetWindow2();
+}
+	
+EWXWEXPORT(void,wxSplitterWindow_SetSplitMode)(void* self,int mode)
+{
+	((wxSplitterWindow*)self)->SetSplitMode(mode);
+}
+	
+EWXWEXPORT(int,wxSplitterWindow_GetSplitMode)(void* self)
+{
+	return ((wxSplitterWindow*)self)->GetSplitMode();
+}
+	
+EWXWEXPORT(void,wxSplitterWindow_Initialize)(void* self,wxWindow* window)
+{
+	((wxSplitterWindow*)self)->Initialize(window);
+}
+	
+EWXWEXPORT(bool,wxSplitterWindow_SplitVertically)(wxSplitterWindow* self,wxWindow* window1,wxWindow* window2,int sashPosition)
+{
+	return self->SplitVertically(window1, window2, sashPosition);
+}
+	
+EWXWEXPORT(int,wxSplitterWindow_SplitHorizontally)(void* self,wxWindow* window1,wxWindow* window2,int sashPosition)
+{
+	return (int)((wxSplitterWindow*)self)->SplitHorizontally(window1, window2, sashPosition);
+}
+	
+EWXWEXPORT(int,wxSplitterWindow_Unsplit)(void* self,wxWindow* toRemove)
+{
+	return (int)((wxSplitterWindow*)self)->Unsplit(toRemove);
+}
+	
+EWXWEXPORT(int,wxSplitterWindow_ReplaceWindow)(void* self,wxWindow* winOld,wxWindow* winNew)
+{
+	return (int)((wxSplitterWindow*)self)->ReplaceWindow(winOld, winNew);
+}
+	
+EWXWEXPORT(bool,wxSplitterWindow_IsSplit)(wxSplitterWindow* self)
+{
+	return self->IsSplit();
+}
+	
+EWXWEXPORT(void,wxSplitterWindow_SetSashSize)(void* self,int width)
+{
+	((wxSplitterWindow*)self)->SetSashSize(width);
+}
+	
+EWXWEXPORT(void,wxSplitterWindow_SetBorderSize)(void* self,int width)
+{
+	((wxSplitterWindow*)self)->SetBorderSize(width);
+}
+	
+EWXWEXPORT(int,wxSplitterWindow_GetSashSize)(void* self)
+{
+	return ((wxSplitterWindow*)self)->GetSashSize();
+}
+	
+EWXWEXPORT(int,wxSplitterWindow_GetBorderSize)(void* self)
+{
+	return ((wxSplitterWindow*)self)->GetBorderSize();
+}
+	
+EWXWEXPORT(void,wxSplitterWindow_SetSashPosition)(void* self,int position,bool redraw)
+{
+	((wxSplitterWindow*)self)->SetSashPosition(position, redraw);
+}
+	
+EWXWEXPORT(int,wxSplitterWindow_GetSashPosition)(void* self)
+{
+	return ((wxSplitterWindow*)self)->GetSashPosition();
+}
+	
+EWXWEXPORT(void,wxSplitterWindow_SetMinimumPaneSize)(void* self,int min)
+{
+	((wxSplitterWindow*)self)->SetMinimumPaneSize(min);
+}
+	
+EWXWEXPORT(int,wxSplitterWindow_GetMinimumPaneSize)(void* self)
+{
+	return ((wxSplitterWindow*)self)->GetMinimumPaneSize();
+}
+	
+}
+ src/cpp/eljstaticbox.cpp view
@@ -0,0 +1,11 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxStaticBox_Create)(wxWindow* _prt,int _id,wxString* _txt,int _lft,int _top,int _wdt,int _hgt,int _stl)
+{
+	return (void*) new wxStaticBox (_prt, _id, *_txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+}
+
+}
+ src/cpp/eljstaticline.cpp view
@@ -0,0 +1,21 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+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);
+}
+
+EWXWEXPORT(bool,wxStaticLine_IsVertical)(wxStaticLine* self)
+{
+	return self->IsVertical ();
+}
+	
+EWXWEXPORT(int,wxStaticLine_GetDefaultSize)(wxStaticLine* self)
+{
+	return self->GetDefaultSize ();
+}
+
+}
+ src/cpp/eljstatictext.cpp view
@@ -0,0 +1,11 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxStaticText_Create)(wxWindow* _prt,int _id,wxString* _txt,int _lft,int _top,int _wdt,int _hgt,int _stl)
+{
+	return (void*) new wxStaticText (_prt, _id, *_txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+}
+
+}
+ src/cpp/eljstatusbar.cpp view
@@ -0,0 +1,64 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+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 (_prt, _id, _stl);
+#else
+	return (void*) new wxStatusBar (_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+#endif
+}
+
+EWXWEXPORT(void,wxStatusBar_SetFieldsCount)(void* _obj,int number,int* widths)
+{
+	((wxStatusBar*)_obj)->SetFieldsCount(number, widths);
+}
+	
+EWXWEXPORT(int,wxStatusBar_GetFieldsCount)(void* _obj)
+{
+	return ((wxStatusBar*)_obj)->GetFieldsCount();
+}
+	
+EWXWEXPORT(void,wxStatusBar_SetStatusText)(void* _obj,wxString* text,int number)
+{
+	((wxStatusBar*)_obj)->SetStatusText(*text, number);
+}
+	
+EWXWEXPORT(wxString*,wxStatusBar_GetStatusText)(void* _obj,int number)
+{
+	wxString *result = new wxString();
+	*result = ((wxStatusBar*)_obj)->GetStatusText(number);
+	return result;
+}
+	
+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)
+{
+	return (int)((wxStatusBar*)_obj)->GetFieldRect(int i, wxRect& rect);
+}
+*/
+	
+EWXWEXPORT(void,wxStatusBar_SetMinHeight)(void* _obj,int height)
+{
+	((wxStatusBar*)_obj)->SetMinHeight(height);
+}
+	
+EWXWEXPORT(int,wxStatusBar_GetBorderX)(void* _obj)
+{
+	return ((wxStatusBar*)_obj)->GetBorderX();
+}
+	
+EWXWEXPORT(int,wxStatusBar_GetBorderY)(void* _obj)
+{
+	return ((wxStatusBar*)_obj)->GetBorderY();
+}
+	
+}
+ src/cpp/eljsystemsettings.cpp view
@@ -0,0 +1,43 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+#if (wxVERSION_NUMBER < 2800)
+EWXWEXPORT(void, wxSystemSettings_GetSystemColour)(wxSystemColour index, void* _ref)
+{
+	*((wxColour*)_ref) = wxSystemSettings::GetColour(index);
+}
+
+EWXWEXPORT(void, wxSystemSettings_GetSystemFont)(wxSystemFont index, void* _ref)
+{
+	*((wxFont*)_ref) = wxSystemSettings::GetFont(index);
+}
+
+EWXWEXPORT(int, wxSystemSettings_GetSystemMetric)(wxSystemMetric index)
+{
+	return wxSystemSettings::GetMetric(index);
+}
+#else
+EWXWEXPORT(void, wxSystemSettings_GetColour)(wxSystemColour index, void* _ref)
+{
+	*((wxColour*)_ref) = wxSystemSettings::GetColour(index);
+}
+
+EWXWEXPORT(void, wxSystemSettings_GetFont)(wxSystemFont index, void* _ref)
+{
+	*((wxFont*)_ref) = wxSystemSettings::GetFont(index);
+}
+
+EWXWEXPORT(int, wxSystemSettings_GetMetric)(wxSystemMetric index)
+{
+	return wxSystemSettings::GetMetric(index);
+}
+
+EWXWEXPORT(int, wxSystemSettings_GetScreenType)()
+{
+  return (int) wxSystemSettings::GetScreenType();
+}
+#endif
+
+}
+ src/cpp/eljtextctrl.cpp view
@@ -0,0 +1,190 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxTextCtrl_Create)(wxWindow* _prt,int _id,wxString* _txt,int _lft,int _top,int _wdt,int _hgt,long _stl)
+{
+	return (void*) new wxTextCtrl (_prt, _id, *_txt, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, wxDefaultValidator);
+}
+
+EWXWEXPORT(wxString*,wxTextCtrl_GetValue)(void* self)
+{
+	wxString *result = new wxString();
+	*result = ((wxTextCtrl*)self)->GetValue();
+	return result;
+}
+	
+EWXWEXPORT(void,wxTextCtrl_SetValue)(wxTextCtrl* self,wxString* value)
+{
+	self->SetValue(*value);
+}
+	
+EWXWEXPORT(int,wxTextCtrl_GetLineLength)(wxTextCtrl* self,long lineNo)
+{
+	return self->GetLineLength(lineNo);
+}
+	
+EWXWEXPORT(wxString*,wxTextCtrl_GetLineText)(wxTextCtrl* self,long lineNo)
+{
+	wxString *result = new wxString();
+	*result = self->GetLineText(lineNo);
+	return result;
+}
+	
+EWXWEXPORT(int,wxTextCtrl_GetNumberOfLines)(wxTextCtrl* self)
+{
+	return self->GetNumberOfLines();
+}
+	
+EWXWEXPORT(bool,wxTextCtrl_IsModified)(wxTextCtrl* self)
+{
+	return self->IsModified();
+}
+	
+EWXWEXPORT(bool,wxTextCtrl_IsEditable)(wxTextCtrl* self)
+{
+	return self->IsEditable();
+}
+	
+EWXWEXPORT(void,wxTextCtrl_GetSelection)(wxTextCtrl* self,void* from,void* to)
+{
+	self->GetSelection((long*)from, (long*)to);
+}
+	
+EWXWEXPORT(void,wxTextCtrl_Clear)(wxTextCtrl* self)
+{
+	self->Clear();
+}
+	
+EWXWEXPORT(void,wxTextCtrl_Replace)(wxTextCtrl* self,long from,long to,wxString* value)
+{
+	self->Replace(from, to,*value);
+}
+	
+EWXWEXPORT(void,wxTextCtrl_Remove)(wxTextCtrl* self,long from,long to)
+{
+	self->Remove(from, to);
+}
+	
+EWXWEXPORT(bool,wxTextCtrl_LoadFile)(wxTextCtrl* self,wxString* file)
+{
+	return self->LoadFile(*file);
+}
+	
+EWXWEXPORT(bool,wxTextCtrl_SaveFile)(wxTextCtrl* self,wxString* file)
+{
+	return self->SaveFile(*file);
+}
+	
+EWXWEXPORT(void,wxTextCtrl_DiscardEdits)(wxTextCtrl* self)
+{
+	self->DiscardEdits();
+}
+	
+EWXWEXPORT(void,wxTextCtrl_WriteText)(wxTextCtrl* self,wxString* text)
+{
+	self->WriteText(*text);
+}
+	
+EWXWEXPORT(void,wxTextCtrl_AppendText)(wxTextCtrl* self,wxString* text)
+{
+	self->AppendText(*text);
+}
+	
+EWXWEXPORT(long,wxTextCtrl_XYToPosition)(wxTextCtrl* self,long x,long y)
+{
+	return self->XYToPosition(x, y);
+}
+	
+EWXWEXPORT(int,wxTextCtrl_PositionToXY)(wxTextCtrl* self,long pos,long* x,long* y)
+{
+	return (int)self->PositionToXY(pos, x, y);
+}
+	
+EWXWEXPORT(void,wxTextCtrl_ShowPosition)(wxTextCtrl* self,long pos)
+{
+	self->ShowPosition(pos);
+}
+	
+EWXWEXPORT(void,wxTextCtrl_Copy)(wxTextCtrl* self)
+{
+	self->Copy();
+}
+	
+EWXWEXPORT(void,wxTextCtrl_Cut)(wxTextCtrl* self)
+{
+	self->Cut();
+}
+	
+EWXWEXPORT(void,wxTextCtrl_Paste)(wxTextCtrl* self)
+{
+	self->Paste();
+}
+	
+EWXWEXPORT(bool,wxTextCtrl_CanCopy)(wxTextCtrl* self)
+{
+	return self->CanCopy();
+}
+	
+EWXWEXPORT(bool,wxTextCtrl_CanCut)(wxTextCtrl* self)
+{
+	return self->CanCut();
+}
+	
+EWXWEXPORT(bool,wxTextCtrl_CanPaste)(wxTextCtrl* self)
+{
+	return self->CanPaste();
+}
+	
+EWXWEXPORT(void,wxTextCtrl_Undo)(wxTextCtrl* self)
+{
+	self->Undo();
+}
+	
+EWXWEXPORT(void,wxTextCtrl_Redo)(wxTextCtrl* self)
+{
+	self->Redo();
+}
+	
+EWXWEXPORT(bool,wxTextCtrl_CanUndo)(wxTextCtrl* self)
+{
+	return self->CanUndo();
+}
+	
+EWXWEXPORT(bool,wxTextCtrl_CanRedo)(wxTextCtrl* self)
+{
+	return self->CanRedo();
+}
+	
+EWXWEXPORT(void,wxTextCtrl_SetInsertionPoint)(wxTextCtrl* self,long pos)
+{
+	self->SetInsertionPoint(pos);
+}
+	
+EWXWEXPORT(void,wxTextCtrl_SetInsertionPointEnd)(wxTextCtrl* self)
+{
+	self->SetInsertionPointEnd();
+}
+	
+EWXWEXPORT(long,wxTextCtrl_GetInsertionPoint)(wxTextCtrl* self)
+{
+	return self->GetInsertionPoint();
+}
+	
+EWXWEXPORT(long,wxTextCtrl_GetLastPosition)(wxTextCtrl* self)
+{
+	return self->GetLastPosition();
+}
+	
+EWXWEXPORT(void,wxTextCtrl_SetSelection)(wxTextCtrl* self,long from,long to)
+{
+	self->SetSelection(from, to);
+}
+	
+EWXWEXPORT(void,wxTextCtrl_SetEditable)(wxTextCtrl* self,bool editable)
+{
+	self->SetEditable(editable);
+}
+	
+}
+ src/cpp/eljtimer.cpp view
@@ -0,0 +1,72 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(wxTimer*,wxTimer_Create)(wxEvtHandler* _prt,int _id)
+{
+	return  new wxTimer (_prt, _id);
+}
+
+EWXWEXPORT(void,wxTimer_Delete)(wxTimer* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(bool,wxTimer_Start)(wxTimer* self,int _int,bool _one)
+{
+	return self->Start (_int, _one);
+}
+
+EWXWEXPORT(void,wxTimer_Stop)(wxTimer* self)
+{
+	self->Stop();
+}
+
+EWXWEXPORT(bool,wxTimer_IsRuning)(wxTimer* self)
+{
+	return self->IsRunning();
+}
+
+EWXWEXPORT(bool,wxTimer_IsOneShot)(wxTimer* self)
+{
+	return self->IsOneShot();
+}
+
+EWXWEXPORT(int,wxTimer_GetInterval)(wxTimer* self)
+{
+	return self->GetInterval();
+}
+
+
+EWXWEXPORT(wxStopWatch*,wxStopWatch_Create)()
+{
+	return new wxStopWatch();
+}
+	
+EWXWEXPORT(void,wxStopWatch_Delete)(wxStopWatch* self)
+{
+	delete self;
+}
+	
+EWXWEXPORT(void,wxStopWatch_Start)(wxStopWatch* self,int _t)
+{
+	self->Start((long)_t);
+}
+	
+EWXWEXPORT(void,wxStopWatch_Pause)(wxStopWatch* self)
+{
+	self->Pause();
+}
+	
+EWXWEXPORT(void,wxStopWatch_Resume)(wxStopWatch* self)
+{
+	self->Resume();
+}
+	
+EWXWEXPORT(long,wxStopWatch_Time)(wxStopWatch* self)
+{
+	return self->Time();
+}
+	
+}
+ src/cpp/eljtipwnd.cpp view
@@ -0,0 +1,29 @@+#include "wrapper.h"
+#if wxVERSION_NUMBER >= 2400
+#include "wx/tipwin.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxTipWindow_Create)(wxWindow* parent,wxString* text,int maxLength)
+{
+	return (void*)new wxTipWindow(parent, *text, (wxCoord)maxLength);
+}
+	
+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)
+{
+	((wxTipWindow*)_obj)->SetBoundingRect(wxRect(x, y, w, h));
+}
+	
+EWXWEXPORT(void,wxTipWindow_Close)(void* _obj)
+{
+	((wxTipWindow*)_obj)->Close();
+}
+
+}
+#endif
+ src/cpp/eljtoolbar.cpp view
@@ -0,0 +1,175 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(wxToolBar*,wxToolBar_Create)(wxWindow* _prt,int _id,int _lft,int _top,int _wdt,int _hgt,int _stl)
+{
+	return new wxToolBar (_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+}
+
+EWXWEXPORT(void,wxToolBar_Delete)(wxToolBar* self)
+{
+	delete self;
+}
+
+EWXWEXPORT(int,wxToolBar_AddControl)(wxToolBar* self,wxControl* ctrl)
+{
+	return self->AddControl(ctrl) != NULL;
+}
+
+EWXWEXPORT(void,wxToolBar_AddSeparator)(wxToolBar* self)
+{
+	self->AddSeparator ();
+}
+
+EWXWEXPORT(void,wxToolBar_AddTool)(wxToolBar* self,int id,wxBitmap* bmp,wxString* shelp,wxString* lhelp)
+{
+	self->AddTool (id,*bmp,*shelp,*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)
+{
+	self->AddTool (id,*bmp1,*bmp2, tgl, x, y, dat,*shelp,*lhelp);
+}
+
+EWXWEXPORT(bool,wxToolBar_DeleteTool)(wxToolBar* self,int id)
+{
+	return self->DeleteTool (id);
+}
+
+EWXWEXPORT(bool,wxToolBar_DeleteToolByPos)(wxToolBar* self,int pos)
+{
+	return self->DeleteToolByPos (pos);
+}
+
+EWXWEXPORT(void,wxToolBar_EnableTool)(wxToolBar* self,int id,bool enb)
+{
+	self->EnableTool (id, enb);
+}
+
+EWXWEXPORT(wxSize*,wxToolBar_GetToolSize)(wxToolBar* self)
+{
+	wxSize* sz = new wxSize();
+	*sz = self->GetToolSize();
+	return sz;
+}
+
+EWXWEXPORT(wxSize*,wxToolBar_GetToolBitmapSize)(wxToolBar* self)
+{
+	wxSize* sz = new wxSize();
+	*sz = self->GetToolBitmapSize();
+	return sz;
+}
+
+EWXWEXPORT(wxSize*,wxToolBar_GetMargins)(wxToolBar* self)
+{
+	wxSize* sz = new wxSize();
+	*sz = self->GetMargins();
+	return sz;
+}
+
+EWXWEXPORT(void*,wxToolBar_GetToolClientData)(wxToolBar* self,int id)
+{
+	return (void*)self->GetToolClientData (id);
+}
+
+EWXWEXPORT(bool,wxToolBar_GetToolEnabled)(wxToolBar* self,int id)
+{
+	return self->GetToolEnabled (id);
+}
+
+EWXWEXPORT(wxString*,wxToolBar_GetToolLongHelp)(wxToolBar* self,int id)
+{
+	wxString *result = new wxString();
+	*result = self->GetToolLongHelp (id);
+	return result;
+}
+
+EWXWEXPORT(int,wxToolBar_GetToolPacking)(wxToolBar* self)
+{
+	return self->GetToolPacking ();
+}
+
+EWXWEXPORT(wxString*,wxToolBar_GetToolShortHelp)(wxToolBar* self,int id)
+{
+	wxString *result = new wxString();
+	*result = self->GetToolShortHelp (id);
+	return result;
+}
+
+EWXWEXPORT(bool,wxToolBar_GetToolState)(wxToolBar* self,int id)
+{
+	return self->GetToolState (id);
+}
+
+EWXWEXPORT(void,wxToolBar_InsertControl)(wxToolBar* self,int pos,wxControl* ctrl)
+{
+	self->InsertControl ((size_t)pos, ctrl);
+}
+
+EWXWEXPORT(void,wxToolBar_InsertSeparator)(wxToolBar* self,int pos)
+{
+	self->InsertSeparator ((size_t)pos);
+}
+
+EWXWEXPORT(void,wxToolBar_InsertTool)(wxToolBar* self,int pos,int id,wxBitmap* bmp1,wxBitmap* bmp2,bool tgl,wxObject* dat,wxString* shelp,wxString* lhelp)
+{
+	self->InsertTool ((size_t)pos, id,*bmp1,*bmp2, tgl, dat,*shelp,*lhelp);
+}
+
+EWXWEXPORT(bool,wxToolBar_Realize)(wxToolBar* self)
+{
+	return self->Realize ();
+}
+
+EWXWEXPORT(void,wxToolBar_RemoveTool)(wxToolBar* self,int id)
+{
+	self->RemoveTool (id);
+}
+
+EWXWEXPORT(void,wxToolBar_SetMargins)(wxToolBar* self,int x,int y)
+{
+#ifdef __WIN32__
+	self->SetMargins(wxSize(x, y));
+#else
+	self->SetMargins(x, y);
+#endif
+}
+
+EWXWEXPORT(void,wxToolBar_SetToolBitmapSize)(wxToolBar* self,int x,int y)
+{
+	self->SetToolBitmapSize (wxSize(x, y));
+}
+
+EWXWEXPORT(void,wxToolBar_SetToolClientData)(wxToolBar* self,int id,wxObject* dat)
+{
+	self->SetToolClientData (id, dat);
+}
+
+EWXWEXPORT(void,wxToolBar_SetToolLongHelp)(wxToolBar* self,int id,wxString* str)
+{
+	self->SetToolLongHelp (id,*str);
+}
+
+EWXWEXPORT(void,wxToolBar_SetToolPacking)(wxToolBar* self,int val)
+{
+	self->SetToolPacking (val);
+}
+
+EWXWEXPORT(void,wxToolBar_SetToolShortHelp)(wxToolBar* self,int id,wxString* str)
+{
+	self->SetToolShortHelp (id,*str);
+}
+
+EWXWEXPORT(void,wxToolBar_SetToolSeparation)(wxToolBar* self,int val)
+{
+	self->SetToolSeparation (val);
+}
+
+EWXWEXPORT(void,wxToolBar_ToggleTool)(wxToolBar* self,int id,bool val)
+{
+	self->ToggleTool (id, val);
+}
+
+}
+ src/cpp/eljvalidator.cpp view
@@ -0,0 +1,230 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxValidator_Create)()
+{
+	return (void*)new wxValidator();
+}
+
+EWXWEXPORT(void,wxValidator_Delete)(void* self)
+{
+	delete (wxValidator*)self;
+}
+
+EWXWEXPORT(bool,wxValidator_Validate)(wxValidator* self,wxWindow* parent)
+{
+	return self->Validate(parent);
+}
+	
+EWXWEXPORT(bool,wxValidator_TransferToWindow)(wxValidator* self)
+{
+	return self->TransferToWindow();
+}
+	
+EWXWEXPORT(bool,wxValidator_TransferFromWindow)(wxValidator* self)
+{
+	return self->TransferFromWindow();
+}
+	
+EWXWEXPORT(void*,wxValidator_GetWindow)(void* self)
+{
+	return (void*)((wxValidator*)self)->GetWindow();
+}
+	
+EWXWEXPORT(void,wxValidator_SetWindow)(void* self,wxWindowBase* win)
+{
+	((wxValidator*)self)->SetWindow(win);
+}
+	
+#if (wxVERSION_NUMBER < 2800)	
+EWXWEXPORT(bool,wxValidator_IsSilent)()
+{
+	return wxValidator::IsSilent();
+}
+#endif
+	
+EWXWEXPORT(void,wxValidator_SetBellOnError)(bool doIt)
+{
+	wxValidator::SetBellOnError(doIt);
+}
+	
+EWXWEXPORT(void*,wxTextValidator_Create)(int style,void* val)
+{
+	return (void*)new wxTextValidator((long)style, new wxString);
+}
+
+EWXWEXPORT(int,wxTextValidator_GetStyle)(wxTextValidator* self)
+{
+	return (int)self->GetStyle();
+}
+	
+EWXWEXPORT(void,wxTextValidator_SetStyle)(void* self,int style)
+{
+	((wxTextValidator*)self)->SetStyle((long) style);
+}
+	
+#if (wxVERSION_NUMBER < 2800)	
+EWXWEXPORT(void,wxTextValidator_SetIncludeList)(void* self,void* list,int count)
+{
+#if (wxVERSION_NUMBER <= 2600)
+	wxStringList str;
+	
+	for (int i = 0; i < count; i++)
+		str.Add(((wxChar**)list)[i]);
+		
+	((wxTextValidator*)self)->SetIncludeList(str);
+#else
+	((wxTextValidator*)self)->SetIncludes((const wxArrayString&)list);
+#endif
+}
+	
+EWXWEXPORT(int,wxTextValidator_GetIncludeList)(void* self,void* _ref)
+{
+#if (wxVERSION_NUMBER <= 2600)
+	if (_ref)
+	{
+		for (unsigned int i = 0; i < ((wxTextValidator*)self)->GetIncludeList().GetCount(); i++)
+			((const wxChar**)_ref)[i] = wxStrdup(((wxTextValidator*)self)->GetIncludeList().Item(i)->GetData());
+	}
+	return ((wxTextValidator*)self)->GetIncludeList().GetCount();
+#else
+	wxArrayString arr = ((wxTextValidator*)self)->GetIncludes();
+	if (_ref)
+	{
+		for (unsigned int i = 0; i < arr.GetCount(); i++)
+			((const wxChar**)_ref)[i] = wxStrdup (arr.Item(i).c_str());
+	}
+	return arr.GetCount();
+#endif
+}
+	
+EWXWEXPORT(void,wxTextValidator_SetExcludeList)(void* self,void* list,int count)
+{
+#if (wxVERSION_NUMBER <= 2600)
+	wxStringList str;
+	
+	for (int i = 0; i < count; i++)
+		str.Add(((wxChar**)list)[i]);
+		
+	((wxTextValidator*)self)->SetExcludeList(str);
+#else
+	((wxTextValidator*)self)->SetExcludes((const wxArrayString&)list);
+#endif
+}
+	
+EWXWEXPORT(int,wxTextValidator_GetExcludeList)(void* self,void* _ref)
+{
+#if (wxVERSION_NUMBER <= 2600)
+	if (_ref)
+	{
+		for (unsigned int i = 0; i < ((wxTextValidator*)self)->GetExcludeList().GetCount(); i++)
+			((const wxChar**)_ref)[i] = ((wxTextValidator*)self)->GetExcludeList().Item(i)->GetData();
+	}
+	return ((wxTextValidator*)self)->GetExcludeList().GetCount();
+#else
+	wxArrayString arr = ((wxTextValidator*)self)->GetExcludes();
+	if (_ref)
+	{
+		for (unsigned int i = 0; i < arr.GetCount(); i++)
+			((const wxChar**)_ref)[i] = wxStrdup (arr.Item(i).c_str());
+	}
+	return arr.GetCount();
+#endif
+}
+#else
+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*)self)->SetIncludes(str);
+}
+
+EWXWEXPORT(void*,wxTextValidator_GetIncludes)(void* self,int* _nitems)
+{
+  void* retval = NULL;
+
+  if (_nitems != NULL)
+  {
+    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).wchar_str());
+    }
+    retval = (void*)items_copy;
+    *_nitems = items.GetCount();
+  }
+  return retval;
+}
+	
+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*)self)->SetExcludes(str);
+}
+	
+EWXWEXPORT(void*,wxTextValidator_GetExcludes)(void* self,int* _nitems)
+{
+  void* retval = NULL;
+
+  if (_nitems != NULL)
+  {
+    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).wchar_str());
+    }
+    retval = (void*)items_copy;
+    *_nitems = items.GetCount();
+  }
+  return retval;
+}
+
+EWXWEXPORT(void*,wxTextValidator_Clone)(void* self)
+{
+  return (void*)((wxTextValidator*)self)->Clone();
+}
+
+EWXWEXPORT(bool,wxTextValidator_TransferToWindow)(wxTextValidator* self)
+{
+	return self->TransferToWindow();
+}
+	
+EWXWEXPORT(bool,wxTextValidator_TransferFromWindow)(wxTextValidator* self)
+{
+	return self->TransferFromWindow();
+}
+	
+#endif
+
+EWXWEXPORT(void,wxTextValidator_OnChar)(void* self,wxKeyEvent* event)
+{
+	((wxTextValidator*)self)->OnChar(*event);
+}
+
+EWXWEXPORT(void*,ELJTextValidator_Create)(void* self,void* _fnc,void* _txt,long _stl)
+{
+	return new ELJTextValidator(self, _fnc, _txt, _stl);
+}
+
+}
+
+bool ELJTextValidator::Validate(wxWindow* _prt)
+{
+	if (obj && fnc)
+		return fnc(obj) != 0;
+	else
+		return wxTextValidator::Validate(_prt);
+}
+ src/cpp/eljwindow.cpp view
@@ -0,0 +1,723 @@+#include "wrapper.h"
+#include "wx/tooltip.h"
+
+extern "C"
+{
+
+EWXWEXPORT(void*,wxWindow_Create)(wxWindow* _prt,int _id,int _x,int _y,int _w,int _h,int _stl)
+{
+	return (void*)new wxWindow(_prt, (wxWindowID)_id, wxPoint(_x, _y), wxSize(_w, _h), (long)_stl);
+}
+	
+EWXWEXPORT(bool,wxWindow_Close)(wxWindow* self,bool _force)
+{
+	return self->Close(_force);
+}
+	
+EWXWEXPORT(bool,wxWindow_Destroy)(wxWindow* self)
+{
+	return self->Destroy();
+}
+	
+EWXWEXPORT(void,wxWindow_ClearBackground)(wxWindow* self)
+{
+	self->ClearBackground();
+}
+	
+EWXWEXPORT(void,wxWindow_Fit)(wxWindow* self)
+{
+	self->Fit();
+}
+	
+EWXWEXPORT(void,wxWindow_DestroyChildren)(wxWindow* self)
+{
+	self->DestroyChildren();
+}
+	
+EWXWEXPORT(bool,wxWindow_IsBeingDeleted)(wxWindow* self)
+{
+	return self->IsBeingDeleted();
+}
+	
+EWXWEXPORT(void,wxWindow_SetLabel)(wxWindow* self,wxString* _title)
+{
+	self->SetLabel(*_title);
+}
+	
+EWXWEXPORT(wxString*,wxWindow_GetLabel)(wxWindow* self)
+{
+	wxString *result = new wxString();
+	*result = self->GetLabel();
+	return result;
+}
+	
+EWXWEXPORT(bool,wxWindow_GetLabelEmpty)(wxWindow* self)
+{
+	return self->GetLabel().IsEmpty();
+}
+	
+EWXWEXPORT(void,wxWindow_SetName)(wxWindow* self,wxString* _name)
+{
+	self->SetName(*_name);
+}
+	
+EWXWEXPORT(wxString*,wxWindow_GetName)(wxWindow* self)
+{
+	wxString *result = new wxString();
+	*result = self->GetName();
+	return result;
+}
+	
+EWXWEXPORT(void,wxWindow_SetId)(wxWindow* self,int _id)
+{
+	self->SetId(_id);
+}
+	
+EWXWEXPORT(int,wxWindow_GetId)(wxWindow* self)
+{
+	return self->GetId();
+}
+	
+EWXWEXPORT(void,wxWindow_SetSize)(wxWindow* self,int x,int y,int width,int height,int sizeFlags)
+{
+	self->SetSize(x, y, width, height, sizeFlags);
+}
+	
+EWXWEXPORT(void,wxWindow_Move)(wxWindow* self,int x,int y)
+{
+	self->Move( x, y );
+}
+	
+EWXWEXPORT(void,wxWindow_Raise)(wxWindow* self)
+{
+	self->Raise();
+}
+	
+EWXWEXPORT(void,wxWindow_Lower)(wxWindow* self)
+{
+	self->Lower();
+}
+	
+EWXWEXPORT(void,wxWindow_SetClientSize)(wxWindow* self,int width,int height)
+{
+	self->SetClientSize( width, height );
+}
+	
+EWXWEXPORT(wxPoint*,wxWindow_GetPosition)(wxWindow* self)
+{
+	wxPoint* pt = new wxPoint();
+	*pt = self->GetPosition();
+	return pt;
+}
+	
+EWXWEXPORT(wxSize*,wxWindow_GetSize)(wxWindow* self)
+{
+	wxSize* sz = new wxSize();
+	*sz = self->GetSize();
+	return sz;
+}
+	
+EWXWEXPORT(wxRect*,wxWindow_GetRect)(wxWindow* self)
+{
+	wxRect* rct = new wxRect();
+	*rct = self->GetRect();
+	return rct;
+}
+	
+EWXWEXPORT(wxSize*,wxWindow_GetClientSize)(wxWindow* self)
+{
+	wxSize* sz = new wxSize();
+	*sz = self->GetClientSize();
+	return sz;
+}
+	
+EWXWEXPORT(wxSize*,wxWindow_GetBestSize)(wxWindow* self)
+{
+	wxSize* sz = new wxSize();
+	*sz = self->GetBestSize();
+	return sz;
+}
+	
+EWXWEXPORT(void,wxWindow_Center)(wxWindow* self,int direction)
+{
+	self->Center( direction );
+}
+	
+EWXWEXPORT(void,wxWindow_CenterOnParent)(wxWindow* self,int dir)
+{
+	self->CenterOnParent(dir);
+}
+	
+EWXWEXPORT(void,wxWindow_SetSizeHints)(wxWindow* self,int minW,int minH,int maxW,int maxH,int incW,int incH)
+{
+	self->SetSizeHints( minW, minH, maxW, maxH, incW, incH );
+}
+	
+EWXWEXPORT(int,wxWindow_GetMinWidth)(wxWindow* self)
+{
+	return self->GetMinWidth();
+}
+	
+EWXWEXPORT(int,wxWindow_GetMinHeight)(wxWindow* self)
+{
+	return self->GetMinHeight();
+}
+	
+EWXWEXPORT(int,wxWindow_GetMaxWidth)(wxWindow* self)
+{
+	return self->GetMaxWidth();
+}
+
+EWXWEXPORT(int,wxWindow_GetMaxHeight)(wxWindow* self)
+{
+	return self->GetMaxHeight();
+}
+	
+EWXWEXPORT(bool,wxWindow_Show)(wxWindow* self)
+{
+	return self->Show();
+}
+	
+EWXWEXPORT(bool,wxWindow_Hide)(wxWindow* self)
+{
+	return self->Hide();
+}
+	
+EWXWEXPORT(bool,wxWindow_Enable)(wxWindow* self)
+{
+	return self->Enable();
+}
+
+EWXWEXPORT(bool,wxWindow_Disable)(wxWindow* self)
+{
+	return self->Disable();
+}
+	
+EWXWEXPORT(bool,wxWindow_IsShown)(wxWindow* self)
+{
+	return self->IsShown();
+}
+	
+EWXWEXPORT(bool,wxWindow_IsEnabled)(wxWindow* self)
+{
+	return self->IsEnabled();
+}
+	
+EWXWEXPORT(void,wxWindow_SetWindowStyleFlag)(wxWindow* self,long style)
+{
+	self->SetWindowStyleFlag( style );
+}
+	
+EWXWEXPORT(int,wxWindow_GetWindowStyleFlag)(wxWindow* self)
+{
+	return (int)self->GetWindowStyleFlag();
+}
+	
+EWXWEXPORT(bool,wxWindow_HasFlag)(wxWindow* self,int flag)
+{
+	return self->HasFlag(flag);
+}
+	
+EWXWEXPORT(void,wxWindow_SetExtraStyle)(wxWindow* self,long exStyle)
+{
+	self->SetExtraStyle(exStyle);
+}
+	
+EWXWEXPORT(void,wxWindow_MakeModal)(wxWindow* self,bool modal)
+{
+	self->MakeModal(modal);
+}
+	
+EWXWEXPORT(void,wxWindow_SetFocus)(wxWindow* self)
+{
+	self->SetFocus();
+}
+	
+EWXWEXPORT(void*,wxWindow_FindFocus)(wxWindow* self)
+{
+	return (void*)self->FindFocus();
+}
+	
+EWXWEXPORT(int,wxWindow_GetChildren)(wxWindow* self,void* _res,int _cnt)
+{
+	if (_res && (unsigned int)_cnt == self->GetChildren().GetCount())
+	{
+		unsigned int i = 0;
+		wxWindowList::compatibility_iterator node = self->GetChildren().GetFirst();
+		while (node)
+		{
+			((void**)_res)[i++] = (void*)(node->GetData());
+			node = node->GetNext();
+		}
+
+		return i;
+	}
+	else
+		return self->GetChildren().GetCount();
+}
+	
+EWXWEXPORT(void*,wxWindow_GetParent)(wxWindow* self)
+{
+	return (void*)self->GetParent();
+}
+	
+EWXWEXPORT(bool,wxWindow_IsTopLevel)(wxWindow* self)
+{
+	return self->IsTopLevel();
+}
+	
+EWXWEXPORT(void*,wxWindow_FindWindow)(wxWindow* self,wxString* name)
+{
+	return (void*)self->FindWindow( *name );
+}
+	
+EWXWEXPORT(void,wxWindow_AddChild)(wxWindow* self,wxWindowBase* child)
+{
+	self->AddChild(  child );
+}
+	
+EWXWEXPORT(void,wxWindow_RemoveChild)(wxWindow* self,wxWindowBase* child)
+{
+	self->RemoveChild(  child );
+}
+	
+EWXWEXPORT(void*,wxWindow_GetEventHandler)(wxWindow* self)
+{
+	return (void*)self->GetEventHandler();
+}
+	
+EWXWEXPORT(void,wxWindow_PushEventHandler)(wxWindow* self,wxEvtHandler* handler)
+{
+	self->PushEventHandler( handler );
+}
+	
+EWXWEXPORT(void*,wxWindow_PopEventHandler)(wxWindow* self,bool deleteHandler)
+{
+	return (void*)self->PopEventHandler(deleteHandler);
+}
+	
+EWXWEXPORT(void,wxWindow_SetValidator)(wxWindow* self,void* validator)
+{
+	self->SetValidator(*((wxValidator*)validator));
+}
+	
+EWXWEXPORT(void*,wxWindow_GetValidator)(wxWindow* self)
+{
+	return (void*)self->GetValidator();
+}
+	
+EWXWEXPORT(void,wxWindow_SetClientData)(wxWindow* self,void* data)
+{
+	self->SetClientData( data );
+}
+	
+EWXWEXPORT(void*,wxWindow_GetClientData)(wxWindow* self)
+{
+	return (void*)self->GetClientData();
+}
+	
+EWXWEXPORT(bool,wxWindow_Validate)(wxWindow* self)
+{
+	return self->Validate();
+}
+	
+EWXWEXPORT(bool,wxWindow_TransferDataToWindow)(wxWindow* self)
+{
+	return self->TransferDataToWindow();
+}
+	
+EWXWEXPORT(bool,wxWindow_TransferDataFromWindow)(wxWindow* self)
+{
+	return self->TransferDataFromWindow();
+}
+	
+EWXWEXPORT(void,wxWindow_InitDialog)(wxWindow* self)
+{
+	self->InitDialog();
+}
+	
+EWXWEXPORT(void,wxWindow_SetAcceleratorTable)(wxWindow* self,void* accel)
+{
+	self->SetAcceleratorTable(*((wxAcceleratorTable*)accel));
+}
+	
+EWXWEXPORT(wxPoint*,wxWindow_ConvertPixelsToDialog)(wxWindow* self,int x,int y)
+{
+	const wxPoint pos(x, y);
+	wxPoint* pt = new wxPoint();
+	*pt = self->ConvertPixelsToDialog(pos);
+	return pt;
+}
+	
+EWXWEXPORT(wxPoint*,wxWindow_ConvertDialogToPixels)(wxWindow* self,int x,int y)
+{
+	const wxPoint pos(x, y);
+	wxPoint* pt = new wxPoint();
+	*pt = self->ConvertDialogToPixels(pos);
+	return pt;
+}
+	
+EWXWEXPORT(void,wxWindow_WarpPointer)(wxWindow* self,int x,int y)
+{
+	self->WarpPointer(x, y);
+}
+	
+EWXWEXPORT(void,wxWindow_CaptureMouse)(wxWindow* self)
+{
+	self->CaptureMouse();
+}
+	
+EWXWEXPORT(void,wxWindow_ReleaseMouse)(wxWindow* self)
+{
+	self->ReleaseMouse();
+}
+	
+EWXWEXPORT(void,wxWindow_Refresh)(wxWindow* self,bool eraseBackground)
+{
+	self->Refresh(eraseBackground, (const wxRect*)NULL);
+}
+	
+EWXWEXPORT(void,wxWindow_RefreshRect)(wxWindow* self,bool eraseBackground,int x,int y,int w,int h)
+{
+	const wxRect rect(x, y, w, h);
+	self->Refresh(eraseBackground, &rect);
+}
+	
+EWXWEXPORT(void,wxWindow_PrepareDC)(wxWindow* self,wxDC* dc)
+{
+	self->PrepareDC(*dc);
+}
+	
+EWXWEXPORT(void*,wxWindow_GetUpdateRegion)(wxWindow* self)
+{
+	return (void*)(&self->GetUpdateRegion());
+}
+	
+EWXWEXPORT(bool,wxWindow_IsExposed)(wxWindow* self,int x,int y,int w,int h)
+{
+	return self->IsExposed( x, y, w, h );
+}
+	
+EWXWEXPORT(bool,wxWindow_SetBackgroundColour)(wxWindow* self,wxColour* colour)
+{
+	return self->SetBackgroundColour(*colour);
+}
+	
+EWXWEXPORT(void,wxWindow_SetForegroundColour)(wxWindow* self,wxColour* colour)
+{
+	self->SetForegroundColour(*colour);
+}
+	
+EWXWEXPORT(void,wxWindow_GetBackgroundColour)(wxWindow* self,wxColour* colour)
+{
+	*colour = self->GetBackgroundColour();
+}
+	
+EWXWEXPORT(void,wxWindow_GetForegroundColour)(wxWindow* self,wxColour* colour)
+{
+	*colour = self->GetForegroundColour();
+}
+	
+EWXWEXPORT(void,wxWindow_SetCursor)(wxWindow* self,wxCursor* cursor)
+{
+	self->SetCursor(*cursor);
+}
+	
+EWXWEXPORT(wxCursor*,wxWindow_GetCursor)(wxWindow* self)
+{
+	wxCursor* cur = new wxCursor();
+	*cur = self->GetCursor();
+	return cur;
+}
+	
+EWXWEXPORT(void,wxWindow_SetFont)(wxWindow* self,wxFont* font)
+{
+	self->SetFont(*font);
+}
+	
+EWXWEXPORT(void,wxWindow_GetFont)(wxWindow* self,wxFont* _font)
+{
+	*_font = self->GetFont();
+}
+	
+EWXWEXPORT(void,wxWindow_SetCaret)(wxWindow* self,wxCaret* caret)
+{
+	self->SetCaret(caret);
+}
+	
+EWXWEXPORT(wxCaret*,wxWindow_GetCaret)(wxWindow* self)
+{
+	return self->GetCaret();
+}
+	
+EWXWEXPORT(int,wxWindow_GetCharHeight)(wxWindow* self)
+{
+	return self->GetCharHeight();
+}
+	
+EWXWEXPORT(int,wxWindow_GetCharWidth)(wxWindow* self)
+{
+	return self->GetCharWidth();
+}
+	
+EWXWEXPORT(void,wxWindow_GetTextExtent)(wxWindow* self,wxString* string,int* x,int* y,int* descent,int* externalLeading,wxFont* theFont)
+{
+	self->GetTextExtent(*string, x,  y, descent, externalLeading, theFont );
+}
+	
+EWXWEXPORT(wxPoint*,wxWindow_ScreenToClient)(wxWindow* self,int x,int y)
+{
+	const wxPoint pos(x, y);
+	wxPoint* pt = new wxPoint();
+	*pt = self->ScreenToClient(pos);
+	return pt;
+}
+	
+EWXWEXPORT(void,wxWindow_UpdateWindowUI)(wxWindow* self)
+{
+	self->UpdateWindowUI();
+}
+	
+EWXWEXPORT(bool,wxWindow_PopupMenu)(wxWindow* self,wxMenu* menu,int x,int y)
+{
+	return self->PopupMenu(menu, x, y );
+}
+	
+EWXWEXPORT(void,wxWindow_SetScrollPos)(wxWindow* self,int orient,int pos,bool refresh)
+{
+	self->SetScrollPos( orient, pos, refresh);
+}
+	
+EWXWEXPORT(int,wxWindow_GetScrollPos)(wxWindow* self,int orient)
+{
+	return self->GetScrollPos( orient );
+}
+	
+EWXWEXPORT(int,wxWindow_GetScrollThumb)(wxWindow* self,int orient)
+{
+	return self->GetScrollThumb( orient );
+}
+	
+EWXWEXPORT(int,wxWindow_GetScrollRange)(wxWindow* self,int orient)
+{
+	return self->GetScrollRange( orient );
+}
+	
+EWXWEXPORT(void,wxWindow_ScrollWindow)(wxWindow* self,int dx,int dy)
+{
+	self->ScrollWindow(dx, dy, (const wxRect*)NULL);
+}
+	
+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);
+	self->ScrollWindow(dx, dy, &rect);
+}
+	
+EWXWEXPORT(void,wxWindow_SetToolTip)(wxWindow* self,wxString* tip)
+{
+	self->SetToolTip( *tip );
+}
+	
+EWXWEXPORT(wxString*,wxWindow_GetToolTip)(wxWindow* self)
+{
+	wxToolTip* tip = self->GetToolTip();
+
+	if (tip)
+	{
+		wxString *result = new wxString();
+		*result = tip->GetTip();
+		return result;
+	}
+	return NULL;
+}
+	
+EWXWEXPORT(void,wxWindow_SetDropTarget)(wxWindow* self,void* dropTarget)
+{
+	self->SetDropTarget((wxDropTarget*)dropTarget);
+}
+	
+EWXWEXPORT(void*,wxWindow_GetDropTarget)(wxWindow* self)
+{
+	return (void*)self->GetDropTarget();
+}
+	
+EWXWEXPORT(void,wxWindow_SetConstraints)(wxWindow* self,void* constraints)
+{
+	self->SetConstraints((wxLayoutConstraints*)constraints);
+}
+	
+EWXWEXPORT(void*,wxWindow_GetConstraints)(wxWindow* self)
+{
+	return (void*)self->GetConstraints();
+}
+	
+EWXWEXPORT(void,wxWindow_SetAutoLayout)(wxWindow* self,bool autoLayout)
+{
+	self->SetAutoLayout( autoLayout );
+}
+	
+EWXWEXPORT(int,wxWindow_GetAutoLayout)(wxWindow* self)
+{
+	return (int)self->GetAutoLayout();
+}
+	
+EWXWEXPORT(void,wxWindow_Layout)(wxWindow* self)
+{
+	self->Layout();
+}
+	
+EWXWEXPORT(void,wxWindow_UnsetConstraints)(wxWindow* self,void* c)
+{
+	self->UnsetConstraints((wxLayoutConstraints*)c);
+}
+	
+EWXWEXPORT(void*,wxWindow_GetConstraintsInvolvedIn)(wxWindow* self)
+{
+	return (void*)self->GetConstraintsInvolvedIn();
+}
+	
+EWXWEXPORT(void,wxWindow_AddConstraintReference)(wxWindow* self,wxWindowBase* otherWin)
+{
+	self->AddConstraintReference( otherWin);
+}
+	
+EWXWEXPORT(void,wxWindow_RemoveConstraintReference)(wxWindow* self,wxWindowBase* otherWin)
+{
+	self->RemoveConstraintReference( otherWin);
+}
+	
+EWXWEXPORT(void,wxWindow_DeleteRelatedConstraints)(wxWindow* self)
+{
+	self->DeleteRelatedConstraints();
+}
+	
+EWXWEXPORT(void,wxWindow_ResetConstraints)(wxWindow* self)
+{
+	self->ResetConstraints();
+}
+	
+EWXWEXPORT(void,wxWindow_SetConstraintSizes)(wxWindow* self,bool recurse)
+{
+	self->SetConstraintSizes(recurse);
+}
+	
+EWXWEXPORT(int,wxWindow_LayoutPhase1)(wxWindow* self,int* noChanges)
+{
+	return (int)self->LayoutPhase1(noChanges);
+}
+	
+EWXWEXPORT(int,wxWindow_LayoutPhase2)(wxWindow* self,int* noChanges)
+{
+	return (int)self->LayoutPhase2(noChanges);
+}
+	
+EWXWEXPORT(int,wxWindow_DoPhase)(wxWindow* self,int phase)
+{
+	return (int)self->DoPhase(phase);
+}
+	
+EWXWEXPORT(void,wxWindow_SetSizeConstraint)(wxWindow* self,int x,int y,int w,int h)
+{
+	self->SetSizeConstraint(x, y, w, h);
+}
+	
+EWXWEXPORT(void,wxWindow_MoveConstraint)(wxWindow* self,int x,int y)
+{
+	self->MoveConstraint(x, y);
+}
+	
+EWXWEXPORT(void,wxWindow_GetSizeConstraint)(wxWindow* self,int* w,int* h)
+{
+	self->GetSizeConstraint(w, h);
+}
+	
+EWXWEXPORT(void,wxWindow_GetClientSizeConstraint)(wxWindow* self,int* w,int* h)
+{
+	self->GetClientSizeConstraint(w, h);
+}
+	
+EWXWEXPORT(void,wxWindow_GetPositionConstraint)(wxWindow* self,int* x,int* y)
+{
+	self->GetPositionConstraint(x, y);
+}
+	
+EWXWEXPORT(void,wxWindow_SetSizer)(wxWindow* self,wxSizer* sizer)
+{
+	self->SetSizer(sizer);
+}
+	
+EWXWEXPORT(void*,wxWindow_GetSizer)(wxWindow* self)
+{
+	return (void*)self->GetSizer();
+}
+	
+EWXWEXPORT(void*,wxWindow_GetHandle)(wxWindow* self)
+{
+	return (void*)self->GetHandle();
+}
+	
+EWXWEXPORT(void,wxWindow_SetScrollbar)(wxWindow* self,int orient,int pos,int thumbVisible,int range,bool refresh)
+{
+	self->SetScrollbar(orient, pos, thumbVisible, range, refresh);
+}
+
+EWXWEXPORT(bool,wxWindow_Reparent)(wxWindow* self,wxWindow* _par)
+{
+	return self->Reparent(_par);
+}
+
+#if (wxVERSION_NUMBER < 2800)
+EWXWEXPORT(wxSize*,wxWindow_GetAdjustedBestSize)(wxWindow* self)
+{
+	wxSize* sz = new wxSize();
+	*sz = self->GetAdjustedBestSize();
+	return sz;
+}
+#else
+EWXWEXPORT(wxSize*,wxWindow_GetEffectiveMinSize)(wxWindow* self)
+{
+	wxSize* sz = new wxSize();
+	*sz = self->GetEffectiveMinSize();
+	return sz;
+}
+#endif
+
+EWXWEXPORT(void,wxWindow_Freeze)(wxWindow* self)
+{
+	self->Freeze();
+}
+
+EWXWEXPORT(void,wxWindow_Thaw)(wxWindow* self)
+{
+	self->Thaw();
+}
+
+#if (wxVERSION_NUMBER >= 2800)
+EWXWEXPORT(wxPoint*,wxWindow_ClientToScreen)(wxWindow* self,int x,int y)
+{
+	const wxPoint pos(x, y);
+	wxPoint* pt = new wxPoint();
+	*pt = self->ClientToScreen(pos);
+	return pt;
+}
+
+EWXWEXPORT(void,wxWindow_FitInside)(wxWindow* self)
+{
+	self->FitInside();
+}
+
+EWXWEXPORT(void,wxWindow_SetVirtualSize)(wxWindow* self,int w,int h)
+{
+	self->SetVirtualSize( w, h );
+}
+
+EWXWEXPORT(wxSize*,wxWindow_GetVirtualSize)(wxWindow* self)
+{
+	wxSize* sz = new wxSize();
+	*sz = self->GetVirtualSize();
+	return sz;
+}
+
+#endif
+}
+ src/cpp/eljwizard.cpp view
@@ -0,0 +1,79 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+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 = *_bmp;
+#if wxVERSION_NUMBER >= 2400
+	return (void*)new wxWizard (_prt, _id,*_txt, bmp, wxPoint(_lft, _top));
+#else
+	return (void*)wxWizard::Create (_prt, _id,*_txt, bmp, wxPoint(_lft, _top), wxSize(_wdt, _hgt));
+#endif
+}
+
+EWXWEXPORT(bool,wxWizard_RunWizard)(wxWizard* self,wxWizardPage* firstPage)
+{
+	return self->RunWizard(firstPage);
+}
+	
+EWXWEXPORT(void*,wxWizard_GetCurrentPage)(wxWizard* self)
+{
+	return (void*)self->GetCurrentPage();
+}
+	
+EWXWEXPORT(void,wxWizard_Chain)(void* f,void* s)
+{
+	wxWizardPageSimple::Chain((wxWizardPageSimple*)f, (wxWizardPageSimple*)s);
+}
+	
+EWXWEXPORT(void,wxWizard_SetPageSize)(wxWizard* self,int w,int h)
+{
+	self->SetPageSize(wxSize(w, h));
+}
+	
+EWXWEXPORT(wxSize*,wxWizard_GetPageSize)(wxWizard* self)
+{
+	wxSize* sz = new wxSize();
+	*sz = self->GetPageSize();
+	return sz;
+}
+	
+EWXWEXPORT(void*,wxWizardPageSimple_Create)(wxWizard* _prt)
+{
+	return (void*)new wxWizardPageSimple(_prt);
+}
+
+EWXWEXPORT(void*,wxWizardPageSimple_GetPrev)(void* self)
+{
+	return (void*)((wxWizardPageSimple*)self)->GetPrev();
+}
+	
+EWXWEXPORT(void*,wxWizardPageSimple_GetNext)(void* self)
+{
+	return (void*)((wxWizardPageSimple*)self)->GetNext();
+}
+	
+EWXWEXPORT(void,wxWizardPageSimple_GetBitmap)(void* self,wxBitmap* _ref)
+{
+	*_ref = ((wxWizardPageSimple*)self)->GetBitmap();
+}
+	
+EWXWEXPORT(void,wxWizardPageSimple_SetPrev)(void* self,void* prev)
+{
+	((wxWizardPageSimple*)self)->SetPrev((wxWizardPage*)prev);
+}
+	
+EWXWEXPORT(void,wxWizardPageSimple_SetNext)(void* self,void* next)
+{
+	((wxWizardPageSimple*)self)->SetNext((wxWizardPage*)next);
+}
+
+EWXWEXPORT(bool,wxWizardEvent_GetDirection)(wxWizardEvent* self)
+{
+	return self->GetDirection();
+}
+	
+}
+ src/cpp/ewxw_main.cpp view
@@ -0,0 +1,128 @@+#include "wrapper.h"++extern int APPTerminating;+++#ifdef _WIN32++#if (defined(__WXDEBUG__) && defined(_MSC_VER))+ #include <crtdbg.h>+#endif++#include <windows.h>++#if wxCHECK_VERSION(2,5,0)+ #define wxHANDLE  HINSTANCE+ extern int WXDLLIMPEXP_BASE wxEntry(wxHANDLE hInstance, wxHANDLE hPrevInstance, char *pCmdLine, int nCmdShow);+#else+ #define wxHANDLE  WXHINSTANCE+#endif+++extern "C"+{+EWXWEXPORT(void, ELJApp_InitializeC) (wxClosure* closure, int _argc, char** _argv)+{+  wxHANDLE wxhInstance = GetModuleHandle(NULL);+++/* check memory leaks with visual C++ */+#if (defined(__WXDEBUG__) && defined(_MSC_VER))+  _CrtMemState memStart,memEnd,memDif;+  _CrtMemCheckpoint( &memStart );+  _CrtSetReportMode( _CRT_WARN, _CRTDBG_MODE_FILE );+  _CrtSetReportFile( _CRT_WARN, _CRTDBG_FILE_STDOUT );+  _CrtSetReportMode( _CRT_ERROR, _CRTDBG_MODE_FILE );+  _CrtSetReportFile( _CRT_ERROR, _CRTDBG_FILE_STDOUT );+  _CrtSetReportMode( _CRT_ASSERT, _CRTDBG_MODE_FILE );+  _CrtSetReportFile( _CRT_ASSERT, _CRTDBG_FILE_STDOUT );+#endif++  initClosure = closure;+  APPTerminating = 0;+  wxEntry(wxhInstance, NULL, (_argc > 0 ? _argv[0] : NULL), SW_SHOWNORMAL);+  APPTerminating = 1;++  /* wxPendingEvents is deleted but not set to NULL -> disaster when restarted from an interpreter */+#if !defined(WXMAKINGDLL) && !defined(WXUSINGDLL)+  wxPendingEvents = NULL;+#endif++#if defined(wxUSE_ODBC) && (wxUSE_ODBC != 0)+  wxDbCloseConnections();+#endif++/* check memory leaks with visual C++ */+#if (defined(__WXDEBUG__) && defined(_MSC_VER))+  _CrtMemCheckpoint( &memEnd );+  if (_CrtMemDifference( &memDif, &memStart, &memEnd)+     && (memDif.lCounts[_NORMAL_BLOCK]>=-2 && memDif.lCounts[_NORMAL_BLOCK] <= 0))+  {+    _RPT0(_CRT_WARN,"\n** memory leak detected (**\n" );+    _CrtMemDumpStatistics(&memDif);+    /* _CrtMemDumpAllObjectsSince(&memStart);  */+    _RPT0(_CRT_WARN,"** memory leak report done **\n\n" );++  }+#endif+}++EWXWEXPORT(void, ELJApp_initialize)(void* _obj, AppInitFunc _func, char* _cmd, void* _inst)+{+  HINSTANCE wxhInstance = (HINSTANCE)_inst;+  APPTerminating = 0;+  wxEntry(wxhInstance, NULL, _cmd, SW_SHOWNORMAL);+  APPTerminating = 1;+  /* wxPendingEvents is deleted but not set to NULL -> disaster when restarted from an interpreter */+#if !defined(WXMAKINGDLL) && !defined(WXUSINGDLL)+  wxPendingEvents = NULL;+#endif+}++}++#else  /* not WIN32 */++#if !wxCHECK_VERSION(2,5,0)+#ifdef __WXMAC__ /* declare wxEntry explicitly as wxMAC seems to leave it out? */+void wxEntry( int argc, char** argv, bool enterLoop = true );+#endif+#ifdef __WXGTK__ /* declare explicitly or we get link errors? */+int wxEntry( int argc, char** argv );+#endif+#endif+extern "C"+{++EWXWEXPORT(void, ELJApp_InitializeC) (wxClosure* closure, int _argc, char** _argv)+{+  char* args[] = { "wxc", NULL };++  initClosure = closure;+  if (_argv == NULL) {+    /* note: wxGTK crashes when argv == NULL */+    _argv = args;+    _argc = 1;+  }+  APPTerminating = 0;+  wxEntry(_argc,_argv);+  APPTerminating = 1;+  /* wxPendingEvents is deleted but not set to NULL -> disaster when restarted from an interpreter */+#if !defined(WXMAKINGDLL) && !defined(WXUSINGDLL)+  wxPendingEvents = NULL;+#endif+}++EWXWEXPORT(void, ELJApp_initialize) (void* _obj, AppInitFunc _func, int _argc, void* _argv)+{+  APPTerminating = 0;+  wxEntry(_argc, (char**)_argv);+  APPTerminating = 1;+  /* wxPendingEvents is deleted but not set to NULL -> disaster when restarted from an interpreter */+#if !defined(WXMAKINGDLL) && !defined(WXUSINGDLL)+  wxPendingEvents = NULL;+#endif+}++}+#endif
+ src/cpp/extra.cpp view
@@ -0,0 +1,2547 @@+#include "wrapper.h"+#include "wx/process.h"+#include "wx/textctrl.h"+#include "wx/progdlg.h"+#include "wx/listctrl.h"+#include "wx/grid.h"+#include "wx/fileconf.h"+#include "wx/spinctrl.h"+#include "wx/propgrid/propgrid.h"+#include "wx/propgrid/advprops.h"++#include <wx/numdlg.h>+#include <wx/power.h>++////////////////////////////////////////////////////////////////////////////////+// wxc specific events+////////////////////////////////////////////////////////////////////////////////++BEGIN_DECLARE_EVENT_TYPES()+    DECLARE_LOCAL_EVENT_TYPE(wxEVT_DELETE, 1000)+    DECLARE_LOCAL_EVENT_TYPE(wxEVT_HTML_CELL_CLICKED, 1001 )+    DECLARE_LOCAL_EVENT_TYPE(wxEVT_HTML_CELL_MOUSE_HOVER, 1002 )+    DECLARE_LOCAL_EVENT_TYPE(wxEVT_HTML_LINK_CLICKED, 1003 )+    DECLARE_LOCAL_EVENT_TYPE(wxEVT_HTML_SET_TITLE, 1004 )+    DECLARE_LOCAL_EVENT_TYPE(wxEVT_INPUT_SINK, 1005 )+    DECLARE_LOCAL_EVENT_TYPE(wxEVT_SORT, 1006 )+END_DECLARE_EVENT_TYPES()++DEFINE_LOCAL_EVENT_TYPE( wxEVT_DELETE )+DEFINE_LOCAL_EVENT_TYPE( wxEVT_HTML_CELL_CLICKED )+DEFINE_LOCAL_EVENT_TYPE( wxEVT_HTML_CELL_MOUSE_HOVER )+DEFINE_LOCAL_EVENT_TYPE( wxEVT_HTML_LINK_CLICKED )+DEFINE_LOCAL_EVENT_TYPE( wxEVT_HTML_SET_TITLE )+DEFINE_LOCAL_EVENT_TYPE( wxEVT_INPUT_SINK )+DEFINE_LOCAL_EVENT_TYPE( wxEVT_SORT )++// Exported wxC event wrappers - must be C linkage+extern "C" {+  MAKE_EVENT_WRAPPER(EVT_DELETE)+  MAKE_EVENT_WRAPPER(EVT_HTML_CELL_CLICKED)+  MAKE_EVENT_WRAPPER(EVT_HTML_CELL_MOUSE_HOVER)+  MAKE_EVENT_WRAPPER(EVT_HTML_LINK_CLICKED)+  MAKE_EVENT_WRAPPER(EVT_HTML_SET_TITLE)+  MAKE_EVENT_WRAPPER(EVT_INPUT_SINK)+  MAKE_EVENT_WRAPPER(EVT_SORT)+}++/*-----------------------------------------------------------------------------+  Timers+-----------------------------------------------------------------------------*/+class wxTimerEx : public wxTimer+{+  private:+    wxClosure* m_closure;++  public:+    wxTimerEx();+    ~wxTimerEx();++    void Connect( wxClosure* closure );+    wxClosure* GetClosure();+    void Notify();+};++wxTimerEx::wxTimerEx()+{+  m_closure = NULL;+}++wxTimerEx::~wxTimerEx()+{+  if (m_closure) {+    m_closure->DecRef();+    m_closure=NULL;+  }+}++void wxTimerEx::Connect( wxClosure* closure )+{+  if (m_closure) m_closure->DecRef();+  m_closure = closure;+  if (m_closure) m_closure->IncRef();+}++wxClosure* wxTimerEx::GetClosure()+{+  return m_closure;+}++void wxTimerEx::Notify()+{+#if (wxVERSION_NUMBER < 2900)+  wxTimerEvent timerEvent(0,this->GetInterval());+#else+  wxTimerEvent timerEvent(*this);+#endif+  if (m_closure)+    m_closure->Invoke(&timerEvent);+}++/*-----------------------------------------------------------------------------+  wxInputSink wrapper: adds non-blocking event driven input channel+-----------------------------------------------------------------------------*/+class wxInputSink;++class wxInputSinkEvent : public wxEvent+{+private:+  char*         m_buffer;+  size_t        m_bufferLen;+  size_t        m_lastRead;+  wxStreamError m_lastError;++  void Read( wxInputStream* input );+  friend class wxInputSink;++public:+  wxInputSinkEvent( int id, size_t bufferLen );+  wxInputSinkEvent( const wxInputSinkEvent& event );  /* copy constructor */+  ~wxInputSinkEvent();++  wxEvent* Clone() const          { return new wxInputSinkEvent(*this); }++  wxStreamError LastError() const { return m_lastError; }+  int           LastRead()  const { return m_lastRead; }+  char*         LastInput() const { return m_buffer;   }+};++class wxInputSink : public wxThread+{+private:+  wxEvtHandler*    m_evtHandler;+  wxInputStream*   m_input;+  wxInputSinkEvent m_event;++protected:+  ExitCode Entry();++public:+  wxInputSink( wxInputStream* input, wxEvtHandler* evtHandler, int bufferLen );+  ~wxInputSink();++  intptr_t GetId();+  void Start();+};+++wxInputSink::wxInputSink( wxInputStream* input, wxEvtHandler* evtHandler, int bufferLen )+  : wxThread(wxTHREAD_DETACHED), m_event( 0, bufferLen )+{+  m_input      = input;+  m_evtHandler = evtHandler;+}++wxInputSink::~wxInputSink()+{+/* fprintf(stderr, "InputSink is deleted\n"); */+}++void wxInputSink::Start()+{+  wxThreadError result = Create();+  switch(result) {+    case wxTHREAD_NO_ERROR:  Run(); break;+    case wxTHREAD_RUNNING :  break;+    default               :  Delete(); break;+  }+}++intptr_t wxInputSink::GetId()+{+  return (intptr_t)m_input;+}++wxThread::ExitCode wxInputSink::Entry()+{+  if (m_input == NULL || m_evtHandler == NULL || m_event.m_buffer == NULL ) return 0;++  m_event.SetId(GetId());++  /* while input && not external destroy */+  while (!TestDestroy() && m_event.LastError() == wxSTREAM_NO_ERROR)+  {+     /* (blocking) read */+     m_event.Read( m_input );++     /* post the event to the main gui thread (note: event is cloned and thus the input buffer copied)*/+     m_evtHandler->AddPendingEvent(m_event);+  }++  /* Process pending events */+  wxWakeUpIdle();++  /* return */+  if (m_event.LastError() == wxSTREAM_NO_ERROR || m_event.LastError() == wxSTREAM_EOF)+     return (ExitCode)0;+  else+     return (ExitCode)1;+}+++wxInputSinkEvent::wxInputSinkEvent( int id, size_t bufferLen ) : wxEvent( id, wxEVT_INPUT_SINK  )+{+  m_lastError = wxSTREAM_NO_ERROR;+  m_lastRead  = 0;+  if (bufferLen <= 0) bufferLen = 128;+  m_buffer    = (char*)malloc( bufferLen + 1 );+  m_bufferLen = (m_buffer ? bufferLen : 0);+}++wxInputSinkEvent::wxInputSinkEvent( const wxInputSinkEvent& event ) : wxEvent( event )+{+  /* we copy only the exact input buffer, as 'Read' will never be called */+  m_lastError = event.m_lastError;+  m_bufferLen = 0;+  m_lastRead  = 0;+  m_buffer    = (char*)malloc( event.m_lastRead + 1 );+  if (m_buffer) {+    m_bufferLen = event.m_lastRead;+    m_lastRead  = event.m_lastRead;+    memcpy( m_buffer, event.m_buffer, m_lastRead );+    m_buffer[m_lastRead] = 0;+  }+}++wxInputSinkEvent::~wxInputSinkEvent()+{+  if (m_buffer) free(m_buffer);+}++void wxInputSinkEvent::Read( wxInputStream* input )+{+  /* check */+  if (input == NULL || m_buffer == NULL || m_bufferLen == 0) {+    m_lastError = wxSTREAM_READ_ERROR;+    m_lastRead  = 0;+    return;+  }++  /* read */+  input->Read( m_buffer, m_bufferLen );+#if wxCHECK_VERSION(2,5,0)+  m_lastError = input->GetLastError();+#else+  m_lastError = input->LastError();+#endif+  if (m_lastError == wxSTREAM_NO_ERROR)+    m_lastRead  = input->LastRead();+  else+    m_lastRead  = 0;+++  /* maintain invariants */+  if (m_lastRead < 0)           m_lastRead = 0;+  if (m_lastRead > m_bufferLen) m_lastRead = m_bufferLen;++  /* add zero terminator */+  m_buffer[m_lastRead] = 0;+}+++/*-----------------------------------------------------------------------------+  wxHtmlWindow wrapper: adds normal events instead of using inheritance+-----------------------------------------------------------------------------*/+class wxcHtmlWindow : public wxHtmlWindow+{+private:+    DECLARE_DYNAMIC_CLASS(wxcHtmlWindow)+public:+    wxcHtmlWindow() : wxHtmlWindow() {};   wxcHtmlWindow(wxWindow *, wxWindowID id, const wxPoint&, const wxSize& size, long style, const wxString& );++#if (wxVERSION_NUMBER <= 2800)+   void OnCellClicked(wxHtmlCell *cell, wxCoord x, wxCoord y, const wxMouseEvent& event);+#else+   bool OnCellClicked(wxHtmlCell *cell, wxCoord x, wxCoord y, const wxMouseEvent& event);+#endif+   void OnCellMouseHover(wxHtmlCell *cell, wxCoord x, wxCoord y);+   void OnLinkClicked(const wxHtmlLinkInfo& link);+   wxHtmlOpeningStatus OnOpeningURL(wxHtmlURLType type,const wxString& url, wxString *redirect);+   void OnSetTitle(const wxString& title);+};++IMPLEMENT_DYNAMIC_CLASS(wxcHtmlWindow, wxHtmlWindow)++class wxcHtmlEvent : public wxCommandEvent+{+private:+    DECLARE_DYNAMIC_CLASS(wxcHtmlEvent)+private:+    const wxMouseEvent*     m_mouseEvent;+    const wxHtmlCell*       m_htmlCell;+    const wxHtmlLinkInfo*   m_linkInfo;+    wxPoint                 m_logicalPosition;++public:+    wxcHtmlEvent() : wxCommandEvent() {};+    wxcHtmlEvent( wxEventType commandType, int id, const wxMouseEvent* mouseEvent, const wxHtmlCell* htmlCell, const wxHtmlLinkInfo* linkInfo, wxPoint logicalPoint );+    const wxMouseEvent* GetMouseEvent();+    const wxHtmlCell *  GetHtmlCell();+    wxString*           GetHtmlCellId();+    wxString*           GetHref();+    wxString*           GetTarget();+    wxPoint             GetLogicalPosition();+};++IMPLEMENT_DYNAMIC_CLASS(wxcHtmlEvent, wxCommandEvent)++wxcHtmlWindow::wxcHtmlWindow(wxWindow * prt, wxWindowID id, const wxPoint& pt, const wxSize& size, long style, const wxString& title )+: wxHtmlWindow( prt, id, pt, size, style, title )+{}++#if (wxVERSION_NUMBER < 2800)+void wxcHtmlWindow::OnCellClicked(wxHtmlCell *cell, wxCoord x, wxCoord y, const wxMouseEvent& event)+#else+bool wxcHtmlWindow::OnCellClicked(wxHtmlCell *cell, wxCoord x, wxCoord y, const wxMouseEvent& event)+#endif+{+    wxHtmlLinkInfo* linkPtr;+#if (wxVERSION_NUMBER < 2800)+    if (cell==NULL) return;+#else+    if (cell==NULL) return false;+#endif++    linkPtr = cell->GetLink(x, y);+    if (linkPtr != NULL)+    {+        wxHtmlLinkInfo link(*linkPtr);+        link.SetEvent(&event);+        link.SetHtmlCell(cell);+        {+          wxcHtmlEvent htmlEvent( wxEVT_HTML_LINK_CLICKED, this->GetId(), &event, cell, &link, wxPoint(x,y) );+          this->ProcessEvent( htmlEvent );+        }+    }+    else+    {+      wxcHtmlEvent htmlEvent( wxEVT_HTML_CELL_CLICKED, this->GetId(), &event, cell, NULL, wxPoint(x,y) );+      this->ProcessEvent( htmlEvent );+    }+#if (wxVERSION_NUMBER >= 2800)+    return true;+#endif+}++void wxcHtmlWindow::OnCellMouseHover(wxHtmlCell *cell, wxCoord x, wxCoord y)+{+    wxcHtmlEvent htmlEvent( wxEVT_HTML_CELL_MOUSE_HOVER, this->GetId(), NULL, cell, NULL, wxPoint(x,y) );+    this->ProcessEvent( htmlEvent );+}++void wxcHtmlWindow::OnLinkClicked(const wxHtmlLinkInfo& link)+{+    wxcHtmlEvent htmlEvent( wxEVT_HTML_LINK_CLICKED, this->GetId(), link.GetEvent(), link.GetHtmlCell(), &link, wxPoint(-1,-1) );+    this->ProcessEvent( htmlEvent );+}++void wxcHtmlWindow::OnSetTitle(const wxString& title)+{+    wxcHtmlEvent htmlEvent( wxEVT_HTML_SET_TITLE, this->GetId(), NULL, NULL, NULL, wxPoint(-1,-1) );+    htmlEvent.SetString( title );+    this->ProcessEvent( htmlEvent );+}+++wxcHtmlEvent::wxcHtmlEvent( wxEventType commandType, int id, const wxMouseEvent* mouseEvent, const wxHtmlCell* htmlCell, const wxHtmlLinkInfo* linkInfo, wxPoint logicalPoint )+: wxCommandEvent( commandType, id )+{+    m_mouseEvent = mouseEvent;+    m_htmlCell = htmlCell;+    m_linkInfo = linkInfo;+    m_logicalPosition = logicalPoint;+}++const wxMouseEvent* wxcHtmlEvent::GetMouseEvent()+{+    return m_mouseEvent;+}++const wxHtmlCell *  wxcHtmlEvent::GetHtmlCell()+{+    return m_htmlCell;+}++wxString* wxcHtmlEvent::GetHtmlCellId()+{+    if (m_htmlCell)+        return new wxString(m_htmlCell->GetId());+    else+        return new wxString(wxT(""));+}++wxString* wxcHtmlEvent::GetHref()+{+    if (m_linkInfo)+        return new wxString(m_linkInfo->GetHref());+    else+        return new wxString(wxT(""));+}++wxString* wxcHtmlEvent::GetTarget()+{+    if (m_linkInfo)+        return new wxString (m_linkInfo->GetTarget());+    else+        return new wxString(wxT(""));+}++wxPoint wxcHtmlEvent::GetLogicalPosition()+{+    return m_logicalPosition;+}++/*-----------------------------------------------------------------------------+  wxGridCellTextEnterEditor+-----------------------------------------------------------------------------*/+class wxGridCellTextEnterEditor : public wxGridCellTextEditor+{+public:+  wxGridCellTextEnterEditor() : wxGridCellTextEditor() {}++  void Create(wxWindow* parent,+                        wxWindowID id,+                        wxEvtHandler* evtHandler);++};++void wxGridCellTextEnterEditor::Create(wxWindow* parent,+                                       wxWindowID id,+                                       wxEvtHandler* evtHandler)+{+    wxGridCellTextEditor::Create(parent, id, evtHandler);+    +    {+      long style = m_control->GetWindowStyle();+      m_control->SetWindowStyle( style | wxTE_PROCESS_ENTER );+    }+}+++/*-----------------------------------------------------------------------------+  pre processor definitions+-----------------------------------------------------------------------------*/+static const wxChar* defineDefs[] = {+#ifdef __WINDOWS__+  wxT("__WINDOWS__"),+#endif // any Windows, yom may also use+#ifdef __WIN16__+  wxT("__WIN16__"),+#endif // Win16 API+#ifdef __WIN32__+  wxT("__WIN32__"),+#endif // Win32 API+#ifdef __WIN95__+  wxT("__WIN95__"),+#endif // Windows 95 or NT 4.0 and above system (not NT 3.5x)+#ifdef __WXGTK__+  wxT("__WXGTK__"),+#endif // GTK+#ifdef __WXGTK12__+  wxT("__WXGTK12__"),+#endif // GTK 1.2 or higher+#ifdef __WXGTK20__+  wxT("__WXGTK20__"),+#endif // GTK 2.0 or higher+#ifdef __WXMOTIF__+  wxT("__WXMOTIF__"),+#endif // Motif+#ifdef __WXMAC__+  wxT("__WXMAC__"),+#endif // MacOS+#ifdef __WXMGL__+  wxT("__WXMGL__"),+#endif // SciTech Soft MGL+#ifdef __WXUNIVERSAL__+  wxT("__WXUNIVERSAL__"),+#endif //will be also defined)+#ifdef __WXMSW__+  wxT("__WXMSW__"),+#endif // Any Windows+#ifdef __WXOS2__+  wxT("__WXOS2__"),+#endif // OS/2 native Presentation Manager+#ifdef __WXPM__+  wxT("__WXPM__"),+#endif // OS/2 native Presentation Manager+#ifdef __WXSTUBS__+  wxT("__WXSTUBS__"),+#endif // Stubbed version ('template' wxWin implementation)+#ifdef __WXXT__+  wxT("__WXXT__"),+#endif // Xt; mutually exclusive with WX_MOTIF, not implemented in wxWindows 2.x+// wxX11+#ifdef __WXX11__+  wxT("__WXX11__"),+#endif+#ifdef __WXUNIVERSAL__+  wxT("__WXUNIVERSAL__"),+#endif //will be also defined)+#ifdef __WXWINE__+  wxT("__WXWINE__"),+#endif // WINE (i.e. Win32 on Unix)+#ifdef __WXUNIVERSAL__+  wxT("__WXUNIVERSAL__"),+#endif // wxUniversal port, always defined in addition to one of the symbols above so this should be tested first.+#ifdef __X__+  wxT("__X__"),+#endif // any X11-based GUI toolkit except GTK+++// any Mac OS version+#ifdef __APPLE__+  wxT("__APPLE__"),+#endif+// AIX+#ifdef __AIX__+  wxT("__AIX__"),+#endif+// Any BSD+#ifdef __BSD__+  wxT("__BSD__"),+#endif+// Cygwin: Unix on Win32+#ifdef __CYGWIN__+  wxT("__CYGWIN__"),+#endif+// Mac OS X+#ifdef __DARWIN__+  wxT("__DARWIN__"),+#endif+#ifdef ____DATA_GENERAL____+  wxT("__DATA_GENERAL__"),+#endif+// DOS (used with wxMGL only)+#ifdef __DOS_GENERAL__+  wxT("__DOS_GENERAL__"),+#endif+// FreeBSD+#ifdef __FREEBSD__+  wxT("__FREEBSD__"),+#endif+// HP-UX (Unix)+#ifdef ____HPUX____+  wxT("__HPUX__"),+#endif+// Linux+#ifdef __LINUX__+  wxT("__LINUX__"),+#endif+// OSF/1+#ifdef __OSF__+  wxT("__OSF__"),+#endif+// IRIX+#ifdef __SGI__+  wxT("__SGI__"),+#endif+// Solaris+#ifdef __SOLARIS__+  wxT("__SOLARIS__"),+#endif+// Any Sun+#ifdef __SUN__+  wxT("__SUN__"),+#endif+// Sun OS+#ifdef __SUNOS__+  wxT("__SUNOS__"),+#endif+// SystemV R4+#ifdef __SVR4__+  wxT("__SVR4__"),+#endif+// SystemV generic+#ifdef __SYSV__+  wxT("__SYSV__"),+#endif+// Ultrix+#ifdef __ULTRIX__+  wxT("__ULTRIX__"),+#endif+// any Unix+#ifdef __UNIX__+  wxT("__UNIX__"),+#endif+// Unix, BeOS or VMS+#ifdef __UNIX_LIKE__+  wxT("__UNIX_LIKE__"),+#endif+// VMS+#ifdef __VMS__+  wxT("__VMS__"),+#endif+// any Windows+#ifdef __WINDOWS__+  wxT("__WINDOWS__"),+#endif++// DEC Alpha architecture+#ifdef __ALPHA__+  wxT("__ALPHA__"),+#endif+// Intel i386 or compatible+#ifdef __INTEL__+  wxT("__INTEL__"),+#endif+// Motorola Power PC+#ifdef __POWERPC__+  wxT("__POWERPC__"),+#endif++// Borland C+++#ifdef __BORLANDC__+  wxT("__BORLANDC__"),+#endif+// DJGPP+#ifdef __DJGPP__+  wxT("__DJGPP__"),+#endif+// Gnu C++ on any platform+#ifdef __GNUG__+  wxT("__GNUG__"),+#endif+// GnuWin32 compiler+#ifdef __GNUWIN32__+  wxT("__GNUWIN32__"),+#endif+// CodeWarrior MetroWerks compiler+#ifdef __MWERKS__+  wxT("__MWERKS__"),+#endif+// Sun CC+#ifdef __SUNCC__+  wxT("__SUNCC__"),+#endif+// Symantec C+++#ifdef __SYMANTECC__+  wxT("__SYMANTECC__"),+#endif+// IBM Visual Age (OS/2)+#ifdef __VISAGECPP__+  wxT("__VISAGECPP__"),+#endif+// Microsoft Visual C+++#ifdef __VISUALC__+  wxT("__VISUALC__"),+#endif+// AIX compiler+#ifdef __XLC__+  wxT("__XLC__"),+#endif+// Watcom C+++#ifdef __WATCOMC__+  wxT("__WATCOMC__"),+#endif+  NULL+};++static const wxChar* useDefs[] = {+#ifdef wxUSE_UNIX+  wxT("UNIX"),+#endif+#ifdef wxUSE_NANOX+  wxT("NANOX"),+#endif+#ifdef wxUSE_NATIVE_STATUSBAR+  wxT("NATIVE_STATUSBAR"),+#endif+#ifdef wxUSE_OWNER_DRAWN+  wxT("OWNER_DRAWN"),+#endif+#ifdef wxUSE_OWNER_DRAWN+  wxT("OWNER_DRAWN"),+#endif+#ifdef wxUSE_RICHEDIT+  wxT("RICHEDIT"),+#endif+#ifdef wxUSE_RICHEDIT+  wxT("RICHEDIT"),+#endif+#ifdef wxUSE_REGEX+  wxT("REGEX"),+#endif+#ifdef wxUSE_ZLIB+  wxT("ZLIB"),+#endif+#ifdef wxUSE_LIBPNG+  wxT("LIBPNG"),+#endif+#ifdef wxUSE_LIBJPEG+  wxT("LIBJPEG"),+#endif+#ifdef wxUSE_LIBTIFF+  wxT("LIBTIFF"),+#endif+#ifdef wxUSE_ODBC+  wxT("ODBC"),+#endif+#ifdef wxUSE_FREETYPE+  wxT("FREETYPE"),+#endif+#ifdef wxUSE_THREADS+  wxT("THREADS"),+#endif+#if defined(wxcREFUSE_OPENGL)+# undef wxUSE_OPENGL+# undef wxUSE_GLCANVAS+#endif+#ifdef wxUSE_OPENGL+  wxT("OPENGL"),+#endif+#ifdef wxUSE_GLCANVAS+  wxT("GLCANVAS"),+#endif+#ifdef wxUSE_GUI+  wxT("GUI"),+#endif+#ifdef wxUSE_NOGUI+  wxT("NOGUI"),+#endif+#ifdef wxUSE_ON_FATAL_EXCEPTION+  wxT("ON_FATAL_EXCEPTION"),+#endif+#ifdef wxUSE_SNGLINST_CHECKER+  wxT("SNGLINST_CHECKER"),+#endif+#ifdef wxUSE_CONSTRAINTS+  wxT("CONSTRAINTS"),+#endif+#ifdef wxUSE_VALIDATORS+  wxT("VALIDATORS"),+#endif+#ifdef wxUSE_CONTROLS+  wxT("CONTROLS"),+#endif+#ifdef wxUSE_POPUPWIN+  wxT("POPUPWIN"),+#endif+#ifdef wxUSE_TIPWINDOW+  wxT("TIPWINDOW"),+#endif+#ifdef wxUSE_ACCEL+  wxT("ACCEL"),+#endif+#ifdef wxUSE_CALENDARCTRL+  wxT("CALENDARCTRL"),+#endif+#ifdef wxUSE_FILEDLG+  wxT("FILEDLG"),+#endif+#ifdef wxUSE_FINDREPLDLG+  wxT("FINDREPLDLG"),+#endif+#ifdef wxUSE_FONTDLG+  wxT("FONTDLG"),+#endif+#ifdef wxUSE_MIMETYPE+  wxT("MIMETYPE"),+#endif+#ifdef wxUSE_SYSTEM_OPTIONS+  wxT("SYSTEM_OPTIONS"),+#endif+#ifdef wxUSE_MSGDLG+  wxT("MSGDLG"),+#endif+#ifdef wxUSE_NUMBERDLG+  wxT("NUMBERDLG"),+#endif+#ifdef wxUSE_TEXTDLG+  wxT("TEXTDLG"),+#endif+#ifdef wxUSE_STARTUP_TIPS+  wxT("STARTUP_TIPS"),+#endif+#ifdef wxUSE_PROGRESSDLG+  wxT("PROGRESSDLG"),+#endif+#ifdef wxUSE_CHOICEDLG+  wxT("CHOICEDLG"),+#endif+#ifdef wxUSE_COLOURDLG+  wxT("COLOURDLG"),+#endif+#ifdef wxUSE_DIRDLG+  wxT("DIRDLG"),+#endif+#ifdef wxUSE_DRAGIMAGE+  wxT("DRAGIMAGE"),+#endif+#ifdef wxUSE_PROPSHEET+  wxT("PROPSHEET"),+#endif+#ifdef wxUSE_WIZARDDLG+  wxT("WIZARDDLG"),+#endif+#ifdef wxUSE_SPLASH+  wxT("SPLASH"),+#endif+#ifdef wxUSE_JOYSTICK+  wxT("JOYSTICK"),+#endif+#ifdef wxUSE_BUTTON+  wxT("BUTTON"),+#endif+#ifdef wxUSE_CARET+  wxT("CARET"),+#endif+#ifdef wxUSE_BMPBUTTON+  wxT("BMPBUTTON"),+#endif+#ifdef wxUSE_CHECKBOX+  wxT("CHECKBOX"),+#endif+#ifdef wxUSE_CHECKLISTBOX+  wxT("CHECKLISTBOX"),+#endif+#ifdef wxUSE_COMBOBOX+  wxT("COMBOBOX"),+#endif+#ifdef wxUSE_CHOICE+  wxT("CHOICE"),+#endif+#ifdef wxUSE_GAUGE+  wxT("GAUGE"),+#endif+#ifdef wxUSE_GRID+  wxT("GRID"),+#endif+#ifdef wxUSE_NEW_GRID+  wxT("NEW_GRID"),+#endif+#ifdef wxUSE_IMAGLIST+  wxT("IMAGLIST"),+#endif+#ifdef wxUSE_LISTBOX+  wxT("LISTBOX"),+#endif+#ifdef wxUSE_LISTCTRL+  wxT("LISTCTRL"),+#endif+#ifdef wxUSE_MENUS+  wxT("MENUS"),+#endif+#ifdef wxUSE_NOTEBOOK+  wxT("NOTEBOOK"),+#endif+#ifdef wxUSE_RADIOBOX+  wxT("RADIOBOX"),+#endif+#ifdef wxUSE_RADIOBTN+  wxT("RADIOBTN"),+#endif+#ifdef wxUSE_SASH+  wxT("SASH"),+#endif+#ifdef wxUSE_SCROLLBAR+  wxT("SCROLLBAR"),+#endif+#ifdef wxUSE_SLIDER+  wxT("SLIDER"),+#endif+#ifdef wxUSE_SPINBTN+  wxT("SPINBTN"),+#endif+#ifdef wxUSE_SPINCTRL+  wxT("SPINCTRL"),+#endif+#ifdef wxUSE_SPLITTER+  wxT("SPLITTER"),+#endif+#ifdef wxUSE_STATBMP+  wxT("STATBMP"),+#endif+#ifdef wxUSE_STATBOX+  wxT("STATBOX"),+#endif+#ifdef wxUSE_STATLINE+  wxT("STATLINE"),+#endif+#ifdef wxUSE_STATTEXT+  wxT("STATTEXT"),+#endif+#ifdef wxUSE_STATUSBAR+  wxT("STATUSBAR"),+#endif+#ifdef wxUSE_TOGGLEBTN+  wxT("TOGGLEBTN"),+#endif+#ifdef wxUSE_TAB_DIALOG+  wxT("TAB_DIALOG"),+#endif+#ifdef wxUSE_TABDIALOG+  wxT("TABDIALOG"),+#endif+#ifdef wxUSE_TEXTCTRL+  wxT("TEXTCTRL"),+#endif+#ifdef wxUSE_TOOLBAR+  wxT("TOOLBAR"),+#endif+#ifdef wxUSE_TOOLBAR_NATIVE+  wxT("TOOLBAR_NATIVE"),+#endif+#ifdef wxUSE_TOOLBAR_SIMPLE+  wxT("TOOLBAR_SIMPLE"),+#endif+#ifdef wxUSE_BUTTONBAR+  wxT("BUTTONBAR"),+#endif+#ifdef wxUSE_TREELAYOUT+  wxT("TREELAYOUT"),+#endif+#ifdef wxUSE_TREECTRL+  wxT("TREECTRL"),+#endif+#ifdef wxUSE_LONGLONG+  wxT("LONGLONG"),+#endif+#ifdef wxUSE_GEOMETRY+  wxT("GEOMETRY"),+#endif+#ifdef wxUSE_CMDLINE_PARSER+  wxT("CMDLINE_PARSER"),+#endif+#ifdef wxUSE_DATETIME+  wxT("DATETIME"),+#endif+#ifdef wxUSE_FILE+  wxT("FILE"),+#endif+#ifdef wxUSE_FFILE+  wxT("FFILE"),+#endif+#ifdef wxUSE_FSVOLUME+  wxT("FSVOLUME"),+#endif+#ifdef wxUSE_TEXTBUFFER+  wxT("TEXTBUFFER"),+#endif+#ifdef wxUSE_TEXTFILE+  wxT("TEXTFILE"),+#endif+#ifdef wxUSE_LOG+  wxT("LOG"),+#endif+#ifdef wxUSE_LOGWINDOW+  wxT("LOGWINDOW"),+#endif+#ifdef wxUSE_LOGGUI+  wxT("LOGGUI"),+#endif+#ifdef wxUSE_LOG_DIALOG+  wxT("LOG_DIALOG"),+#endif+#ifdef wxUSE_STOPWATCH+  wxT("STOPWATCH"),+#endif+#ifdef wxUSE_TIMEDATE+  wxT("TIMEDATE"),+#endif+#ifdef wxUSE_WAVE+  wxT("WAVE"),+#endif+#ifdef wxUSE_SOUND+  wxT("SOUND"),+#endif+#ifdef wxUSE_CONFIG+  wxT("CONFIG"),+#endif+#ifdef wxUSE_FONTMAP+  wxT("FONTMAP"),+#endif+#ifdef wxUSE_INTL+  wxT("INTL"),+#endif+#ifdef wxUSE_PROTOCOL+  wxT("PROTOCOL"),+#endif+#ifdef wxUSE_PROTOCOL_FILE+  wxT("PROTOCOL_FILE"),+#endif+#ifdef wxUSE_PROTOCOL_FTP+  wxT("PROTOCOL_FTP"),+#endif+#ifdef wxUSE_PROTOCOL_HTTP+  wxT("PROTOCOL_HTTP"),+#endif+#ifdef wxUSE_STREAMS+  wxT("STREAMS"),+#endif+#ifdef wxUSE_SOCKETS+  wxT("SOCKETS"),+#endif+#ifdef wxUSE_DIALUP_MANAGER+  wxT("DIALUP_MANAGER"),+#endif+#ifdef wxUSE_STD_IOSTREAM+  wxT("STD_IOSTREAM"),+#endif+#ifdef wxUSE_DYNLIB_CLASS+  wxT("DYNLIB_CLASS"),+#endif+#ifdef wxUSE_DYNAMIC_LOADER+  wxT("DYNAMIC_LOADER"),+#endif+#ifdef wxUSE_TIMER+  wxT("TIMER"),+#endif+#ifdef wxUSE_AFM_FOR_POSTSCRIPT+  wxT("AFM_FOR_POSTSCRIPT"),+#endif+#ifdef wxUSE_NORMALIZED_PS_FONTS+  wxT("NORMALIZED_PS_FONTS"),+#endif+#ifdef wxUSE_POSTSCRIPT+  wxT("POSTSCRIPT"),+#endif+#ifdef wxUSE_WCHAR_T+  wxT("WCHAR_T"),+#endif+#ifdef wxUSE_UNICODE+  wxT("UNICODE"),+#endif+#ifdef wxUSE_UNICODE_MSLU+  wxT("UNICODE_MSLU"),+#endif+#ifdef wxUSE_URL+  wxT("URL"),+#endif+#ifdef wxUSE_WCSRTOMBS+  wxT("WCSRTOMBS"),+#endif+#ifdef wxUSE_EXPERIMENTAL_+  wxT("EXPERIMENTAL_PRINTF"),+#endif+#ifdef wxUSE_IPC+  wxT("IPC"),+#endif+#ifdef wxUSE_X_RESOURCES+  wxT("X_RESOURCES"),+#endif+#ifdef wxUSE_CLIPBOARD+  wxT("CLIPBOARD"),+#endif+#ifdef wxUSE_DATAOBJ+  wxT("DATAOBJ"),+#endif+#ifdef wxUSE_TOOLTIPS+  wxT("TOOLTIPS"),+#endif+#ifdef wxUSE_DRAG_AND_DROP+  wxT("DRAG_AND_DROP"),+#endif+#ifdef wxUSE_OLE+  wxT("OLE"),+#endif+#ifdef wxUSE_SPLINES+  wxT("SPLINES"),+#endif+#ifdef wxUSE_MDI_ARCHITECTURE+  wxT("MDI_ARCHITECTURE"),+#endif+#ifdef wxUSE_DOC_VIEW_ARCHITECTURE+  wxT("DOC_VIEW_ARCHITECTURE"),+#endif+#ifdef wxUSE_PRINTING_ARCHITECTURE+  wxT("PRINTING_ARCHITECTURE"),+#endif+#ifdef wxUSE_PROLOGIO+  wxT("PROLOGIO"),+#endif+#ifdef wxUSE_RESOURCES+  wxT("RESOURCES"),+#endif+#ifdef wxUSE_WX_RESOURCES+  wxT("WX_RESOURCES"),+#endif+#ifdef wxUSE_HELP+  wxT("HELP"),+#endif+#ifdef wxUSE_WXHTML_HELP+  wxT("WXHTML_HELP"),+#endif+#ifdef wxUSE_MS_HTML_HELP+  wxT("MS_HTML_HELP"),+#endif+#ifdef wxUSE_IOSTREAMH+  wxT("IOSTREAMH"),+#endif+#ifdef wxUSE_APPLE_IEEE+  wxT("APPLE_IEEE"),+#endif+#ifdef wxUSE_MEMORY_TRACING+  wxT("MEMORY_TRACING"),+#endif+#ifdef wxUSE_DEBUG_NEW_ALWAYS+  wxT("DEBUG_NEW_ALWAYS"),+#endif+#ifdef wxUSE_DEBUG_CONTEXT+  wxT("DEBUG_CONTEXT"),+#endif+#ifdef wxUSE_GLOBAL_MEMORY_OPERATORS+  wxT("GLOBAL_MEMORY_OPERATORS"),+#endif+#ifdef wxUSE_SPLINES+  wxT("SPLINES"),+#endif+#ifdef wxUSE_DYNAMIC_CLASSES+  wxT("DYNAMIC_CLASSES"),+#endif+#ifdef wxUSE_METAFILE+  wxT("METAFILE"),+#endif+#ifdef wxUSE_ENH_METAFILE+  wxT("ENH_METAFILE"),+#endif+#ifdef wxUSE_MINIFRAME+  wxT("MINIFRAME"),+#endif+#ifdef wxUSE_HTML+  wxT("HTML"),+#endif+#ifdef wxUSE_FILESYSTEM+  wxT("FILESYSTEM"),+#endif+#ifdef wxUSE_FS_INET+  wxT("FS_INET"),+#endif+#ifdef wxUSE_FS_ZIP+  wxT("FS_ZIP"),+#endif+#ifdef wxUSE_BUSYINFO+  wxT("BUSYINFO"),+#endif+#ifdef wxUSE_ZIPSTREAM+  wxT("ZIPSTREAM"),+#endif+#ifdef wxUSE_PALETTE+  wxT("PALETTE"),+#endif+#ifdef wxUSE_IMAGE+  wxT("IMAGE"),+#endif+#ifdef wxUSE_GIF+  wxT("GIF"),+#endif+#ifdef wxUSE_PCX+  wxT("PCX"),+#endif+#ifdef wxUSE_IFF+  wxT("IFF"),+#endif+#ifdef wxUSE_PNM+  wxT("PNM"),+#endif+#ifdef wxUSE_XPM+  wxT("XPM"),+#endif+#ifdef wxUSE_ICO_CUR+  wxT("ICO_CUR"),+#endif++// detect using optional libraries in the contrib hierarchy.+#ifdef wxUSE_STC+  wxT("STC"),+#endif+  NULL+};+++static const wxChar* hasDefs[] = {+#ifdef wxHAS_POWER_EVENTS+  wxT("POWER_EVENTS"),+#endif+#ifdef wxHAS_RADIO_MENU_ITEMS+  wxT("RADIO_MENU_ITEMS"),+#endif+  NULL+};++/*-----------------------------------------------------------------------------+  EXTERN C+-----------------------------------------------------------------------------*/+extern "C"+{++/*-----------------------------------------------------------------------------+  String+-----------------------------------------------------------------------------*/+typedef char utf8char;++EWXWEXPORT(wxString*,wxString_Create)(wxChar* buffer)+{+  return new wxString(buffer);+}++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)+{+  delete s;+}++EWXWEXPORT(int,wxString_GetString)(wxString* s,wxChar* buffer)+{+  if (buffer) memcpy (buffer, s->wc_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;+}+/*-----------------------------------------------------------------------------+  Point+-----------------------------------------------------------------------------*/+EWXWEXPORT(void*,wxPoint_Create)(int x,int y)+{+  return new wxPoint(x,y);+}++EWXWEXPORT(void,wxPoint_Delete)(void* p)+{+  delete (wxPoint*)p;+}++EWXWEXPORT(int,wxPoint_GetX)(void* p)+{+  return ((wxPoint*)p)->x;+}++EWXWEXPORT(int,wxPoint_GetY)(void* p)+{+  return ((wxPoint*)p)->y;+}++EWXWEXPORT(void,wxPoint_SetX)(void* p,int x)+{+  ((wxPoint*)p)->x = x;+}++EWXWEXPORT(void,wxPoint_SetY)(void* p,int y)+{+  ((wxPoint*)p)->y = y;+}++/*-----------------------------------------------------------------------------+  Size+-----------------------------------------------------------------------------*/+EWXWEXPORT(void*,wxSize_Create)(int w,int h)+{+  return new wxSize(w,h);+}++EWXWEXPORT(void,wxSize_Delete)(void* s)+{+  delete (wxSize*)s;+}++EWXWEXPORT(int,wxSize_GetWidth)(void* s)+{+  return ((wxSize*)s)->GetWidth();+}++EWXWEXPORT(int,wxSize_GetHeight)(void* s)+{+  return ((wxSize*)s)->GetHeight();+}++EWXWEXPORT(void,wxSize_SetWidth)(wxSize* s,int w)+{+  s->SetWidth(w);+}++EWXWEXPORT(void,wxSize_SetHeight)(wxSize* s,int h)+{+  s->SetHeight(h);+}++/*-----------------------------------------------------------------------------+  Rect+-----------------------------------------------------------------------------*/+EWXWEXPORT(void*,wxRect_Create)(int x,int y,int w,int h)+{+  return new wxRect(x,y,w,h);+}++EWXWEXPORT(void,wxRect_Delete)(void* r)+{+  delete (wxRect*)r;+}++EWXWEXPORT(int,wxRect_GetX)(wxRect* r)+{+  return r->GetX();+}++EWXWEXPORT(int,wxRect_GetY)(wxRect* r)+{+  return r->GetY();+}++EWXWEXPORT(int,wxRect_GetWidth)(wxRect* r)+{+  return r->GetWidth();+}++EWXWEXPORT(int,wxRect_GetHeight)(wxRect* r)+{+  return r->GetHeight();+}++EWXWEXPORT(void,wxRect_SetX)(wxRect* r,int x)+{+  r->SetX(x);+}++EWXWEXPORT(void,wxRect_SetY)(wxRect* r,int y)+{+  r->SetY(y);+}++EWXWEXPORT(void,wxRect_SetWidth)(wxRect* r,int w)+{+  r->SetWidth(w);+}++EWXWEXPORT(void,wxRect_SetHeight)(wxRect* r,int h)+{+  r->SetHeight(h);+}++/*-----------------------------------------------------------------------------+  pre-processor+-----------------------------------------------------------------------------*/+EWXWEXPORT(int,wxVersionNumber)()+{+  return wxVERSION_NUMBER;+}++EWXWEXPORT(wxString*,wxVersionString)()+{+  return new wxString(wxVERSION_STRING);+}++EWXWEXPORT(int,wxIsDefined)(wxChar* s)+{+  int i;+  if (s==NULL) return 0;+  /* check define */+  for( i=0; defineDefs[i] != NULL; i++ ) {+    if (wxStrcmp(s,defineDefs[i]) == 0) return 1;+  }+  /* check wxUSE_XXX */+  if (wxStrncmp(s,wxT("wxUSE_"),6) == 0) {+    const wxChar* t = s+6;+    for( i=0; useDefs[i] != NULL; i++ ) {+      if (wxStrcmp(t,useDefs[i]) == 0) return 1;+    }+  }+  /* check wxHAS_XXX */+  if (wxStrncmp(s,wxT("wxHAS_"),6) == 0) {+    const wxChar* t = s+6;+    for( i=0; hasDefs[i] != NULL; i++ ) {+      if (wxStrcmp(t,hasDefs[i]) == 0) return 1;+    }+  }+  return 0;+}++EWXWEXPORT(void*,wxcMalloc)(int size)+{+  return malloc(size);+}++EWXWEXPORT(void,wxcFree)(void* p)+{+  if (p!=NULL) free(p);+}++EWXWEXPORT(wxColour*,wxcSystemSettingsGetColour)(int systemColour)+{+   wxColour* colour = new wxColour();+   *colour = wxSystemSettings::GetColour( (wxSystemColour)systemColour );+   return colour;+}++EWXWEXPORT(void,wxcWakeUpIdle)(void)+{+  wxWakeUpIdle();+}++/*-----------------------------------------------------------------------------+  delete+-----------------------------------------------------------------------------*/+EWXWEXPORT(void,wxCursor_Delete)(wxCursor* self)+{+  delete self;+}++EWXWEXPORT(void,wxDateTime_Delete)(wxDateTime* self)+{+  delete self;+}++/*-----------------------------------------------------------------------------+  frame+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxString*,wxFrame_GetTitle)(wxFrame* self)+{+  wxString *result = new wxString();+  *result = self->GetTitle();+  return result;+}++EWXWEXPORT(void,wxFrame_SetTitle)(wxFrame* self,wxString* _txt)+{+  self->SetTitle(*_txt);+}++EWXWEXPORT(bool,wxFrame_SetShape)(wxFrame* self,wxRegion* region)+{+  return self->SetShape( *region );+}++EWXWEXPORT(bool,wxFrame_ShowFullScreen)(wxFrame* self,bool show,int style)+{+  return self->ShowFullScreen( show, style );+}++EWXWEXPORT(bool,wxFrame_IsFullScreen)(wxFrame* self)+{+  return self->IsFullScreen();+}++EWXWEXPORT(void,wxFrame_Centre)(wxFrame* self,int orientation)+{+  self->Centre();+}+++EWXWEXPORT(void,wxNotebook_AssignImageList)(wxNotebook* self,wxImageList* imageList)+{+  self->AssignImageList(imageList);+}++/*-----------------------------------------------------------------------------+  menu & toolbar+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxMenuBar*,wxMenu_GetMenuBar)(wxMenu* self)+{+  return self->GetMenuBar();+}+++EWXWEXPORT(wxFrame*,wxMenuBar_GetFrame)(wxMenuBar* self)+{+  return self->GetFrame();+}++EWXWEXPORT(void,wxToolBar_AddTool2)(wxToolBar* self,int toolId,wxString* label,wxBitmap* bmp,wxBitmap* bmpDisabled,int itemKind,wxString* shortHelp,wxString* longHelp)+{+  self->AddTool(toolId,*label,*bmp,*bmpDisabled,(wxItemKind)itemKind,*shortHelp,*longHelp,NULL);+}++/*-----------------------------------------------------------------------------+  listctrl+-----------------------------------------------------------------------------*/+EWXWEXPORT(int,wxListEvent_GetCacheFrom)(wxListEvent* self)+{+  return self->GetCacheFrom();+}++EWXWEXPORT(int,wxListEvent_GetCacheTo)(wxListEvent* self)+{+  return self->GetCacheTo();+}+++EWXWEXPORT(void,wxListCtrl_AssignImageList)(wxListCtrl* self,wxImageList* images,int which)+{+  self->AssignImageList(images,which);+}++++EWXWEXPORT(void,wxListCtrl_GetColumn2)(wxListCtrl* self,int col,wxListItem* item)+{+  bool success = self->GetColumn(col,*item);+  if (!success) item->SetId(-1);+}++EWXWEXPORT(void,wxListCtrl_GetItem2)(wxListCtrl* self,wxListItem* info)+{+  bool success = self->GetItem(*info);+  if (!success) info->SetId(-1);+}++EWXWEXPORT(wxPoint*,wxListCtrl_GetItemPosition2)(wxListCtrl* self,int item)+{+	wxPoint* pos = new wxPoint();+	bool success = self->GetItemPosition((long)item, *pos);+	if (success) {+		return pos;+	}+	else {+		delete pos;+		wxPoint* pt = new wxPoint(-1,-1);+		return pt;+	}+}+++struct SortData {+  long id;+  wxClosure* closure;+};++int wxCALLBACK sortCallBack( long item1, long item2, long data )+{+  wxClosure* closure = ((SortData*)data)->closure;+  long       id      = ((SortData*)data)->id;++  wxCommandEvent event( wxEVT_SORT, id );+  event.SetInt(item1);+  event.SetExtraLong(item2);+  closure->Invoke(&event);+  return event.GetInt();+}++EWXWEXPORT(bool,wxListCtrl_SortItems2)(wxListCtrl* self,wxClosure* closure)+{+  SortData sortData = { self->GetId(), closure };+  return self->SortItems( sortCallBack, (long)&sortData );+}++++/*-----------------------------------------------------------------------------+  DC+-----------------------------------------------------------------------------*/+EWXWEXPORT(void,wxDC_GetPixel2)(wxDC* self,int x,int y,wxColour* col)+{+  bool success = self->GetPixel((wxCoord)x, (wxCoord)y, col);+  if (!success) *col = wxNullColour;+}+++/*-----------------------------------------------------------------------------+  Object & static ClassInfo+-----------------------------------------------------------------------------*/+EWXWEXPORT(bool,wxObject_IsKindOf)(wxObject* self,wxClassInfo* classInfo)+{+  return self->IsKindOf(classInfo);+}++EWXWEXPORT(wxClassInfo*,wxObject_GetClassInfo)(wxObject* self)+{+  return self->GetClassInfo();+}++/* optimize */+EWXWEXPORT(bool,wxObject_IsScrolledWindow)(wxObject* self)+{+  return self->IsKindOf(CLASSINFO(wxScrolledWindow));+}++EWXWEXPORT(void,wxObject_Delete)(wxObject* self)+{+  delete self;+}++/*-----------------------------------------------------------------------------+  classinfo+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxClassInfo*,wxClassInfo_FindClass)(wxString* name)+{+  return wxClassInfo::FindClass(*name);+}++EWXWEXPORT(wxString*,wxClassInfo_GetClassNameEx)(wxClassInfo* self)+{+  wxString *result = new wxString();+  *result = self->GetClassName();+  return result;+}++EWXWEXPORT(wxString*,wxClassInfo_GetBaseClassName1)(wxClassInfo* self)+{+  wxString *result = new wxString();+  *result = self->GetBaseClassName1();+  return result;+}++EWXWEXPORT(wxString*,wxClassInfo_GetBaseClassName2)(wxClassInfo* self)+{+  wxString *result = new wxString();+  *result = self->GetBaseClassName2();+  return result;+}++EWXWEXPORT(bool,wxClassInfo_IsKindOfEx)(wxClassInfo* self,wxClassInfo* classInfo)+{+  return self->IsKindOf(classInfo);+}++EWXWEXPORT(int,wxClassInfo_GetSize)(wxClassInfo* self)+{+  return (self)->GetSize();+}++/*-----------------------------------------------------------------------------+  window+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxPoint*,wxWindow_ConvertPixelsToDialogEx)(wxWindow* self,int x,int y)+{+	wxPoint* pt = new wxPoint();+	*pt = self->ConvertPixelsToDialog( wxPoint(x, y) );+	return pt;+}++EWXWEXPORT(wxPoint*,wxWindow_ConvertDialogToPixelsEx)(wxWindow* self,int x,int y)+{+	wxPoint* pt = new wxPoint();+	*pt = self->ConvertDialogToPixels( wxPoint(x, y) );+	return pt;+}+++EWXWEXPORT(void,wxWindow_SetClientObject)(wxWindow* self,wxClientData* obj)+{+	self->SetClientObject(obj);+}+++EWXWEXPORT(wxPoint*,wxWindow_ScreenToClient2)(wxWindow* self,int x,int y)+{+	wxPoint* pt = new wxPoint();+	*pt = self->ScreenToClient( wxPoint(x, y) );+	return pt;+}++++EWXWEXPORT(wxPoint*,wxcGetMousePosition)()+{+	wxPoint* pt = new wxPoint();+	*pt = wxGetMousePosition();+	return pt;+}++/*-----------------------------------------------------------------------------+  scrolledwindow+-----------------------------------------------------------------------------*/+EWXWEXPORT(void,wxScrolledWindow_SetScrollRate)(wxScrolledWindow* self,int xstep,int ystep)+{+  self->SetScrollRate(xstep,ystep);+}++/*-----------------------------------------------------------------------------+  mouse+-----------------------------------------------------------------------------*/+EWXWEXPORT(int,wxMouseEvent_GetWheelDelta)(wxMouseEvent* self)+{+  return self->GetWheelDelta();+}++EWXWEXPORT(int,wxMouseEvent_GetWheelRotation)(wxMouseEvent* self)+{+  return self->GetWheelRotation();+}++EWXWEXPORT(int,wxMouseEvent_GetButton)(wxMouseEvent* self)+{+  return self->GetButton();+}++/*-----------------------------------------------------------------------------+  DC+-----------------------------------------------------------------------------*/+EWXWEXPORT(double,wxDC_GetUserScaleX)(wxDC* dc)+{+  double x = 1.0;+  double y = 1.0;+  dc->GetUserScale(&x,&y);+  return x;+}+++EWXWEXPORT(double,wxDC_GetUserScaleY)(wxDC* dc)+{+  double x = 1.0;+  double y = 1.0;+  dc->GetUserScale(&x,&y);+  return y;+}+++/*-----------------------------------------------------------------------------+  timers+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxTimerEx*,wxTimerEx_Create)()+{+  return new wxTimerEx();+}++EWXWEXPORT(void,wxTimerEx_Connect)(wxTimerEx* self,wxClosure* _closure)+{+  self->Connect(_closure);+}++EWXWEXPORT(wxClosure*,wxTimerEx_GetClosure)(wxTimerEx* self)+{+  return self->GetClosure();+}+++/*-----------------------------------------------------------------------------+  menu items+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxMenuItem*,wxMenuItem_CreateSeparator)()+{+  return new wxMenuItem( NULL, wxID_SEPARATOR, wxT(""), wxT(""), wxITEM_SEPARATOR, NULL );+}+++EWXWEXPORT(wxMenuItem*,wxMenuItem_CreateEx)(int id,wxString* text,wxString* helpstr,int itemkind,wxMenu* submenu)+{+  return new wxMenuItem( NULL, id,*text,*helpstr, (wxItemKind)itemkind, submenu );+}+++EWXWEXPORT(void,wxMenu_AppendRadioItem)(wxMenu* self,int id,wxString* text,wxString* help)+{+#ifdef wxHAS_RADIO_MENU_ITEMS+  self->AppendRadioItem(id,*text,*help);+#else+  self->AppendCheckItem(id,*text,*help);+#endif+}+++/*------------------------------------------------------------------------------+  process+------------------------------------------------------------------------------*/+EWXWEXPORT(bool,wxProcess_IsErrorAvailable)(wxProcess* self)+{+    return self->IsErrorAvailable();+}++EWXWEXPORT(bool,wxProcess_IsInputAvailable)(wxProcess* self)+{+    return self->IsInputAvailable();+}++EWXWEXPORT(bool,wxProcess_IsInputOpened)(wxProcess* self)+{+    return self->IsInputOpened();+}++EWXWEXPORT(wxProcess*,wxProcess_Open)(wxString* cmd,int flags)+{+    return wxProcess::Open( *cmd, ((flags | wxEXEC_ASYNC) & ~wxEXEC_SYNC) );+}++EWXWEXPORT(wxKillError,wxKill)(int pid,wxSignal signal)+{+  return wxProcess::Kill(pid,signal);+}++EWXWEXPORT(void,wxStreamBase_Delete)(wxStreamBase* stream)+{+  if (stream) delete stream;+}++/*------------------------------------------------------------------------------+  TextCtrl+------------------------------------------------------------------------------*/+EWXWEXPORT(int,wxTextCtrl_EmulateKeyPress)(wxTextCtrl* self,wxKeyEvent* keyevent)+{+    return self->EmulateKeyPress(*keyevent);+}+++EWXWEXPORT(void*,wxTextCtrl_GetDefaultStyle)(wxTextCtrl* self)+{+    return (void*)& self->GetDefaultStyle();+}++EWXWEXPORT(wxString*,wxTextCtrl_GetRange)(wxTextCtrl* self,long from,long to)+{+    wxString *result = new wxString();+    *result = self->GetRange(from, to);+    return result;+}++EWXWEXPORT(wxString*,wxTextCtrl_GetStringSelection)(wxTextCtrl* self)+{+    wxString *result = new wxString();+    *result = self->GetStringSelection();+    return result;+}++EWXWEXPORT(bool,wxTextCtrl_IsMultiLine)(wxTextCtrl* self)+{+    return  self->IsMultiLine();+}++EWXWEXPORT(bool,wxTextCtrl_IsSingleLine)(wxTextCtrl* self)+{+    return self->IsSingleLine(   );+}+++EWXWEXPORT(bool,wxTextCtrl_SetDefaultStyle)(wxTextCtrl* self,wxTextAttr* style)+{+    return self->SetDefaultStyle(*style);+}++EWXWEXPORT(void,wxTextCtrl_SetMaxLength)(wxTextCtrl* self,long len)+{+    self->SetMaxLength( len  );+}++EWXWEXPORT(bool,wxTextCtrl_SetStyle)(wxTextCtrl* self,long start,long end,wxTextAttr* style)+{+    return self->SetStyle(start, end,*style);+}++/*------------------------------------------------------------------------------+  TextAttr+------------------------------------------------------------------------------*/+EWXWEXPORT(wxTextAttr*,wxTextAttr_CreateDefault)()+{+  return new wxTextAttr();+}++EWXWEXPORT(wxTextAttr*,wxTextAttr_Create)(wxColour* colText,wxColour* colBack,wxFont* font)+{+    return new wxTextAttr( *colText,*colBack,*font );+}++EWXWEXPORT(void,wxTextAttr_Delete)(wxTextAttr* self)+{+    delete self;+}++EWXWEXPORT(void,wxTextAttr_GetBackgroundColour)(wxTextAttr* self,wxColour* colour)+{+    *colour = self->GetBackgroundColour();+}++EWXWEXPORT(void,wxTextAttr_GetFont)(wxTextAttr* self,wxFont* font)+{+    *font = self->GetFont();+}++EWXWEXPORT(void,wxTextAttr_GetTextColour)(wxTextAttr* self,wxColour* colour)+{+    *colour = self->GetTextColour();+}++EWXWEXPORT(bool,wxTextAttr_HasBackgroundColour)(wxTextAttr* self)+{+    return  self->HasBackgroundColour();+}++EWXWEXPORT(bool,wxTextAttr_HasFont)(wxTextAttr* self)+{+    return self->HasFont();+}++EWXWEXPORT(bool,wxTextAttr_HasTextColour)(wxTextAttr* self)+{+    return  self->HasTextColour();+}++EWXWEXPORT(bool,wxTextAttr_IsDefault)(wxTextAttr* self)+{+    return  self->IsDefault(   );+}++EWXWEXPORT(void,wxTextAttr_SetTextColour)(wxTextAttr* self,wxColour* colour)+{+   self->SetTextColour(*colour);+}++EWXWEXPORT(void,wxTextAttr_SetBackgroundColour)(wxTextAttr* self,wxColour* colour)+{+   self->SetBackgroundColour(*colour);+}++EWXWEXPORT(void,wxTextAttr_SetFont)(wxTextAttr* self,wxFont* font)+{+   self->SetFont(*font);+}++/*------------------------------------------------------------------------------+  progress dialog+------------------------------------------------------------------------------*/+EWXWEXPORT(wxProgressDialog*,wxProgressDialog_Create)(wxString* title,wxString* message,int max,wxWindow* parent,int style)+{+  return new wxProgressDialog( *title, *message, max, parent, style );+}++EWXWEXPORT(bool,wxProgressDialog_Update)(wxProgressDialog* self,int value)+{+  return self->Update(value);+}++EWXWEXPORT(bool,wxProgressDialog_UpdateWithMessage)(wxProgressDialog* self,int value,wxString* message)+{+  return self->Update(value,*message);+}++EWXWEXPORT(void,wxProgressDialog_Resume)(wxProgressDialog* self)+{+  self->Resume();+}+++/*------------------------------------------------------------------------------+  standard dialogs+------------------------------------------------------------------------------*/+EWXWEXPORT(void,wxGetColourFromUser)(wxWindow* parent,wxColour* colInit,wxColour* colour)+{+  *colour = wxGetColourFromUser(parent, *colInit);+}++EWXWEXPORT(void,wxGetFontFromUser)(wxWindow* parent,wxFont* fontInit,wxFont* font)+{+  *font = wxGetFontFromUser(parent, *fontInit);+}++EWXWEXPORT(int, wxGetPasswordFromUser)(wxChar* message, wxChar* caption, wxChar* defaultText, wxWindow* parent, wxChar* _buf )+{+/* we use a complicated caching method as we don't want to call getpassword twice :-) */+  static wxChar* resultBuffer = NULL;+  if (_buf==NULL) {+    if (resultBuffer) { free(resultBuffer); resultBuffer = NULL; }+    wxString result = wxGetPasswordFromUser( message, caption, defaultText, parent );+    resultBuffer = (wxChar*)malloc( (result.Length() + 1) * sizeof(wxChar) );+    if (resultBuffer) {+      wxStrcpy( resultBuffer, result.c_str() ); /* save result */+      return result.Length();+    }+    else {+      return 0;+    }+  }+  else if (resultBuffer) {+    int len = wxStrlen(resultBuffer);+    memcpy(_buf, resultBuffer, len * sizeof(wxChar) );  /* copy saved result */+    free(resultBuffer);+    resultBuffer = NULL;+    return len;+  }+  else {+    return 0;+  }+}++EWXWEXPORT(int, wxGetTextFromUser)(wxChar* message, wxChar* caption, wxChar* defaultText, wxWindow* parent, int x, int y, int center, wxChar* _buf )+{+/* we use a complicated caching method as we don't want to call gettext twice :-) */+  static wxChar* resultBuffer = NULL;+  if (_buf==NULL) {+    if (resultBuffer) { free(resultBuffer); resultBuffer = NULL; }+    wxString result = wxGetTextFromUser( message, caption, defaultText, parent, x, y, center!=0 );+    resultBuffer = (wxChar*)malloc( (result.Length() + 1) * sizeof(wxChar) );+    if (resultBuffer) {+      wxStrcpy( resultBuffer, result.c_str() ); /* save result */+      return result.Length();+    }+    else {+      return 0;+    }+  }+  else if (resultBuffer) {+    int len = wxStrlen(resultBuffer);+    memcpy(_buf, resultBuffer, len * sizeof(wxChar) );  /* copy saved result */+    free(resultBuffer);+    resultBuffer = NULL;+    return len;+  }+  else {+    return 0;+  }+}++EWXWEXPORT(long,wxGetNumberFromUser)(wxString* message,wxString* prompt,wxString* caption,long value,long min,long max,wxWindow* parent,int x,int y)+{+  return wxGetNumberFromUser(*message, *prompt, *caption, value, min, max, parent, wxPoint(x, y) );+}++EWXWEXPORT(void,wxcBell)(void)+{+  wxBell();+}++EWXWEXPORT(void,wxcBeginBusyCursor)(void)+{+  wxBeginBusyCursor();+}++EWXWEXPORT(int,wxcIsBusy)(void)+{+  return (wxIsBusy());+}++EWXWEXPORT(void,wxcEndBusyCursor)(void)+{+  wxEndBusyCursor();+}++/*-----------------------------------------------------------------------------+  wxInputSink+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxInputSink*,wxInputSink_Create)(wxInputStream* input,wxEvtHandler* evtHandler,int bufferLen)+{+  return new wxInputSink(input,evtHandler,bufferLen);+}++EWXWEXPORT(int,wxInputSink_GetId)(wxInputSink* self)+{+  return self->GetId();+}++EWXWEXPORT(void,wxInputSink_Start)(wxInputSink* self)+{+  self->Start();+}+++EWXWEXPORT(int,wxInputSinkEvent_LastError)(wxInputSinkEvent* self)+{+  return self->LastError();+}++EWXWEXPORT(int,wxInputSinkEvent_LastRead)(wxInputSinkEvent* self)+{+  return self->LastRead();+}++EWXWEXPORT(char*,wxInputSinkEvent_LastInput)(wxInputSinkEvent* self)+{+  return self->LastInput();+}+++/*-----------------------------------------------------------------------------+  html window+-----------------------------------------------------------------------------*/+EWXWEXPORT(void*,wxcHtmlEvent_GetMouseEvent)(wxcHtmlEvent* self)+{+    return (void*)(self->GetMouseEvent());+}++EWXWEXPORT(void*,wxcHtmlEvent_GetHtmlCell)(wxcHtmlEvent* self)+{+    return (void*)(self->GetHtmlCell());+}++EWXWEXPORT(wxString*,wxcHtmlEvent_GetHtmlCellId)(wxcHtmlEvent* self)+{+    return self->GetHtmlCellId();+}++EWXWEXPORT(wxString*,wxcHtmlEvent_GetHref)(wxcHtmlEvent* self)+{+    return self->GetHref();+}++EWXWEXPORT(wxString*,wxcHtmlEvent_GetTarget)(wxcHtmlEvent* self)+{+    return self->GetTarget();+}++EWXWEXPORT(wxPoint*,wxcHtmlEvent_GetLogicalPosition)(wxcHtmlEvent* self)+{+	wxPoint* pt = new wxPoint();+	*pt = self->GetLogicalPosition();+	return pt;+}+++/*-----------------------------------------------------------------------------+  html window+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxHtmlWindow*,wxHtmlWindow_Create)(wxWindow* _prt,int _id,int _lft,int _top,int _wdt,int _hgt,long _stl, wxString* _txt)+{+    return new wxHtmlWindow(_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, *_txt );+}++EWXWEXPORT(wxHtmlWindow*, wxcHtmlWindow_Create)(wxWindow* _prt,int _id,int _lft,int _top,int _wdt,int _hgt,long _stl, wxString* _txt)+{+    return new wxcHtmlWindow(_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, *_txt );+}+++EWXWEXPORT(bool,wxHtmlWindow_AppendToPage)(wxHtmlWindow* self,wxString* source)+{+    return self->AppendToPage(*source);+}++EWXWEXPORT(void*,wxHtmlWindow_GetInternalRepresentation)(wxHtmlWindow* self)+{+    return (void*)self->GetInternalRepresentation();+}++EWXWEXPORT(wxString*,wxHtmlWindow_GetOpenedAnchor)(wxHtmlWindow* self)+{+	wxString *result = new wxString();+	*result = self->GetOpenedAnchor();+	return result;+}++EWXWEXPORT(wxString*,wxHtmlWindow_GetOpenedPage)(wxHtmlWindow* self)+{+	wxString *result = new wxString();+	*result = self->GetOpenedPage();+	return result;+}++EWXWEXPORT(wxString*,wxHtmlWindow_GetOpenedPageTitle)(wxHtmlWindow* self)+{+	wxString *result = new wxString();+	*result = self->GetOpenedPageTitle();+	return result;+}+++EWXWEXPORT(void*,wxHtmlWindow_GetRelatedFrame)(wxHtmlWindow* self)+{+    return (void*)self->GetRelatedFrame(   );+}++EWXWEXPORT(bool,wxHtmlWindow_HistoryBack)(wxHtmlWindow* self)+{+    return self->HistoryBack();+}++EWXWEXPORT(bool,wxHtmlWindow_HistoryCanBack)(wxHtmlWindow* self)+{+    return self->HistoryCanBack();+}++EWXWEXPORT(bool,wxHtmlWindow_HistoryCanForward)(wxHtmlWindow* self)+{+    return self->HistoryCanForward();+}++EWXWEXPORT(void,wxHtmlWindow_HistoryClear)(wxHtmlWindow* self)+{+    self->HistoryClear(   );+}++EWXWEXPORT(bool,wxHtmlWindow_HistoryForward)(wxHtmlWindow* self)+{+    return self->HistoryForward();+}++EWXWEXPORT(bool,wxHtmlWindow_LoadPage)(wxHtmlWindow* self,wxString* location)+{+    return self->LoadPage(*location );+}+++EWXWEXPORT(void,wxHtmlWindow_ReadCustomization)(wxHtmlWindow* self,wxConfigBase* cfg,wxString* path)+{+    self->ReadCustomization(  cfg,*path );+}++EWXWEXPORT(void,wxHtmlWindow_SetBorders)(wxHtmlWindow* self,int b)+{+    self->SetBorders( b );+}++EWXWEXPORT(void,wxHtmlWindow_SetFonts)(wxHtmlWindow* self,wxString* normal_face,wxString* fixed_face,int* sizes)+{+    self->SetFonts(*normal_face,*fixed_face, sizes );+}++EWXWEXPORT(int,wxHtmlWindow_SetPage)(wxHtmlWindow* self,wxString* source)+{+    return self->SetPage( *source );+}++EWXWEXPORT(void,wxHtmlWindow_SetRelatedFrame)(wxHtmlWindow* self,wxFrame* frame,wxString* format)+{+    self->SetRelatedFrame(frame,*format);+}++EWXWEXPORT(void,wxHtmlWindow_SetRelatedStatusBar)(wxHtmlWindow* self,int bar)+{+    self->SetRelatedStatusBar(bar);+}++EWXWEXPORT(void,wxHtmlWindow_WriteCustomization)(wxHtmlWindow* self,wxConfigBase* cfg,wxString* path)+{+    self->WriteCustomization(cfg,*path );+}++/*-----------------------------------------------------------------------------+  LOGGER+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxLogStderr*,wxLogStderr_Create)()+{+	return new wxLogStderr();+}++EWXWEXPORT(wxLogStderr*,wxLogStderr_CreateStdOut)()+{+	return new wxLogStderr(stdout);+}++EWXWEXPORT(wxLogNull*,wxLogNull_Create)()+{+	return new wxLogNull();+}++EWXWEXPORT(wxLogTextCtrl*,wxLogTextCtrl_Create)(wxTextCtrl* text)+{+	return new wxLogTextCtrl(text);+}++EWXWEXPORT(wxLogWindow*,wxLogWindow_Create)(wxFrame* parent,wxString* title,bool showit,bool passthrough)+{+	return new wxLogWindow(parent,*title,showit,passthrough);+}++EWXWEXPORT(wxFrame*,wxLogWindow_GetFrame)(wxLogWindow* self)+{+	return self->GetFrame();+}++EWXWEXPORT(void,wxLog_Delete)(wxLog* self)+{+	delete self;+}++EWXWEXPORT(void,wxLog_OnLog)(wxLog* self,int level,void* szString,int t)+{+	self->OnLog((wxLogLevel)level, (const wxChar*)szString, (time_t)t);+}++EWXWEXPORT(void,wxLog_Flush)(wxLog* self)+{+	self->Flush();+}++EWXWEXPORT(bool,wxLog_HasPendingMessages)(wxLog* self)+{+	return self->HasPendingMessages();+}++EWXWEXPORT(void,wxLog_FlushActive)(wxLog* self)+{+	self->FlushActive();+}++EWXWEXPORT(void*,wxLog_GetActiveTarget)()+{+	return (void*)wxLog::GetActiveTarget();+}++EWXWEXPORT(void*,wxLog_SetActiveTarget)(wxLog* pLogger)+{+	return (void*)wxLog::SetActiveTarget(pLogger);+}++EWXWEXPORT(void,wxLog_Suspend)(wxLog* self)+{+	self->Suspend();+}++EWXWEXPORT(void,wxLog_Resume)(wxLog* self)+{+	self->Resume();+}++EWXWEXPORT(void,wxLog_SetVerbose)(wxLog* self,bool bVerbose)+{+	self->SetVerbose(bVerbose);+}++EWXWEXPORT(void,wxLog_DontCreateOnDemand)(wxLog* self)+{+	self->DontCreateOnDemand();+}++EWXWEXPORT(void,wxLog_SetTraceMask)(wxLog* self,int ulMask)+{+	self->SetTraceMask((wxTraceMask)ulMask);+}++EWXWEXPORT(void,wxLog_AddTraceMask)(wxLog* self,void* str)+{+	self->AddTraceMask((const wxChar*)str);+}++EWXWEXPORT(void,wxLog_RemoveTraceMask)(wxLog* self,void* str)+{+	self->RemoveTraceMask((const wxChar*)str);+}++EWXWEXPORT(void,wxLog_SetTimestamp)(wxLog* self,void* ts)+{+	self->SetTimestamp((const wxChar*)ts);+}++EWXWEXPORT(bool,wxLog_GetVerbose)(wxLog* self)+{+	return self->GetVerbose();+}++EWXWEXPORT(int,wxLog_GetTraceMask)(wxLog* self)+{+	return (int)self->GetTraceMask();+}++EWXWEXPORT(bool,wxLog_IsAllowedTraceMask)(wxLog* self,void* mask)+{+	return self->IsAllowedTraceMask((const wxChar*)mask);+}++EWXWEXPORT(void*,wxLog_GetTimestamp)(wxLog* self)+{+# if (wxVERSION_NUMBER >= 2900)+  return (void*)wxStrdup((self->GetTimestamp()).wchar_str());+#else+  return (void*)wxStrdup(self->GetTimestamp());+#endif+}+++EWXWEXPORT(void,LogError)(wxString* _msg)+{+	wxLogError(*_msg);+}++EWXWEXPORT(void,LogFatalError)(wxString* _msg)+{+	wxLogFatalError(*_msg);+}++EWXWEXPORT(void,LogWarning)(wxString* _msg)+{+	wxLogWarning(*_msg);+}++EWXWEXPORT(void,LogMessage)(wxString* _msg)+{+	wxLogMessage(*_msg);+}++EWXWEXPORT(void,LogVerbose)(wxString* _msg)+{+	wxLogVerbose(*_msg);+}++EWXWEXPORT(void,LogStatus)(wxString* _msg)+{+	wxLogStatus(*_msg);+}++EWXWEXPORT(void,LogSysError)(wxString* _msg)+{+	wxLogSysError(*_msg);+}++EWXWEXPORT(void,LogDebug)(wxString* _msg)+{+	wxLogDebug(*_msg);+}++EWXWEXPORT(void,LogTrace)(wxString* mask,wxString* _msg)+{+	wxLogTrace(*mask,*_msg);+}++/*-----------------------------------------------------------------------------+  Grid text editor+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxGridCellTextEnterEditor*,wxGridCellTextEnterEditor_Ctor)()+{+	return new wxGridCellTextEnterEditor();+}++/*-----------------------------------------------------------------------------+  ConfigBase+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxConfigBase*,wxConfigBase_Get)()+{+	return wxConfigBase::Get();+}++EWXWEXPORT(void,wxConfigBase_Set)(wxConfigBase* self)+{+	wxConfigBase::Set( self );+}++EWXWEXPORT(wxFileConfig*,wxFileConfig_Create)(wxInputStream* inp)+{+	return new wxFileConfig( *inp );+}++/*-----------------------------------------------------------------------------+  PropertyGrid+-----------------------------------------------------------------------------*/+EWXWEXPORT(void*,wxPropertyGrid_Append)(wxPropertyGrid* self, wxPGProperty * property)+{+        return (void*) self->Append(property);+}++EWXWEXPORT(void*,wxPropertyGrid_Create)(wxWindow* _prt,int _id, int _lft,int _top,int _wdt,int _hgt,int _stl)+{+        return (void*) new wxPropertyGrid (_prt, _id,wxPoint(_lft, _top),wxSize(_wdt, _hgt), _stl);+}++EWXWEXPORT(bool,wxPropertyGrid_DisableProperty)(wxPropertyGrid* self, wxString const * propName)+{+        return self->DisableProperty(*propName);+}++/*-----------------------------------------------------------------------------+  wxPropertyGridEvent +  Defined within eljevent.cpp+-----------------------------------------------------------------------------*/++/*-----------------------------------------------------------------------------+  PGProperty+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxString*,wxPGProperty_GetLabel)(wxPGProperty* self)+{+        wxString *result = new wxString();+        *result = self->GetLabel();+        return result;+}++EWXWEXPORT(wxString*,wxPGProperty_GetName)(wxPGProperty* self)+{+        wxString *result = new wxString();+        *result = self->GetName();+        return result;+}++EWXWEXPORT(wxString*,wxPGProperty_GetValueAsString)(wxPGProperty* self)+{+        wxString *result = new wxString();+        *result = self->GetValueAsString();+        return result;+}++EWXWEXPORT(wxString*,wxPGProperty_GetValueType)(wxPGProperty* self)+{+        wxString *result = new wxString();+        *result = self->GetValueType();+        return result;+}++EWXWEXPORT(void,wxPGProperty_SetHelpString)(wxPGProperty* self, wxString const* helpString)+{+        self->SetHelpString(*helpString);+}++/*-----------------------------------------------------------------------------+  wxStringProperty+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxStringProperty*,wxStringProperty_Create)(wxString const* label, wxString const* name, wxString const* value)+{+        return new wxStringProperty(*label, *name, *value);+}++/*-----------------------------------------------------------------------------+  wxIntProperty+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxIntProperty*,wxIntProperty_Create)(wxString const* label, wxString const* name, int value)+{+        return new wxIntProperty(*label, *name, value);+}++/*-----------------------------------------------------------------------------+  wxBoolProperty+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxBoolProperty*,wxBoolProperty_Create)(wxString const* label, wxString const* name, bool value)+{+        return new wxBoolProperty(*label, *name, value);+}++/*-----------------------------------------------------------------------------+  wxFloatProperty+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxFloatProperty*,wxFloatProperty_Create)(wxString const* label, wxString const* name, float value)+{+        return new wxFloatProperty(*label, *name, value);+}++/*-----------------------------------------------------------------------------+  wxDateProperty+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxDateProperty*,wxDateProperty_Create)(wxString const* label, wxString const* name, wxDateTime const* value)+{+        return new wxDateProperty(*label, *name, *value);+}++/*-----------------------------------------------------------------------------+  wxFileProperty+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxFileProperty*,wxFileProperty_Create)(wxString const* label, wxString const* name, wxString const* value)+{+        return new wxFileProperty(*label, *name, *value);+}++/*-----------------------------------------------------------------------------+  wxPropertyCategory+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxPropertyCategory*,wxPropertyCategory_Create)(wxString const* label)+{+        return new wxPropertyCategory(*label);+}++} /* extern "C" */
+ src/cpp/glcanvas.cpp view
@@ -0,0 +1,130 @@+#include "wrapper.h"
+#include "wx/glcanvas.h"
+
+/*-----------------------------------------------------------------------------
+  We want to include the function signatures always -- even on 
+  systems that don't support openGL. This means that every function body is
+  surrounded by #ifdef wxUSE_GLCANVAS directives :-(
+-----------------------------------------------------------------------------*/
+#if defined(wxUSE_GLCANVAS) && (wxUSE_GLCANVAS==0)
+# undef wxUSE_GLCANVAS
+#endif
+
+#if defined(wxcREFUSE_OPENGL)
+# undef wxUSE_GLCANVAS
+#endif
+
+#ifndef wxUSE_GLCANVAS
+# define wxGLCanvas      void
+#endif
+
+extern "C" {
+
+/*-----------------------------------------------------------------------------
+  GLCanvas
+-----------------------------------------------------------------------------*/
+EWXWEXPORT(wxGLCanvas*,wxGLCanvas_Create)(wxWindow* parent,
+					  int windowID,
+					  int* attributes,
+					  int x, int y, int w, int h, // TRect
+					  int style,
+					  wxString* title, 
+					  wxPalette* palette )  
+{
+#ifdef wxUSE_GLCANVAS 
+  return new wxGLCanvas( parent, windowID, attributes, wxPoint(x,y), wxSize(w,h), style,
+			(title ? *title : wxString(wxT("GLCanvas"))), 
+			(palette ? *palette : wxNullPalette));
+#else
+  return NULL;
+#endif
+}
+
+  EWXWEXPORT(bool,wxGLCanvas_SetCurrent)(wxGLCanvas* self, wxGLContext* ctxt)  
+{
+#ifdef wxUSE_GLCANVAS 
+  if (ctxt == NULL)
+    return false;
+  else
+    return self->SetCurrent(*ctxt);
+#else
+  return false; 
+#endif
+}
+
+EWXWEXPORT(bool,wxGLCanvas_SetColour)(wxGLCanvas* self, wxColour* colour)  
+{
+#ifdef wxUSE_GLCANVAS 
+  wxString name = wxTheColourDatabase->FindName( *colour );
+  if (name.IsEmpty()) 
+    return self->SetColour(wxString(wxT("WHITE")));
+  else
+    return self->SetColour(name);
+#else
+  return false;
+#endif
+}
+
+EWXWEXPORT(bool,wxGLCanvas_SwapBuffers)(wxGLCanvas* self)  
+{
+#ifdef wxUSE_GLCANVAS 
+  return self->SwapBuffers();
+#else
+  return false;
+#endif
+}
+
+EWXWEXPORT(bool,wxGLCanvas_IsDisplaySupported)(int* attributes)
+{
+#ifdef wxUSE_GLCANVAS
+  return wxGLCanvas::IsDisplaySupported(attributes);
+#else
+  return false;
+#endif
+}
+
+EWXWEXPORT(bool,wxGLCanvas_IsExtensionSupported(wxString* extension))
+{
+#ifdef wxUSE_GLCANVAS
+  const char* str = (const char*) extension->c_str();
+  if (str != NULL) {
+    bool retval = wxGLCanvas::IsExtensionSupported(str);
+    delete str;
+    return retval;
+  }
+  else
+    return false;
+#else
+  return false;
+#endif
+}
+
+EWXWEXPORT(wxGLContext*,wxGLContext_Create(wxGLCanvas* win, wxGLContext* other))
+{
+#ifdef wxUSE_GLCANVAS
+  return new wxGLContext(win, other);
+#endif
+}
+
+EWXWEXPORT(wxGLContext*,wxGLContext_CreateFromNull(wxGLCanvas* win))
+{
+#ifdef wxUSE_GLCANVAS
+  return new wxGLContext(win);
+#endif
+}
+
+EWXWEXPORT(bool,wxGLContext_SetCurrent(wxGLContext* self, wxGLCanvas* win))
+{
+#ifdef wxUSE_GLCANVAS
+  if (win == NULL)
+    return false;
+  else
+    return self->SetCurrent(*win);
+#else
+  return false;
+#endif
+}
+
+}
+
+
+ src/cpp/graphicscontext.cpp view
@@ -0,0 +1,948 @@+#include "wrapper.h"++/* testing */+// #define wxUSE_GRAPHICS_CONTEXT 0++/*-----------------------------------------------------------------------------+  We want to include the function signatures always -- even on +  systems that don't support wxGraphicsContext. This means that every function body is+  surrounded by #ifdef wxUSE_GRAPHICS_CONTEXT directives :-(+-----------------------------------------------------------------------------*/++#if defined(wxUSE_GRAPHICS_CONTEXT) && (wxUSE_GRAPHICS_CONTEXT==0)+# undef wxUSE_GRAPHICS_CONTEXT+#endif++#ifdef wxUSE_GRAPHICS_CONTEXT+#include "wx/graphics.h"+#endif++#ifndef wxUSE_GRAPHICS_CONTEXT+# define wxPoint2DDouble        void+# define wxGraphicsBrush        void+# define wxGraphicsContext      void+# define wxGraphicsFont         void+# define wxGraphicsMatrix       void+# define wxGraphicsObject       void+# define wxGraphicsPath         void+# define wxGraphicsPen          void+# define wxGraphicsRenderer     void+#endif++extern "C" {++/*-----------------------------------------------------------------------------+  GraphicsContext+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxGraphicsContext*,wxGraphicsContext_Create)( const wxWindowDC* dc )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return wxGraphicsContext::Create(*dc);+#else+  return NULL;+#endif+}++EWXWEXPORT(wxGraphicsContext*,wxGraphicsContext_CreateFromWindow)( wxWindow* window )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return wxGraphicsContext::Create(window);+#else+  return NULL;+#endif+}++EWXWEXPORT(wxGraphicsContext*,wxGraphicsContext_CreateFromNative)( void * context )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return wxGraphicsContext::CreateFromNative(context);+#else+  return NULL;+#endif+}++EWXWEXPORT(wxGraphicsContext*,wxGraphicsContext_CreateFromNativeWindow)( void * window )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return wxGraphicsContext::CreateFromNativeWindow(window);+#else+  return NULL;+#endif+}++EWXWEXPORT(void,wxGraphicsContext_Delete)(wxGraphicsContext* self)  +{+#ifdef wxUSE_GRAPHICS_CONTEXT+  if (self) delete self;+#endif+}++/*+EWXWEXPORT(wxGraphicsPen*,wxGraphicsContext_CreatePen)( wxGraphicsContext* self, const wxPen& pen )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->CreatePen(pen);+#else+  return NULL;+#endif+}++EWXWEXPORT(wxGraphicsBrush*,wxGraphicsContext_CreateBrush)( wxGraphicsContext* self, const wxBrush& brush )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->CreateBrush(brush);+#else+  return NULL;+#endif+}++EWXWEXPORT(wxGraphicsBrush*,wxGraphicsContext_CreateRadialGradientBrush)( wxGraphicsContext* self,+                                                                          wxDouble xo, wxDouble yo, wxDouble xc, wxDouble yc+                                                                          wxDouble radius,+                                                                          const wxColour& oColor, const wxColour& cColor )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->CreateRadialGradientBrush(xo, yo, xc, yc, radius, oColor, cColor);+#else+  return NULL;+#endif+}++EWXWEXPORT(wxGraphicsBrush*,wxGraphicsContext_CreateLinearGradientBrush)( wxGraphicsContext* self,+                                                                          wxDouble x1, wxDouble y1,+                                                                          wxDouble x2, wxDouble y2,+                                                                          const wxColour& c1, const wxColour& c2 )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->CreateRadialGradientBrush(x1, y1, x2, y2, c1, c2);+#else+  return NULL;+#endif+}++EWXWEXPORT(wxGraphicsFont*,wxGraphicsContext_CreateFont)( wxGraphicsContext* self, const wxFont& font )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->CreateFont(font);+#else+  return NULL;+#endif+}++EWXWEXPORT(wxGraphicsFont*,wxGraphicsContext_CreateFontWithColour)( wxGraphicsContext* self,+                                                                    const wxFont& font, const wxColour& col  )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->CreateFont(font, col);+#else+  return NULL;+#endif+}++EWXWEXPORT(wxGraphicsMatrix*,wxGraphicsContext_CreateMatrix)( wxGraphicsContext* self,+                                                              wxDouble a, wxDouble b, wxDouble c, wxDouble d,+                                                              wxDouble tx , wxDouble ty )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->CreateMatrix(a, b, c, d, tx, ty);+#else+  return NULL;+#endif+}++EWXWEXPORT(wxGraphicsMatrix*,wxGraphicsContext_CreateDefaultMatrix)( wxGraphicsContext* self )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->CreateMatrix(1.0, 0.0, 0.0, 1.0, 0.0, 0.0);+#else+  return NULL;+#endif+}++EWXWEXPORT(wxGraphicsPath*,wxGraphicsContext_CreatePath)( wxGraphicsContext* self )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->CreatePath();+#else+  return NULL;+#endif+}+*/++EWXWEXPORT(void,wxGraphicsContext_Clip)( wxGraphicsContext* self, const wxRegion* region )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->Clip(*region);+#endif+}++EWXWEXPORT(void,wxGraphicsContext_ClipByRectangle)( wxGraphicsContext* self, wxDouble x, wxDouble y, wxDouble w, wxDouble h )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->Clip(x, y, w, h);+#endif+}++EWXWEXPORT(void,wxGraphicsContext_ResetClip)( wxGraphicsContext* self )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->ResetClip();+#endif+}++EWXWEXPORT(void,wxGraphicsContext_DrawBitmap)( wxGraphicsContext* self, const wxBitmap* bmp,+                                               wxDouble x, wxDouble y, wxDouble w, wxDouble h )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->DrawBitmap(*bmp, x, y, w, h);+#endif+}++EWXWEXPORT(void,wxGraphicsContext_DrawEllipse)( wxGraphicsContext* self,+                                                wxDouble x, wxDouble y, wxDouble w, wxDouble h )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->DrawEllipse(x, y, w, h);+#endif+}++EWXWEXPORT(void,wxGraphicsContext_DrawIcon)( wxGraphicsContext* self, const wxIcon* icon,+                                             wxDouble x, wxDouble y, wxDouble w, wxDouble h )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->DrawIcon(*icon, x, y, w, h);+#endif+}++EWXWEXPORT(void,wxGraphicsContext_DrawLines)( wxGraphicsContext* self, size_t n,+                                              wxDouble* x, wxDouble* y, wxPolygonFillMode fillStyle )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  wxPoint2DDouble* points = (wxPoint2DDouble*)malloc (n * sizeof(wxPoint2DDouble));++  for (size_t i = 0; i < n; i++)+    points[i] = wxPoint2DDouble(x[i], y[i]);++  #if (wxVERSION_NUMBER >= 2900)+      wxPolygonFillMode pfm_fillStyle = (wxPolygonFillMode) fillStyle;+  #else+      int pfm_fillStyle = fillStyle;+  #endif++  self->DrawLines(n, points, pfm_fillStyle);++  free (points);+#endif+}++EWXWEXPORT(void,wxGraphicsContext_DrawPath)( wxGraphicsContext* self,+                                             const wxGraphicsPath* path, wxPolygonFillMode fillStyle )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  #if (wxVERSION_NUMBER >= 2900)+      wxPolygonFillMode pfm_fillStyle = (wxPolygonFillMode) fillStyle;+  #else+      int pfm_fillStyle = fillStyle;+  #endif++  self->DrawPath(*path, pfm_fillStyle);+#endif+}++EWXWEXPORT(void,wxGraphicsContext_DrawRectangle)( wxGraphicsContext* self,+                                                  wxDouble x, wxDouble y, wxDouble w, wxDouble h )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->DrawRectangle(x, y, w, h);+#endif+}++EWXWEXPORT(void,wxGraphicsContext_DrawRoundedRectangle)( wxGraphicsContext* self,+                                                         wxDouble x, wxDouble y, wxDouble w, wxDouble h,+                                                         wxDouble radius )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->DrawRoundedRectangle(x, y, w, h, radius);+#endif+}++EWXWEXPORT(void,wxGraphicsContext_DrawText)( wxGraphicsContext* self,+                                             const wxString* str, wxDouble x, wxDouble y )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->DrawText((str ? *str : wxString(wxT(""))), x, y);+#endif+}++EWXWEXPORT(void,wxGraphicsContext_DrawTextWithAngle)( wxGraphicsContext* self,+                                                      const wxString* str, wxDouble x, wxDouble y, wxDouble angle)+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->DrawText((str ? *str : wxString(wxT(""))), x, y, angle);+#endif+}++EWXWEXPORT(void,wxGraphicsContext_FillPath)( wxGraphicsContext* self,+                                             const wxGraphicsPath* path, wxPolygonFillMode fillStyle )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  #if (wxVERSION_NUMBER >= 2900)+      wxPolygonFillMode pfm_fillStyle = (wxPolygonFillMode) fillStyle;+  #else+      int pfm_fillStyle = fillStyle;+  #endif++  self->FillPath(*path, pfm_fillStyle);+#endif+}++EWXWEXPORT(void,wxGraphicsContext_StrokePath)( wxGraphicsContext* self, const wxGraphicsPath* path )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->StrokePath(*path);+#endif+}++EWXWEXPORT(void*,wxGraphicsContext_GetNativeContext)( wxGraphicsContext* self )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->GetNativeContext();+#else+  return NULL;+#endif+}++/*+TODO: Implement wrapper function of wxGraphicsContext::GetPartialTextExtents.+*/++EWXWEXPORT(void,wxGraphicsContext_GetTextExtent)( wxGraphicsContext* self, const wxString* text,+                                                  wxDouble* width, wxDouble* height, wxDouble* descent,+                                                  wxDouble* externalLeading )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->GetTextExtent(*text, width, height, descent, externalLeading);+#endif+}++EWXWEXPORT(void,wxGraphicsContext_Rotate)( wxGraphicsContext* self, wxDouble angle )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->Rotate(angle);+#endif+}++EWXWEXPORT(void,wxGraphicsContext_Scale)( wxGraphicsContext* self, wxDouble xScale, wxDouble yScale )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->Scale(xScale, yScale);+#endif+}++EWXWEXPORT(void,wxGraphicsContext_Translate)( wxGraphicsContext* self, wxDouble dx, wxDouble dy )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->Translate(dx, dy);+#endif+}++/*+EWXWEXPORT(wxGraphicsMatrix,wxGraphicsContext_GetTransform)( wxGraphicsContext* self )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->GetTransform();+#else+  return NULL;+#endif+}+*/++EWXWEXPORT(void,wxGraphicsContext_SetTransform)( wxGraphicsContext* self, const wxGraphicsMatrix* matrix )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->SetTransform(*matrix);+#endif+}++EWXWEXPORT(void,wxGraphicsContext_ConcatTransform)( wxGraphicsContext* self, const wxGraphicsMatrix* matrix )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->ConcatTransform(*matrix);+#endif+}++EWXWEXPORT(void,wxGraphicsContext_SetBrush)( wxGraphicsContext* self, const wxBrush* brush )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->SetBrush(*brush);+#endif+}++EWXWEXPORT(void,wxGraphicsContext_SetGraphicsBrush)( wxGraphicsContext* self, const wxGraphicsBrush* brush )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->SetBrush(*brush);+#endif+}++EWXWEXPORT(void,wxGraphicsContext_SetFont)( wxGraphicsContext* self, const wxFont* font, const wxColour* colour )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->SetFont(*font, *colour);+#endif+}++EWXWEXPORT(void,wxGraphicsContext_SetGraphicsFont)( wxGraphicsContext* self, const wxGraphicsFont* font )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->SetFont(*font);+#endif+}++EWXWEXPORT(void,wxGraphicsContext_SetPen)( wxGraphicsContext* self, const wxPen* pen )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->SetPen(*pen);+#endif+}++EWXWEXPORT(void,wxGraphicsContext_SetGraphicsPen)( wxGraphicsContext* self, const wxGraphicsPen* pen )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->SetPen(*pen);+#endif+}++EWXWEXPORT(void,wxGraphicsContext_StrokeLine)( wxGraphicsContext* self, wxDouble x1, wxDouble y1, wxDouble x2, wxDouble y2 )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->StrokeLine(x1, y1, x2, y2);+#endif+}++EWXWEXPORT(void,wxGraphicsContext_StrokeLines)( wxGraphicsContext* self, size_t n,+                                                wxDouble* x, wxDouble* y, wxPolygonFillMode fillStyle )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  wxPoint2DDouble* points = (wxPoint2DDouble*)malloc (n * sizeof(wxPoint2DDouble));++  for (size_t i = 0; i < n; i++)+    points[i] = wxPoint2DDouble(x[i], y[i]);++  self->StrokeLines(n, points);++  free (points);+#endif+}++EWXWEXPORT(void,wxGraphicsContext_StrokeLinesStartAndEnd)( wxGraphicsContext* self, size_t n,+                                                           const wxPoint2DDouble* beginPoints, const wxPoint2DDouble* endPoints )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->StrokeLines(n, beginPoints, endPoints);+#endif+}++/*-----------------------------------------------------------------------------+  GraphicsObject+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxGraphicsObject*,wxGraphicsObject_Create)( )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return new wxGraphicsObject;+#else+  return NULL;+#endif+}++EWXWEXPORT(void,wxGraphicsObject_Delete)(wxGraphicsObject* self)  +{+#ifdef wxUSE_GRAPHICS_CONTEXT+  if (self) delete self;+#endif+}++EWXWEXPORT(wxGraphicsRenderer*,wxGraphicsObject_GetRenderer)(wxGraphicsObject* self)  +{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->GetRenderer();+#else+  return NULL;+#endif+}++EWXWEXPORT(bool,wxGraphicsObject_IsNull)(wxGraphicsObject* self)  +{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->IsNull();+#else+  return false;+#endif+}++/*-----------------------------------------------------------------------------+  GraphicsBrush+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxGraphicsBrush*,wxGraphicsBrush_Create)( )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return new wxGraphicsBrush;+#else+  return NULL;+#endif+}++EWXWEXPORT(void,wxGraphicsBrush_Delete)(wxGraphicsBrush* self)  +{+#ifdef wxUSE_GRAPHICS_CONTEXT+  if (self) delete self;+#endif+}++/*-----------------------------------------------------------------------------+  GraphicsFont+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxGraphicsFont*,wxGraphicsFont_Create)( )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return new wxGraphicsFont;+#else+  return NULL;+#endif+}++EWXWEXPORT(void,wxGraphicsFont_Delete)(wxGraphicsFont* self)  +{+#ifdef wxUSE_GRAPHICS_CONTEXT+  if (self) delete self;+#endif+}++/*-----------------------------------------------------------------------------+  GraphicsMatrix+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxGraphicsMatrix*,wxGraphicsMatrix_Create)( )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return new wxGraphicsMatrix;+#else+  return NULL;+#endif+}++EWXWEXPORT(void,wxGraphicsMatrix_Delete)(wxGraphicsMatrix* self)  +{+#ifdef wxUSE_GRAPHICS_CONTEXT+  if (self) delete self;+#endif+}++EWXWEXPORT(void,wxGraphicsMatrix_Concat)( wxGraphicsMatrix* self, const wxGraphicsMatrix* matrix )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->Concat(matrix);+#endif+}++EWXWEXPORT(void,wxGraphicsMatrix_Get)( wxGraphicsMatrix* self,+                                       wxDouble* a, wxDouble* b, wxDouble* c, wxDouble* d, wxDouble* tx, wxDouble* ty )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->Get(a, b, c, d, tx, ty);+#endif+}++EWXWEXPORT(void*,wxGraphicsMatrix_GetNativeMatrix)(wxGraphicsMatrix* self)  +{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->GetNativeMatrix();+#else+  return NULL;+#endif+}++EWXWEXPORT(void,wxGraphicsMatrix_Invert)( wxGraphicsMatrix* self )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->Invert();+#endif+}++EWXWEXPORT(bool,wxGraphicsMatrix_IsEqual)( wxGraphicsMatrix* self, const wxGraphicsMatrix* t )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->IsEqual(*t);+#else+  return false;+#endif+}++EWXWEXPORT(bool,wxGraphicsMatrix_IsIdentity)( wxGraphicsMatrix* self )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->IsIdentity();+#else+  return false;+#endif+}++EWXWEXPORT(void,wxGraphicsMatrix_Rotate)( wxGraphicsMatrix* self, wxDouble angle )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->Rotate(angle);+#endif+}++EWXWEXPORT(void,wxGraphicsMatrix_Scale)( wxGraphicsMatrix* self, wxDouble xScale, wxDouble yScale )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->Scale(xScale, yScale);+#endif+}++EWXWEXPORT(void,wxGraphicsMatrix_Translate)( wxGraphicsMatrix* self, wxDouble dx, wxDouble dy )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->Translate(dx, dy);+#endif+}++EWXWEXPORT(void,wxGraphicsMatrix_Set)( wxGraphicsMatrix* self,+                                       wxDouble a, wxDouble b, wxDouble c, wxDouble d, wxDouble tx, wxDouble ty )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->Set(a, b, c, d, tx, ty);+#endif+}++EWXWEXPORT(void,wxGraphicsMatrix_TransformPoint)( wxGraphicsMatrix* self, wxDouble* x, wxDouble* y )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->TransformPoint(x, y);+#endif+}++EWXWEXPORT(void,wxGraphicsMatrix_TransformDistance)( wxGraphicsMatrix* self, wxDouble* dx, wxDouble* dy )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->TransformDistance(dx, dy);+#endif+}++/*-----------------------------------------------------------------------------+  GraphicsPath+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxGraphicsPath*,wxGraphicsPath_Create)( )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return new wxGraphicsPath;+#else+  return NULL;+#endif+}++EWXWEXPORT(void,wxGraphicsPath_Delete)(wxGraphicsPath* self)  +{+#ifdef wxUSE_GRAPHICS_CONTEXT+  if (self) delete self;+#endif+}++EWXWEXPORT(void,wxGraphicsPath_MoveToPoint)( wxGraphicsPath* self, wxDouble x, wxDouble y )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->MoveToPoint(x, y);+#endif+}++EWXWEXPORT(void,wxGraphicsPath_AddArc)( wxGraphicsPath* self, wxDouble x, wxDouble y,+                                        wxDouble r, wxDouble startAngle, wxDouble endAngle, bool clockwise )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->AddArc(x, y, r, startAngle, endAngle, clockwise);+#endif+}++EWXWEXPORT(void,wxGraphicsPath_AddArcToPoint)( wxGraphicsPath* self,+                                               wxDouble x1, wxDouble y1, wxDouble x2, wxDouble y2, wxDouble r )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->AddArcToPoint(x1, y1, x2, y2, r);+#endif+}++EWXWEXPORT(void,wxGraphicsPath_AddCircle)( wxGraphicsPath* self, wxDouble x, wxDouble y, wxDouble r )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->AddCircle(x, y, r);+#endif+}++EWXWEXPORT(void,wxGraphicsPath_AddCurveToPoint)( wxGraphicsPath* self, wxDouble cx1, wxDouble cy1,+                                                 wxDouble cx2, wxDouble cy2, wxDouble x, wxDouble y )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->AddCurveToPoint(cx1, cy1, cx2, cy2, x, y);+#endif+}++EWXWEXPORT(void,wxGraphicsPath_AddEllipse)( wxGraphicsPath* self, wxDouble x, wxDouble y, wxDouble w, wxDouble h )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->AddEllipse(x, y, w, h);+#endif+}++EWXWEXPORT(void,wxGraphicsPath_AddLineToPoint)( wxGraphicsPath* self, wxDouble x, wxDouble y )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->AddLineToPoint(x, y);+#endif+}++EWXWEXPORT(void,wxGraphicsPath_AddPath)( wxGraphicsPath* self, const wxGraphicsPath* path )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->AddPath(*path);+#endif+}++EWXWEXPORT(void,wxGraphicsPath_AddQuadCurveToPoint)( wxGraphicsPath* self,+                                                     wxDouble cx, wxDouble cy, wxDouble x, wxDouble y )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->AddQuadCurveToPoint(cx, cy, x, y);+#endif+}++EWXWEXPORT(void,wxGraphicsPath_AddRectangle)( wxGraphicsPath* self, wxDouble x, wxDouble y, wxDouble w, wxDouble h )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->AddRectangle(x, y, w, h);+#endif+}++EWXWEXPORT(void,wxGraphicsPath_AddRoundedRectangle)( wxGraphicsPath* self, wxDouble x, wxDouble y,+                                                     wxDouble w, wxDouble h, wxDouble radius )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->AddRoundedRectangle(x, y, w, h, radius);+#endif+}++EWXWEXPORT(void,wxGraphicsPath_CloseSubpath)( wxGraphicsPath* self )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->CloseSubpath();+#endif+}++EWXWEXPORT(void,wxGraphicsPath_Contains)( wxGraphicsPath* self, wxDouble x, wxDouble y, wxPolygonFillMode fillStyle )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  #if (wxVERSION_NUMBER >= 2900)+      wxPolygonFillMode pfm_fillStyle = (wxPolygonFillMode) fillStyle;+  #else+      int pfm_fillStyle = fillStyle;+  #endif++  self->Contains(x, y, pfm_fillStyle);+#endif+}++EWXWEXPORT(void,wxGraphicsPath_GetBox)( wxGraphicsPath* self, wxDouble* x, wxDouble* y, wxDouble* w, wxDouble* h )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->GetBox(x, y, w, h);+#endif+}++EWXWEXPORT(void,wxGraphicsPath_GetCurrentPoint)( wxGraphicsPath* self, wxDouble* x, wxDouble* y )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->GetCurrentPoint(x, y);+#endif+}++EWXWEXPORT(void,wxGraphicsPath_Transform)( wxGraphicsPath* self, const wxGraphicsMatrix* matrix )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->Transform(*matrix);+#endif+}++EWXWEXPORT(void*,wxGraphicsPath_GetNativePath)( wxGraphicsPath* self )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->GetNativePath();+#else+  return NULL;+#endif+}++EWXWEXPORT(void,wxGraphicsPath_UnGetNativePath)( wxGraphicsPath* self, void* p )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  self->UnGetNativePath(p);+#endif+}++/*-----------------------------------------------------------------------------+  GraphicsPen+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxGraphicsPen*,wxGraphicsPen_Create)( )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return new wxGraphicsPen;+#else+  return NULL;+#endif+}++EWXWEXPORT(void,wxGraphicsPen_Delete)(wxGraphicsPen* self)  +{+#ifdef wxUSE_GRAPHICS_CONTEXT+  if (self) delete self;+#endif+}++/* We can't create wxGraphicsRenderer by this function.+   Because wxGraphicsRenderer is a abstract class.++EWXWEXPORT(wxGraphicsRenderer*,wxGraphicsRenderer_Create)( )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return new wxGraphicsRenderer;+#else+  return NULL;+#endif+}+*/++EWXWEXPORT(void,wxGraphicsRenderer_Delete)(wxGraphicsRenderer* self)  +{+#ifdef wxUSE_GRAPHICS_CONTEXT+  if (self) delete self;+#endif+}++EWXWEXPORT(wxGraphicsRenderer*,wxGraphicsRenderer_GetDefaultRenderer)( wxGraphicsRenderer* self )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->GetDefaultRenderer();+#else+  return NULL;+#endif+}++EWXWEXPORT(wxGraphicsContext*,wxGraphicsRenderer_CreateContext)( wxGraphicsRenderer* self, const wxWindowDC* dc )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->CreateContext(*dc);+#else+  return NULL;+#endif+}++EWXWEXPORT(wxGraphicsContext*,wxGraphicsRenderer_CreateContextFromWindow)( wxGraphicsRenderer* self, wxWindow* window )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->CreateContext(window);+#else+  return NULL;+#endif+}++EWXWEXPORT(wxGraphicsContext*,wxGraphicsRenderer_CreateContextFromNativeContext)( wxGraphicsRenderer* self, void* context )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->CreateContextFromNativeContext(context);+#else+  return NULL;+#endif+}++EWXWEXPORT(wxGraphicsContext*,wxGraphicsRenderer_CreateContextFromNativeWindow)( wxGraphicsRenderer* self, void* window )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->CreateContextFromNativeWindow(window);+#else+  return NULL;+#endif+}++/*+EWXWEXPORT(wxGraphicsPen,wxGraphicsRenderer_CreatePen)( wxGraphicsRenderer* self, const wxPen* pen )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->CreatePen(*pen);+#else+  return NULL;+#endif+}++EWXWEXPORT(wxGraphicsBrush,wxGraphicsRenderer_CreateBrush)( wxGraphicsRenderer* self, const wxBrush* brush )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->CreateBrush(*brush);+#else+  return NULL;+#endif+}++EWXWEXPORT(wxGraphicsBrush,wxGraphicsRenderer_CreateLinearGradientBrush)( wxGraphicsRenderer* self,+                                                                          wxDouble x1, wxDouble y1, wxDouble x2, wxDouble y2,+                                                                          const wxColour* c1, const wxColour* c2 )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->CreateLinearGradientBrush(x1, y1, x2, y2, *c1, *c2);+#else+  return NULL;+#endif+}++EWXWEXPORT(wxGraphicsBrush,wxGraphicsRenderer_CreateRadialGradientBrush)( wxGraphicsRenderer* self,+                                                                          wxDouble x1, wxDouble y1, wxDouble x2, wxDouble y2,+                                                                          const wxColour* c1, const wxColour* c2 )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->CreateRadialGradientBrush(x1, y1, x2, y2, *c1, *c2);+#else+  return NULL;+#endif+}++EWXWEXPORT(wxGraphicsFont,wxGraphicsRenderer_CreateFont)( wxGraphicsRenderer* self,+                                                          const wxFont* font, const wxColour* col  )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->CreateFont(*font, *col );+#else+  return NULL;+#endif+}++EWXWEXPORT(wxGraphicsMatrix,wxGraphicsRenderer_CreateMatrix)( wxGraphicsRenderer* self,+                                                              wxDouble a, wxDouble b, wxDouble c, wxDouble d,+                                                              wxDouble tx, wxDouble ty )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->CreateMatrix(a, b, c, d, tx, ty);+#else+  return NULL;+#endif+}++EWXWEXPORT(wxGraphicsPath,wxGraphicsRenderer_CreatePath)( wxGraphicsRenderer* self )+{+#ifdef wxUSE_GRAPHICS_CONTEXT+  return self->CreatePath();+#else+  return NULL;+#endif+}+*/++}++
+ src/cpp/image.cpp view
@@ -0,0 +1,231 @@+#include <memory.h>+#include <string.h>++#include "wrapper.h"++extern "C"+{++/* bitmap/image helpers */+EWXWEXPORT(wxBitmap*,wxBitmap_CreateFromImage)(wxImage* image,int depth)+{+  return new wxBitmap(*image,depth);+}+++EWXWEXPORT(wxImage*,wxImage_CreateFromDataEx)(int width,int height,wxUint8* data,bool isStaticData)+{+  return new wxImage(width, height, data, isStaticData);+}+++EWXWEXPORT(void,wxImage_Delete)(wxImage* image)+{+  delete image;+}+++/* colours */+EWXWEXPORT(wxColour*,wxColour_CreateFromInt)(int rgb)+{+  return new wxColour((rgb >> 16) & 0xFF, (rgb >> 8) & 0xFF, rgb & 0xFF);+}++EWXWEXPORT(int,wxColour_GetInt)(wxColour* colour)+{+  int r = colour->Red();+  int g = colour->Green();+  int b = colour->Blue();+  return ((r << 16) | (g << 8) | b);+}++/* basic pixel manipulation */+EWXWEXPORT(void,wxcSetPixelRGB)(wxUint8* buffer,int width,int x,int y,int rgb)+{+  int indexR = 3*(width*y + x);+  buffer[indexR]   = rgb >> 16;+  buffer[indexR+1] = rgb >>  8;+  buffer[indexR+2] = rgb;+}++EWXWEXPORT(int,wxcGetPixelRGB)(wxUint8* buffer,int width,int x,int y)+{+  int indexR = 3*(width*y + x);+  int r,g,b;+  r = buffer[indexR];+  g = buffer[indexR+1];+  b = buffer[indexR+2];+  return ((r << 16) | (g << 8) | b);+}++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);+  int b0  = (rgb0 && 0xFF);+  int start = 3*(width*y+x);+  int i;++  if (rgb0 == rgb1) {+    /* same color */+    for( i=0; i < count*3; i +=3) {+      buffer[start+i]   = r0;+      buffer[start+i+1] = g0;+      buffer[start+i+2] = b0;+    }+  }+  else {+    /* do linear interpolation of the color */+    int r1  = ((rgb1 >> 16) && 0xFF);+    int g1  = ((rgb1 >>  8) && 0xFF);+    int b1  = (rgb1 && 0xFF);++    int rd  = ((r1 - r0) << 16) / (count-1);+    int gd  = ((g1 - g0) << 16) / (count-1);+    int bd  = ((b1 - b0) << 16) / (count-1);++    int r   = r0 << 16;+    int g   = g0 << 16;+    int b   = b0 << 16;++    for( i = 0; i < count*3; i += 3 ) {+      buffer[start+i]   = (r >> 16);+      buffer[start+i+1] = (g >> 16);+      buffer[start+i+2] = (b >> 16);+      r += rd;+      g += gd;+      b += bd;+    }+  }+}++EWXWEXPORT(void,wxcInitPixelsRGB)(wxUint8* buffer,int width,int height,int rgb)+{+  int count        = width*height*3;+  wxUint8 r  = ((rgb >> 16) && 0xFF);+  wxUint8 g  = ((rgb >>  8) && 0xFF);+  wxUint8 b  = rgb && 0xFF;+  int i;++  if (r==g && g==b) {+    for( i=0; i < count; i++ ) {+      buffer[i] = r;+    }+  }+  else {+    for( i=0; i < count; i += 3) {+      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;+    }+  }+}++}
+ src/cpp/managed.cpp view
@@ -0,0 +1,543 @@+#include "wrapper.h"++/* safety */+class wxManagedPtr;+#include "wxc_types.h"+#include "managed.h"+++/*-----------------------------------------------------------------------------+   Managed pointers are pointed to by ForeignPtr's in Haskell.+   They are basically indirections with a finalization+   function.+-----------------------------------------------------------------------------*/+typedef void (_cdecl *Finalizer)(void* ptr);++class wxManagedPtr +{+private:+  void*     ptr;+  Finalizer finalizer;++public:+  wxManagedPtr( void* p, Finalizer f ) +  {+    ptr       = p;+    finalizer = f;+  };++  void* GetPtr() +  {+    return ptr;+  }++  void NoFinalize()+  {+    finalizer = NULL;+  }++  void Finalize()+  {+    if (ptr!=NULL && finalizer!=NULL) {+      finalizer(ptr);+      finalizer = NULL;+    }+  }++  ~wxManagedPtr() +  {+    Finalize();+  };+};++extern "C" {+/*-----------------------------------------------------------------------------+  Operations+-----------------------------------------------------------------------------*/+EWXWEXPORT(void*,wxManagedPtr_GetPtr)(wxManagedPtr* self)+{+  if (self!=NULL) return self->GetPtr();+             else return NULL;+}++EWXWEXPORT(void,wxManagedPtr_NoFinalize)(wxManagedPtr* self)+{+  if (self!=NULL) {+    self->NoFinalize();+  }+}++EWXWEXPORT(void,wxManagedPtr_Finalize)(wxManagedPtr* self)+{+  if (self!=NULL) {+    self->Finalize();+  }+}++EWXWEXPORT(void,wxManagedPtr_Delete)(wxManagedPtr* self)+{+  if (self!=NULL) {+    delete self;+  }+}++static void _cdecl deleteManagedPtr(wxManagedPtr* mp)+{+  if (mp!=NULL) {+    delete mp;+  }+}++EWXWEXPORT(void*,wxManagedPtr_GetDeleteFunction)()+{+  return (void*)&deleteManagedPtr;  +}++++/*-----------------------------------------------------------------------------+  Finalize wxObject+-----------------------------------------------------------------------------*/+static void _cdecl deleteObject( wxObject* obj )+{+  if (obj!=NULL) {+    delete obj;+  }+}++EWXWEXPORT(void,wxObject_SafeDelete)(wxObject* obj)+{+  deleteObject(obj);+}++EWXWEXPORT(wxManagedPtr*,wxManagedPtr_CreateFromObject)(wxObject* ptr)+{+  return new wxManagedPtr( ptr, (Finalizer)&deleteObject );+}++/*-----------------------------------------------------------------------------+  Finalize DateTime+-----------------------------------------------------------------------------*/+static void _cdecl deleteDateTime( wxDateTime* obj )+{+  if (obj!=NULL) {+    delete obj;+  }+}+++EWXWEXPORT(wxManagedPtr*,wxManagedPtr_CreateFromDateTime)(wxDateTime* ptr)+{+  return new wxManagedPtr( ptr, (Finalizer)&deleteDateTime );+}++/*-----------------------------------------------------------------------------+  Finalize wxGridCellCoordsArray+-----------------------------------------------------------------------------*/+static void _cdecl deleteGridCellCoordsArray( wxGridCellCoordsArray* obj )+{+  if (obj!=NULL) {+    delete obj;+  }+}+++EWXWEXPORT(wxManagedPtr*,wxManagedPtr_CreateFromGridCellCoordsArray)(wxGridCellCoordsArray* ptr)+{+  return new wxManagedPtr( ptr, (Finalizer)&deleteGridCellCoordsArray );+}+++/*-----------------------------------------------------------------------------+  Finalize wxBitmap+-----------------------------------------------------------------------------*/+EWXWEXPORT(bool,wxBitmap_IsStatic)(wxBitmap* obj)+{+  static int calls=0; calls++;    /* prevent bug in VisualC 6.0 ? */+  return (obj==&wxNullBitmap || obj==NULL);+}++static void _cdecl deleteBitmap( wxBitmap* obj )+{+  if (!wxBitmap_IsStatic(obj)) {+    delete obj;+  }+}++EWXWEXPORT(void,wxBitmap_SafeDelete)(wxBitmap* obj)+{+  deleteBitmap(obj);+}++EWXWEXPORT(wxManagedPtr*,wxManagedPtr_CreateFromBitmap)(wxBitmap* ptr)+{+  return new wxManagedPtr( ptr, (Finalizer)&deleteBitmap );+}+++/*-----------------------------------------------------------------------------+  Finalize wxIcon+-----------------------------------------------------------------------------*/+EWXWEXPORT(bool,wxIcon_IsStatic)(wxIcon* obj)+{+  static int calls=0; calls++;    /* prevent bug in VisualC 6.0 ? */+  return (obj==NULL || obj==&wxNullIcon);+}++static void _cdecl deleteIcon( wxIcon* obj )+{+  if (!wxIcon_IsStatic(obj)) {+    delete obj;+  }+}++EWXWEXPORT(void,wxIcon_SafeDelete)(wxIcon* obj)+{+  deleteIcon(obj);+}++EWXWEXPORT(wxManagedPtr*,wxManagedPtr_CreateFromIcon)(wxIcon* ptr)+{+  return new wxManagedPtr( ptr, (Finalizer)&deleteIcon );+}+++/*-----------------------------------------------------------------------------+  Finalize wxBrush+-----------------------------------------------------------------------------*/+/* defined as macro to type without casts ... sigh */+/* use indirection array to let wx properly initialize the object pointers */++#define IsStatic(obj,statics) \+  { \+    int i; \+    if (obj==NULL) return true; \+    for( i = 0; statics[i] != NULL; i++ ) \+    { \+      if (*statics[i] == obj) return true; \+    }  \+    return false; \+  }+++#if (wxVERSION_NUMBER < 2800)+static wxBrush* wxNULL_BRUSH = &wxNullBrush;++static wxBrush** staticsBrush[] =+    {&wxNULL_BRUSH+    ,&wxBLUE_BRUSH+    ,&wxGREEN_BRUSH+    ,&wxWHITE_BRUSH+    ,&wxBLACK_BRUSH+    ,&wxGREY_BRUSH+    ,&wxMEDIUM_GREY_BRUSH+    ,&wxLIGHT_GREY_BRUSH+    ,&wxTRANSPARENT_BRUSH+    ,&wxCYAN_BRUSH+    ,&wxRED_BRUSH+    ,NULL+    };+#else+/* VS2005 doesn't allow taking the address of the returned value of +   a function call. The code below ensures that there's actually an+   address assigned in each case.++   Just to compilcate matters, all of the values are now const+   pointers. This is correct, but implies lots of downstream changes+   so (horrible hack) I get rid of the 'constness'...+ */+static wxBrush* wxNULL_BRUSH         = const_cast<wxBrush*>(&wxNullBrush);+static wxBrush* wxcBLUE_BRUSH        = const_cast<wxBrush*>(wxBLUE_BRUSH);+static wxBrush* wxcGREEN_BRUSH       = const_cast<wxBrush*>(wxGREEN_BRUSH);+static wxBrush* wxcWHITE_BRUSH       = const_cast<wxBrush*>(wxWHITE_BRUSH);+static wxBrush* wxcBLACK_BRUSH       = const_cast<wxBrush*>(wxBLACK_BRUSH);+static wxBrush* wxcGREY_BRUSH        = const_cast<wxBrush*>(wxGREY_BRUSH);+static wxBrush* wxcMEDIUM_GREY_BRUSH = const_cast<wxBrush*>(wxMEDIUM_GREY_BRUSH);+static wxBrush* wxcLIGHT_GREY_BRUSH  = const_cast<wxBrush*>(wxLIGHT_GREY_BRUSH);+static wxBrush* wxcTRANSPARENT_BRUSH = const_cast<wxBrush*>(wxTRANSPARENT_BRUSH);+static wxBrush* wxcCYAN_BRUSH        = const_cast<wxBrush*>(wxCYAN_BRUSH);+static wxBrush* wxcRED_BRUSH         = const_cast<wxBrush*>(wxRED_BRUSH);++static wxBrush** staticsBrush[] =+    {&wxNULL_BRUSH+    ,&wxcBLUE_BRUSH+    ,&wxcGREEN_BRUSH+    ,&wxcWHITE_BRUSH+    ,&wxcBLACK_BRUSH+    ,&wxcGREY_BRUSH+    ,&wxcMEDIUM_GREY_BRUSH+    ,&wxcLIGHT_GREY_BRUSH+    ,&wxcTRANSPARENT_BRUSH+    ,&wxcCYAN_BRUSH+    ,&wxcRED_BRUSH+    ,NULL+    };++#endif++EWXWEXPORT(bool,wxBrush_IsStatic)(wxBrush* obj)+{+  IsStatic(obj,staticsBrush);  +}++static void _cdecl deleteBrush( wxBrush* obj )+{+  if (!wxBrush_IsStatic(obj)) {+    delete obj;+  }+}++EWXWEXPORT(void,wxBrush_SafeDelete)(wxBrush* obj)+{+  deleteBrush(obj);+}++EWXWEXPORT(wxManagedPtr*,wxManagedPtr_CreateFromBrush)(wxBrush* ptr)+{+  return new wxManagedPtr( ptr, (Finalizer)&deleteBrush );+}++/*-----------------------------------------------------------------------------+  Finalize wxColour+-----------------------------------------------------------------------------*/+static wxColour* wxNULL_COLOUR = &wxNullColour;++#if (wxVERSION_NUMBER < 2800)+static wxColour** staticsColour[] = +    {&wxNULL_COLOUR+    ,&wxBLACK+    ,&wxWHITE+    ,&wxRED+    ,&wxBLUE+    ,&wxGREEN+    ,&wxCYAN+    ,&wxLIGHT_GREY+    ,NULL+    };+#else+static wxColour* wxcBLACK      = const_cast<wxColour *>(wxBLACK);+static wxColour* wxcWHITE      = const_cast<wxColour *>(wxWHITE);+static wxColour* wxcRED        = const_cast<wxColour *>(wxRED);+static wxColour* wxcBLUE       = const_cast<wxColour *>(wxBLUE);+static wxColour* wxcGREEN      = const_cast<wxColour *>(wxGREEN);+static wxColour* wxcCYAN       = const_cast<wxColour *>(wxCYAN);+static wxColour* wxcLIGHT_GREY = const_cast<wxColour *>(wxLIGHT_GREY);++static wxColour** staticsColour[] = +    {&wxNULL_COLOUR+    ,&wxcBLACK+    ,&wxcWHITE+    ,&wxcRED+    ,&wxcBLUE+    ,&wxcGREEN+    ,&wxcCYAN+    ,&wxcLIGHT_GREY+    ,NULL+    };+#endif++EWXWEXPORT(bool,wxColour_IsStatic)(wxColour* obj)+{+  IsStatic(obj,staticsColour);  +}++static void _cdecl deleteColour( wxColour* obj )+{+  if (!wxColour_IsStatic(obj)) {+    delete obj;+  }+}++EWXWEXPORT(void,wxColour_SafeDelete)(wxColour* obj)+{+  deleteColour(obj);+}++EWXWEXPORT(wxManagedPtr*,wxManagedPtr_CreateFromColour)(wxColour* ptr)+{+  return new wxManagedPtr( ptr, (Finalizer)&deleteColour );+}+++/*-----------------------------------------------------------------------------+  Finalize wxCursor+-----------------------------------------------------------------------------*/+wxCursor*** staticsCursor(void)+{+#if (wxVERSION_NUMBER < 2800)+static wxCursor* wxNULL_CURSOR = &wxNullCursor;++static wxCursor** staticsCursor[] = +    {&wxNULL_CURSOR+    ,&wxSTANDARD_CURSOR+    ,&wxHOURGLASS_CURSOR+    ,&wxCROSS_CURSOR+    ,NULL+    };+#else+static wxCursor* wxNULL_CURSOR       = const_cast<wxCursor *>(&wxNullCursor);+static wxCursor* wxcSTANDARD_CURSOR  = const_cast<wxCursor *>(wxSTANDARD_CURSOR);+static wxCursor* wxcHOURGLASS_CURSOR = const_cast<wxCursor *>(wxHOURGLASS_CURSOR);+//static wxCursor* wxcCROSS_CURSOR     = const_cast<wxCursor *>(wxCROSS_CURSOR);++static wxCursor** staticsCursor[] = +    {&wxNULL_CURSOR+    ,&wxcSTANDARD_CURSOR+    ,&wxcHOURGLASS_CURSOR+     //,&wxcCROSS_CURSOR+    ,NULL+    };+#endif+  return staticsCursor;+}++EWXWEXPORT(bool,wxCursor_IsStatic)(wxCursor* obj)+{+  IsStatic(obj,staticsCursor());  +}++static void _cdecl deleteCursor( wxCursor* obj )+{+  if (!wxCursor_IsStatic(obj)) {+    delete obj;+  }+}++EWXWEXPORT(void,wxCursor_SafeDelete)(wxCursor* obj)+{+  deleteCursor(obj);+}++EWXWEXPORT(wxManagedPtr*,wxManagedPtr_CreateFromCursor)(wxCursor* ptr)+{+  return new wxManagedPtr( ptr, (Finalizer)&deleteCursor );+}+++/*-----------------------------------------------------------------------------+  Finalize wxFont+-----------------------------------------------------------------------------*/++#if (wxVERSION_NUMBER < 2800)+static wxFont* wxNULL_FONT  = &wxNullFont;++static wxFont** staticsFont[] = +    {&wxNULL_FONT+    ,&wxNORMAL_FONT+    ,&wxSMALL_FONT+    ,&wxITALIC_FONT+    ,&wxSWISS_FONT+    ,NULL+    };+#else+static wxFont* wxNULL_FONT    = const_cast<wxFont *>(&wxNullFont);+// static wxFont* wxcNORMAL_FONT = const_cast<wxFont *>(wxNORMAL_FONT);+//static wxFont* wxcSMALL_FONT  = const_cast<wxFont *>(wxSMALL_FONT);+//static wxFont* wxcITALIC_FONT = const_cast<wxFont *>(wxITALIC_FONT);+//static wxFont* wxcSWISS_FONT  = const_cast<wxFont *>(wxSWISS_FONT);++static wxFont** staticsFont[] = +    {&wxNULL_FONT+     //    ,&wxcNORMAL_FONT+     //,&wxcSMALL_FONT+     //,&wxcITALIC_FONT+     //,&wxcSWISS_FONT+    ,NULL+    };+#endif++EWXWEXPORT(bool,wxFont_IsStatic)(wxFont* obj)+{+  IsStatic(obj,staticsFont);  +}++static void _cdecl deleteFont( wxFont* obj )+{+  if (!wxFont_IsStatic(obj)) {+    delete obj;+  }+}++EWXWEXPORT(void,wxFont_SafeDelete)(wxFont* obj)+{+  deleteFont(obj);+}++EWXWEXPORT(wxManagedPtr*,wxManagedPtr_CreateFromFont)(wxFont* ptr)+{+  return new wxManagedPtr( ptr, (Finalizer)&deleteFont );+}+++/*-----------------------------------------------------------------------------+  Finalize wxPen+-----------------------------------------------------------------------------*/+static wxPen* wxNULL_PEN = &wxNullPen;++#if (wxVERSION_NUMBER < 2800)+static wxPen** staticsPen[] = +    {&wxNULL_PEN+    ,&wxRED_PEN+    ,&wxCYAN_PEN+    ,&wxGREEN_PEN+    ,&wxBLACK_PEN+    ,&wxWHITE_PEN+    ,&wxTRANSPARENT_PEN+    ,&wxBLACK_DASHED_PEN+    ,&wxGREY_PEN+    ,&wxMEDIUM_GREY_PEN+    ,&wxLIGHT_GREY_PEN+    ,NULL+    };+#else+static wxPen* wxcRED_PEN          = const_cast<wxPen *>(wxRED_PEN);+static wxPen* wxcCYAN_PEN         = const_cast<wxPen *>(wxCYAN_PEN);+static wxPen* wxcGREEN_PEN        = const_cast<wxPen *>(wxGREEN_PEN);+static wxPen* wxcBLACK_PEN        = const_cast<wxPen *>(wxBLACK_PEN);+static wxPen* wxcWHITE_PEN        = const_cast<wxPen *>(wxWHITE_PEN);+static wxPen* wxcTRANSPARENT_PEN  = const_cast<wxPen *>(wxTRANSPARENT_PEN);+static wxPen* wxcBLACK_DASHED_PEN = const_cast<wxPen *>(wxBLACK_DASHED_PEN);+static wxPen* wxcGREY_PEN         = const_cast<wxPen *>(wxGREY_PEN);+static wxPen* wxcMEDIUM_GREY_PEN  = const_cast<wxPen *>(wxMEDIUM_GREY_PEN);+static wxPen* wxcLIGHT_GREY_PEN   = const_cast<wxPen *>(wxLIGHT_GREY_PEN);++static wxPen** staticsPen[] = +    {&wxNULL_PEN+    ,&wxcRED_PEN+    ,&wxcCYAN_PEN+    ,&wxcGREEN_PEN+    ,&wxcBLACK_PEN+    ,&wxcWHITE_PEN+    ,&wxcTRANSPARENT_PEN+    ,&wxcBLACK_DASHED_PEN+    ,&wxcGREY_PEN+    ,&wxcMEDIUM_GREY_PEN+    ,&wxcLIGHT_GREY_PEN+    ,NULL+    };+#endif++EWXWEXPORT(bool,wxPen_IsStatic)(wxPen* obj)+{+  IsStatic(obj,staticsPen);  +}++static void _cdecl deletePen( wxPen* obj )+{+  if (!wxPen_IsStatic(obj)) {+    delete obj;+  }+}++EWXWEXPORT(void,wxPen_SafeDelete)(wxPen* obj)+{+  deletePen(obj);+}++EWXWEXPORT(wxManagedPtr*,wxManagedPtr_CreateFromPen)(wxPen* ptr)+{+  return new wxManagedPtr( ptr, (Finalizer)&deletePen );+}++/* extern "C" */+}
+ src/cpp/mediactrl.cpp view
@@ -0,0 +1,229 @@+/*==============================================================================+ * mediactrl.cpp+ *+ * C wrapper for wxMediaCtrl+ *+ * (C) 2002-2011 wxEiffel and wxHaskell contributors. See contributors.txt+ * + * Licensed under the wxWidgets library license. see LICENSE.+ * + *==============================================================================*/++#include "wrapper.h"+#ifdef wxUSE_MEDIACTRL+#include "wx/mediactrl.h"+#endif++/*-----------------------------------------------------------------------------+  We want to include the function signatures always -- even on +  systems that don't support MediaCtrl. This means that every function body is+  surrounded by #ifdef wxUSE_MEDIACTRL directives :-(+-----------------------------------------------------------------------------*/+#if defined(wxUSE_MEDIACTRL) && (wxUSE_MEDIACTRL==0)+# undef wxUSE_MEDIACTRL+#endif++#if defined(wxcREFUSE_MEDIACTRL)+# undef wxUSE_MEDIACTRL+#endif++#ifndef wxUSE_MEDIACTRL+# define wxMediaCtrl      void+#endif++#if (wxVERSION_NUMBER <= 2600)+# define wxFileOffset      long+#endif++extern "C" {++////////////////////////////////////////////////////////////////////////////////+// Event Handlers+////////////////////////////////////////////////////////////////////////////////++#ifdef wxUSE_MEDIACTRL+#pragma message "wxWidgets mediacontrol event wrappers generated"+MAKE_EVENT_WRAPPER(EVT_MEDIA_FINISHED)+MAKE_EVENT_WRAPPER(EVT_MEDIA_STOP)+MAKE_EVENT_WRAPPER(EVT_MEDIA_LOADED)+MAKE_EVENT_WRAPPER(EVT_MEDIA_STATECHANGED)+MAKE_EVENT_WRAPPER(EVT_MEDIA_PLAY)+MAKE_EVENT_WRAPPER(EVT_MEDIA_PAUSE)+#endif++////////////////////////////////////////////////////////////////////////////////+// Wrappers+////////////////////////////////////////////////////////////////////////////////++/*-----------------------------------------------------------------------------+  MediaCtrl+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxMediaCtrl*,wxMediaCtrl_Create)( void* parent, int id,+                                             wxString* fileName, int x, int y, int w, int h,+                                             long style, wxString* szBackend, wxString* name)+{+#ifdef wxUSE_MEDIACTRL+  return new wxMediaCtrl((wxWindow*)parent,(wxWindowID)id,+    (fileName ? *fileName : wxString(wxT(""))),+    wxPoint(x,y),wxSize(w,h),style,+    (szBackend ? *szBackend : wxString(wxT(""))), wxDefaultValidator,+    (name ? *name : wxString(wxT("MediaCtrl"))));+#else+  return NULL;+#endif+}++EWXWEXPORT(void,wxMediaCtrl_Delete)(wxMediaCtrl* self)  +{+#ifdef wxUSE_MEDIACTRL+  if (self) delete self;+#endif+}++EWXWEXPORT(wxSize*,wxMediaCtrl_GetBestSize)(wxMediaCtrl* self)+{+#ifdef wxUSE_MEDIACTRL+  wxSize* sz = new wxSize();+  *sz = self->GetBestSize();+  return sz;+#endif+}++EWXWEXPORT(double,wxMediaCtrl_GetPlaybackRate)(wxMediaCtrl* self)+{+#ifdef wxUSE_MEDIACTRL+  return self->GetPlaybackRate();+#else+  return 0;+#endif+}++EWXWEXPORT(double,wxMediaCtrl_GetVolume)(wxMediaCtrl* self)+{+#ifdef wxUSE_MEDIACTRL+  return self->GetVolume();+#else+  return 0;+#endif+}++EWXWEXPORT(int,wxMediaCtrl_GetState)(wxMediaCtrl* self)+{+#ifdef wxUSE_MEDIACTRL+  return self->GetState();+#else+  return 0;+#endif+}++EWXWEXPORT(wxFileOffset,wxMediaCtrl_Length)(wxMediaCtrl* self)+{+#ifdef wxUSE_MEDIACTRL+  return self->Length();+#else+  return 0;+#endif+}++EWXWEXPORT(bool,wxMediaCtrl_Load)(wxMediaCtrl* self, const wxString* fileName)+{+#ifdef wxUSE_MEDIACTRL+  return self->Load(*fileName);+#else+  return false;+#endif+}++EWXWEXPORT(bool,wxMediaCtrl_LoadURI)(wxMediaCtrl* self, const wxString* uri)+{+#ifdef wxUSE_MEDIACTRL+  return self->LoadURI(*uri);+#else+  return false;+#endif+}++EWXWEXPORT(bool,wxMediaCtrl_LoadURIWithProxy)(wxMediaCtrl* self, const wxString* uri, const wxString* proxy)+{+#ifdef wxUSE_MEDIACTRL+  return self->LoadURIWithProxy(*uri, *proxy);+#else+  return false;+#endif+}++EWXWEXPORT(bool,wxMediaCtrl_Pause)(wxMediaCtrl* self)+{+#ifdef wxUSE_MEDIACTRL+  return self->Pause();+#else+  return false;+#endif+}++EWXWEXPORT(bool,wxMediaCtrl_Play)(wxMediaCtrl* self)+{+#ifdef wxUSE_MEDIACTRL+  return self->Play();+#else+  return false;+#endif+}++EWXWEXPORT(wxFileOffset,wxMediaCtrl_Seek)(wxMediaCtrl* self, wxFileOffset offsetWhere, int mode)+{+#ifdef wxUSE_MEDIACTRL+  return self->Seek(offsetWhere, static_cast<wxSeekMode>(mode));+#else+  return (wxFileOffset) 0;+#endif+}++EWXWEXPORT(bool,wxMediaCtrl_SetPlaybackRate)(wxMediaCtrl* self, double dRate)+{+#ifdef wxUSE_MEDIACTRL+  return self->SetPlaybackRate(dRate);+#else+  return false;+#endif+}++EWXWEXPORT(bool,wxMediaCtrl_SetVolume)(wxMediaCtrl* self, double dVolume)+{+#ifdef wxUSE_MEDIACTRL+  return self->SetVolume(dVolume);+#else+  return false;+#endif+}++EWXWEXPORT(bool,wxMediaCtrl_ShowPlayerControls)(wxMediaCtrl* self, int flags)+{+#ifdef wxUSE_MEDIACTRL+  return self->ShowPlayerControls(static_cast<wxMediaCtrlPlayerControls>(flags));+#else+  return false;+#endif+}++EWXWEXPORT(bool,wxMediaCtrl_Stop)(wxMediaCtrl* self)+{+#ifdef wxUSE_MEDIACTRL+  return self->Stop();+#else+  return false;+#endif+}++EWXWEXPORT(wxFileOffset, wxMediaCtrl_Tell) (wxMediaCtrl* self)+{+#ifdef wxUSE_MEDIACTRL+  return self->Tell();+#else+  return 0;+#endif+}++}++
+ src/cpp/previewframe.cpp view
@@ -0,0 +1,36 @@+#include "wrapper.h"+#include "wx/wx.h"+#include "wx/print.h"++/*-----------------------------------------------------------------------------++-----------------------------------------------------------------------------*/+extern "C" {++/*-----------------------------------------------------------------------------+  PreviewFrame+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxPreviewFrame*, wxPreviewFrame_Create)( wxPrintPreview* preview+                                                  , wxFrame* parent+                                                  , wxString* title+                                                  , int x, int y+                                                  , int w, int h+                                                  , int style+                                                  , wxString* name+                                                  )+{+  return new wxPreviewFrame( preview, parent, *title, wxPoint(x,y), wxSize(w,h), style, *name );+}++EWXWEXPORT(void, wxPreviewFrame_Delete)( wxPreviewFrame* self )+{+  if (self) delete self;+}++EWXWEXPORT(void, wxPreviewFrame_Initialize)( wxPreviewFrame* self )+{+  self->Initialize();+}+++}
+ src/cpp/printout.cpp view
@@ -0,0 +1,401 @@+#include "wrapper.h"
+#include "wx/wx.h"
+#include "wx/print.h"
+#include "wx/printdlg.h"
+
+
+/*-----------------------------------------------------------------------------
+  Special wxPrintout class that sends events.
+-----------------------------------------------------------------------------*/
+/*-----------------------------------------------------------------------------
+  new event types
+-----------------------------------------------------------------------------*/
+BEGIN_DECLARE_EVENT_TYPES()
+    DECLARE_LOCAL_EVENT_TYPE(wxEVT_PRINT_BEGIN, 2000)
+    DECLARE_LOCAL_EVENT_TYPE(wxEVT_PRINT_END, 2001 )
+    DECLARE_LOCAL_EVENT_TYPE(wxEVT_PRINT_BEGIN_DOC, 1002 )
+    DECLARE_LOCAL_EVENT_TYPE(wxEVT_PRINT_END_DOC, 1003 )
+    DECLARE_LOCAL_EVENT_TYPE(wxEVT_PRINT_PREPARE, 1004 )
+    DECLARE_LOCAL_EVENT_TYPE(wxEVT_PRINT_PAGE, 1005 )
+END_DECLARE_EVENT_TYPES()
+
+
+DEFINE_LOCAL_EVENT_TYPE( wxEVT_PRINT_BEGIN )
+DEFINE_LOCAL_EVENT_TYPE( wxEVT_PRINT_END )
+DEFINE_LOCAL_EVENT_TYPE( wxEVT_PRINT_BEGIN_DOC )
+DEFINE_LOCAL_EVENT_TYPE( wxEVT_PRINT_END_DOC )
+DEFINE_LOCAL_EVENT_TYPE( wxEVT_PRINT_PREPARE )
+DEFINE_LOCAL_EVENT_TYPE( wxEVT_PRINT_PAGE )
+
+extern "C" {
+
+EWXWEXPORT(int,expEVT_PRINT_BEGIN)()
+{
+  return (int)wxEVT_PRINT_BEGIN;
+}
+
+EWXWEXPORT(int,expEVT_PRINT_BEGIN_DOC)()
+{
+  return (int)wxEVT_PRINT_BEGIN_DOC;
+}
+
+EWXWEXPORT(int,expEVT_PRINT_END)()
+{
+  return (int)wxEVT_PRINT_END;
+}
+
+EWXWEXPORT(int,expEVT_PRINT_END_DOC)()
+{
+  return (int)wxEVT_PRINT_END_DOC;
+}
+
+EWXWEXPORT(int,expEVT_PRINT_PREPARE)()
+{
+  return (int)wxEVT_PRINT_PREPARE;
+}
+
+EWXWEXPORT(int,expEVT_PRINT_PAGE)()
+{
+  return (int)wxEVT_PRINT_PAGE;
+}
+
+}
+
+
+/*-----------------------------------------------------------------------------
+  Printout and events
+-----------------------------------------------------------------------------*/
+
+class wxcPrintout : public wxPrintout
+{
+private:
+  DECLARE_DYNAMIC_CLASS(wxcPrintout)
+
+protected:
+  int   m_startPage;
+  int   m_endPage;
+  int   m_fromPage;
+  int   m_toPage;
+  wxEvtHandler* m_evtHandler;
+
+public:
+  wxcPrintout() : wxPrintout() {};
+  wxcPrintout( const wxString& title );
+  ~wxcPrintout();
+
+  void SetPageLimits( int startPage, int endPage, int fromPage, int toPage );   
+  wxEvtHandler* GetEvtHandler();
+
+  /* virtual members */
+  void GetPageInfo( int* startPage, int* endPage, int* fromPage, int* toPage );
+  bool OnBeginDocument( int startPage, int endPage );
+  void OnEndDocument();
+  void OnBeginPrinting();
+  void OnEndPrinting();
+  void OnPreparePrinting();
+  bool OnPrintPage( int page );
+  bool HasPage( int page );
+};
+
+IMPLEMENT_DYNAMIC_CLASS(wxcPrintout, wxPrintout)
+
+
+class wxcPrintEvent : public wxEvent
+{
+private:
+    DECLARE_DYNAMIC_CLASS(wxcPrintEvent)
+private:
+    wxcPrintout* m_printOut;
+    int         m_page;
+    int         m_lastPage;
+    bool        m_continue;
+
+public:
+    wxcPrintEvent() : wxEvent() {};
+    wxcPrintEvent( const wxcPrintEvent& printEvent ); // copy constructor
+    wxcPrintEvent( wxEventType evtType, int id, wxcPrintout* printOut, int page, int lastPage );
+    wxEvent* Clone() const          { return new wxcPrintEvent(*this); }
+
+    wxcPrintout* GetPrintout();
+    int         GetPage();
+    int         GetEndPage();
+    bool        GetContinue();
+    void        SetContinue( bool cont );
+    void        SetPageLimits( int startPage, int endPage, int fromPage, int toPage );   
+};
+
+IMPLEMENT_DYNAMIC_CLASS(wxcPrintEvent, wxEvent)
+
+
+/*-----------------------------------------------------------------------------
+  Print events
+-----------------------------------------------------------------------------*/
+wxcPrintEvent::wxcPrintEvent( wxEventType evtType, int id, wxcPrintout* printOut, int page, int lastPage )
+: wxEvent( id, evtType )
+{
+  m_printOut = printOut;
+  m_page     = page;
+  m_lastPage = lastPage;
+  m_continue = true;
+}
+
+wxcPrintEvent::wxcPrintEvent( const wxcPrintEvent& printEvent ) : wxEvent( printEvent )
+{
+  m_printOut = printEvent.m_printOut;
+  m_page     = printEvent.m_page;
+  m_lastPage = printEvent.m_lastPage;
+  m_continue = printEvent.m_continue;
+}
+
+wxcPrintout* wxcPrintEvent::GetPrintout()
+{
+  return m_printOut;
+}
+
+int wxcPrintEvent::GetPage()
+{
+  return m_page;
+}
+
+int wxcPrintEvent::GetEndPage()
+{
+  return m_lastPage;
+}
+
+bool wxcPrintEvent::GetContinue()
+{
+  return m_continue;
+}
+
+void wxcPrintEvent::SetContinue( bool cont )
+{
+  m_continue = cont;
+}
+
+void wxcPrintEvent::SetPageLimits( int startPage, int endPage, int fromPage, int toPage )
+{
+  if (m_printOut) {
+    m_printOut->SetPageLimits( startPage, endPage, fromPage, toPage );
+  }
+}
+
+
+/*-----------------------------------------------------------------------------
+  Printout 
+-----------------------------------------------------------------------------*/
+wxcPrintout::wxcPrintout( const wxString& title ) : wxPrintout( title )
+{
+  m_startPage = 1;
+  m_endPage   = 32000;
+  m_fromPage  = 1;
+  m_toPage    = 1;
+  m_evtHandler = new wxEvtHandler();
+}
+
+wxcPrintout::~wxcPrintout()
+{
+  if (m_evtHandler) delete m_evtHandler;
+}
+
+wxEvtHandler* wxcPrintout::GetEvtHandler()
+{
+  return m_evtHandler;
+}
+
+void wxcPrintout::SetPageLimits( int startPage, int endPage, int fromPage, int toPage )
+{
+  m_startPage = startPage;
+  m_endPage   = endPage;
+  m_fromPage  = fromPage;
+  m_toPage    = toPage;  
+}
+
+void wxcPrintout::GetPageInfo( int* startPage, int* endPage, int* fromPage, int* toPage )
+{
+  if (startPage) *startPage = m_startPage;
+  if (endPage)   *endPage   = m_endPage;
+  if (fromPage)  *fromPage  = m_fromPage;
+  if (toPage)    *toPage    = m_toPage;
+}
+
+bool wxcPrintout::OnBeginDocument( int startPage, int endPage )
+{
+  bool cont = wxPrintout::OnBeginDocument( startPage, endPage );
+  if (cont) {
+    wxcPrintEvent printEvent( wxEVT_PRINT_BEGIN_DOC, 0, this, startPage, endPage );
+    m_evtHandler->ProcessEvent( printEvent );
+    cont = printEvent.GetContinue();
+  }
+  return cont;
+}
+
+void wxcPrintout::OnEndDocument()
+{
+  wxcPrintEvent printEvent( wxEVT_PRINT_END_DOC, 0, this, 0, 0 );
+  m_evtHandler->ProcessEvent(printEvent);
+  wxPrintout::OnEndDocument();
+}
+
+void wxcPrintout::OnBeginPrinting()
+{
+  wxcPrintEvent printEvent( wxEVT_PRINT_BEGIN, 0, this, 0, 0 );
+  wxPrintout::OnBeginPrinting();
+  m_evtHandler->ProcessEvent(printEvent);
+}
+
+void wxcPrintout::OnEndPrinting()
+{
+  wxcPrintEvent printEvent( wxEVT_PRINT_END, 0, this, 0, 0 );
+  m_evtHandler->ProcessEvent(printEvent);
+  wxPrintout::OnEndPrinting();
+}
+
+void wxcPrintout::OnPreparePrinting()
+{
+  wxcPrintEvent printEvent( wxEVT_PRINT_PREPARE, 0, this, 0, 0 );
+  wxPrintout::OnPreparePrinting(); 
+  m_evtHandler->ProcessEvent(printEvent);  
+}
+
+bool wxcPrintout::OnPrintPage( int page )
+{
+  wxcPrintEvent printEvent( wxEVT_PRINT_PAGE, 0, this, page, page );
+  m_evtHandler->ProcessEvent(printEvent);
+  return printEvent.GetContinue();  
+}
+
+bool wxcPrintout::HasPage( int page )
+{
+  return (page >= m_fromPage && page <= m_toPage);
+}
+
+
+/*-----------------------------------------------------------------------------
+  Wrappers
+-----------------------------------------------------------------------------*/
+extern "C" 
+{
+
+EWXWEXPORT(wxPrintDialogData*,wxPrintDialog_GetPrintDialogData)(wxPrintDialog* _obj)
+{
+  return &(_obj->GetPrintDialogData());
+}
+
+  
+EWXWEXPORT(wxcPrintout*,wxcPrintout_Create)(wxString* title)
+{
+  return new wxcPrintout( *title );
+}
+
+EWXWEXPORT(void,wxcPrintout_Delete)(wxcPrintout* self)
+{
+  if (self) delete self;
+}
+
+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)
+{
+  return self->GetEvtHandler();
+}
+
+
+EWXWEXPORT(wxcPrintout*,wxcPrintEvent_GetPrintout)(wxcPrintEvent* self)
+{
+  return self->GetPrintout();
+}
+
+EWXWEXPORT(int,wxcPrintEvent_GetPage)(wxcPrintEvent* self)
+{
+  return self->GetPage();
+} 
+
+EWXWEXPORT(int,wxcPrintEvent_GetEndPage)(wxcPrintEvent* self)
+{
+  return self->GetEndPage();
+} 
+
+EWXWEXPORT(bool,wxcPrintEvent_GetContinue)(wxcPrintEvent* self)
+{
+  return self->GetContinue();
+} 
+    
+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)
+{
+  self->SetPageLimits(startPage, endPage, fromPage, toPage );
+}
+
+
+/*-----------------------------------------------------------------------------
+  Printout
+-----------------------------------------------------------------------------*/
+EWXWEXPORT(wxString*,wxPrintout_GetTitle)(void* _obj)
+{
+	wxString title = ((wxPrintout*)_obj)->GetTitle();
+	return new wxString(title);
+}
+	
+EWXWEXPORT(void*,wxPrintout_GetDC)(void* _obj)
+{
+	return (void*)((wxPrintout*)_obj)->GetDC();
+}
+	
+EWXWEXPORT(void,wxPrintout_SetDC)(void* _obj,void* dc)
+{
+	((wxPrintout*)_obj)->SetDC((wxDC*)dc);
+}
+	
+EWXWEXPORT(void,wxPrintout_SetPageSizePixels)(void* _obj,int w,int h)
+{
+	((wxPrintout*)_obj)->SetPageSizePixels(w, h);
+}
+	
+EWXWEXPORT(void,wxPrintout_GetPageSizePixels)(void* _obj,int* w,int* h)
+{
+	((wxPrintout*)_obj)->GetPageSizePixels(w,h);
+}
+	
+EWXWEXPORT(void,wxPrintout_SetPageSizeMM)(void* _obj,int w,int h)
+{
+	((wxPrintout*)_obj)->SetPageSizeMM(w, h);
+}
+	
+EWXWEXPORT(void,wxPrintout_GetPageSizeMM)(void* _obj,int* w,int* h)
+{
+	((wxPrintout*)_obj)->GetPageSizeMM(w,h);
+}
+	
+EWXWEXPORT(void,wxPrintout_SetPPIScreen)(void* _obj,int x,int y)
+{
+	((wxPrintout*)_obj)->SetPPIScreen(x, y);
+}
+	
+EWXWEXPORT(void,wxPrintout_GetPPIScreen)(void* _obj,int* x,int* y)
+{
+	((wxPrintout*)_obj)->GetPPIScreen(x,y);
+}
+	
+EWXWEXPORT(void,wxPrintout_SetPPIPrinter)(void* _obj,int x,int y)
+{
+	((wxPrintout*)_obj)->SetPPIPrinter(x, y);
+}
+	
+EWXWEXPORT(void,wxPrintout_GetPPIPrinter)(void* _obj,int* x,int* y)
+{
+	((wxPrintout*)_obj)->GetPPIPrinter(x,y);
+}
+	
+EWXWEXPORT(bool,wxPrintout_IsPreview)(wxPrintout* _obj)
+{
+	return _obj->IsPreview();
+}
+	    
+}
+ src/cpp/sckaddr.cpp view
@@ -0,0 +1,69 @@+/* update checked 100% with 2.8.9 manual*/
+#include "wrapper.h"
+
+extern "C"
+{
+#if wxUSE_SOCKETS
+
+/* wxSockAddress */
+/* EWXWEXPORT(wxSockAddress*,wxSockAddress_wxSockAddress)() disabled because it has virtual function */
+EWXWEXPORT(void,wxSockAddress_Delete)(wxSockAddress* self)
+{
+  delete self;
+}
+EWXWEXPORT(void,wxSockAddress_Clear)(wxSockAddress* self)
+{
+  self->Clear();
+}
+
+/* wxIPaddress */
+EWXWEXPORT(wxString*,wxIPaddress_Hostname)(wxIPaddress* self)
+{
+  return new wxString(self->Hostname());
+}
+EWXWEXPORT(bool,wxIPaddress_HostnameSet)(wxIPaddress* self,wxString* hostname)
+{
+  return self->Hostname(*hostname);
+}
+EWXWEXPORT(wxString*,wxIPaddress_IPAddress)(wxIPaddress* self)
+{
+  return new wxString(self->IPAddress());
+}
+EWXWEXPORT(wxUint16,wxIPaddress_Service)(wxIPaddress* self)
+{
+  return self->Service();
+}
+EWXWEXPORT(bool,wxIPaddress_ServiceSet)(wxIPaddress* self,wxString* service)
+{
+  return self->Service(*service);
+}
+EWXWEXPORT(bool,wxIPaddress_ServiceSetPort)(wxIPaddress* self,wxUint16 service)
+{
+  return self->Service(service);
+}
+
+EWXWEXPORT(bool,wxIPaddress_AnyAddress)(wxIPaddress* self)
+{
+  return self->AnyAddress();
+}
+EWXWEXPORT(bool,wxIPaddress_LocalHost)(wxIPaddress* self)
+{
+  return self->LocalHost();
+}
+EWXWEXPORT(bool,wxIPaddress_IsLocalHost)(wxIPaddress* self)
+{
+  return self->IsLocalHost();
+}
+
+/* wxIPV4address */
+EWXWEXPORT(wxIPV4address*,wxIPV4address_Create)()
+{
+  return new wxIPV4address();
+}
+EWXWEXPORT(void,wxIPV4address_Delete)(wxIPV4address* self)
+{
+  delete self;
+}
+
+#endif /* wxUSE_SOCKETS */
+}
+ src/cpp/socket.cpp view
@@ -0,0 +1,244 @@+/* update checked 100% with 2.8.9 manual */
+#include "wrapper.h"
+
+extern "C"
+{
+#if wxUSE_SOCKETS
+/* wxSocket errors */
+EWXWCONSTANTINT(wxSOCKET_NOERROR,wxSOCKET_NOERROR)
+EWXWCONSTANTINT(wxSOCKET_INVOP,wxSOCKET_INVOP)
+EWXWCONSTANTINT(wxSOCKET_IOERR,wxSOCKET_IOERR)
+EWXWCONSTANTINT(wxSOCKET_INVADDR,wxSOCKET_INVADDR)
+EWXWCONSTANTINT(wxSOCKET_INVSOCK,wxSOCKET_INVSOCK)
+EWXWCONSTANTINT(wxSOCKET_NOHOST,wxSOCKET_NOHOST)
+EWXWCONSTANTINT(wxSOCKET_INVPORT,wxSOCKET_INVPORT)
+EWXWCONSTANTINT(wxSOCKET_WOULDBLOCK,wxSOCKET_WOULDBLOCK)
+EWXWCONSTANTINT(wxSOCKET_TIMEDOUT,wxSOCKET_TIMEDOUT)
+EWXWCONSTANTINT(wxSOCKET_MEMERR,wxSOCKET_MEMERR)
+/* wxSocket events */
+EWXWCONSTANTINT(wxSOCKET_INPUT,wxSOCKET_INPUT)
+EWXWCONSTANTINT(wxSOCKET_OUTPUT,wxSOCKET_OUTPUT)
+EWXWCONSTANTINT(wxSOCKET_CONNECTION,wxSOCKET_CONNECTION)
+EWXWCONSTANTINT(wxSOCKET_LOST,wxSOCKET_LOST)
+/* wxSocketFlags */
+EWXWCONSTANTINT(wxSOCKET_NONE,wxSOCKET_NONE)
+EWXWCONSTANTINT(wxSOCKET_NOWAIT,wxSOCKET_NOWAIT)
+EWXWCONSTANTINT(wxSOCKET_WAITALL,wxSOCKET_WAITALL)
+EWXWCONSTANTINT(wxSOCKET_BLOCK,wxSOCKET_BLOCK)
+EWXWCONSTANTINT(wxSOCKET_REUSEADDR,wxSOCKET_REUSEADDR)
+/* wxSocketEventFlags */
+EWXWCONSTANTINT(wxSOCKET_INPUT_FLAG,wxSOCKET_INPUT_FLAG)
+EWXWCONSTANTINT(wxSOCKET_OUTPUT_FLAG,wxSOCKET_OUTPUT_FLAG)
+EWXWCONSTANTINT(wxSOCKET_CONNECTION_FLAG,wxSOCKET_CONNECTION_FLAG)
+EWXWCONSTANTINT(wxSOCKET_LOST_FLAG,wxSOCKET_LOST_FLAG)
+
+/* wxSocketBase */
+/* wxSocketBase::wxSocketBase */
+EWXWEXPORT(void,wxSocketBase_Delete)(wxSocketBase* self)
+{
+  delete self;
+}
+EWXWEXPORT(void,wxSocketBase_Close)(wxSocketBase* self)
+{
+  self->Close();
+}
+EWXWEXPORT(bool,wxSocketBase_Destroy)(wxSocketBase* self)
+{
+  return self->Destroy();
+}
+EWXWEXPORT(wxSocketBase*,wxSocketBase_Discard)(wxSocketBase* self)
+{
+  return &self->Discard();
+}
+EWXWEXPORT(bool,wxSocketBase_Error)(wxSocketBase* self)
+{
+  return self->Error();
+}
+EWXWEXPORT(void*,wxSocketBase_GetClientData)(wxSocketBase* self)
+{
+  return self->GetClientData();
+}
+EWXWEXPORT(bool,wxSocketBase_GetLocal)(wxSocketBase* self,wxSockAddress* addr)
+{
+  return self->GetLocal(*addr);
+}
+/*note gsocket = int */
+EWXWEXPORT(int,wxSocketBase_GetFlags)(wxSocketBase* self)
+{
+  return self->GetFlags();
+}
+EWXWEXPORT(bool,wxSocketBase_GetPeer)(wxSocketBase* self,wxSockAddress* addr)
+{
+  return self->GetPeer(*addr);
+}
+EWXWEXPORT(void,wxSocketBase_InterruptWait)(wxSocketBase* self)
+{
+  self->InterruptWait();
+}
+EWXWEXPORT(bool,wxSocketBase_IsConnected)(wxSocketBase* self)
+{
+  return self->IsConnected();
+}
+EWXWEXPORT(bool,wxSocketBase_IsData)(wxSocketBase* self)
+{
+  return self->IsData();
+}
+EWXWEXPORT(bool,wxSocketBase_IsDisconnected)(wxSocketBase* self)
+{
+  return self->IsDisconnected();
+}
+EWXWEXPORT(wxUint32,wxSocketBase_LastCount)(wxSocketBase* self)
+{
+  return self->LastCount();
+}
+EWXWEXPORT(int,wxSocketBase_LastError)(wxSocketBase* self)
+{
+  return self->LastError();
+}
+EWXWEXPORT(void,wxSocketBase_Notify)(wxSocketBase* self,bool notify)
+{
+  self->Notify(notify);
+}
+EWXWEXPORT(bool,wxSocketBase_IsOk)(wxSocketBase* self)
+{
+  return self->IsOk();
+}
+EWXWEXPORT(void,wxSocketBase_RestoreState)(wxSocketBase* self)
+{
+  self->RestoreState();
+}
+EWXWEXPORT(void,wxSocketBase_SaveState)(wxSocketBase* self)
+{
+  self->SaveState();
+}
+EWXWEXPORT(void,wxSocketBase_SetClientData)(wxSocketBase* self,void* data)
+{
+  self->SetClientData(data);
+}
+EWXWEXPORT(void,wxSocketBase_SetEventHandler)(wxSocketBase* self,wxEvtHandler* handler,int id)
+{
+  self->SetEventHandler(*handler,id);
+}
+EWXWEXPORT(void,wxSocketBase_SetFlags)(wxSocketBase* self,int flags)
+{
+  self->SetFlags(flags);
+}
+EWXWEXPORT(bool,wxSocketBase_SetLocal)(wxSocketBase* self,wxIPV4address* local)
+{
+  return self->SetLocal(*local);
+}
+EWXWEXPORT(void,wxSocketBase_SetNotify)(wxSocketBase* self,int flags)
+{
+  self->SetNotify(flags);
+}
+EWXWEXPORT(void,wxSocketBase_SetTimeout)(wxSocketBase* self,int seconds)
+{
+  self->SetTimeout(seconds);
+}
+EWXWEXPORT(wxSocketBase*,wxSocketBase_Peek)(wxSocketBase* self,void* buffer,wxUint32 nbytes)
+{
+  return &self->Peek(buffer,nbytes);
+}
+EWXWEXPORT(wxSocketBase*,wxSocketBase_Read)(wxSocketBase* self,void* buffer,wxUint32 nbytes)
+{
+  return &self->Read(buffer,nbytes);
+}
+EWXWEXPORT(wxSocketBase*,wxSocketBase_ReadMsg)(wxSocketBase* self,void* buffer,wxUint32 nbytes)
+{
+  return &self->ReadMsg(buffer,nbytes);
+}
+EWXWEXPORT(wxSocketBase*,wxSocketBase_Unread)(wxSocketBase* self,void* buffer,wxUint32 nbytes)
+{
+  return &self->Unread(buffer,nbytes);
+}
+EWXWEXPORT(bool,wxSocketBase_Wait)(wxSocketBase* self,long seconds,long millisecond)
+{
+  return self->Wait(seconds,millisecond);
+}
+EWXWEXPORT(bool,wxSocketBase_WaitForLost)(wxSocketBase* self,long seconds,long millisecond)
+{
+  return self->WaitForLost(seconds,millisecond);
+}
+EWXWEXPORT(bool,wxSocketBase_WaitForRead)(wxSocketBase* self,long seconds,long millisecond)
+{
+  return self->WaitForRead(seconds,millisecond);
+}
+EWXWEXPORT(bool,wxSocketBase_WaitForWrite)(wxSocketBase* self,long seconds,long millisecond)
+{
+  return self->WaitForWrite(seconds,millisecond);
+}
+EWXWEXPORT(wxSocketBase*,wxSocketBase_Write)(wxSocketBase* self,void* buffer,wxUint32 nbytes)
+{
+  return &self->Write(buffer,nbytes);
+}
+EWXWEXPORT(wxSocketBase*,wxSocketBase_WriteMsg)(wxSocketBase* self,void* buffer,wxUint32 nbytes)
+{
+  return &self->WriteMsg(buffer,nbytes);
+}
+/* wxSocketEvent */
+EWXWEXPORT(wxSocketEvent*,wxSocketEvent_Create)(int id)
+{
+  return new wxSocketEvent(id);
+}
+EWXWEXPORT(void,wxSocketEvent_Delete)(wxSocketEvent* self)
+{
+  delete self;
+}
+EWXWEXPORT(void*,wxSocketEvent_GetClientData)(wxSocketEvent* self)
+{
+  return self->GetClientData();
+}
+EWXWEXPORT(wxSocketBase*,wxSocketEvent_GetSocket)(wxSocketEvent* self)
+{
+  return self->GetSocket();
+}
+EWXWEXPORT(int,wxSocketEvent_GetSocketEvent)(wxSocketEvent* self)
+{
+  return self->GetSocketEvent();
+}
+/* wxSocketClient */
+EWXWEXPORT(wxSocketClient*,wxSocketClient_Create)(int flags)
+{
+  return new wxSocketClient(flags);
+}
+EWXWEXPORT(void,wxSocketClient_Delete)(wxSocketClient* self)
+{
+  delete self;
+}
+EWXWEXPORT(bool,wxSocketClient_Connect)(wxSocketClient* self,wxSockAddress* address,bool wait)
+{
+  return self->Connect(*address,wait);
+}
+EWXWEXPORT(bool,wxSocketClient_ConnectLocal)(wxSocketClient* self,wxSockAddress* address,wxSockAddress* local,bool wait)
+{
+  return self->Connect(*address,*local,wait);
+}
+EWXWEXPORT(bool,wxSocketClient_WaitOnConnect)(wxSocketClient* self,long seconds,long millisecond)
+{
+  return self->WaitOnConnect(seconds,millisecond);
+}
+
+/* wxSocketServer */
+EWXWEXPORT(wxSocketServer*,wxSocketServer_Create)(wxSockAddress* address,int flags)
+{
+  return new wxSocketServer(*address,flags);
+}
+EWXWEXPORT(void,wxSocketServer_Delete)(wxSocketServer* self)
+{
+  delete self;
+}
+EWXWEXPORT(wxSocketBase*,wxSocketServer_Accept)(wxSocketServer* self,bool wait)
+{
+  return self->Accept(wait);
+}
+EWXWEXPORT(bool,wxSocketServer_AcceptWith)(wxSocketServer* self,wxSocketBase* socket,bool wait)
+{
+  return self->AcceptWith(*socket,wait);
+}
+EWXWEXPORT(bool,wxSocketServer_WaitForAccept)(wxSocketServer* self,long seconds,long millisecond)
+{
+  return self->WaitForAccept(seconds,millisecond);
+}
+
+#endif /* wxUSE_SOCKETS */
+}
+ src/cpp/sound.cpp view
@@ -0,0 +1,69 @@+#include "wrapper.h"+#include "wx/sound.h"++/* testing */+// #define wxUSE_SOUND 0++/*-----------------------------------------------------------------------------+  We want to include the function signatures always -- even on +  systems that don't support wxSound. This means that every function body is+  surrounded by #ifdef wxUSE_SOUND directives :-(+-----------------------------------------------------------------------------*/++#if defined(wxUSE_SOUND) && (wxUSE_SOUND==0)+# undef wxUSE_SOUND+#endif++#ifndef wxUSE_SOUND+# define wxSound      void+#endif++extern "C" {++/*-----------------------------------------------------------------------------+  Sound+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxSound*,wxSound_Create)(wxString* fileName,bool isResource)+{+#ifdef wxUSE_SOUND +  return new wxSound(*fileName,isResource);+#else+  return NULL;+#endif+}++EWXWEXPORT(void,wxSound_Delete)(wxSound* self)+{+#ifdef wxUSE_SOUND +  if (self) delete self;+#endif+}++EWXWEXPORT(bool,wxSound_IsOk)(wxSound* self)+{+#ifdef wxUSE_SOUND +  return self->IsOk();+#else+  return false;+#endif+}++EWXWEXPORT(bool,wxSound_Play)(wxSound* self,unsigned flag)+{+#ifdef wxUSE_SOUND +  return ((wxSoundBase *)self)->Play(flag);+#else+  return false;+#endif+}++EWXWEXPORT(void,wxSound_Stop)(wxSound* self)+{+#ifdef wxUSE_SOUND+  self->Stop();+#endif+}++}++
+ src/cpp/stc.cpp view
@@ -0,0 +1,604 @@+/*==============================================================================+ * stc.cpp+ *+ * C wrapper for wxStyledTextCtrl+ *+ * (C) 2002-2011 wxEiffel and wxHaskell contributors. See contributors.txt+ * + *==============================================================================*/++#include "wrapper.h"++#ifdef wxUSE_STC+# include "wx/stc/stc.h"+#endif++extern "C"+{++////////////////////////////////////////////////////////////////////////////////+// Event Handlers+////////////////////////////////////////////////////////////////////////////////++#ifdef wxUSE_STC+MAKE_EVENT_WRAPPER(EVT_STC_CHANGE)+MAKE_EVENT_WRAPPER(EVT_STC_STYLENEEDED)+MAKE_EVENT_WRAPPER(EVT_STC_CHARADDED)+MAKE_EVENT_WRAPPER(EVT_STC_SAVEPOINTREACHED)+MAKE_EVENT_WRAPPER(EVT_STC_SAVEPOINTLEFT)+MAKE_EVENT_WRAPPER(EVT_STC_ROMODIFYATTEMPT)+MAKE_EVENT_WRAPPER(EVT_STC_KEY)+MAKE_EVENT_WRAPPER(EVT_STC_DOUBLECLICK)+MAKE_EVENT_WRAPPER(EVT_STC_UPDATEUI)+MAKE_EVENT_WRAPPER(EVT_STC_MODIFIED)+MAKE_EVENT_WRAPPER(EVT_STC_MACRORECORD)+MAKE_EVENT_WRAPPER(EVT_STC_MARGINCLICK)+MAKE_EVENT_WRAPPER(EVT_STC_NEEDSHOWN)+MAKE_EVENT_WRAPPER(EVT_STC_PAINTED)+MAKE_EVENT_WRAPPER(EVT_STC_USERLISTSELECTION)+MAKE_EVENT_WRAPPER(EVT_STC_URIDROPPED)+MAKE_EVENT_WRAPPER(EVT_STC_DWELLSTART)+MAKE_EVENT_WRAPPER(EVT_STC_DWELLEND)+MAKE_EVENT_WRAPPER(EVT_STC_START_DRAG)+MAKE_EVENT_WRAPPER(EVT_STC_DRAG_OVER)+MAKE_EVENT_WRAPPER(EVT_STC_DO_DROP)+MAKE_EVENT_WRAPPER(EVT_STC_ZOOM)+MAKE_EVENT_WRAPPER(EVT_STC_HOTSPOT_CLICK)+MAKE_EVENT_WRAPPER(EVT_STC_HOTSPOT_DCLICK)+MAKE_EVENT_WRAPPER(EVT_STC_CALLTIP_CLICK)+MAKE_EVENT_WRAPPER(EVT_STC_AUTOCOMP_SELECTION)+MAKE_EVENT_WRAPPER(EVT_STC_INDICATOR_CLICK)+MAKE_EVENT_WRAPPER(EVT_STC_INDICATOR_RELEASE)+MAKE_EVENT_WRAPPER(EVT_STC_AUTOCOMP_CANCELLED)+MAKE_EVENT_WRAPPER(EVT_STC_AUTOCOMP_CHAR_DELETED)+#else+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_CHANGE)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_STYLENEEDED)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_CHARADDED)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_SAVEPOINTREACHED)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_SAVEPOINTLEFT)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_ROMODIFYATTEMPT)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_KEY)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_DOUBLECLICK)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_UPDATEUI)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_MODIFIED)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_MACRORECORD)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_MARGINCLICK)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_NEEDSHOWN)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_PAINTED)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_USERLISTSELECTION)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_URIDROPPED)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_DWELLSTART)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_DWELLEND)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_START_DRAG)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_DRAG_OVER)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_DO_DROP)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_ZOOM)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_HOTSPOT_CLICK)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_HOTSPOT_DCLICK)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_CALLTIP_CLICK)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_AUTOCOMP_SELECTION)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_INDICATOR_CLICK)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_INDICATOR_RELEASE)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_AUTOCOMP_CANCELLED)+MAKE_UNDEFEVENT_WRAPPER(EVT_STC_AUTOCOMP_CHAR_DELETED)+#endif++////////////////////////////////////////////////////////////////////////////////+// Wrappers+////////////////////////////////////////////////////////////////////////////////++#include "stc_gen.cpp"++/* wxStyledTextCtrl */++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(_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, *_txt);+#else+  return NULL;+#endif+}++  /* tricky handwritten functions */++  EWXWEXPORT(void*,wxStyledTextCtrl_IndicatorGetForeground)(void* _obj,int indic)+  {+#ifdef wxUSE_STC+    wxColour c = ((wxStyledTextCtrl*) _obj)->IndicatorGetForeground(indic);+    wxColour* cc = new wxColour(c);+    return cc;+#else+    return NULL;+#endif+  }+  EWXWEXPORT(void*,wxStyledTextCtrl_GetCaretLineBackground)(void* _obj)+  {+#ifdef wxUSE_STC+#if (wxVERSION_NUMBER < 2800)+    wxColour c = ((wxStyledTextCtrl*) _obj)->GetCaretLineBack();+#else+    wxColour c = ((wxStyledTextCtrl*) _obj)->GetCaretLineBackground();+#endif+    wxColour* cc = new wxColour(c);+    return cc;+#else+    return NULL;+#endif+  }+EWXWEXPORT(void,wxStyledTextCtrl_SetCaretLineBackground)(void* _obj,int back_r,int back_g,int back_b)+{+#ifdef wxUSE_STC+#if (wxVERSION_NUMBER < 2800)+   ((wxStyledTextCtrl*) _obj)->SetCaretLineBack(wxColour(back_r,back_g,back_b));+#else+    /* SetCaretLineBack is changed name to SetCaretLineBackground.+       So I avoid to use stc_gen.cpp for backward compatibility. */+   ((wxStyledTextCtrl*) _obj)->SetCaretLineBackground(wxColour(back_r,back_g,back_b));+#endif+#endif+}+  EWXWEXPORT(void*,wxStyledTextCtrl_GetCaretForeground)(void* _obj)+  {+#ifdef wxUSE_STC+    wxColour c = ((wxStyledTextCtrl*) _obj)->GetCaretForeground();+    wxColour* cc = new wxColour(c);+    return cc;+#else+    return NULL;+#endif+  }+  EWXWEXPORT(void*,wxStyledTextCtrl_GetLine)(void* _obj,int line)+  {+#ifdef wxUSE_STC+    wxString s = ((wxStyledTextCtrl*) _obj)->GetLine(line);+    wxString* ss = new wxString(s);+    return ss;+#else+    return NULL;+#endif+  }++  EWXWEXPORT(void*,wxStyledTextCtrl_GetText)(void* _obj)+  {+#ifdef wxUSE_STC+    wxString s = ((wxStyledTextCtrl*) _obj)->GetText();+    wxString* ss = new wxString(s);+    return ss;+#else+    return NULL;+#endif+  }++  EWXWEXPORT(void*,wxStyledTextCtrl_GetSelectedText)(void* _obj)+  {+#ifdef wxUSE_STC+    wxString s = ((wxStyledTextCtrl*) _obj)->GetSelectedText();+    wxString* ss = new wxString(s);+    return ss;+#else+    return NULL;+#endif+  }++  EWXWEXPORT(void*,wxStyledTextCtrl_GetTextRange)(void* _obj,int startPos,int endPos)+  {+#ifdef wxUSE_STC+    wxString s = ((wxStyledTextCtrl*) _obj)->GetTextRange(startPos, endPos);+    wxString* ss = new wxString(s);+    return ss;+#else+    return NULL;+#endif+  }++  EWXWEXPORT(void*,wxStyledTextCtrl_CreateDocument)(void* _obj)+  {+#ifdef wxUSE_STC+    return ((wxStyledTextCtrl*) _obj)->CreateDocument();+#else+    return NULL;+#endif+  }++  EWXWEXPORT(void*,wxStyledTextCtrl_GetEdgeColour)(void* _obj)+  {+#ifdef wxUSE_STC+    wxColour c = ((wxStyledTextCtrl*) _obj)->GetEdgeColour();+    wxColour* cc = new wxColour(c);+    return cc;+#else+    return NULL;+#endif+  }++  EWXWEXPORT(void*,wxStyledTextCtrl_GetDocPointer)(void* _obj)+  {+#ifdef wxUSE_STC+    return ((wxStyledTextCtrl*) _obj)->GetDocPointer();+#else+    return NULL;+#endif+  }++  EWXWEXPORT(void*,wxStyledTextCtrl_PointFromPosition)(void* _obj,int pos)+  {+#ifdef wxUSE_STC+    wxPoint p = ((wxStyledTextCtrl*) _obj)->PointFromPosition(pos);+    wxPoint* pp = new wxPoint(p);+    return pp;+#else+    return NULL;+#endif+  }++/*************************************/+/* wxStyledTextEvent's get functions */+/*************************************/++EWXWEXPORT(int,wxStyledTextEvent_GetPosition)(void* _obj)+{+#ifdef wxUSE_STC+  return ((wxStyledTextEvent*) _obj)->GetPosition();+#else+  return 0;+#endif+}++EWXWEXPORT(int,wxStyledTextEvent_GetKey)(void* _obj)+{+#ifdef wxUSE_STC+  return ((wxStyledTextEvent*) _obj)->GetKey();+#else+  return 0;+#endif+}++EWXWEXPORT(int,wxStyledTextEvent_GetModifiers)(void* _obj)+{+#ifdef wxUSE_STC+  return ((wxStyledTextEvent*) _obj)->GetModifiers();+#else+  return 0;+#endif+}++EWXWEXPORT(int,wxStyledTextEvent_GetModificationType)(void* _obj)+{+#ifdef wxUSE_STC+  return ((wxStyledTextEvent*) _obj)->GetModificationType();+#else+  return 0;+#endif+}++EWXWEXPORT(int,wxStyledTextEvent_GetLength)(void* _obj)+{+#ifdef wxUSE_STC+  return ((wxStyledTextEvent*) _obj)->GetLength();+#else+  return 0;+#endif+}++EWXWEXPORT(int,wxStyledTextEvent_GetLinesAdded)(void* _obj)+{+#ifdef wxUSE_STC+  return ((wxStyledTextEvent*) _obj)->GetLinesAdded();+#else+  return 0;+#endif+}++EWXWEXPORT(int,wxStyledTextEvent_GetLine)(void* _obj)+{+#ifdef wxUSE_STC+  return ((wxStyledTextEvent*) _obj)->GetLine();+#else+  return 0;+#endif+}++EWXWEXPORT(int,wxStyledTextEvent_GetFoldLevelNow)(void* _obj)+{+#ifdef wxUSE_STC+  return ((wxStyledTextEvent*) _obj)->GetFoldLevelNow();+#else+  return 0;+#endif+}++EWXWEXPORT(int,wxStyledTextEvent_GetFoldLevelPrev)(void* _obj)+{+#ifdef wxUSE_STC+  return ((wxStyledTextEvent*) _obj)->GetFoldLevelPrev();+#else+  return 0;+#endif+}++EWXWEXPORT(int,wxStyledTextEvent_GetMargin)(void* _obj)+{+#ifdef wxUSE_STC+  return ((wxStyledTextEvent*) _obj)->GetMargin();+#else+  return 0;+#endif+}++EWXWEXPORT(int,wxStyledTextEvent_GetMessage)(void* _obj)+{+#ifdef wxUSE_STC+  return ((wxStyledTextEvent*) _obj)->GetMessage();+#else+  return 0;+#endif+}++EWXWEXPORT(int,wxStyledTextEvent_GetWParam)(void* _obj)+{+#ifdef wxUSE_STC+  return ((wxStyledTextEvent*) _obj)->GetWParam();+#else+  return 0;+#endif+}++EWXWEXPORT(int,wxStyledTextEvent_GetLParam)(void* _obj)+{+#ifdef wxUSE_STC+  return ((wxStyledTextEvent*) _obj)->GetLParam();+#else+  return 0;+#endif+}++EWXWEXPORT(int,wxStyledTextEvent_GetListType)(void* _obj)+{+#ifdef wxUSE_STC+  return ((wxStyledTextEvent*) _obj)->GetListType();+#else+  return 0;+#endif+}++EWXWEXPORT(int,wxStyledTextEvent_GetX)(void* _obj)+{+#ifdef wxUSE_STC+  return ((wxStyledTextEvent*) _obj)->GetX();+#else+  return 0;+#endif+}++EWXWEXPORT(int,wxStyledTextEvent_GetY)(void* _obj)+{+#ifdef wxUSE_STC+  return ((wxStyledTextEvent*) _obj)->GetY();+#else+  return 0;+#endif+}++EWXWEXPORT(void*,wxStyledTextEvent_GetDragText)(void* _obj)+{+#ifdef wxUSE_STC+    wxString s = ((wxStyledTextEvent*) _obj)->GetDragText();+    wxString* ss = new wxString(s);+    return ss;+#else+  return NULL;+#endif+}++EWXWEXPORT(bool,wxStyledTextEvent_GetDragAllowMove)(void* _obj)+{+#ifdef wxUSE_STC+  return ((wxStyledTextEvent*) _obj)->GetDragAllowMove();+#else+  return false;+#endif+}++EWXWEXPORT(int,wxStyledTextEvent_GetDragResult)(void* _obj)+{+#ifdef wxUSE_STC+  return ((wxStyledTextEvent*) _obj)->GetDragResult();+#else+  return false;+#endif+}++EWXWEXPORT(bool,wxStyledTextEvent_GetShift)(void* _obj)+{+#ifdef wxUSE_STC+  return ((wxStyledTextEvent*) _obj)->GetShift();+#else+  return false;+#endif+}++EWXWEXPORT(bool,wxStyledTextEvent_GetControl)(void* _obj)+{+#ifdef wxUSE_STC+  return ((wxStyledTextEvent*) _obj)->GetControl();+#else+  return false;+#endif+}++EWXWEXPORT(bool,wxStyledTextEvent_GetAlt)(void* _obj)+{+#ifdef wxUSE_STC+  return ((wxStyledTextEvent*) _obj)->GetAlt();+#else+  return false;+#endif+}++EWXWEXPORT(void*,wxStyledTextEvent_GetText)(void* _obj)+{+#ifdef wxUSE_STC+    wxString s = ((wxStyledTextEvent*) _obj)->GetText();+    wxString* ss = new wxString(s);+    return ss;+#else+  return NULL;+#endif+}++EWXWEXPORT(void*,wxStyledTextEvent_Clone)(void* _obj)+{+#ifdef wxUSE_STC+  return (void*) ((wxStyledTextEvent*) _obj)->Clone();+#else+  return NULL;+#endif+}++/*************************************/+/* wxStyledTextEvent's set functions */+/*************************************/++EWXWEXPORT(void,wxStyledTextEvent_SetPosition)(void* _obj,int pos)+{+#ifdef wxUSE_STC+  ((wxStyledTextEvent*) _obj)->SetPosition(pos);+#endif+}++EWXWEXPORT(void,wxStyledTextEvent_SetKey)(void* _obj,int k)+{+#ifdef wxUSE_STC+  ((wxStyledTextEvent*) _obj)->SetKey(k);+#endif+}++EWXWEXPORT(void,wxStyledTextEvent_SetModifiers)(void* _obj,int m)+{+#ifdef wxUSE_STC+  ((wxStyledTextEvent*) _obj)->SetModifiers(m);+#endif+}++EWXWEXPORT(void,wxStyledTextEvent_SetModificationType)(void* _obj,int t)+{+#ifdef wxUSE_STC+  ((wxStyledTextEvent*) _obj)->SetModificationType(t);+#endif+}++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)+{+#ifdef wxUSE_STC+  ((wxStyledTextEvent*) _obj)->SetLength(len);+#endif+}++EWXWEXPORT(void,wxStyledTextEvent_SetLinesAdded)(void* _obj,int num)+{+#ifdef wxUSE_STC+  ((wxStyledTextEvent*) _obj)->SetLinesAdded(num);+#endif+}++EWXWEXPORT(void,wxStyledTextEvent_SetLine)(void* _obj,int val)+{+#ifdef wxUSE_STC+  ((wxStyledTextEvent*) _obj)->SetLine(val);+#endif+}++EWXWEXPORT(void,wxStyledTextEvent_SetFoldLevelNow)(void* _obj,int val)+{+#ifdef wxUSE_STC+  ((wxStyledTextEvent*) _obj)->SetFoldLevelNow(val);+#endif+}++EWXWEXPORT(void,wxStyledTextEvent_SetFoldLevelPrev)(void* _obj,int val)+{+#ifdef wxUSE_STC+  ((wxStyledTextEvent*) _obj)->SetFoldLevelPrev(val);+#endif+}++EWXWEXPORT(void,wxStyledTextEvent_SetMargin)(void* _obj,int val)+{+#ifdef wxUSE_STC+  ((wxStyledTextEvent*) _obj)->SetMargin(val);+#endif+}++EWXWEXPORT(void,wxStyledTextEvent_SetMessage)(void* _obj,int val)+{+#ifdef wxUSE_STC+  ((wxStyledTextEvent*) _obj)->SetMessage(val);+#endif+}++EWXWEXPORT(void,wxStyledTextEvent_SetWParam)(void* _obj,int val)+{+#ifdef wxUSE_STC+  ((wxStyledTextEvent*) _obj)->SetWParam(val);+#endif+}++EWXWEXPORT(void,wxStyledTextEvent_SetLParam)(void* _obj,int val)+{+#ifdef wxUSE_STC+  ((wxStyledTextEvent*) _obj)->SetLParam(val);+#endif+}++EWXWEXPORT(void,wxStyledTextEvent_SetListType)(void* _obj,int val)+{+#ifdef wxUSE_STC+  ((wxStyledTextEvent*) _obj)->SetListType(val);+#endif+}++EWXWEXPORT(void,wxStyledTextEvent_SetX)(void* _obj,int val)+{+#ifdef wxUSE_STC+  ((wxStyledTextEvent*) _obj)->SetX(val);+#endif+}++EWXWEXPORT(void,wxStyledTextEvent_SetY)(void* _obj,int val)+{+#ifdef wxUSE_STC+  ((wxStyledTextEvent*) _obj)->SetY(val);+#endif+}++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)+{+#ifdef wxUSE_STC+  ((wxStyledTextEvent*) _obj)->SetDragAllowMove(val);+#endif+}++EWXWEXPORT(void,wxStyledTextEvent_SetDragResult)(void* _obj,int val)+{+#ifdef wxUSE_STC+  ((wxStyledTextEvent*) _obj)->SetDragResult(*(wxDragResult*)val);+#endif+}++}
+ src/cpp/stc_gen.cpp view
@@ -0,0 +1,2160 @@+EWXWEXPORT(void,wxStyledTextCtrl_AddText)(void* _obj,wxString* text)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->AddText(*text);
+#endif
+}
+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,wxString* text)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->InsertText(pos, *text);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_ClearAll)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->ClearAll();
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_ClearDocumentStyle)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->ClearDocumentStyle();
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetLength)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetLength();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetCharAt)(void* _obj,int pos)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetCharAt(pos);
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetCurrentPos)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetCurrentPos();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetAnchor)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetAnchor();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetStyleAt)(void* _obj,int pos)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetStyleAt(pos);
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_Redo)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->Redo();
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetUndoCollection)(void* _obj,bool collectUndo)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetUndoCollection(collectUndo);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SelectAll)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SelectAll();
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetSavePoint)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetSavePoint();
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_CanRedo)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->CanRedo();
+#else
+  return false;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_MarkerLineFromHandle)(void* _obj,int handle)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->MarkerLineFromHandle(handle);
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_MarkerDeleteHandle)(void* _obj,int handle)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->MarkerDeleteHandle(handle);
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_GetUndoCollection)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetUndoCollection();
+#else
+  return false;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetViewWhiteSpace)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetViewWhiteSpace();
+#else
+  return 0;
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->PositionFromPoint(wxPoint(pt_x,pt_y));
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_PositionFromPointClose)(void* _obj,int x,int y)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->PositionFromPointClose(x, y);
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_GotoLine)(void* _obj,int line)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->GotoLine(line);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_GotoPos)(void* _obj,int pos)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->GotoPos(pos);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetAnchor)(void* _obj,int posAnchor)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetAnchor(posAnchor);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetEndStyled)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetEndStyled();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_ConvertEOLs)(void* _obj,int eolMode)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->ConvertEOLs(eolMode);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetEOLMode)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetEOLMode();
+#else
+  return 0;
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->StartStyling(pos, mask);
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetBufferedDraw();
+#else
+  return false;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetBufferedDraw)(void* _obj,bool buffered)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetBufferedDraw(buffered);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetTabWidth)(void* _obj,int tabWidth)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetTabWidth(tabWidth);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetTabWidth)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetTabWidth();
+#else
+  return 0;
+#endif
+}
+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)
+{
+#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)
+{
+#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)
+{
+#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)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->MarkerAdd(line, markerNumber);
+#else
+  return 0;
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->MarkerDeleteAll(markerNumber);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_MarkerGet)(void* _obj,int line)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->MarkerGet(line);
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_MarkerNext)(void* _obj,int lineStart,int markerMask)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->MarkerNext(lineStart, markerMask);
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_MarkerPrevious)(void* _obj,int lineStart,int markerMask)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->MarkerPrevious(lineStart, markerMask);
+#else
+  return 0;
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetMarginType(margin, marginType);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetMarginType)(void* _obj,int margin)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetMarginType(margin);
+#else
+  return 0;
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetMarginWidth(margin);
+#else
+  return 0;
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetMarginMask(margin);
+#else
+  return 0;
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetMarginSensitive(margin);
+#else
+  return false;
+#endif
+}
+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)
+{
+#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)
+{
+#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)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->StyleSetBold(style, bold);
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->StyleSetSize(style, sizePoints);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_StyleSetFaceName)(void* _obj,int style,wxString* fontName)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->StyleSetFaceName(style, *fontName);
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->StyleResetDefault();
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->StyleSetCase(style, caseForce);
+#endif
+}
+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)
+{
+#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)
+{
+#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)
+{
+#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)
+{
+#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)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->CmdKeyAssign(key, modifiers, cmd);
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->CmdKeyClearAll();
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->StyleSetVisible(style, visible);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetCaretPeriod)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetCaretPeriod();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetCaretPeriod)(void* _obj,int periodMilliseconds)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetCaretPeriod(periodMilliseconds);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetWordChars)(void* _obj,wxString* characters)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetWordChars(*characters);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_BeginUndoAction)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->BeginUndoAction();
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_EndUndoAction)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->EndUndoAction();
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->IndicatorGetStyle(indic);
+#else
+  return 0;
+#endif
+}
+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)
+{
+#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)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetWhitespaceBackground(useSetting, wxColour(back_r,back_g,back_b));
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetStyleBits)(void* _obj,int bits)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetStyleBits(bits);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetStyleBits)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetStyleBits();
+#else
+  return 0;
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetLineState(line);
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetMaxLineState)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetMaxLineState();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_GetCaretLineVisible)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetCaretLineVisible();
+#else
+  return false;
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->StyleSetChangeable(style, changeable);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_AutoCompShow)(void* _obj,int lenEntered,wxString* itemList)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->AutoCompShow(lenEntered, *itemList);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_AutoCompCancel)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->AutoCompCancel();
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_AutoCompActive)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->AutoCompActive();
+#else
+  return false;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_AutoCompPosStart)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->AutoCompPosStart();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_AutoCompComplete)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->AutoCompComplete();
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_AutoCompStops)(void* _obj,wxString* characterSet)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->AutoCompStops(*characterSet);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_AutoCompSetSeparator)(void* _obj,int separatorCharacter)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->AutoCompSetSeparator(separatorCharacter);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_AutoCompGetSeparator)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->AutoCompGetSeparator();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_AutoCompSelect)(void* _obj,wxString* text)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->AutoCompSelect(*text);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_AutoCompSetCancelAtStart)(void* _obj,bool cancel)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->AutoCompSetCancelAtStart(cancel);
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_AutoCompGetCancelAtStart)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->AutoCompGetCancelAtStart();
+#else
+  return NULL;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_AutoCompSetFillUps)(void* _obj,wxString* characterSet)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->AutoCompSetFillUps(*characterSet);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_AutoCompSetChooseSingle)(void* _obj,bool chooseSingle)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->AutoCompSetChooseSingle(chooseSingle);
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_AutoCompGetChooseSingle)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->AutoCompGetChooseSingle();
+#else
+  return false;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_AutoCompSetIgnoreCase)(void* _obj,bool ignoreCase)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->AutoCompSetIgnoreCase(ignoreCase);
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_AutoCompGetIgnoreCase)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->AutoCompGetIgnoreCase();
+#else
+  return false;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_UserListShow)(void* _obj,int listType,wxString* itemList)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->UserListShow(listType, *itemList);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_AutoCompSetAutoHide)(void* _obj,bool autoHide)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->AutoCompSetAutoHide(autoHide);
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_AutoCompGetAutoHide)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->AutoCompGetAutoHide();
+#else
+  return false;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_AutoCompSetDropRestOfWord)(void* _obj,bool dropRestOfWord)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->AutoCompSetDropRestOfWord(dropRestOfWord);
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_AutoCompGetDropRestOfWord)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->AutoCompGetDropRestOfWord();
+#else
+  return false;
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->ClearRegisteredImages();
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_AutoCompGetTypeSeparator)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->AutoCompGetTypeSeparator();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_AutoCompSetTypeSeparator)(void* _obj,int separatorCharacter)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->AutoCompSetTypeSeparator(separatorCharacter);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetIndent)(void* _obj,int indentSize)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetIndent(indentSize);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetIndent)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetIndent();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetUseTabs)(void* _obj,bool useTabs)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetUseTabs(useTabs);
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_GetUseTabs)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetUseTabs();
+#else
+  return false;
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetLineIndentation(line);
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetLineIndentPosition)(void* _obj,int line)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetLineIndentPosition(line);
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetColumn)(void* _obj,int pos)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetColumn(pos);
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetUseHorizontalScrollBar)(void* _obj,bool show)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetUseHorizontalScrollBar(show);
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_GetUseHorizontalScrollBar)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetUseHorizontalScrollBar();
+#else
+  return false;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetIndentationGuides)(void* _obj,bool show)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetIndentationGuides(show);
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_GetIndentationGuides)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetIndentationGuides();
+#else
+  return false;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetHighlightGuide)(void* _obj,int column)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetHighlightGuide(column);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetHighlightGuide)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetHighlightGuide();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetLineEndPosition)(void* _obj,int line)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetLineEndPosition(line);
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetCodePage)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetCodePage();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_GetReadOnly)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetReadOnly();
+#else
+  return false;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetCurrentPos)(void* _obj,int pos)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetCurrentPos(pos);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetSelectionStart)(void* _obj,int pos)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetSelectionStart(pos);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetSelectionStart)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetSelectionStart();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetSelectionEnd)(void* _obj,int pos)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetSelectionEnd(pos);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetSelectionEnd)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetSelectionEnd();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetPrintMagnification)(void* _obj,int magnification)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetPrintMagnification(magnification);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetPrintMagnification)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetPrintMagnification();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetPrintColourMode)(void* _obj,int mode)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetPrintColourMode(mode);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetPrintColourMode)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetPrintColourMode();
+#else
+  return 0;
+#endif
+}
+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);
+#else
+  return 0;
+#endif
+}
+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);
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetFirstVisibleLine)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetFirstVisibleLine();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetLineCount)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetLineCount();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetMarginLeft)(void* _obj,int pixelWidth)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetMarginLeft(pixelWidth);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetMarginLeft)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetMarginLeft();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetMarginRight)(void* _obj,int pixelWidth)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetMarginRight(pixelWidth);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetMarginRight)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetMarginRight();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_GetModify)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetModify();
+#else
+  return false;
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->HideSelection(normal);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_LineFromPosition)(void* _obj,int pos)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->LineFromPosition(pos);
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_PositionFromLine)(void* _obj,int line)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->PositionFromLine(line);
+#else
+  return 0;
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->EnsureCaretVisible();
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_ReplaceSelection)(void* _obj,wxString* text)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->ReplaceSelection(*text);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetReadOnly)(void* _obj,bool readOnly)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetReadOnly(readOnly);
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_CanPaste)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->CanPaste();
+#else
+  return false;
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_CanUndo)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->CanUndo();
+#else
+  return false;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_EmptyUndoBuffer)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->EmptyUndoBuffer();
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_Undo)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->Undo();
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_Cut)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->Cut();
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_Copy)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->Copy();
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_Paste)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->Paste();
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_Clear)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->Clear();
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetText)(void* _obj,wxString* text)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetText(*text);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetTextLength)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetTextLength();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetOvertype)(void* _obj,bool overtype)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetOvertype(overtype);
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_GetOvertype)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetOvertype();
+#else
+  return false;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetCaretWidth)(void* _obj,int pixelWidth)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetCaretWidth(pixelWidth);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetCaretWidth)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetCaretWidth();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetTargetStart)(void* _obj,int pos)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetTargetStart(pos);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetTargetStart)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetTargetStart();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetTargetEnd)(void* _obj,int pos)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetTargetEnd(pos);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetTargetEnd)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetTargetEnd();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_ReplaceTarget)(void* _obj,wxString* text)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->ReplaceTarget(*text);
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_ReplaceTargetRE)(void* _obj,wxString* text)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->ReplaceTargetRE(*text);
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_SearchInTarget)(void* _obj,wxString* text)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->SearchInTarget(*text);
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetSearchFlags)(void* _obj,int flags)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetSearchFlags(flags);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetSearchFlags)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetSearchFlags();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_CallTipShow)(void* _obj,int pos,wxString* definition)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->CallTipShow(pos, *definition);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_CallTipCancel)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->CallTipCancel();
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_CallTipActive)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->CallTipActive();
+#else
+  return false;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_CallTipPosAtStart)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->CallTipPosAtStart();
+#else
+  return 0;
+#endif
+}
+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)
+{
+#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)
+{
+#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)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->CallTipSetForegroundHighlight(wxColour(fore_r,fore_g,fore_b));
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_VisibleFromDocLine)(void* _obj,int line)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->VisibleFromDocLine(line);
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_DocLineFromVisible)(void* _obj,int lineDisplay)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->DocLineFromVisible(lineDisplay);
+#else
+  return 0;
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetFoldLevel(line);
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetLastChild)(void* _obj,int line,int level)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetLastChild(line, level);
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetFoldParent)(void* _obj,int line)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetFoldParent(line);
+#else
+  return 0;
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->HideLines(lineStart, lineEnd);
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_GetLineVisible)(void* _obj,int line)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetLineVisible(line);
+#else
+  return NULL;
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetFoldExpanded(line);
+#else
+  return false;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_ToggleFold)(void* _obj,int line)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->ToggleFold(line);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_EnsureVisible)(void* _obj,int line)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->EnsureVisible(line);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetFoldFlags)(void* _obj,int flags)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetFoldFlags(flags);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_EnsureVisibleEnforcePolicy)(void* _obj,int line)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->EnsureVisibleEnforcePolicy(line);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetTabIndents)(void* _obj,bool tabIndents)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetTabIndents(tabIndents);
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_GetTabIndents)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetTabIndents();
+#else
+  return false;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetBackSpaceUnIndents)(void* _obj,bool bsUnIndents)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetBackSpaceUnIndents(bsUnIndents);
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_GetBackSpaceUnIndents)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetBackSpaceUnIndents();
+#else
+  return false;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetMouseDwellTime)(void* _obj,int periodMilliseconds)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetMouseDwellTime(periodMilliseconds);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetMouseDwellTime)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetMouseDwellTime();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_WordStartPosition)(void* _obj,int pos,bool onlyWordCharacters)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->WordStartPosition(pos, onlyWordCharacters);
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_WordEndPosition)(void* _obj,int pos,bool onlyWordCharacters)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->WordEndPosition(pos, onlyWordCharacters);
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetWrapMode)(void* _obj,int mode)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetWrapMode(mode);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetWrapMode)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetWrapMode();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetLayoutCache)(void* _obj,int mode)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetLayoutCache(mode);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetLayoutCache)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetLayoutCache();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetScrollWidth)(void* _obj,int pixelWidth)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetScrollWidth(pixelWidth);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetScrollWidth)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetScrollWidth();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_TextWidth)(void* _obj,int style,wxString* text)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->TextWidth(style, *text);
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetEndAtLastLine)(void* _obj,bool endAtLastLine)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetEndAtLastLine(endAtLastLine);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetEndAtLastLine)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetEndAtLastLine();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_TextHeight)(void* _obj,int line)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->TextHeight(line);
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetUseVerticalScrollBar)(void* _obj,bool show)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetUseVerticalScrollBar(show);
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_GetUseVerticalScrollBar)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetUseVerticalScrollBar();
+#else
+  return false;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_AppendText)(void* _obj,wxString* text)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->AppendText(*text);
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_GetTwoPhaseDraw)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetTwoPhaseDraw();
+#else
+  return false;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetTwoPhaseDraw)(void* _obj,bool twoPhase)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetTwoPhaseDraw(twoPhase);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_TargetFromSelection)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->TargetFromSelection();
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_LinesJoin)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->LinesJoin();
+#endif
+}
+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)
+{
+#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)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetFoldMarginHiColour(useSetting, wxColour(fore_r,fore_g,fore_b));
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_LineDuplicate)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->LineDuplicate();
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_HomeDisplay)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->HomeDisplay();
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_HomeDisplayExtend)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->HomeDisplayExtend();
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_LineEndDisplay)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->LineEndDisplay();
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_LineEndDisplayExtend)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->LineEndDisplayExtend();
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_LineCopy)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->LineCopy();
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_MoveCaretInsideView)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->MoveCaretInsideView();
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_LineLength)(void* _obj,int line)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->LineLength(line);
+#else
+  return 0;
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->BraceBadLight(pos);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_BraceMatch)(void* _obj,int pos)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->BraceMatch(pos);
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_GetViewEOL)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetViewEOL();
+#else
+  return false;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetViewEOL)(void* _obj,bool visible)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetViewEOL(visible);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetDocPointer)(void* _obj,void* docPointer)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetDocPointer(docPointer);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetModEventMask)(void* _obj,int mask)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetModEventMask(mask);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetEdgeColumn)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetEdgeColumn();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetEdgeColumn)(void* _obj,int column)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetEdgeColumn(column);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetEdgeMode)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetEdgeMode();
+#else
+  return 0;
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetEdgeColour(wxColour(edgeColour_r,edgeColour_g,edgeColour_b));
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SearchAnchor)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SearchAnchor();
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_SearchNext)(void* _obj,int flags,wxString* text)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->SearchNext(flags, *text);
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_SearchPrev)(void* _obj,int flags,wxString* text)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->SearchPrev(flags, *text);
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_LinesOnScreen)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->LinesOnScreen();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_UsePopUp)(void* _obj,bool allowPopUp)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->UsePopUp(allowPopUp);
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_SelectionIsRectangle)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->SelectionIsRectangle();
+#else
+  return false;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetZoom)(void* _obj,int zoom)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetZoom(zoom);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetZoom)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetZoom();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_AddRefDocument)(void* _obj,void* docPointer)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->AddRefDocument(docPointer);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_ReleaseDocument)(void* _obj,void* docPointer)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->ReleaseDocument(docPointer);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetModEventMask)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetModEventMask();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetSTCFocus)(void* _obj,bool focus)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetSTCFocus(focus);
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_GetSTCFocus)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetSTCFocus();
+#else
+  return false;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetStatus)(void* _obj,int statusCode)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetStatus(statusCode);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetStatus)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetStatus();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetMouseDownCaptures)(void* _obj,bool captures)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetMouseDownCaptures(captures);
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_GetMouseDownCaptures)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetMouseDownCaptures();
+#else
+  return false;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetSTCCursor)(void* _obj,int cursorType)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetSTCCursor(cursorType);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetSTCCursor)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetSTCCursor();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetControlCharSymbol)(void* _obj,int symbol)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetControlCharSymbol(symbol);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetControlCharSymbol)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetControlCharSymbol();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_WordPartLeft)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->WordPartLeft();
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_WordPartLeftExtend)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->WordPartLeftExtend();
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_WordPartRight)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->WordPartRight();
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_WordPartRightExtend)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->WordPartRightExtend();
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->DelLineLeft();
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_DelLineRight)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->DelLineRight();
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetXOffset)(void* _obj,int newOffset)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetXOffset(newOffset);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetXOffset)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetXOffset();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_ChooseCaretX)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->ChooseCaretX();
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetYCaretPolicy(caretPolicy, caretSlop);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetPrintWrapMode)(void* _obj,int mode)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetPrintWrapMode(mode);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetPrintWrapMode)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetPrintWrapMode();
+#else
+  return 0;
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetHotspotActiveBackground(useSetting, wxColour(back_r,back_g,back_b));
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetHotspotActiveUnderline)(void* _obj,bool underline)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetHotspotActiveUnderline(underline);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_PositionBefore)(void* _obj,int pos)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->PositionBefore(pos);
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_PositionAfter)(void* _obj,int pos)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->PositionAfter(pos);
+#else
+  return 0;
+#endif
+}
+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,wxString* text)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->CopyText(length, *text);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_StartRecord)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->StartRecord();
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_StopRecord)(void* _obj)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->StopRecord();
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetLexer)(void* _obj,int lexer)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetLexer(lexer);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetLexer)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetLexer();
+#else
+  return 0;
+#endif
+}
+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,wxString* key,wxString* value)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetProperty(*key, *value);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetKeyWords)(void* _obj,int keywordSet,wxString* keyWords)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetKeyWords(keywordSet, *keyWords);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetLexerLanguage)(void* _obj,wxString* language)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetLexerLanguage(*language);
+#endif
+}
+EWXWEXPORT(int,wxStyledTextCtrl_GetCurrentLine)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetCurrentLine();
+#else
+  return 0;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_StyleSetSpec)(void* _obj,int styleNum,wxString* spec)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->StyleSetSpec(styleNum, *spec);
+#endif
+}
+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,wxString* faceName,bool bold,bool italic,bool underline)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->StyleSetFontAttr(styleNum, size, *faceName, bold, italic, underline);
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetMargins(left, right);
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->ScrollToLine(line);
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_ScrollToColumn)(void* _obj,int column)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->ScrollToColumn(column);
+#endif
+}
+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)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetHScrollBar(*(wxScrollBar**) bar);
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_GetLastKeydownProcessed)(void* _obj)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->GetLastKeydownProcessed();
+#else
+  return false;
+#endif
+}
+EWXWEXPORT(void,wxStyledTextCtrl_SetLastKeydownProcessed)(void* _obj,bool val)
+{
+#ifdef wxUSE_STC
+   ((wxStyledTextCtrl*) _obj)->SetLastKeydownProcessed(val);
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_SaveFile)(void* _obj,wxString* filename)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->SaveFile(*filename);
+#else
+  return false;
+#endif
+}
+EWXWEXPORT(bool,wxStyledTextCtrl_LoadFile)(void* _obj,wxString* filename)
+{
+#ifdef wxUSE_STC
+  return ((wxStyledTextCtrl*) _obj)->LoadFile(*filename);
+#else
+  return false;
+#endif
+}
+ src/cpp/std.cpp view
@@ -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;+}++}
+ src/cpp/taskbaricon.cpp view
@@ -0,0 +1,85 @@+/*==============================================================================+ * taskbaricon.cpp+ *+ * C wrapper for wxTaskbarIcon+ *+ * (C) 2002-2011 wxEiffel and wxHaskell contributors. See contributors.txt+ * + * Licensed under the wxWidgets library license. see LICENSE.+ * + *==============================================================================*/++#include "wrapper.h"+#include <wx/taskbar.h>++extern "C" {++////////////////////////////////////////////////////////////////////////////////+// Event Handlers+////////////////////////////////////////////////////////////////////////////////++#pragma message "wxWidgets taskbar event wrappers generated"+MAKE_EVENT_WRAPPER(EVT_TASKBAR_MOVE)+MAKE_EVENT_WRAPPER(EVT_TASKBAR_LEFT_DOWN)+MAKE_EVENT_WRAPPER(EVT_TASKBAR_LEFT_UP)+MAKE_EVENT_WRAPPER(EVT_TASKBAR_RIGHT_DOWN)+MAKE_EVENT_WRAPPER(EVT_TASKBAR_RIGHT_UP)+MAKE_EVENT_WRAPPER(EVT_TASKBAR_LEFT_DCLICK)+MAKE_EVENT_WRAPPER(EVT_TASKBAR_RIGHT_DCLICK)+#if (wxVERSION_NUMBER >= 2900)+MAKE_EVENT_WRAPPER(EVT_TASKBAR_BALLOON_TIMEOUT)+MAKE_EVENT_WRAPPER(EVT_TASKBAR_BALLOON_CLICK)+#else+MAKE_UNDEFEVENT_WRAPPER(EVT_TASKBAR_BALLOON_TIMEOUT)+MAKE_UNDEFEVENT_WRAPPER(EVT_TASKBAR_BALLOON_CLICK)+#endif++////////////////////////////////////////////////////////////////////////////////+// Wrappers+////////////////////////////////////////////////////////////////////////////////++/*-----------------------------------------------------------------------------+  TaskBarIcon+-----------------------------------------------------------------------------*/+EWXWEXPORT(wxTaskBarIcon*,wxTaskBarIcon_Create)()+{+  return new wxTaskBarIcon();+}++EWXWEXPORT(void,wxTaskBarIcon_Delete)(wxTaskBarIcon* self)+{+  if (self) delete self;+}++EWXWEXPORT(bool,wxTaskBarIcon_IsIconInstalled)(wxTaskBarIcon* self)+{+  return self->IsIconInstalled();+}++EWXWEXPORT(bool,wxTaskBarIcon_IsOk)(wxTaskBarIcon* self)+{+  return self->IsOk();+}++EWXWEXPORT(bool,wxTaskBarIcon_PopupMenu)(wxTaskBarIcon* self,wxMenu* menu)+{+  return self->PopupMenu(menu);+}++EWXWEXPORT(bool,wxTaskBarIcon_RemoveIcon)(wxTaskBarIcon* self)+{+  return self->RemoveIcon();+}++EWXWEXPORT(bool,wxTaskBarIcon_SetIcon)(wxTaskBarIcon* self,wxIcon* icon,wxString* tooltip)+{+#if (wxVERSION_NUMBER < 2900)+  return self->SetIcon(*icon, (tooltip ? *tooltip : *wxEmptyString));+#else+  return tooltip ? self->SetIcon(*icon, *tooltip) : self->SetIcon(*icon);+#endif+}++}++
+ src/cpp/textstream.cpp view
@@ -0,0 +1,50 @@+#include "wrapper.h"+#include <wx/txtstrm.h>++extern "C"+{+EWXWEXPORT( bool, wxInputStream_CanRead)( wxInputStream* self )+{+  if (self)+    return self->CanRead();+  else+    return false;+}++++EWXWEXPORT( wxTextInputStream*, wxTextInputStream_Create)( wxInputStream* inputStream, wxString* sep )+{+  return new wxTextInputStream( *inputStream, *sep );+}++EWXWEXPORT( void, wxTextInputStream_Delete)( wxTextInputStream* self )+{+  if (self) delete self;+}++EWXWEXPORT( wxString*, wxTextInputStream_ReadLine)( wxTextInputStream* self )+{+  if (!self)+    return new wxString(wxT(""));+  else+    return new wxString( self->ReadLine() );+}++EWXWEXPORT( wxTextOutputStream*, wxTextOutputStream_Create)( wxOutputStream* outputStream, wxEOL mode )+{+  return new wxTextOutputStream( *outputStream, mode );+}++EWXWEXPORT( void, wxTextOutputStream_Delete)( wxTextOutputStream* self )+{+  if (self) delete self;+}++EWXWEXPORT( void, wxTextOutputStream_WriteString)( wxTextOutputStream* self, wxString* txt )+{+  if (!self) return;+  self->WriteString( *txt );+}++}
+ src/cpp/treectrl.cpp view
@@ -0,0 +1,540 @@+#include "wrapper.h"++class wxcTreeItemData : public wxTreeItemData+{+  private:+    wxClosure* m_closure;++  public:+    wxcTreeItemData( wxClosure* closure ) { +      m_closure = closure;+    }++    ~wxcTreeItemData() {+      if (m_closure) delete m_closure;+    }++    wxClosure* GetClientClosure() { +      return m_closure; +    }++    void SetClientClosure( wxClosure* closure ) {+      if (m_closure) delete m_closure;+      m_closure = closure;+    }+};++extern "C"+{++EWXWEXPORT(wxcTreeItemData*,wxcTreeItemData_Create)(wxClosure* closure)+{+	return new wxcTreeItemData(closure);+}++EWXWEXPORT(wxClosure*,wxcTreeItemData_GetClientClosure)(wxcTreeItemData* self)+{+	return self->GetClientClosure();+}++EWXWEXPORT(void,wxcTreeItemData_SetClientClosure)(wxcTreeItemData* self,wxClosure* closure)+{+	self->SetClientClosure(closure);+}++EWXWEXPORT(void*,wxTreeItemId_Create)()+{+	return new wxTreeItemId();+}++EWXWEXPORT(void,wxTreeItemId_Delete)(wxTreeItemId* self)+{+	delete self;+}++EWXWEXPORT(bool,wxTreeItemId_IsOk)(wxTreeItemId* self)+{+	return self->IsOk();+}++EWXWEXPORT(wxTreeItemId*,wxTreeItemId_Clone)(wxTreeItemId* self)+{+	wxTreeItemId* clone = new wxTreeItemId();+	*clone = *self;+	return clone;+}++// FIXME: wxHaskell uses this function in Graphics.UI.WXCore.WxcTypes.withTreeItemIdPtr+// to make wxTreeItemId.+//+// But wxWidgets' document says: wxTreemItemIds are not meant to be constructed+// explicitly by the user; they are returned by the wxTreeCtrl functions instead.+//+// http://www.wxwindows.org/manuals/2.8/wx_wxtreeitemid.html#wxtreeitemid+//+// So we must remove this function and replace treeItemId implementation in the+// funture.+EWXWEXPORT(wxTreeItemId*,wxTreeItemId_CreateFromValue)(int value)+{+#if wxVERSION_NUMBER < 2800+	return new wxTreeItemId( value );+#else+	// TODO: This function should be removed. No longer any equivalent in wxWidgets+	wxTreeItemId *item = new wxTreeItemId();+	item->m_pItem = reinterpret_cast<wxTreeItemIdValue>(value);+	return item;+#endif+}++EWXWEXPORT(int,wxTreeItemId_GetValue)(wxTreeItemId* self)+{+	return (long)(self->m_pItem);+}+++EWXWEXPORT(wxKeyEvent*,wxTreeEvent_GetKeyEvent)(wxTreeEvent* self)+{+	return (wxKeyEvent*)&(self->GetKeyEvent());+}++EWXWEXPORT(bool,wxTreeEvent_IsEditCancelled)(wxTreeEvent* self)+{+	return self->IsEditCancelled();+}++EWXWEXPORT(void,wxTreeEvent_Allow)(wxTreeEvent* self)+{+	self->Allow();+}+++EWXWEXPORT(wxTreeCtrl*,wxTreeCtrl_Create)(void* _obj,void* _cmp,wxWindow* _prt,int _id,int _lft,int _top,int _wdt,int _hgt,int _stl)+{+	return new wxTreeCtrl (_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, wxDefaultValidator);+}++EWXWEXPORT(wxTreeCtrl*,wxTreeCtrl_Create2)(wxWindow* _prt,int _id,int _lft,int _top,int _wdt,int _hgt,int _stl)+{+	return new wxTreeCtrl (_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl, wxDefaultValidator);+}++EWXWEXPORT(int,wxTreeCtrl_GetCount)(wxTreeCtrl* self)+{+	int result =(int)self->GetCount();+#ifdef __WXGTK__+	wxTreeItemId t = self->GetRootItem();+	if (t.IsOk()) result++;+#endif+	return result;+}+	+EWXWEXPORT(int,wxTreeCtrl_GetIndent)(wxTreeCtrl* self)+{+	return self->GetIndent();+}+	+EWXWEXPORT(void,wxTreeCtrl_SetIndent)(wxTreeCtrl* self,int indent)+{+	self->SetIndent(indent);+}+	+EWXWEXPORT(int,wxTreeCtrl_GetSpacing)(wxTreeCtrl* self)+{+	return (int)self->GetSpacing();+}+	+EWXWEXPORT(void,wxTreeCtrl_SetSpacing)(wxTreeCtrl* self,int spacing)+{+	self->SetSpacing(spacing);+}+	+EWXWEXPORT(wxImageList*,wxTreeCtrl_GetImageList)(wxTreeCtrl* self)+{+	return self->GetImageList();+}+	+EWXWEXPORT(wxImageList*,wxTreeCtrl_GetStateImageList)(wxTreeCtrl* self)+{+	return self->GetStateImageList();+}++EWXWEXPORT(void,wxTreeCtrl_AssignImageList)(wxTreeCtrl* self,wxImageList* imageList)+{+	self->AssignImageList(imageList);+}++EWXWEXPORT(void,wxTreeCtrl_AssignStateImageList)(wxTreeCtrl* self,wxImageList* imageList)+{+	self->AssignStateImageList(imageList);+}++/*+EWXWEXPORT(wxImageList*,wxTreeCtrl_GetButtonsImageList)(wxTreeCtrl* self)+{+	return self->GetButtonsImageList();+}++EWXWEXPORT(void,wxTreeCtrl_SetButtonsImageList)(wxTreeCtrl* self,wxImageList* imageList)+{+	self->SetButtonsImageList(imageList);+}++EWXWEXPORT(void,wxTreeCtrl_AssignButtonsImageList)(wxTreeCtrl* self,wxImageList* imageList)+{+	self->AssignButtonsImageList(imageList);+}+*/++EWXWEXPORT(void,wxTreeCtrl_SetImageList)(wxTreeCtrl* self,wxImageList* imageList)+{+	self->SetImageList(imageList);+}+	+EWXWEXPORT(void,wxTreeCtrl_SetStateImageList)(wxTreeCtrl* self,wxImageList* imageList)+{+	self->SetStateImageList(imageList);+}+	+EWXWEXPORT(wxString*,wxTreeCtrl_GetItemText)(wxTreeCtrl* self,void* item)+{+	wxString *result = new wxString();+	*result = self->GetItemText(*(wxTreeItemId*)item);+	return result;+}+	+EWXWEXPORT(int,wxTreeCtrl_GetItemImage)(wxTreeCtrl* self,wxTreeItemId* item,int which)+{+	return self->GetItemImage(*item, (wxTreeItemIcon) which);+}+	+EWXWEXPORT(void*,wxTreeCtrl_GetItemData)(wxTreeCtrl* self,wxTreeItemId* item)+{+	return ((wxcTreeItemData*)self->GetItemData(* item))->GetClientClosure();+}++EWXWEXPORT(void*,wxTreeCtrl_GetItemClientClosure)(wxTreeCtrl* self,wxTreeItemId* item)+{+	return ((wxcTreeItemData*)self->GetItemData(* item))->GetClientClosure();+}++	+EWXWEXPORT(void,wxTreeCtrl_SetItemText)(wxTreeCtrl* self,wxTreeItemId* item,wxString* text)+{+	self->SetItemText(* item,*text);+}+	+EWXWEXPORT(void,wxTreeCtrl_SetItemImage)(wxTreeCtrl* self,wxTreeItemId* item,int image,int which)+{+	self->SetItemImage(*item, image, (wxTreeItemIcon)which);+}+	+EWXWEXPORT(void,wxTreeCtrl_SetItemData)(wxTreeCtrl* self,wxTreeItemId* item,wxClosure* closure)+{+	self->SetItemData(*item, new wxcTreeItemData (closure));+}++EWXWEXPORT(void,wxTreeCtrl_SetItemClientClosure)(wxTreeCtrl* self,wxTreeItemId* item,wxClosure* closure)+{+        wxTreeItemData* oldData = self->GetItemData(* item);+        /* bit unsafe: might delete twice but it is definitely ok on MSW 2.4.1 */+        if (oldData) delete oldData;+	self->SetItemData(* item, new wxcTreeItemData (closure));+}++	+EWXWEXPORT(void,wxTreeCtrl_SetItemHasChildren)(wxTreeCtrl* self,wxTreeItemId* item,bool has)+{+	self->SetItemHasChildren(*item, has);+}+	+EWXWEXPORT(void,wxTreeCtrl_SetItemBold)(wxTreeCtrl* self,wxTreeItemId* item,bool bold)+{+	self->SetItemBold(* item, bold);+}+	+EWXWEXPORT(void,wxTreeCtrl_SetItemDropHighlight)(wxTreeCtrl* self,wxTreeItemId* item,bool highlight)+{+#ifdef __WIN32__+	self->SetItemDropHighlight(* item, highlight);+#endif+}+	+EWXWEXPORT(void,wxTreeCtrl_SetItemTextColour)(wxTreeCtrl* self,wxTreeItemId* item,wxColour* col)+{+	self->SetItemTextColour(*item,*col);+}+	+EWXWEXPORT(void,wxTreeCtrl_SetItemBackgroundColour)(wxTreeCtrl* self,wxTreeItemId* item,wxColour* col)+{+	self->SetItemBackgroundColour(* item,* col);+}+	+EWXWEXPORT(void,wxTreeCtrl_SetItemFont)(wxTreeCtrl* self,wxTreeItemId* item,wxFont* font)+{+	self->SetItemFont(* item,*font);+}+	+EWXWEXPORT(bool,wxTreeCtrl_IsVisible)(wxTreeCtrl* self,wxTreeItemId* item)+{+	return self->IsVisible(*item);+}+	+EWXWEXPORT(int,wxTreeCtrl_ItemHasChildren)(wxTreeCtrl* self,wxTreeItemId* item)+{+	return (int)self->ItemHasChildren(* item);+}+	+EWXWEXPORT(bool,wxTreeCtrl_IsExpanded)(wxTreeCtrl* self,wxTreeItemId* item)+{+	return self->IsExpanded(*item);+}+	+EWXWEXPORT(bool,wxTreeCtrl_IsSelected)(wxTreeCtrl* self,wxTreeItemId* item)+{+	return self->IsSelected(*item);+}+	+EWXWEXPORT(bool,wxTreeCtrl_IsBold)(wxTreeCtrl* self,wxTreeItemId* item)+{+	return self->IsBold(*item);+}+	+EWXWEXPORT(int,wxTreeCtrl_GetChildrenCount)(wxTreeCtrl* self,wxTreeItemId* item,int recursively)+{+	return self->GetChildrenCount(* item, recursively);+}+	+EWXWEXPORT(void,wxTreeCtrl_GetRootItem)(wxTreeCtrl* self,wxTreeItemId* _item)+{+	*_item = self->GetRootItem();+}+	+EWXWEXPORT(void,wxTreeCtrl_GetSelection)(wxTreeCtrl* self,wxTreeItemId* _item)+{+	*_item = self->GetSelection();+}+	+EWXWEXPORT(int,wxTreeCtrl_GetSelections)(wxTreeCtrl* self,intptr_t* selections)+{+	int result = 0;+	wxArrayTreeItemIds sel;+	result = self->GetSelections(sel);+	+	if (selections)+	{+          for (int i = 0; i < result; i++) {+            /*+			*(((wxTreeItemId**)selections)[i]) = sel[i];+            */+#if (wxVERSION_NUMBER < 2800)+	    #if wxCHECK_VERSION(2,5,0)+            selections[i] = (intptr_t)(((wxTreeItemId*)sel[i])->m_pItem);+        #else+	        selections[i] = (intptr_t)(sel[i].m_pItem);+	    #endif+#else+            selections[i] = (intptr_t)(((wxTreeItemId)sel[i]).m_pItem);+#endif+	  }+	}+	return result;+}+	+EWXWEXPORT(void,wxTreeCtrl_GetParent)(wxTreeCtrl* self,wxTreeItemId* item,wxTreeItemId* _item)+{+#if wxVERSION_NUMBER < 2400+	*_item = self->GetParent(*item);+#else+	*_item = self->GetItemParent(*item);+#endif+}+	+EWXWEXPORT(void,wxTreeCtrl_GetFirstChild)(wxTreeCtrl* self,wxTreeItemId* item,void* cookie,wxTreeItemId* _item)+{+#if wxVERSION_NUMBER < 2600+	*_item = self->GetFirstChild(*item,*((long*)cookie));+#else+	*_item = self->GetFirstChild(*item, cookie);+#endif+}+	+EWXWEXPORT(void,wxTreeCtrl_GetNextChild)(wxTreeCtrl* self,wxTreeItemId* item,void* cookie,wxTreeItemId* _item)+{+#if wxVERSION_NUMBER < 2600+	*_item = self->GetNextChild(*item,*((long*)cookie));+#else+	*_item = self->GetNextChild(*item, cookie);+#endif+}+	+EWXWEXPORT(void,wxTreeCtrl_GetLastChild)(wxTreeCtrl* self,wxTreeItemId* item,wxTreeItemId* _item)+{+	*_item = self->GetLastChild(*item);+}+	+EWXWEXPORT(void,wxTreeCtrl_GetNextSibling)(wxTreeCtrl* self,wxTreeItemId* item,wxTreeItemId* _item)+{+	*_item = self->GetNextSibling(* item);+}+	+EWXWEXPORT(void,wxTreeCtrl_GetPrevSibling)(wxTreeCtrl* self,wxTreeItemId* item,wxTreeItemId* _item)+{+	*_item = self->GetPrevSibling(* item);+}+	+EWXWEXPORT(void,wxTreeCtrl_GetFirstVisibleItem)(wxTreeCtrl* self,wxTreeItemId* _item)+{+	*_item = self->GetFirstVisibleItem();+}++EWXWEXPORT(void,wxTreeCtrl_GetNextVisible)(wxTreeCtrl* self,wxTreeItemId* item,wxTreeItemId* _item)+{+	*_item = self->GetNextVisible(*item);+}+	+EWXWEXPORT(void,wxTreeCtrl_GetPrevVisible)(wxTreeCtrl* self,wxTreeItemId* item,wxTreeItemId* _item)+{+	*_item = self->GetPrevVisible(*item);+}+	+EWXWEXPORT(void,wxTreeCtrl_AddRoot)(wxTreeCtrl* self,wxString* text,int image,int selectedImage,wxClosure* data,wxTreeItemId* _item)+{+	*_item = self->AddRoot(*text, image, selectedImage, new wxcTreeItemData(data));+}+	+EWXWEXPORT(void,wxTreeCtrl_PrependItem)(wxTreeCtrl* self,wxTreeItemId* parent,wxString* text,int image,int selectedImage,wxClosure* data,wxTreeItemId* _item)+{+	*_item = self->PrependItem(*parent,*text, image, selectedImage, new wxcTreeItemData(data));+}+	+EWXWEXPORT(void,wxTreeCtrl_InsertItem)(wxTreeCtrl* self,wxTreeItemId* parent,wxTreeItemId* idPrevious,wxString* text,int image,int selectedImage,wxClosure* data,wxTreeItemId* _item)+{+	*_item = self->InsertItem(*parent,*idPrevious,*text, image, selectedImage, new wxcTreeItemData(data));+}++EWXWEXPORT(void,wxTreeCtrl_InsertItem2)(wxTreeCtrl* self,wxTreeItemId* parent,wxTreeItemId* idPrevious,wxString* text,int image,int selectedImage,wxClosure* closure,wxTreeItemId* _item)+{+	*_item = self->InsertItem(*parent,*idPrevious,*text, image, selectedImage, new wxcTreeItemData(closure));+}++	+EWXWEXPORT(void,wxTreeCtrl_InsertItemByIndex)(wxTreeCtrl* self,wxTreeItemId* parent,int index,wxString* text,int image,int selectedImage,wxClosure* data,wxTreeItemId* _item)+{+	*_item = self->InsertItem(*parent, index,*text, image, selectedImage, new wxcTreeItemData(data));+}++EWXWEXPORT(void,wxTreeCtrl_InsertItemByIndex2)(wxTreeCtrl* self,wxTreeItemId* parent,int index,wxString* text,int image,int selectedImage,wxClosure* data,wxTreeItemId* _item)+{+	*_item = self->InsertItem(*parent, index,*text, image, selectedImage, new wxcTreeItemData(data));+}++	+EWXWEXPORT(void,wxTreeCtrl_AppendItem)(wxTreeCtrl* self,wxTreeItemId* parent,wxString* text,int image,int selectedImage,wxClosure* data,wxTreeItemId* _item)+{+	*_item = self->AppendItem(* parent,*text, image, selectedImage, new wxcTreeItemData(data));+}+	+EWXWEXPORT(void,wxTreeCtrl_Delete)(wxTreeCtrl* self,wxTreeItemId* item)+{+	self->Delete(*item);+}+	+EWXWEXPORT(void,wxTreeCtrl_DeleteChildren)(wxTreeCtrl* self,wxTreeItemId* item)+{+	self->DeleteChildren(*item);+}+	+EWXWEXPORT(void,wxTreeCtrl_DeleteAllItems)(wxTreeCtrl* self)+{+	self->DeleteAllItems();+}+	+EWXWEXPORT(void,wxTreeCtrl_Expand)(wxTreeCtrl* self,wxTreeItemId* item)+{+	self->Expand(*item);+}+	+EWXWEXPORT(void,wxTreeCtrl_Collapse)(wxTreeCtrl* self,wxTreeItemId* item)+{+	self->Collapse(*item);+}+	+EWXWEXPORT(void,wxTreeCtrl_CollapseAndReset)(wxTreeCtrl* self,wxTreeItemId* item)+{+	self->CollapseAndReset(*item);+}+	+EWXWEXPORT(void,wxTreeCtrl_Toggle)(wxTreeCtrl* self,wxTreeItemId* item)+{+	self->Toggle(*item);+}+	+EWXWEXPORT(void,wxTreeCtrl_Unselect)(wxTreeCtrl* self)+{+	self->Unselect();+}+	+EWXWEXPORT(void,wxTreeCtrl_UnselectAll)(wxTreeCtrl* self)+{+	self->UnselectAll();+}+	+EWXWEXPORT(void,wxTreeCtrl_SelectItem)(wxTreeCtrl* self,wxTreeItemId* item)+{+	self->SelectItem(*item);+}+	+EWXWEXPORT(void,wxTreeCtrl_EnsureVisible)(wxTreeCtrl* self,wxTreeItemId* item)+{+	self->EnsureVisible(*item);+}+	+EWXWEXPORT(void,wxTreeCtrl_ScrollTo)(wxTreeCtrl* self,wxTreeItemId* item)+{+	self->ScrollTo(*item);+}+	+EWXWEXPORT(void,wxTreeCtrl_EditLabel)(wxTreeCtrl* self,wxTreeItemId* item)+{+	self->EditLabel(*item);+}+	+EWXWEXPORT(void*,wxTreeCtrl_GetEditControl)(wxTreeCtrl* self)+{+#ifdef __WIN32__+	return (void*)self->GetEditControl();+#else+	return NULL;+#endif+}+	+EWXWEXPORT(void,wxTreeCtrl_EndEditLabel)(wxTreeCtrl* self,wxTreeItemId* item,bool discardChanges)+{+#ifdef __WIN32__+	self->EndEditLabel(*item, discardChanges);+#endif+}+	+EWXWEXPORT(int,wxTreeCtrl_OnCompareItems)(wxTreeCtrl* self,wxTreeItemId* item1,wxTreeItemId* item2)+{+	return self->OnCompareItems(*item1,*item2);+}+	+EWXWEXPORT(void,wxTreeCtrl_SortChildren)(wxTreeCtrl* self,wxTreeItemId* item)+{+	self->SortChildren(*item);+}+	+EWXWEXPORT(void,wxTreeCtrl_HitTest)(wxTreeCtrl* self,int _x,int _y,void* flags,wxTreeItemId* _item)+{+	*_item = self->HitTest(wxPoint(_x, _y),*((int*)flags));+}+	+EWXWEXPORT(wxRect*,wxTreeCtrl_GetBoundingRect)(wxTreeCtrl* self,wxTreeItemId* item,bool textOnly)+{+	wxRect * const rct = new wxRect(-1,-1,-1,-1);+	self->GetBoundingRect(*item, *rct, textOnly);+	return rct;+}+	+}
+ src/cpp/wrapper.cpp view
@@ -0,0 +1,757 @@+#include "wrapper.h"+#include "wx/tooltip.h"+#include "wx/dynlib.h"+#include "wx/fs_zip.h"++/* quantize is not supported on wxGTK 2.4.0 */+#if !defined(__WXGTK__) || (wxVERSION_NUMBER > 2400)+#  include "wx/quantize.h"+#endif++/*-----------------------------------------------------------------------------+    Miscellaneous helper functions+-----------------------------------------------------------------------------*/++int copyStrToBuf(void* dst, wxString& src) {+  if (dst) wxStrcpy ((wxChar*) dst, src.c_str());+  return src.Length();+}++/*-----------------------------------------------------------------------------+    The global idle timer+-----------------------------------------------------------------------------*/+class wxIdleTimer : public wxTimer+{+public:+  void Notify() {+    wxWakeUpIdle();   /* send idle events */+  }+};++wxIdleTimer* idleTimer = NULL;++void initIdleTimer()+{+  idleTimer = new wxIdleTimer();+}++void doneIdleTimer()+{+  if (idleTimer) {+    idleTimer->Stop();+    delete idleTimer;+    idleTimer = NULL;+  }+}++++/*-----------------------------------------------------------------------------+    The main application+-----------------------------------------------------------------------------*/+wxClosure* initClosure = NULL;+int APPTerminating = 0;++IMPLEMENT_APP_NO_MAIN(ELJApp);++bool ELJApp::OnInit (void)+{+  wxInitAllImageHandlers();+  initIdleTimer();+  if (initClosure) {+    delete initClosure; /* special: init is only called once with a NULL event */+    initClosure=NULL;+  }+  return true;+}++int ELJApp::OnExit( void )+{+  doneIdleTimer();+  return wxApp::OnExit();+}++void ELJApp::InitZipFileSystem()+{+        static int InitZIPFileSystem_done = 0;++        if (!InitZIPFileSystem_done)+        {+                InitZIPFileSystem_done = 1;+                wxFileSystem::AddHandler(new wxZipFSHandler());+        }+}++void ELJApp::InitImageHandlers()+{+        static int InitImageHandlers_done = 0;++        if (!InitImageHandlers_done)+        {+                InitImageHandlers_done = 1;+                wxInitAllImageHandlers();+        }+}+++/* "getCallback" is a hack to retrieve the callback object for a certain event+   see also "wxEvtHandler_FindClosure"+*/+static wxCallback** getCallback = NULL;++void ELJApp::HandleEvent(wxEvent& _evt)+{+  wxCallback* callback = (wxCallback*)(_evt.m_callbackUserData);+  if (getCallback) {+    *getCallback = callback;    /* retrieve the callback */+  }+  else if (callback) {+    callback->Invoke( &_evt );  /* normal: invoke the callback function */+  }+}++/*-----------------------------------------------------------------------------+    Closures+-----------------------------------------------------------------------------*/+wxClosure::wxClosure( ClosureFun fun, void* data )+{+  m_refcount = 0;+  m_fun  = fun;+  m_data = data;+}++wxClosure::~wxClosure()+{+  /* call for the last time with a NULL event. Give opportunity to clean up resources */+  if (m_fun) { m_fun((void*)m_fun, m_data, NULL); }+}++void wxClosure::IncRef()+{+  m_refcount++;+}++void wxClosure::DecRef()+{+  m_refcount--;+  if (m_refcount <= 0) {+    delete this;+  }+}++void wxClosure::Invoke( wxEvent* event )+{+  if (event && m_fun) { m_fun((void*)m_fun, m_data, event); }+};++void* wxClosure::GetData()+{+  return m_data;+}++/*-----------------------------------------------------------------------------+    callback: a reference counting wrapper for a closure+-----------------------------------------------------------------------------*/+wxCallback::wxCallback( wxClosure* closure )+{+  m_closure = closure;+  m_closure->IncRef();+}++wxCallback::~wxCallback()+{+  m_closure->DecRef();+}++void wxCallback::Invoke( wxEvent* event )+{+  m_closure->Invoke(event);+}++wxClosure* wxCallback::GetClosure()+{+  return m_closure;+}++++/*-----------------------------------------------------------------------------+    wrapper for objectRefData+-----------------------------------------------------------------------------*/+class wxcClosureRefData : public wxObjectRefData+{+  private:+    wxClosure*  m_closure;+  public:+    wxcClosureRefData( wxClosure* closure );+    ~wxcClosureRefData();++    wxClosure* GetClosure();+};++wxcClosureRefData::wxcClosureRefData( wxClosure* closure )+{+  m_closure = closure;+}++wxcClosureRefData::~wxcClosureRefData()+{+/* printf("delete wxc-ClosureRefData\n");  */+  if (m_closure) { delete m_closure; m_closure = NULL; }+}++wxClosure* wxcClosureRefData::GetClosure()+{+  return m_closure;+}+++/*-----------------------------------------------------------------------------+    C interface to event handling and closures.+-----------------------------------------------------------------------------*/+extern "C"+{+/* event handling */+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)+{+  wxCommandEvent  event(type,id);     //We can use any kind of event here+  wxCallback*     callback = NULL;+  bool            found    = false;++  //set the global variable 'getCallback' so HandleEvent+  //knows we just want to know the closure. Unfortunately, this+  //seems the cleanest way to retrieve the callback in wxWindows.+  getCallback = &callback;+  // Bugfix: see www.mail-archive.com/wxhaskell-devel@lists.sourceforge.net/msg00577.html+  // On entry, Dynamic event table may have no bound events+  // Bug reproduces only on Debug builds, and seems to be ignorable+  if (evtHandler->GetDynamicEventTable() != NULL)+    found = evtHandler->SearchDynamicEventTable( event );+  getCallback = NULL;++  if (found && callback)+    return callback->GetClosure();+  else+    return NULL;+}++/* closures */+EWXWEXPORT(wxClosure*,wxClosure_Create)(ClosureFun fun,void* data)+{+  return new wxClosure(fun,data);+}++EWXWEXPORT(void*,wxClosure_GetData)(wxClosure* closure)+{+  return closure->GetData();+}++/* client data */+EWXWEXPORT(void*,wxEvtHandler_GetClientClosure)(void* _obj)+{+  return (void*)((wxEvtHandler*)_obj)->GetClientObject();+}++EWXWEXPORT(void,wxEvtHandler_SetClientClosure)(void* _obj,wxClosure* closure)+{+  ((wxEvtHandler*)_obj)->SetClientObject(closure);+}++EWXWEXPORT(wxClosure*,wxObject_GetClientClosure)(wxObject* _obj)+{+  wxcClosureRefData* refData = (wxcClosureRefData*)_obj->GetRefData();+  if (refData)+    return refData->GetClosure();+  else+    return NULL;+}++EWXWEXPORT(void,wxObject_SetClientClosure)(wxObject* _obj,wxClosure* closure)+{+  wxcClosureRefData* refData;+  /* wxASSERT(_obj->GetRefData() == NULL); */+  _obj->UnRef();+  wxASSERT(_obj->GetRefData() == NULL);+  refData = new wxcClosureRefData( closure );+  _obj->SetRefData( refData );    //set new data -- ref count must be 1 as setRefData doesn't increase it.  +}++/*-----------------------------------------------------------------------------+    C interface to the idle timer+-----------------------------------------------------------------------------*/+EWXWEXPORT(int,ELJApp_GetIdleInterval)()+{+  if (!idleTimer) return 0;++  if (idleTimer->IsRunning())+    return idleTimer->GetInterval();+  else+    return 0;+}++EWXWEXPORT(void,ELJApp_SetIdleInterval)(int interval)+{+  if (idleTimer) {+    if (idleTimer->IsRunning()) {+      idleTimer->Stop();+    }+    if (interval >= 5) {+      idleTimer->Start( interval, false );+    }+  }+}++/*-----------------------------------------------------------------------------+    C interface to the application.+-----------------------------------------------------------------------------*/+//int OnExit();+//virtual void OnFatalException();+EWXWEXPORT(int,ELJApp_MainLoop)()+{+        return wxGetApp().MainLoop();+}++EWXWEXPORT(bool,ELJApp_Initialized)()+{+#if WXWIN_COMPATIBILITY_2_6+        return wxGetApp().Initialized();+#else+        return true;+#endif+}++EWXWEXPORT(int,ELJApp_Pending)()+{+        return (int)wxGetApp().Pending();+}++EWXWEXPORT(void,ELJApp_Dispatch)()+{+        wxGetApp().Dispatch();+}++EWXWEXPORT(wxString*,ELJApp_GetAppName)()+{+	wxString *result = new wxString();+	*result = wxGetApp().GetAppName();+	return result;+}++EWXWEXPORT(void,ELJApp_SetAppName)(wxString* name)+{+        wxGetApp().SetAppName(*name);+}++EWXWEXPORT(wxString*,ELJApp_GetClassName)()+{+	wxString *result = new wxString();+	*result = wxGetApp().GetClassName();+	return result;+}++EWXWEXPORT(void,ELJApp_SetClassName)(wxString* name)+{+        wxGetApp().SetClassName(*name);+}++EWXWEXPORT(wxString*,ELJApp_GetVendorName)()+{+	wxString *result = new wxString();+	*result = wxGetApp().GetVendorName();+	return result;+}++EWXWEXPORT(void,ELJApp_SetVendorName)(wxString* name)+{+        wxGetApp().SetVendorName(*name);+}++EWXWEXPORT(void*,ELJApp_GetTopWindow)()+{+        return wxGetApp().GetTopWindow();+}++EWXWEXPORT(void,ELJApp_SetExitOnFrameDelete)(bool flag)+{+        wxGetApp().SetExitOnFrameDelete(flag);+}++EWXWEXPORT(int,ELJApp_GetExitOnFrameDelete)()+{+        return (int)wxGetApp().GetExitOnFrameDelete();+}++EWXWEXPORT(void*,ELJApp_CreateLogTarget)()+{+#if wxVERSION_NUMBER <= 2600+        return wxGetApp().CreateLogTarget();+#else+        wxAppTraits* appTraits = wxGetApp().GetTraits();+        return appTraits->CreateLogTarget();+#endif+}++/*+EWXWEXPORT(int,ELJApp_GetWantDebugOutput)()+{+        return (int)wxGetApp().GetWantDebugOutput();+}+*/++EWXWEXPORT(void,ELJApp_SetUseBestVisual)(bool flag)+{+        wxGetApp().SetUseBestVisual( flag);+}++EWXWEXPORT(int,ELJApp_GetUseBestVisual)()+{+        return (int)wxGetApp().GetUseBestVisual();+}++EWXWEXPORT(void,ELJApp_SetPrintMode)(int mode)+{+        wxGetApp().SetPrintMode(mode);+}++EWXWEXPORT(void,ELJApp_ExitMainLoop)()+{+        wxGetApp ().ExitMainLoop();+}++EWXWEXPORT(void,ELJApp_SetTopWindow)(wxWindow* _wnd)+{+        wxGetApp ().SetTopWindow (_wnd);+}+/*+EWXWEXPORT(int,ELJApp_SendIdleEvents)()+{+        return (int)wxGetApp().SendIdleEvents();+}++EWXWEXPORT(int,ELJApp_SendIdleEventsToWindow)(wxWindow* win)+{+        return (int)wxGetApp().SendIdleEvents( win);+}+*/+EWXWEXPORT(void,ELJApp_EnableTooltips)(bool _enable)+{+        wxToolTip::Enable (_enable);+}++EWXWEXPORT(void,ELJApp_SetTooltipDelay)(int _ms)+{+        wxToolTip::SetDelay (_ms);+}++EWXWEXPORT(void,ELJApp_InitAllImageHandlers)()+{+        wxInitAllImageHandlers();+}++EWXWEXPORT(void,ELJApp_Bell)()+{+        wxBell();+}++EWXWEXPORT(wxSize*,ELJApp_DisplaySize)()+{+	wxSize* sz = new wxSize();+	*sz = wxGetDisplaySize();+	return sz;+}++EWXWEXPORT(void,ELJApp_EnableTopLevelWindows)(bool _enb)+{+        wxEnableTopLevelWindows(_enb);+}++EWXWEXPORT(void,ELJApp_Exit)()+{+        wxExit();+}++EWXWEXPORT(wxPoint*,ELJApp_MousePosition)()+{+	wxPoint* pt = new wxPoint();+	*pt = wxGetMousePosition();+	return pt;+}++EWXWEXPORT(void*,ELJApp_FindWindowByLabel)(wxString* _lbl,wxWindow* _prt)+{+        return (void*)wxFindWindowByLabel(*_lbl, _prt);+}++EWXWEXPORT(void*,ELJApp_FindWindowByName)(wxString* _lbl,wxWindow* _prt)+{+        return (void*)wxFindWindowByName(*_lbl, _prt);+}++EWXWEXPORT(void*,ELJApp_FindWindowById)(int _id,wxWindow* _prt)+{+        return (void*)wxWindow::FindWindowById((long)_id, _prt);+}+++EWXWEXPORT(void*,ELJApp_GetApp)()+{+        return (void*)wxTheApp;+}++EWXWEXPORT(wxString*,ELJApp_GetUserId)()+{+	wxString *result = new wxString();+	*result = wxGetUserId();+	return result;+}++EWXWEXPORT(wxString*,ELJApp_GetUserName)()+{+	wxString *result = new wxString();+	*result = wxGetUserName();+	return result;+}++EWXWEXPORT(wxString*,ELJApp_GetUserHome)(wxString* _usr)+{+	wxString *result = new wxString();+	*result = wxGetUserHome(*_usr);+	return result;+}++EWXWEXPORT(int,ELJApp_ExecuteProcess)(wxString* _cmd,bool _snc,void* _prc)+{+        return (int)wxExecute(*_cmd, _snc , (wxProcess*)_prc);+}++EWXWEXPORT(int,ELJApp_Yield)()+{+        return (int)wxYield();+}++EWXWEXPORT(int,ELJApp_SafeYield)(wxWindow* _win)+{+        return (int)wxSafeYield(_win);+}++EWXWEXPORT(int,ELJApp_GetOsVersion)(int* _maj,int* _min)+{+        return wxGetOsVersion(_maj, _min);+}++EWXWEXPORT(wxString*,ELJApp_GetOsDescription)()+{+	wxString *result = new wxString();+	*result = wxGetOsDescription();+	return result;+}++EWXWEXPORT(void,ELJApp_Sleep)(int _scs)+{+        wxSleep(_scs);+}++EWXWEXPORT(void,ELJApp_MilliSleep)(int _mscs)+{+#if (wxVERSION_NUMBER < 2600)+        wxUsleep(_mscs);+#else+        wxMilliSleep(_mscs);+#endif+}++EWXWEXPORT(bool,ELJApp_IsTerminating)()+{+        return APPTerminating;+}++EWXWEXPORT(int,QuantizePalette)(void* src,void* dest,void* pPalette,int desiredNoColours,void* eightBitData,int flags)+{+#if defined(__WXGTK__) && (wxVERSION_NUMBER <= 2400)+	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)+{+#if defined(__WXGTK__) && (wxVERSION_NUMBER <= 2400)+	return 0;+#else+        return (int)wxQuantize::Quantize(*((wxImage*)src), *((wxImage*)dest), desiredNoColours, (unsigned char**)eightBitData, flags);+#endif+}+++EWXWEXPORT(void*,wxEvtHandler_Create)()+{+        return (void*)new wxEvtHandler();+}++EWXWEXPORT(void,wxEvtHandler_Delete)(wxEvtHandler* self)+{+        delete self;+}+++EWXWEXPORT(int,wxEvtHandler_Disconnect)(wxEvtHandler* self,int first,int last,int type,wxObject* data)+{+        return (int)self->Disconnect(first, last, type, (wxObjectEventFunction)&ELJApp::HandleEvent, data);+}++EWXWEXPORT(void*,wxEvtHandler_GetNextHandler)(wxEvtHandler* self)+{+        return (void*)self->GetNextHandler();+}++EWXWEXPORT(void*,wxEvtHandler_GetPreviousHandler)(wxEvtHandler* self)+{+        return (void*)self->GetPreviousHandler();+}++EWXWEXPORT(void,wxEvtHandler_SetNextHandler)(wxEvtHandler* self,void* handler)+{+        self->SetNextHandler((wxEvtHandler*)handler);+}++EWXWEXPORT(void,wxEvtHandler_SetPreviousHandler)(wxEvtHandler* self,void* handler)+{+        self->SetPreviousHandler((wxEvtHandler*)handler);+}++EWXWEXPORT(void,wxEvtHandler_SetEvtHandlerEnabled)(wxEvtHandler* self,bool enabled)+{+        self->SetEvtHandlerEnabled(enabled);+}++EWXWEXPORT(bool,wxEvtHandler_GetEvtHandlerEnabled)(wxEvtHandler* self)+{+        return self->GetEvtHandlerEnabled();+}++EWXWEXPORT(bool,wxEvtHandler_ProcessEvent)(wxEvtHandler* self,wxEvent* event)+{+        return self->ProcessEvent(*event);+}++EWXWEXPORT(void,wxEvtHandler_AddPendingEvent)(wxEvtHandler* self,wxEvent* event)+{+        self->AddPendingEvent(*event);+}++EWXWEXPORT(void,wxEvtHandler_ProcessPendingEvents)(wxEvtHandler* self)+{+        self->ProcessPendingEvents();+}++EWXWEXPORT(void*,Null_AcceleratorTable)()+{+        return (void*)&wxNullAcceleratorTable;+}++EWXWEXPORT(void*,Null_Bitmap)()+{+        return (void*)&wxNullBitmap;+}++EWXWEXPORT(void*,Null_Icon)()+{+        return (void*)&wxNullIcon;+}++EWXWEXPORT(void*,Null_Cursor)()+{+        return (void*)&wxNullCursor;+}++EWXWEXPORT(void*,Null_Pen)()+{+        return (void*)&wxNullPen;+}++EWXWEXPORT(void*,Null_Brush)()+{+        return (void*)&wxNullBrush;+}++EWXWEXPORT(void*,Null_Palette)()+{+        return (void*)&wxNullPalette;+}++EWXWEXPORT(void*,Null_Font)()+{+        return (void*)&wxNullFont;+}++EWXWEXPORT(void*,Null_Colour)()+{+        return (void*)&wxNullColour;+}+/*+EWXWEXPORT(bool,wxDllLoader_LoadLibrary)(void* _name,int* _success)+{+        bool success;++        wxDllType result = wxDllLoader::LoadLibrary ((const wxChar*)_name, &success);++        if (success)+                *_success = 1;+        else+                *_success = 0;++        return result;+}++EWXWEXPORT(void,wxDllLoader_UnloadLibrary)(int _handle)+{+        wxDllLoader::UnloadLibrary ((wxDllType)_handle);+}++EWXWEXPORT(void*,wxDllLoader_GetSymbol)(int _handle,void* _name)+{+        return wxDllLoader::GetSymbol ((wxDllType)_handle, (const wxChar*)_name);+}+*/+EWXWEXPORT(void,wxCFree)(void* _ptr)+{+        free (_ptr);+}++EWXWEXPORT(void*,wxClassInfo_CreateClassByName)(wxString* _inf)+{+        wxClassInfo* inf = wxClassInfo::FindClass (*_inf);+        if (inf)+                return inf->CreateObject();+        return NULL;+}++EWXWEXPORT(void*,wxClassInfo_GetClassName)(wxObject* self)+{+        wxClassInfo* inf = self->GetClassInfo();+        if (inf)+                return (void*)inf->GetClassName();+        return NULL;+}++EWXWEXPORT(bool,wxClassInfo_IsKindOf)(wxObject* self,wxString* _name)+{+        wxClassInfo* inf = wxClassInfo::FindClass (*_name);+        if (inf)+                return self->IsKindOf(inf);+        return false;+}++EWXWEXPORT(int,wxEvent_NewEventType)()+{+        return (int)wxNewEventType();+}+}
+ src/include/dragimage.h view
@@ -0,0 +1,25 @@+/*-----------------------------------------------------------------------------
+  DragImage
+-----------------------------------------------------------------------------*/
+TClassDefExtend(wxGenericDragImage,wxDragImage);
+
+TClass(wxDragImage)  wxDragImage_Create( TClass(wxBitmap) image, int x, int y );
+TClass(wxDragImage)  wxDragIcon( TClass(wxIcon) icon, int x, int y );
+TClass(wxDragImage)  wxDragString( TClass(wxString) test, int x, int y );
+TClass(wxDragImage)  wxDragTreeItem( TClass(wxTreeCtrl) treeCtrl, TClass(wxTreeItemId) id );
+TClass(wxDragImage)  wxDragListItem( TClass(wxListCtrl) treeCtrl, long id );
+TClass(wxGenericDragImage)  wxGenericDragImage_Create( TClass(wxCursor) cursor );
+TClass(wxGenericDragImage)  wxGenericDragIcon( TClass(wxIcon) icon );
+TClass(wxGenericDragImage)  wxGenericDragString( TClass(wxString) test );
+TClass(wxGenericDragImage)  wxGenericDragTreeItem( TClass(wxTreeCtrl) treeCtrl, TClass(wxTreeItemId) id );
+TClass(wxGenericDragImage)  wxGenericDragListItem( TClass(wxListCtrl) treeCtrl, long id );
+void  wxDragImage_Delete(TSelf(wxDragImage) self);
+TBool  wxDragImage_BeginDragFullScreen(TSelf(wxDragImage) self, int x_pos, int y_pos, TClass(wxWindow) window, TBool fullScreen, TClass(wxRect) rect);
+TBool  wxDragImage_BeginDrag(TSelf(wxDragImage) self, int x, int y, TClass(wxWindow) window, TClass(wxWindow) boundingWindow );
+TBool  wxGenericDragImage_DoDrawImage(TSelf(wxGenericDragImage) self, TClass(wxDC) dc, int x, int y );
+void  wxDragImage_EndDrag(TSelf(wxDragImage) self );
+TClass(wxRect) wxGenericDragImage_GetImageRect(TSelf(wxGenericDragImage) self, int x_pos, int y_pos );
+TBool  wxDragImage_Hide(TSelf(wxDragImage) self );
+TBool  wxDragImage_Move(TSelf(wxDragImage) self, int x, int y );
+TBool  wxDragImage_Show(TSelf(wxDragImage) self );
+TBool  wxGenericDragImage_UpdateBackingFromWindow(TSelf(wxGenericDragImage) self, TClass(wxDC) windowDC, TClass(wxMemoryDC) destDC, int x, int y, int w, int h, int xdest, int ydest, int width, int height );
+ src/include/eljgrid.h view
@@ -0,0 +1,97 @@+#ifndef __ELJGRID_H+#define __ELJGRID_H++#include "wx/grid.h"++extern "C"+{+typedef int   _cdecl (*TGridGetInt)(void* _obj);+typedef int   _cdecl (*TGridIsEmpty)(void* _obj, int row, int col);+typedef void* _cdecl (*TGridGetValue)(void* _obj, int row, int col);+typedef void  _cdecl (*TGridSetValue)(void* _obj, int row, int col, void* val);+typedef void  _cdecl (*TGridClear)(void* _obj);+typedef int   _cdecl (*TGridModify)(void* _obj, int pos, int num);+typedef int   _cdecl (*TGridMultiModify)(void* _obj, int num);+typedef void  _cdecl (*TGridSetLabel)(void* _obj, int idx, void* val);+typedef void* _cdecl (*TGridGetLabel)(void* _obj, int idx);+}++class ELJGridTable : public wxGridTableBase+{+	private:+		void* EiffelObject;+		TGridGetInt EifGetNumberRows;+		TGridGetInt EifGetNumberCols;+		TGridGetValue EifGetValue;+		TGridSetValue EifSetValue;+		TGridIsEmpty EifIsEmptyCell;+		TGridClear EifClear;+		TGridModify EifInsertRows;+		TGridMultiModify EifAppendRows;+		TGridModify EifDeleteRows;+		TGridModify EifInsertCols;+		TGridMultiModify EifAppendCols;+		TGridModify EifDeleteCols;+		TGridSetLabel EifSetRowLabelValue;+		TGridSetLabel EifSetColLabelValue;+		TGridGetLabel EifGetRowLabelValue;+		TGridGetLabel EifGetColLabelValue;+	public:+		ELJGridTable (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): wxGridTableBase()+		{+			EiffelObject = _obj;+			EifGetNumberRows = (TGridGetInt)_EifGetNumberRows;+			EifGetNumberCols = (TGridGetInt)_EifGetNumberCols;+			EifGetValue = (TGridGetValue)_EifGetValue;+			EifSetValue = (TGridSetValue)_EifSetValue;+			EifIsEmptyCell = (TGridIsEmpty)_EifIsEmptyCell;+			EifClear = (TGridClear)_EifClear;+			EifInsertRows = (TGridModify)_EifInsertRows;+			EifAppendRows = (TGridMultiModify)_EifAppendRows;+			EifDeleteRows = (TGridModify)_EifDeleteRows;+			EifInsertCols = (TGridModify)_EifInsertCols;+			EifAppendCols = (TGridMultiModify)_EifAppendCols;+			EifDeleteCols = (TGridModify)_EifDeleteCols;+			EifSetRowLabelValue = (TGridSetLabel)_EifSetRowLabelValue;+			EifSetColLabelValue = (TGridSetLabel)_EifSetColLabelValue;+			EifGetRowLabelValue = (TGridGetLabel)_EifGetRowLabelValue;+			EifGetColLabelValue = (TGridGetLabel)_EifGetColLabelValue;+		};+		+		int GetNumberRows() {return EifGetNumberRows(EiffelObject);};+		int GetNumberCols() {return EifGetNumberCols(EiffelObject);};+		wxString GetValue(int row, int col) {return (wxChar*)EifGetValue(EiffelObject, row, col);};+		void SetValue(int row, int col, const wxString& s) {EifSetValue(EiffelObject, row, col, (void*)s.wchar_str());};+		bool IsEmptyCell(int row, int col) {return EifIsEmptyCell(EiffelObject, row, col) != 0;};++		void Clear() {EifClear(EiffelObject);};+		bool InsertRows(size_t pos, size_t numRows) {return EifInsertRows(EiffelObject, (int)pos, (int)numRows) != 0;};+		bool AppendRows(size_t numRows) {return EifAppendRows(EiffelObject, (int)numRows) != 0;};+		bool DeleteRows(size_t pos, size_t numRows) {return EifDeleteRows(EiffelObject, (int)pos, (int)numRows) != 0;};+		bool InsertCols(size_t pos, size_t numCols) {return EifInsertCols(EiffelObject, (int)pos, (int)numCols) != 0;};+		bool AppendCols(size_t numCols) {return EifAppendCols(EiffelObject, (int)numCols) != 0;};+		bool DeleteCols(size_t pos, size_t numCols) {return EifDeleteCols(EiffelObject, (int)pos, (int)numCols) != 0;};++		void SetRowLabelValue(int row, const wxString& s) {EifSetRowLabelValue(EiffelObject, row, (void*)s.wchar_str());};+		void SetColLabelValue(int col, const wxString& s) {EifSetColLabelValue(EiffelObject, col, (void*)s.wchar_str());};+		wxString GetRowLabelValue(int row) {return (wxChar*)EifGetRowLabelValue(EiffelObject, row);};+		wxString GetColLabelValue(int col) {return (wxChar*)EifGetColLabelValue(EiffelObject, col);};+};++#endif
+ src/include/ewxw_def.h view
@@ -0,0 +1,39 @@+#ifndef __EWXW_DEF_H+#define __EWXW_DEF_H++#ifdef EXPORT+#undef EXPORT+#endif+#define EXPORT extern "C"++#ifdef __WATCOMC__+  #include <windows.h>+  #define EWXWEXPORT(TYPE,FUNC_NAME) TYPE __export __cdecl FUNC_NAME+#else+  #ifdef _WIN32+    #define EWXWEXPORT(TYPE,FUNC_NAME) __declspec(dllexport) TYPE __cdecl FUNC_NAME+    #undef EXPORT+    #define EXPORT extern "C" __declspec(dllexport) +  #else+    #define EWXWEXPORT(TYPE,FUNC_NAME) TYPE FUNC_NAME+  #endif+  #ifndef _cdecl+    #define _cdecl+  #endif+#endif++#define EWXWCONSTANTINT(NAME,VAL) \+  EWXWEXPORT(int,exp##NAME)() \+    { return (int)VAL;};+#define EWXWCONSTANTSTR(NAME,VAL) \+  EWXWEXPORT(wxString*,exp##NAME)() \+    { return new wxString((const wchar_t*)VAL,wxConvLocal);};+#ifdef __EWX_PREPROCESS+# undef EWXWEXPORT+# undef EWXWCONSTANTINT+# undef EWXWCONSTANTSTR+# define EWXWCONSTANTINT(NAME,VAL) def_const_int(#NAME,VAL);+# define EWXWCONSTANTSTR(NAME,VAL) def_const_str(#NAME,VAL);+#endif++#endif /* #ifndef __EWXW_DEF_H */
+ src/include/glcanvas.h view
@@ -0,0 +1,20 @@+/*-----------------------------------------------------------------------------
+  GLCanvas
+-----------------------------------------------------------------------------*/
+TClassDefExtend(wxGLCanvas,wxWindow);
+TClassDefExtend(wxGLContext,wxObject);
+
+TClass(wxGLCanvas)   wxGLCanvas_Create( TClass(wxWindow) parent, int windowID, int* attributes, TRect(x,y,w,h), int style, TClass(wxString) title, TClass(wxPalette) palette );
+TBool   wxGLCanvas_SetColour( TSelf(wxGLCanvas) self, TClass(wxColour) colour );
+TBool   wxGLCanvas_SetCurrent( TSelf(wxGLCanvas) self, TClass(wxGLContext) ctxt );
+TBool   wxGLCanvas_SwapBuffers( TSelf(wxGLCanvas) self );  
+TBool   wxGLCanvas_IsDisplaySupported( int* attributes );
+TBool   wxGLCanvas_IsExtensionSupported( TClass(wxString) extension );
+
+/*-----------------------------------------------------------------------------
+  GLCanvas
+-----------------------------------------------------------------------------*/
+
+TClass(wxGLContext)   wxGLContext_Create( TClass(wxGLCanvas) win, TClass(wxGLContext) other );
+TClass(wxGLContext)   wxGLContext_CreateFromNull( TClass(wxGLCanvas) win );
+TBool   wxGLContext_SetCurrent( TSelf(wxGLContext) self, TClass(wxGLCanvas) win );
+ src/include/graphicscontext.h view
@@ -0,0 +1,122 @@+TClassDefExtend(wxGraphicsObject,wxObject);
+TClassDefExtend(wxGraphicsBrush,wxGraphicsObject);
+TClassDefExtend(wxGraphicsContext,wxGraphicsObject);
+TClassDefExtend(wxGraphicsFont,wxGraphicsObject);
+TClassDefExtend(wxGraphicsMatrix,wxGraphicsObject);
+TClassDefExtend(wxGraphicsPath,wxGraphicsObject);
+TClassDefExtend(wxGraphicsPen,wxGraphicsObject);
+TClassDefExtend(wxGraphicsRenderer,wxGraphicsObject);
+
+/*-----------------------------------------------------------------------------
+  GraphicsBrush
+-----------------------------------------------------------------------------*/
+TClass(wxGraphicsBrush)  wxGraphicsBrush_Create( );
+void  wxGraphicsBrush_Delete(TSelf(wxGraphicsBrush) self);
+
+/*-----------------------------------------------------------------------------
+  GraphicsContext
+-----------------------------------------------------------------------------*/
+TClass(wxGraphicsContext)  wxGraphicsContext_Create( TClass(wxWindowDC) dc );
+TClass(wxGraphicsContext)  wxGraphicsContext_CreateFromWindow( TClass(wxWindow) window );
+void  wxGraphicsContext_Delete(TSelf(wxGraphicsContext) self);
+TClass(wxGraphicsContext)  wxGraphicsContext_CreateFromNative( void* context );
+TClass(wxGraphicsContext)  wxGraphicsContext_CreateFromNativeWindow( void* window );
+void  wxGraphicsContext_Clip( TSelf(wxGraphicsContext) self, TClass(wxRegion) region );
+void  wxGraphicsContext_ClipByRectangle( TSelf(wxGraphicsContext) self, TRectDouble(x,y,w,h) );
+void  wxGraphicsContext_ResetClip( TSelf(wxGraphicsContext) self );
+void  wxGraphicsContext_DrawBitmap( TSelf(wxGraphicsContext) self, TClass(wxBitmap) bmp, TRectDouble(x,y,w,h) );
+void  wxGraphicsContext_DrawEllipse( TSelf(wxGraphicsContext) self, TRectDouble(x,y,w,h) );
+void  wxGraphicsContext_DrawIcon( TSelf(wxGraphicsContext) self, TClass(wxIcon) icon, TRectDouble(x,y,w,h) );
+void  wxGraphicsContext_DrawLines( TSelf(wxGraphicsContext) self, size_t n, void* x, void* y, int style );
+void  wxGraphicsContext_DrawPath( TSelf(wxGraphicsContext) self, TClass(wxGraphicsPath) path, int style );
+void  wxGraphicsContext_DrawRectangle( TSelf(wxGraphicsContext) self, TRectDouble(x,y,w,h) );
+void  wxGraphicsContext_DrawRoundedRectangle( TSelf(wxGraphicsContext) self, TRectDouble(x,y,w,h), double radius );
+void  wxGraphicsContext_DrawText( TSelf(wxGraphicsContext) self, TClass(wxString) text, TPointDouble(x,y) );
+void  wxGraphicsContext_DrawTextWithAngle( TSelf(wxGraphicsContext) self, TClass(wxString) text, TPointDouble(x,y), double radius );
+void  wxGraphicsContext_FillPath( TSelf(wxGraphicsContext) self, TClass(wxGraphicsPath) path, int style );
+void  wxGraphicsContext_StrokePath( TSelf(wxGraphicsContext) self, TClass(wxGraphicsPath) path );
+void*  wxGraphicsContext_GetNativeContext( TSelf(wxGraphicsContext) self );
+void  wxGraphicsContext_GetTextExtent( TSelf(wxGraphicsContext) self, TClass(wxString) text, double* width, double* height, double* descent, double* externalLeading );
+void  wxGraphicsContext_Rotate( TSelf(wxGraphicsContext) self, double angle );
+void  wxGraphicsContext_Scale( TSelf(wxGraphicsContext) self, TSizeDouble(xScale,yScale) );
+void  wxGraphicsContext_Translate( TSelf(wxGraphicsContext) self, double dx, double dy );
+void  wxGraphicsContext_SetTransform( TSelf(wxGraphicsContext) self, TClass(wxGraphicsMatrix) path );
+void  wxGraphicsContext_ConcatTransform( TSelf(wxGraphicsContext) self, TClass(wxGraphicsMatrix) path );
+void  wxGraphicsContext_SetBrush( TSelf(wxGraphicsContext) self, TClass(wxBrush) brush );
+void  wxGraphicsContext_SetGraphicsBrush( TSelf(wxGraphicsContext) self, TClass(wxGraphicsBrush) brush );
+void  wxGraphicsContext_SetFont( TSelf(wxGraphicsContext) self, TClass(wxFont) font, TClass(wxColour) colour );
+void  wxGraphicsContext_SetGraphicsFont( TSelf(wxGraphicsContext) self, TClass(wxGraphicsFont) font );
+void  wxGraphicsContext_SetPen( TSelf(wxGraphicsContext) self, TClass(wxPen) pen );
+void  wxGraphicsContext_SetGraphicsPen( TSelf(wxGraphicsContext) self, TClass(wxGraphicsPen) pen );
+void  wxGraphicsContext_StrokeLine( TSelf(wxGraphicsContext) self, TPointDouble(x1,y1), TPointDouble(x2,y2) );
+void  wxGraphicsContext_StrokeLines( TSelf(wxGraphicsContext) self, size_t n, void* x, void* y, int style );
+
+/*-----------------------------------------------------------------------------
+  GraphicsFont
+-----------------------------------------------------------------------------*/
+TClass(wxGraphicsFont)  wxGraphicsFont_Create( );
+void  wxGraphicsFont_Delete(TSelf(wxGraphicsFont) self);
+
+/*-----------------------------------------------------------------------------
+  GraphicsMatrix
+-----------------------------------------------------------------------------*/
+TClass(wxGraphicsMatrix)  wxGraphicsMatrix_Create( );
+void  wxGraphicsMatrix_Delete(TSelf(wxGraphicsMatrix) self);
+void  wxGraphicsMatrix_Concat( TSelf(wxGraphicsMatrix) self, TClass(wxGraphicsMatrix) t );
+void  wxGraphicsMatrix_Get( TSelf(wxGraphicsMatrix) self, double* a, double* b, double* c, double* d, double* tx, double* ty );
+void*  wxGraphicsMatrix_GetNativeMatrix( TSelf(wxGraphicsMatrix) self );
+void  wxGraphicsMatrix_Invert( TSelf(wxGraphicsMatrix) self );
+TBool  wxGraphicsMatrix_IsEqual( TSelf(wxGraphicsMatrix) self, TClass(wxGraphicsMatrix) t );
+TBool  wxGraphicsMatrix_IsIdentity( TSelf(wxGraphicsMatrix) self );
+void  wxGraphicsMatrix_Rotate( TSelf(wxGraphicsMatrix) self, double angle );
+void  wxGraphicsMatrix_Scale( TSelf(wxGraphicsMatrix) self, TSizeDouble(xScale,yScale) );
+void  wxGraphicsMatrix_Set( TSelf(wxGraphicsMatrix) self, double a, double b, double c, double d, double tx, double ty );
+void  wxGraphicsMatrix_Translate( TSelf(wxGraphicsMatrix) self, double dx, double dy );
+void  wxGraphicsMatrix_TransformPoint( TSelf(wxGraphicsMatrix) self, TPointOutDouble(x,y) );
+void  wxGraphicsMatrix_TransformDistance( TSelf(wxGraphicsMatrix) self, double* dx, double* dy );
+
+/*-----------------------------------------------------------------------------
+  GraphicsObject
+-----------------------------------------------------------------------------*/
+TClass(wxGraphicsRenderer)  wxGraphicsObject_GetRenderer( );
+TBool  wxGraphicsObject_IsNull(TSelf(wxGraphicsObject) self);
+
+/*-----------------------------------------------------------------------------
+  GraphicsPath
+-----------------------------------------------------------------------------*/
+TClass(wxGraphicsPath)  wxGraphicsPath_Create( );
+void  wxGraphicsPath_Delete(TSelf(wxGraphicsPath) self);
+void  wxGraphicsPath_MoveToPoint(TSelf(wxGraphicsPath) self, TPointDouble(x,y));
+void  wxGraphicsPath_AddArc(TSelf(wxGraphicsPath) self, TPointDouble(x,y), double r, double startAngle, double endAngle, TBool clockwise );
+void  wxGraphicsPath_AddArcToPoint(TSelf(wxGraphicsPath) self, TPointDouble(x1,y1), TPointDouble(x2,y2), double r );
+void  wxGraphicsPath_AddCircle(TSelf(wxGraphicsPath) self, TPointDouble(x,y), double r );
+void  wxGraphicsPath_AddCurveToPoint(TSelf(wxGraphicsPath) self, TPointDouble(cx1,cy1), TPointDouble(cx2,cy2), TPointDouble(x,y) );
+void  wxGraphicsPath_AddEllipse(TSelf(wxGraphicsPath) self, TRectDouble(x,y,w,h) );
+void  wxGraphicsPath_AddLineToPoint(TSelf(wxGraphicsPath) self, TPointDouble(x,y) );
+void  wxGraphicsPath_AddPath(TSelf(wxGraphicsPath) self, TPointDouble(x,y), TClass(wxGraphicsPath) path );
+void  wxGraphicsPath_AddQuadCurveToPoint(TSelf(wxGraphicsPath) self, TPointDouble(cx,cy), TPointDouble(x,y) );
+void  wxGraphicsPath_AddRectangle(TSelf(wxGraphicsPath) self, TRectDouble(x,y,w,h) );
+void  wxGraphicsPath_AddRoundedRectangle(TSelf(wxGraphicsPath) self, TRectDouble(x,y,w,h), double radius );
+void  wxGraphicsPath_CloseSubpath(TSelf(wxGraphicsPath) self );
+void  wxGraphicsPath_Contains(TSelf(wxGraphicsPath) self, TPointDouble(x,y), int style);
+void  wxGraphicsPath_GetBox(TSelf(wxGraphicsPath) self, TRectOutDouble(x,y,w,h));
+void  wxGraphicsPath_GetCurrentPoint(TSelf(wxGraphicsPath) self, TPointOutDouble(x,y));
+void  wxGraphicsPath_Transform( TSelf(wxGraphicsPath) self, TClass(wxGraphicsMatrix) matrix );
+void*  wxGraphicsPath_GetNativePath( TSelf(wxGraphicsPath) self );
+void  wxGraphicsPath_UnGetNativePath( void* p );
+
+/*-----------------------------------------------------------------------------
+  GraphicsPen
+-----------------------------------------------------------------------------*/
+TClass(wxGraphicsPen)  wxGraphicsPen_Create( );
+void  wxGraphicsPen_Delete(TSelf(wxGraphicsPen) self);
+
+/*-----------------------------------------------------------------------------
+  GraphicsRenderer
+-----------------------------------------------------------------------------*/
+void  wxGraphicsRenderer_Delete(TSelf(wxGraphicsRenderer) self);
+TClass(wxGraphicsRenderer)  wxGraphicsRenderer_GetDefaultRenderer(TSelf(wxGraphicsRenderer) self);
+TClass(wxGraphicsContext)  wxGraphicsRenderer_CreateContext( TClass(wxWindowDC) dc );
+TClass(wxGraphicsContext)  wxGraphicsRenderer_CreateContextFromWindow( TClass(wxWindow) window );
+TClass(wxGraphicsContext)  wxGraphicsRenderer_CreateContextFromNativeContext( void* context );
+TClass(wxGraphicsContext)  wxGraphicsRenderer_CreateContextFromNativeWindow( void* window );
+ src/include/managed.h view
@@ -0,0 +1,58 @@+/*-----------------------------------------------------------------------------
+  ManagedPtr
+-----------------------------------------------------------------------------*/
+TClassDef(wxManagedPtr)
+
+#if defined (__WXMAC__) && defined (EXPORT)
+#undef EXPORT
+#define EXPORT extern "C"
+#endif
+
+void* wxManagedPtr_GetPtr( TSelf(wxManagedPtr) self );
+void  wxManagedPtr_NoFinalize( TSelf(wxManagedPtr) self );
+void  wxManagedPtr_Finalize( TSelf(wxManagedPtr) self );
+void  wxManagedPtr_Delete( TSelf(wxManagedPtr) self );
+EXPORT void* wxManagedPtr_GetDeleteFunction( );
+
+/*-----------------------------------------------------------------------------
+  Creators
+-----------------------------------------------------------------------------*/
+TClass(wxManagedPtr) wxManagedPtr_CreateFromObject(TClass(wxObject) obj);
+TClass(wxManagedPtr) wxManagedPtr_CreateFromDateTime(TClass(wxDateTime) obj);
+TClass(wxManagedPtr) wxManagedPtr_CreateFromGridCellCoordsArray(TClass(wxGridCellCoordsArray) obj);
+
+TClass(wxManagedPtr) wxManagedPtr_CreateFromBitmap(TClass(wxBitmap) obj);
+TClass(wxManagedPtr) wxManagedPtr_CreateFromIcon(TClass(wxIcon) obj);
+
+TClass(wxManagedPtr) wxManagedPtr_CreateFromBrush(TClass(wxBrush) obj);
+TClass(wxManagedPtr) wxManagedPtr_CreateFromColour(TClass(wxColour) obj);
+TClass(wxManagedPtr) wxManagedPtr_CreateFromCursor(TClass(wxCursor) obj);
+TClass(wxManagedPtr) wxManagedPtr_CreateFromFont(TClass(wxFont) obj);
+TClass(wxManagedPtr) wxManagedPtr_CreateFromPen(TClass(wxPen) obj);
+
+/*-----------------------------------------------------------------------------
+  Safe deletion
+-----------------------------------------------------------------------------*/
+void wxObject_SafeDelete( TSelf(Object) self );
+
+void wxBitmap_SafeDelete( TSelf(Bitmap) self );
+void wxIcon_SafeDelete( TSelf(Icon) self );
+
+void wxBrush_SafeDelete( TSelf(Brush) self );
+void wxColour_SafeDelete( TSelf(Colour) self );
+void wxCursor_SafeDelete( TSelf(Cursor) self );
+void wxFont_SafeDelete( TSelf(Font) self );
+void wxPen_SafeDelete( TSelf(Pen) self );
+
+/*-----------------------------------------------------------------------------
+  Is an object static (i.e. do not delete it)
+-----------------------------------------------------------------------------*/
+TBool wxBitmap_IsStatic( TSelf(Bitmap) self );
+TBool wxIcon_IsStatic( TSelf(Icon) self );
+
+TBool wxBrush_IsStatic( TSelf(Brush) self );
+TBool wxColour_IsStatic( TSelf(Colour) self );
+TBool wxCursor_IsStatic( TSelf(Cursor) self );
+TBool wxFont_IsStatic( TSelf(Font) self );
+TBool wxPen_IsStatic( TSelf(Pen) self );
+
+ src/include/mediactrl.h view
@@ -0,0 +1,27 @@+/*-----------------------------------------------------------------------------
+  MediaCtrl
+-----------------------------------------------------------------------------*/
+TClassDefExtend(wxMediaCtrl,wxWindow);
+
+TClass(wxMediaCtrl)  wxMediaCtrl_Create( TClass(wxWindow) parent, int windowID, TClass(wxString) fileName, int x, int y, int w, int h, long style, TClass(wxString) szBackend, TClass(wxString) name );
+void  wxMediaCtrl_Delete(TSelf(wxMediaCtrl) self);
+TClass(wxSize) wxMediaCtrl_GetBestSize(TSelf(wxMediaCtrl) self );
+double  wxMediaCtrl_GetPlaybackRate(TSelf(wxMediaCtrl) self);
+double  wxMediaCtrl_GetVolume(TSelf(wxMediaCtrl) self);
+int  wxMediaCtrl_GetState(TSelf(wxMediaCtrl) self);
+TInt64 wxMediaCtrl_Length(TSelf(wxMediaCtrl) self);
+TBool  wxMediaCtrl_Load(TSelf(wxMediaCtrl) self, TClass(wxString) fileName );
+TBool  wxMediaCtrl_LoadURI(TSelf(wxMediaCtrl) self, TClass(wxString) uri );
+TBool  wxMediaCtrl_LoadURIWithProxy(TSelf(wxMediaCtrl) self, TClass(wxString) uri, TClass(wxString) proxy );
+TBool  wxMediaCtrl_Pause(TSelf(wxMediaCtrl) self);
+TBool  wxMediaCtrl_Play(TSelf(wxMediaCtrl) self);
+TInt64 wxMediaCtrl_Seek(TSelf(wxMediaCtrl) self, TInt64 offsetWhere, int mode );
+TBool  wxMediaCtrl_SetPlaybackRate(TSelf(wxMediaCtrl) self, double dRate );
+TBool  wxMediaCtrl_SetVolume(TSelf(wxMediaCtrl) self, double dVolume );
+TBool  wxMediaCtrl_ShowPlayerControls(TSelf(wxMediaCtrl) self, int flags );
+TBool  wxMediaCtrl_Stop(TSelf(wxMediaCtrl) self);
+TInt64 wxMediaCtrl_Tell(TSelf(wxMediaCtrl) self);
+
+TClassDefExtend(wxMediaEvent,wxNotifyEvent);
+
+/* The wxMediaEvent's events */
+ src/include/previewframe.h view
@@ -0,0 +1,15 @@+/*-----------------------------------------------------------------------------
+  PreviewFrame
+-----------------------------------------------------------------------------*/
+TClassDefExtend(wxPreviewFrame,wxFrame);
+
+/** Usage: @previewFrameCreate printPreview parent title rect name @. */
+TClass(wxPreviewFrame) wxPreviewFrame_Create( TClass(wxPrintPreview) preview, TClass(wxFrame) parent, TClass(wxString) title, TRect(x,y,width,height), int style, TClass(wxString) name  );
+void wxPreviewFrame_Delete( TSelf(wxPreviewFrame) self );
+/** Usage: @previewFrameInitialize self@, call this before showing the frame. */
+void wxPreviewFrame_Initialize( TSelf(wxPreviewFrame) self );
+
+/*-----------------------------------------------------------------------------
+  PreviewControlBar
+-----------------------------------------------------------------------------*/
+TClassDefExtend(wxPreviewControlBar,wxPanel);
+ src/include/printout.h view
@@ -0,0 +1,50 @@+
+/*-----------------------------------------------------------------------------
+  Printout events
+-----------------------------------------------------------------------------*/
+int expEVT_PRINT_BEGIN();
+int expEVT_PRINT_BEGIN_DOC();
+int expEVT_PRINT_END();
+int expEVT_PRINT_END_DOC();
+int expEVT_PRINT_PREPARE();
+int expEVT_PRINT_PAGE();
+
+/*-----------------------------------------------------------------------------
+  Printout 
+-----------------------------------------------------------------------------*/
+TClass(wxDC) wxPrintout_GetDC( TSelf(wxPrintout) _obj );
+void       wxPrintout_GetPPIPrinter( TSelf(wxPrintout) _obj, TPointOutVoid(_x,_y) );
+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) );
+TClass(wxString) wxPrintout_GetTitle( TSelf(wxPrintout) _obj );
+TBool      wxPrintout_IsPreview( TSelf(wxPrintout) _obj );
+void       wxPrintout_SetDC( TSelf(wxPrintout) _obj, TClass(wxDC) dc );
+void       wxPrintout_SetPPIPrinter( TSelf(wxPrintout) _obj, TPoint(x,y) );
+void       wxPrintout_SetPPIScreen( TSelf(wxPrintout) _obj, TPoint(x,y) );
+void       wxPrintout_SetPageSizeMM( TSelf(wxPrintout) _obj, TSize(w,h) );
+void       wxPrintout_SetPageSizePixels( TSelf(wxPrintout) _obj, TSize(w,h) );
+
+
+
+/*-----------------------------------------------------------------------------
+  WXCPrintout 
+-----------------------------------------------------------------------------*/
+TClassDefExtend( wxcPrintout, wxPrintout );
+TClassDefExtend( wxcPrintEvent, wxEvent );
+TClassDefExtend( wxcPrintoutHandler, wxEvtHandler );
+  
+TClass(wxcPrintout) wxcPrintout_Create( TClass(wxString) title );
+void wxcPrintout_Delete( TSelf(wxcPrintout) self );
+void wxcPrintout_SetPageLimits( TSelf(wxcPrintout) self, int startPage, int endPage, int fromPage, int toPage );
+/** Usage: @wxcPrintoutGetEvtHandler self@. Do not delete the associated event handler! */
+TClass(wxcPrintoutHandler) wxcPrintout_GetEvtHandler( TSelf(wxcPrintout) self );
+
+/** Usage: @wxcPrintEventGetPrintout self@. Do not delete the associated printout! */
+TClass(wxcPrintout) wxcPrintEvent_GetPrintout( TSelf(wxcPrintEvent) self );
+int   wxcPrintEvent_GetPage( TSelf(wxcPrintEvent) self );
+int   wxcPrintEvent_GetEndPage( TSelf(wxcPrintEvent) self );
+TBool wxcPrintEvent_GetContinue( TSelf(wxcPrintEvent) self );
+void  wxcPrintEvent_SetContinue( TSelf(wxcPrintEvent) self, TBool cont );
+void  wxcPrintEvent_SetPageLimits( TSelf(wxcPrintEvent) self, int startPage, int endPage, int fromPage, int toPage );
+
+ src/include/sound.h view
@@ -0,0 +1,11 @@+/*-----------------------------------------------------------------------------
+  Sound
+-----------------------------------------------------------------------------*/
+TClassDefExtend(wxSound,wxObject);
+
+/** Usage: @soundCreate fileName isResource@. As yet (Nov 2003) unsupported on MacOS X */
+TClass(wxSound)  wxSound_Create( TClass(wxString) fileName, TBool isResource );
+void  wxSound_Delete(TSelf(wxSound) self);
+TBool  wxSound_IsOk(TSelf(wxSound) self);
+TBool  wxSound_Play(TSelf(wxSound) self, int flag );
+void  wxSound_Stop(TSelf(wxSound) self);
+ src/include/stc.h view
@@ -0,0 +1,114 @@++#include "stc_gen.h" ++/* wxStyledTextCtrl */+TClassDefExtend(wxStyledTextCtrl,wxControl)+TClass(wxStyledTextCtrl) wxStyledTextCtrl_Create( TClass(wxWindow) _prt, int _id, TClass(wxString) _txt, TRect(_lft,_top,_wdt,_hgt), int style );+++/* tricky handwritten functions */+TClassDef(wxSTCDoc)+TClassDef(wxMemoryBuffer)+TClass(wxColour) wxStyledTextCtrl_IndicatorGetForeground( TSelf(wxStyledTextCtrl) _obj, int indic);+TClass(wxColour) wxStyledTextCtrl_GetCaretLineBackground( TSelf(wxStyledTextCtrl) _obj );+/* SetCaretLineBack is changed name to SetCaretLineBackground.+   So I avoid to use stc_gen.h for backward compatibility. */+void wxStyledTextCtrl_SetCaretLineBackground(TSelf(wxStyledTextCtrl) _obj, TColorRGB(back_r,back_g,back_b));+TClass(wxColour) wxStyledTextCtrl_GetCaretForeground( TSelf(wxStyledTextCtrl) _obj );+TClass(wxString) wxStyledTextCtrl_GetLine( TSelf(wxStyledTextCtrl) _obj, int line);+TClass(wxString) wxStyledTextCtrl_GetText( TSelf(wxStyledTextCtrl) _obj );+TClass(wxString) wxStyledTextCtrl_GetTextRange( TSelf(wxStyledTextCtrl) _obj, int startPos, int endPos);+TClass(wxString) wxStyledTextCtrl_GetSelectedText( TSelf(wxStyledTextCtrl) _obj );+TClass(wxSTCDoc) wxStyledTextCtrl_CreateDocument( TSelf(wxStyledTextCtrl) _obj );+TClass(wxColour) wxStyledTextCtrl_GetEdgeColour( TSelf(wxStyledTextCtrl) _obj );+TClass(wxSTCDoc) wxStyledTextCtrl_GetDocPointer( TSelf(wxStyledTextCtrl) _obj );+TClass(wxPoint) wxStyledTextCtrl_PointFromPosition( TSelf(wxStyledTextCtrl) _obj );+++/* wxStyledTextEvent */+TClassDefExtend(wxStyledTextEvent, wxCommandEvent);++/* The wxStyledTextEvent's get-functions */+int wxStyledTextEvent_GetPosition( TSelf(wxStyledTextEvent) _obj);+int wxStyledTextEvent_GetKey( TSelf(wxStyledTextEvent) _obj);+int wxStyledTextEvent_GetModifiers( TSelf(wxStyledTextEvent) _obj);+int wxStyledTextEvent_GetModificationType( TSelf(wxStyledTextEvent) _obj);+int wxStyledTextEvent_GetLength( TSelf(wxStyledTextEvent) _obj);+int wxStyledTextEvent_GetLinesAdded( TSelf(wxStyledTextEvent) _obj);+int wxStyledTextEvent_GetLine( TSelf(wxStyledTextEvent) _obj);+int wxStyledTextEvent_GetFoldLevelNow( TSelf(wxStyledTextEvent) _obj);+int wxStyledTextEvent_GetFoldLevelPrev( TSelf(wxStyledTextEvent) _obj);+int wxStyledTextEvent_GetMargin( TSelf(wxStyledTextEvent) _obj);+int wxStyledTextEvent_GetMessage( TSelf(wxStyledTextEvent) _obj);+int wxStyledTextEvent_GetWParam( TSelf(wxStyledTextEvent) _obj);+int wxStyledTextEvent_GetLParam( TSelf(wxStyledTextEvent) _obj);+int wxStyledTextEvent_GetListType( TSelf(wxStyledTextEvent) _obj);+int wxStyledTextEvent_GetX( TSelf(wxStyledTextEvent) _obj);+int wxStyledTextEvent_GetY( TSelf(wxStyledTextEvent) _obj);+TClass(wxString) wxStyledTextEvent_GetDragText( TSelf(wxStyledTextEvent) _obj );+TBool wxStyledTextEvent_GetDragAllowMove( TSelf(wxStyledTextEvent) _obj );+int wxStyledTextEvent_GetDragResult( TSelf(wxStyledTextEvent) _obj );+TBool wxStyledTextEvent_GetShift( TSelf(wxStyledTextEvent) _obj );+TBool wxStyledTextEvent_GetControl( TSelf(wxStyledTextEvent) _obj );+TBool wxStyledTextEvent_GetAlt( TSelf(wxStyledTextEvent) _obj );++TClass(wxString) wxStyledTextEvent_GetText( TSelf(wxStyledTextEvent) _obj );+TClass(wxStyledTextEvent) wxStyledTextEvent_Clone( TSelf(wxStyledTextEvent) _obj );+++/* The wxStyledTextEvent's set-functions */+void wxStyledTextEvent_SetPosition( TSelf(wxStyledTextEvent) _obj, int pos);+void wxStyledTextEvent_SetKey( TSelf(wxStyledTextEvent) _obj, int k);+void wxStyledTextEvent_SetModifiers( TSelf(wxStyledTextEvent) _obj, int m);+void wxStyledTextEvent_SetModificationType( TSelf(wxStyledTextEvent) _obj, int t);+void wxStyledTextEvent_SetText( TSelf(wxStyledTextEvent) _obj, TClass(wxString) t);+void wxStyledTextEvent_SetLength( TSelf(wxStyledTextEvent) _obj, int len);+void wxStyledTextEvent_SetLinesAdded( TSelf(wxStyledTextEvent) _obj, int num);+void wxStyledTextEvent_SetLine( TSelf(wxStyledTextEvent) _obj, int val);+void wxStyledTextEvent_SetFoldLevelNow( TSelf(wxStyledTextEvent) _obj, int val);+void wxStyledTextEvent_SetFoldLevelPrev( TSelf(wxStyledTextEvent) _obj, int val);+void wxStyledTextEvent_SetMargin( TSelf(wxStyledTextEvent) _obj, int val);+void wxStyledTextEvent_SetMessage( TSelf(wxStyledTextEvent) _obj, int val);+void wxStyledTextEvent_SetWParam( TSelf(wxStyledTextEvent) _obj, int val);+void wxStyledTextEvent_SetLParam( TSelf(wxStyledTextEvent) _obj, int val);+void wxStyledTextEvent_SetListType( TSelf(wxStyledTextEvent) _obj, int val);+void wxStyledTextEvent_SetX( TSelf(wxStyledTextEvent) _obj, int val);+void wxStyledTextEvent_SetY( TSelf(wxStyledTextEvent) _obj, int val);+void wxStyledTextEvent_SetDragText( TSelf(wxStyledTextEvent) _obj, TClass(wxString) val);+void wxStyledTextEvent_SetDragAllowMove( TSelf(wxStyledTextEvent) _obj, TBool val);+/* void wxStyledTextEvent_SetDragResult( TSelf(wxStyledTextEvent) _obj, TClass(wxDragResult) val); */+void wxStyledTextEvent_SetDragResult( TSelf(wxStyledTextEvent) _obj, int val);++/* The wxStyledTextEvent's events */+int expEVT_STC_CHANGE();+int expEVT_STC_STYLENEEDED();+int expEVT_STC_CHARADDED();+int expEVT_STC_SAVEPOINTREACHED();+int expEVT_STC_SAVEPOINTLEFT();+int expEVT_STC_ROMODIFYATTEMPT();+int expEVT_STC_KEY();+int expEVT_STC_DOUBLECLICK();+int expEVT_STC_UPDATEUI();+int expEVT_STC_MODIFIED();+int expEVT_STC_MACRORECORD();+int expEVT_STC_MARGINCLICK();+int expEVT_STC_NEEDSHOWN();+/* expEVT_STC_POSCHANGED is removed in wxWidgets-2.6.x. */+/* int expEVT_STC_POSCHANGED(); */+int expEVT_STC_PAINTED();+int expEVT_STC_USERLISTSELECTION();+int expEVT_STC_URIDROPPED();+int expEVT_STC_DWELLSTART();+int expEVT_STC_DWELLEND();+int expEVT_STC_START_DRAG();+int expEVT_STC_DRAG_OVER();+int expEVT_STC_DO_DROP();+int expEVT_STC_ZOOM();+int expEVT_STC_HOTSPOT_CLICK();+int expEVT_STC_HOTSPOT_DCLICK();+int expEVT_STC_CALLTIP_CLICK();+int expEVT_STC_AUTOCOMP_SELECTION(); ++/* Styled Text Control as an XML Resource */+TClassDefExtend(wxXmlResource,wxObject)+TClass(wxStyledTextCtrl) wxXmlResource_GetStyledTextCtrl( TSelf(wxWindow) _obj, TClass(wxString) str_id );
+ src/include/stc_gen.h view
@@ -0,0 +1,639 @@+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, TClass(wxString) text);
+
+void wxStyledTextCtrl_ClearAll(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_ClearDocumentStyle(TSelf(wxStyledTextCtrl) _obj);
+
+int wxStyledTextCtrl_GetLength(TSelf(wxStyledTextCtrl) _obj);
+
+int wxStyledTextCtrl_GetCharAt(TSelf(wxStyledTextCtrl) _obj, int pos);
+
+int wxStyledTextCtrl_GetCurrentPos(TSelf(wxStyledTextCtrl) _obj);
+
+int wxStyledTextCtrl_GetAnchor(TSelf(wxStyledTextCtrl) _obj);
+
+int wxStyledTextCtrl_GetStyleAt(TSelf(wxStyledTextCtrl) _obj, int pos);
+
+void wxStyledTextCtrl_Redo(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetUndoCollection(TSelf(wxStyledTextCtrl) _obj, TBool collectUndo);
+
+void wxStyledTextCtrl_SelectAll(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetSavePoint(TSelf(wxStyledTextCtrl) _obj);
+
+TBool wxStyledTextCtrl_CanRedo(TSelf(wxStyledTextCtrl) _obj);
+
+int wxStyledTextCtrl_MarkerLineFromHandle(TSelf(wxStyledTextCtrl) _obj, int handle);
+
+void wxStyledTextCtrl_MarkerDeleteHandle(TSelf(wxStyledTextCtrl) _obj, int handle);
+
+TBool wxStyledTextCtrl_GetUndoCollection(TSelf(wxStyledTextCtrl) _obj);
+
+int wxStyledTextCtrl_GetViewWhiteSpace(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetViewWhiteSpace(TSelf(wxStyledTextCtrl) _obj, int viewWS);
+
+int wxStyledTextCtrl_PositionFromPoint(TSelf(wxStyledTextCtrl) _obj, TPoint(pt_x,pt_y));
+
+int wxStyledTextCtrl_PositionFromPointClose(TSelf(wxStyledTextCtrl) _obj, int x, int y);
+
+void wxStyledTextCtrl_GotoLine(TSelf(wxStyledTextCtrl) _obj, int line);
+
+void wxStyledTextCtrl_GotoPos(TSelf(wxStyledTextCtrl) _obj, int pos);
+
+void wxStyledTextCtrl_SetAnchor(TSelf(wxStyledTextCtrl) _obj, int posAnchor);
+
+int wxStyledTextCtrl_GetEndStyled(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_ConvertEOLs(TSelf(wxStyledTextCtrl) _obj, int eolMode);
+
+int wxStyledTextCtrl_GetEOLMode(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetEOLMode(TSelf(wxStyledTextCtrl) _obj, int eolMode);
+
+void wxStyledTextCtrl_StartStyling(TSelf(wxStyledTextCtrl) _obj, int pos, int mask);
+
+void wxStyledTextCtrl_SetStyling(TSelf(wxStyledTextCtrl) _obj, int length, int style);
+
+TBool wxStyledTextCtrl_GetBufferedDraw(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetBufferedDraw(TSelf(wxStyledTextCtrl) _obj, TBool buffered);
+
+void wxStyledTextCtrl_SetTabWidth(TSelf(wxStyledTextCtrl) _obj, int tabWidth);
+
+int wxStyledTextCtrl_GetTabWidth(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetCodePage(TSelf(wxStyledTextCtrl) _obj, int codePage);
+
+void wxStyledTextCtrl_MarkerDefine(TSelf(wxStyledTextCtrl) _obj, int markerNumber, int markerSymbol, TColorRGB(foreground_r,foreground_g,foreground_b), TColorRGB(background_r,background_g,background_b));
+
+void wxStyledTextCtrl_MarkerSetForeground(TSelf(wxStyledTextCtrl) _obj, int markerNumber, TColorRGB(fore_r,fore_g,fore_b));
+
+void wxStyledTextCtrl_MarkerSetBackground(TSelf(wxStyledTextCtrl) _obj, int markerNumber, TColorRGB(back_r,back_g,back_b));
+
+int wxStyledTextCtrl_MarkerAdd(TSelf(wxStyledTextCtrl) _obj, int line, int markerNumber);
+
+void wxStyledTextCtrl_MarkerDelete(TSelf(wxStyledTextCtrl) _obj, int line, int markerNumber);
+
+void wxStyledTextCtrl_MarkerDeleteAll(TSelf(wxStyledTextCtrl) _obj, int markerNumber);
+
+int wxStyledTextCtrl_MarkerGet(TSelf(wxStyledTextCtrl) _obj, int line);
+
+int wxStyledTextCtrl_MarkerNext(TSelf(wxStyledTextCtrl) _obj, int lineStart, int markerMask);
+
+int wxStyledTextCtrl_MarkerPrevious(TSelf(wxStyledTextCtrl) _obj, int lineStart, int markerMask);
+
+void wxStyledTextCtrl_MarkerDefineBitmap(TSelf(wxStyledTextCtrl) _obj, int markerNumber, TClass(wxBitmap) bmp);
+
+void wxStyledTextCtrl_SetMarginType(TSelf(wxStyledTextCtrl) _obj, int margin, int marginType);
+
+int wxStyledTextCtrl_GetMarginType(TSelf(wxStyledTextCtrl) _obj, int margin);
+
+void wxStyledTextCtrl_SetMarginWidth(TSelf(wxStyledTextCtrl) _obj, int margin, int pixelWidth);
+
+int wxStyledTextCtrl_GetMarginWidth(TSelf(wxStyledTextCtrl) _obj, int margin);
+
+void wxStyledTextCtrl_SetMarginMask(TSelf(wxStyledTextCtrl) _obj, int margin, int mask);
+
+int wxStyledTextCtrl_GetMarginMask(TSelf(wxStyledTextCtrl) _obj, int margin);
+
+void wxStyledTextCtrl_SetMarginSensitive(TSelf(wxStyledTextCtrl) _obj, int margin, TBool sensitive);
+
+TBool wxStyledTextCtrl_GetMarginSensitive(TSelf(wxStyledTextCtrl) _obj, int margin);
+
+void wxStyledTextCtrl_StyleClearAll(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_StyleSetForeground(TSelf(wxStyledTextCtrl) _obj, int style, TColorRGB(fore_r,fore_g,fore_b));
+
+void wxStyledTextCtrl_StyleSetBackground(TSelf(wxStyledTextCtrl) _obj, int style, TColorRGB(back_r,back_g,back_b));
+
+void wxStyledTextCtrl_StyleSetBold(TSelf(wxStyledTextCtrl) _obj, int style, TBool bold);
+
+void wxStyledTextCtrl_StyleSetItalic(TSelf(wxStyledTextCtrl) _obj, int style, TBool italic);
+
+void wxStyledTextCtrl_StyleSetSize(TSelf(wxStyledTextCtrl) _obj, int style, int sizePoints);
+
+void wxStyledTextCtrl_StyleSetFaceName(TSelf(wxStyledTextCtrl) _obj, int style, TClass(wxString) fontName);
+
+void wxStyledTextCtrl_StyleSetEOLFilled(TSelf(wxStyledTextCtrl) _obj, int style, TBool filled);
+
+void wxStyledTextCtrl_StyleResetDefault(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_StyleSetUnderline(TSelf(wxStyledTextCtrl) _obj, int style, TBool underline);
+
+void wxStyledTextCtrl_StyleSetCase(TSelf(wxStyledTextCtrl) _obj, int style, int caseForce);
+
+void wxStyledTextCtrl_StyleSetCharacterSet(TSelf(wxStyledTextCtrl) _obj, int style, int characterSet);
+
+void wxStyledTextCtrl_StyleSetHotSpot(TSelf(wxStyledTextCtrl) _obj, int style, TBool hotspot);
+
+void wxStyledTextCtrl_SetSelForeground(TSelf(wxStyledTextCtrl) _obj, TBool useSetting, TColorRGB(fore_r,fore_g,fore_b));
+
+void wxStyledTextCtrl_SetSelBackground(TSelf(wxStyledTextCtrl) _obj, TBool useSetting, TColorRGB(back_r,back_g,back_b));
+
+void wxStyledTextCtrl_SetCaretForeground(TSelf(wxStyledTextCtrl) _obj, TColorRGB(fore_r,fore_g,fore_b));
+
+void wxStyledTextCtrl_CmdKeyAssign(TSelf(wxStyledTextCtrl) _obj, int key, int modifiers, int cmd);
+
+void wxStyledTextCtrl_CmdKeyClear(TSelf(wxStyledTextCtrl) _obj, int key, int modifiers);
+
+void wxStyledTextCtrl_CmdKeyClearAll(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetStyleBytes(TSelf(wxStyledTextCtrl) _obj, int length, char* styleBytes);
+
+void wxStyledTextCtrl_StyleSetVisible(TSelf(wxStyledTextCtrl) _obj, int style, TBool visible);
+
+int wxStyledTextCtrl_GetCaretPeriod(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetCaretPeriod(TSelf(wxStyledTextCtrl) _obj, int periodMilliseconds);
+
+void wxStyledTextCtrl_SetWordChars(TSelf(wxStyledTextCtrl) _obj, TClass(wxString) characters);
+
+void wxStyledTextCtrl_BeginUndoAction(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_EndUndoAction(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_IndicatorSetStyle(TSelf(wxStyledTextCtrl) _obj, int indic, int style);
+
+int wxStyledTextCtrl_IndicatorGetStyle(TSelf(wxStyledTextCtrl) _obj, int indic);
+
+void wxStyledTextCtrl_IndicatorSetForeground(TSelf(wxStyledTextCtrl) _obj, int indic, TColorRGB(fore_r,fore_g,fore_b));
+
+void wxStyledTextCtrl_SetWhitespaceForeground(TSelf(wxStyledTextCtrl) _obj, TBool useSetting, TColorRGB(fore_r,fore_g,fore_b));
+
+void wxStyledTextCtrl_SetWhitespaceBackground(TSelf(wxStyledTextCtrl) _obj, TBool useSetting, TColorRGB(back_r,back_g,back_b));
+
+void wxStyledTextCtrl_SetStyleBits(TSelf(wxStyledTextCtrl) _obj, int bits);
+
+int wxStyledTextCtrl_GetStyleBits(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetLineState(TSelf(wxStyledTextCtrl) _obj, int line, int state);
+
+int wxStyledTextCtrl_GetLineState(TSelf(wxStyledTextCtrl) _obj, int line);
+
+int wxStyledTextCtrl_GetMaxLineState(TSelf(wxStyledTextCtrl) _obj);
+
+TBool wxStyledTextCtrl_GetCaretLineVisible(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetCaretLineVisible(TSelf(wxStyledTextCtrl) _obj, TBool show);
+
+void wxStyledTextCtrl_StyleSetChangeable(TSelf(wxStyledTextCtrl) _obj, int style, TBool changeable);
+
+void wxStyledTextCtrl_AutoCompShow(TSelf(wxStyledTextCtrl) _obj, int lenEntered, TClass(wxString) itemList);
+
+void wxStyledTextCtrl_AutoCompCancel(TSelf(wxStyledTextCtrl) _obj);
+
+TBool wxStyledTextCtrl_AutoCompActive(TSelf(wxStyledTextCtrl) _obj);
+
+int wxStyledTextCtrl_AutoCompPosStart(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_AutoCompComplete(TSelf(wxStyledTextCtrl) _obj);
+
+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, TClass(wxString) text);
+
+void wxStyledTextCtrl_AutoCompSetCancelAtStart(TSelf(wxStyledTextCtrl) _obj, TBool cancel);
+
+TBool wxStyledTextCtrl_AutoCompGetCancelAtStart(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_AutoCompSetFillUps(TSelf(wxStyledTextCtrl) _obj, TClass(wxString) characterSet);
+
+void wxStyledTextCtrl_AutoCompSetChooseSingle(TSelf(wxStyledTextCtrl) _obj, TBool chooseSingle);
+
+TBool wxStyledTextCtrl_AutoCompGetChooseSingle(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_AutoCompSetIgnoreCase(TSelf(wxStyledTextCtrl) _obj, TBool ignoreCase);
+
+TBool wxStyledTextCtrl_AutoCompGetIgnoreCase(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_UserListShow(TSelf(wxStyledTextCtrl) _obj, int listType, TClass(wxString) itemList);
+
+void wxStyledTextCtrl_AutoCompSetAutoHide(TSelf(wxStyledTextCtrl) _obj, TBool autoHide);
+
+TBool wxStyledTextCtrl_AutoCompGetAutoHide(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_AutoCompSetDropRestOfWord(TSelf(wxStyledTextCtrl) _obj, TBool dropRestOfWord);
+
+TBool wxStyledTextCtrl_AutoCompGetDropRestOfWord(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_RegisterImage(TSelf(wxStyledTextCtrl) _obj, int type, TClass(wxBitmap) bmp);
+
+void wxStyledTextCtrl_ClearRegisteredImages(TSelf(wxStyledTextCtrl) _obj);
+
+int wxStyledTextCtrl_AutoCompGetTypeSeparator(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_AutoCompSetTypeSeparator(TSelf(wxStyledTextCtrl) _obj, int separatorCharacter);
+
+void wxStyledTextCtrl_SetIndent(TSelf(wxStyledTextCtrl) _obj, int indentSize);
+
+int wxStyledTextCtrl_GetIndent(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetUseTabs(TSelf(wxStyledTextCtrl) _obj, TBool useTabs);
+
+TBool wxStyledTextCtrl_GetUseTabs(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetLineIndentation(TSelf(wxStyledTextCtrl) _obj, int line, int indentSize);
+
+int wxStyledTextCtrl_GetLineIndentation(TSelf(wxStyledTextCtrl) _obj, int line);
+
+int wxStyledTextCtrl_GetLineIndentPosition(TSelf(wxStyledTextCtrl) _obj, int line);
+
+int wxStyledTextCtrl_GetColumn(TSelf(wxStyledTextCtrl) _obj, int pos);
+
+void wxStyledTextCtrl_SetUseHorizontalScrollBar(TSelf(wxStyledTextCtrl) _obj, TBool show);
+
+TBool wxStyledTextCtrl_GetUseHorizontalScrollBar(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetIndentationGuides(TSelf(wxStyledTextCtrl) _obj, TBool show);
+
+TBool wxStyledTextCtrl_GetIndentationGuides(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetHighlightGuide(TSelf(wxStyledTextCtrl) _obj, int column);
+
+int wxStyledTextCtrl_GetHighlightGuide(TSelf(wxStyledTextCtrl) _obj);
+
+int wxStyledTextCtrl_GetLineEndPosition(TSelf(wxStyledTextCtrl) _obj, int line);
+
+int wxStyledTextCtrl_GetCodePage(TSelf(wxStyledTextCtrl) _obj);
+
+TBool wxStyledTextCtrl_GetReadOnly(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetCurrentPos(TSelf(wxStyledTextCtrl) _obj, int pos);
+
+void wxStyledTextCtrl_SetSelectionStart(TSelf(wxStyledTextCtrl) _obj, int pos);
+
+int wxStyledTextCtrl_GetSelectionStart(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetSelectionEnd(TSelf(wxStyledTextCtrl) _obj, int pos);
+
+int wxStyledTextCtrl_GetSelectionEnd(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetPrintMagnification(TSelf(wxStyledTextCtrl) _obj, int magnification);
+
+int wxStyledTextCtrl_GetPrintMagnification(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetPrintColourMode(TSelf(wxStyledTextCtrl) _obj, int mode);
+
+int wxStyledTextCtrl_GetPrintColourMode(TSelf(wxStyledTextCtrl) _obj);
+
+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);
+
+int wxStyledTextCtrl_GetFirstVisibleLine(TSelf(wxStyledTextCtrl) _obj);
+
+int wxStyledTextCtrl_GetLineCount(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetMarginLeft(TSelf(wxStyledTextCtrl) _obj, int pixelWidth);
+
+int wxStyledTextCtrl_GetMarginLeft(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetMarginRight(TSelf(wxStyledTextCtrl) _obj, int pixelWidth);
+
+int wxStyledTextCtrl_GetMarginRight(TSelf(wxStyledTextCtrl) _obj);
+
+TBool wxStyledTextCtrl_GetModify(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetSelection(TSelf(wxStyledTextCtrl) _obj, int start, int end);
+
+void wxStyledTextCtrl_HideSelection(TSelf(wxStyledTextCtrl) _obj, TBool normal);
+
+int wxStyledTextCtrl_LineFromPosition(TSelf(wxStyledTextCtrl) _obj, int pos);
+
+int wxStyledTextCtrl_PositionFromLine(TSelf(wxStyledTextCtrl) _obj, int line);
+
+void wxStyledTextCtrl_LineScroll(TSelf(wxStyledTextCtrl) _obj, int columns, int lines);
+
+void wxStyledTextCtrl_EnsureCaretVisible(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_ReplaceSelection(TSelf(wxStyledTextCtrl) _obj, TClass(wxString) text);
+
+void wxStyledTextCtrl_SetReadOnly(TSelf(wxStyledTextCtrl) _obj, TBool readOnly);
+
+TBool wxStyledTextCtrl_CanPaste(TSelf(wxStyledTextCtrl) _obj);
+
+TBool wxStyledTextCtrl_CanUndo(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_EmptyUndoBuffer(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_Undo(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_Cut(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_Copy(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_Paste(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_Clear(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetText(TSelf(wxStyledTextCtrl) _obj, TClass(wxString) text);
+
+int wxStyledTextCtrl_GetTextLength(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetOvertype(TSelf(wxStyledTextCtrl) _obj, TBool overtype);
+
+TBool wxStyledTextCtrl_GetOvertype(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetCaretWidth(TSelf(wxStyledTextCtrl) _obj, int pixelWidth);
+
+int wxStyledTextCtrl_GetCaretWidth(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetTargetStart(TSelf(wxStyledTextCtrl) _obj, int pos);
+
+int wxStyledTextCtrl_GetTargetStart(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetTargetEnd(TSelf(wxStyledTextCtrl) _obj, int pos);
+
+int wxStyledTextCtrl_GetTargetEnd(TSelf(wxStyledTextCtrl) _obj);
+
+int wxStyledTextCtrl_ReplaceTarget(TSelf(wxStyledTextCtrl) _obj, TClass(wxString) text);
+
+int wxStyledTextCtrl_ReplaceTargetRE(TSelf(wxStyledTextCtrl) _obj, TClass(wxString) 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, TClass(wxString) definition);
+
+void wxStyledTextCtrl_CallTipCancel(TSelf(wxStyledTextCtrl) _obj);
+
+TBool wxStyledTextCtrl_CallTipActive(TSelf(wxStyledTextCtrl) _obj);
+
+int wxStyledTextCtrl_CallTipPosAtStart(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_CallTipSetHighlight(TSelf(wxStyledTextCtrl) _obj, int start, int end);
+
+void wxStyledTextCtrl_CallTipSetBackground(TSelf(wxStyledTextCtrl) _obj, TColorRGB(back_r,back_g,back_b));
+
+void wxStyledTextCtrl_CallTipSetForeground(TSelf(wxStyledTextCtrl) _obj, TColorRGB(fore_r,fore_g,fore_b));
+
+void wxStyledTextCtrl_CallTipSetForegroundHighlight(TSelf(wxStyledTextCtrl) _obj, TColorRGB(fore_r,fore_g,fore_b));
+
+int wxStyledTextCtrl_VisibleFromDocLine(TSelf(wxStyledTextCtrl) _obj, int line);
+
+int wxStyledTextCtrl_DocLineFromVisible(TSelf(wxStyledTextCtrl) _obj, int lineDisplay);
+
+void wxStyledTextCtrl_SetFoldLevel(TSelf(wxStyledTextCtrl) _obj, int line, int level);
+
+int wxStyledTextCtrl_GetFoldLevel(TSelf(wxStyledTextCtrl) _obj, int line);
+
+int wxStyledTextCtrl_GetLastChild(TSelf(wxStyledTextCtrl) _obj, int line, int level);
+
+int wxStyledTextCtrl_GetFoldParent(TSelf(wxStyledTextCtrl) _obj, int line);
+
+void wxStyledTextCtrl_ShowLines(TSelf(wxStyledTextCtrl) _obj, int lineStart, int lineEnd);
+
+void wxStyledTextCtrl_HideLines(TSelf(wxStyledTextCtrl) _obj, int lineStart, int lineEnd);
+
+TBool wxStyledTextCtrl_GetLineVisible(TSelf(wxStyledTextCtrl) _obj, int line);
+
+void wxStyledTextCtrl_SetFoldExpanded(TSelf(wxStyledTextCtrl) _obj, int line, TBool expanded);
+
+TBool wxStyledTextCtrl_GetFoldExpanded(TSelf(wxStyledTextCtrl) _obj, int line);
+
+void wxStyledTextCtrl_ToggleFold(TSelf(wxStyledTextCtrl) _obj, int line);
+
+void wxStyledTextCtrl_EnsureVisible(TSelf(wxStyledTextCtrl) _obj, int line);
+
+void wxStyledTextCtrl_SetFoldFlags(TSelf(wxStyledTextCtrl) _obj, int flags);
+
+void wxStyledTextCtrl_EnsureVisibleEnforcePolicy(TSelf(wxStyledTextCtrl) _obj, int line);
+
+void wxStyledTextCtrl_SetTabIndents(TSelf(wxStyledTextCtrl) _obj, TBool tabIndents);
+
+TBool wxStyledTextCtrl_GetTabIndents(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetBackSpaceUnIndents(TSelf(wxStyledTextCtrl) _obj, TBool bsUnIndents);
+
+TBool wxStyledTextCtrl_GetBackSpaceUnIndents(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetMouseDwellTime(TSelf(wxStyledTextCtrl) _obj, int periodMilliseconds);
+
+int wxStyledTextCtrl_GetMouseDwellTime(TSelf(wxStyledTextCtrl) _obj);
+
+int wxStyledTextCtrl_WordStartPosition(TSelf(wxStyledTextCtrl) _obj, int pos, TBool onlyWordCharacters);
+
+int wxStyledTextCtrl_WordEndPosition(TSelf(wxStyledTextCtrl) _obj, int pos, TBool onlyWordCharacters);
+
+void wxStyledTextCtrl_SetWrapMode(TSelf(wxStyledTextCtrl) _obj, int mode);
+
+int wxStyledTextCtrl_GetWrapMode(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetLayoutCache(TSelf(wxStyledTextCtrl) _obj, int mode);
+
+int wxStyledTextCtrl_GetLayoutCache(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetScrollWidth(TSelf(wxStyledTextCtrl) _obj, int pixelWidth);
+
+int wxStyledTextCtrl_GetScrollWidth(TSelf(wxStyledTextCtrl) _obj);
+
+int wxStyledTextCtrl_TextWidth(TSelf(wxStyledTextCtrl) _obj, int style, TClass(wxString) text);
+
+void wxStyledTextCtrl_SetEndAtLastLine(TSelf(wxStyledTextCtrl) _obj, TBool endAtLastLine);
+
+int wxStyledTextCtrl_GetEndAtLastLine(TSelf(wxStyledTextCtrl) _obj);
+
+int wxStyledTextCtrl_TextHeight(TSelf(wxStyledTextCtrl) _obj, int line);
+
+void wxStyledTextCtrl_SetUseVerticalScrollBar(TSelf(wxStyledTextCtrl) _obj, TBool show);
+
+TBool wxStyledTextCtrl_GetUseVerticalScrollBar(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_AppendText(TSelf(wxStyledTextCtrl) _obj, TClass(wxString) text);
+
+TBool wxStyledTextCtrl_GetTwoPhaseDraw(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetTwoPhaseDraw(TSelf(wxStyledTextCtrl) _obj, TBool twoPhase);
+
+void wxStyledTextCtrl_TargetFromSelection(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_LinesJoin(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_LinesSplit(TSelf(wxStyledTextCtrl) _obj, int pixelWidth);
+
+void wxStyledTextCtrl_SetFoldMarginColour(TSelf(wxStyledTextCtrl) _obj, TBool useSetting, TColorRGB(back_r,back_g,back_b));
+
+void wxStyledTextCtrl_SetFoldMarginHiColour(TSelf(wxStyledTextCtrl) _obj, TBool useSetting, TColorRGB(fore_r,fore_g,fore_b));
+
+void wxStyledTextCtrl_LineDuplicate(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_HomeDisplay(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_HomeDisplayExtend(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_LineEndDisplay(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_LineEndDisplayExtend(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_LineCopy(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_MoveCaretInsideView(TSelf(wxStyledTextCtrl) _obj);
+
+int wxStyledTextCtrl_LineLength(TSelf(wxStyledTextCtrl) _obj, int line);
+
+void wxStyledTextCtrl_BraceHighlight(TSelf(wxStyledTextCtrl) _obj, int pos1, int pos2);
+
+void wxStyledTextCtrl_BraceBadLight(TSelf(wxStyledTextCtrl) _obj, int pos);
+
+int wxStyledTextCtrl_BraceMatch(TSelf(wxStyledTextCtrl) _obj, int pos);
+
+TBool wxStyledTextCtrl_GetViewEOL(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetViewEOL(TSelf(wxStyledTextCtrl) _obj, TBool visible);
+
+void wxStyledTextCtrl_SetDocPointer(TSelf(wxStyledTextCtrl) _obj, TClass(wxSTCDoc) docPointer);
+
+void wxStyledTextCtrl_SetModEventMask(TSelf(wxStyledTextCtrl) _obj, int mask);
+
+int wxStyledTextCtrl_GetEdgeColumn(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetEdgeColumn(TSelf(wxStyledTextCtrl) _obj, int column);
+
+int wxStyledTextCtrl_GetEdgeMode(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetEdgeMode(TSelf(wxStyledTextCtrl) _obj, int mode);
+
+void wxStyledTextCtrl_SetEdgeColour(TSelf(wxStyledTextCtrl) _obj, TColorRGB(edgeColour_r,edgeColour_g,edgeColour_b));
+
+void wxStyledTextCtrl_SearchAnchor(TSelf(wxStyledTextCtrl) _obj);
+
+int wxStyledTextCtrl_SearchNext(TSelf(wxStyledTextCtrl) _obj, int flags, TClass(wxString) text);
+
+int wxStyledTextCtrl_SearchPrev(TSelf(wxStyledTextCtrl) _obj, int flags, TClass(wxString) text);
+
+int wxStyledTextCtrl_LinesOnScreen(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_UsePopUp(TSelf(wxStyledTextCtrl) _obj, TBool allowPopUp);
+
+TBool wxStyledTextCtrl_SelectionIsRectangle(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetZoom(TSelf(wxStyledTextCtrl) _obj, int zoom);
+
+int wxStyledTextCtrl_GetZoom(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_AddRefDocument(TSelf(wxStyledTextCtrl) _obj, TClass(wxSTCDoc) docPointer);
+
+void wxStyledTextCtrl_ReleaseDocument(TSelf(wxStyledTextCtrl) _obj, TClass(wxSTCDoc) docPointer);
+
+int wxStyledTextCtrl_GetModEventMask(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetSTCFocus(TSelf(wxStyledTextCtrl) _obj, TBool focus);
+
+TBool wxStyledTextCtrl_GetSTCFocus(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetStatus(TSelf(wxStyledTextCtrl) _obj, int statusCode);
+
+int wxStyledTextCtrl_GetStatus(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetMouseDownCaptures(TSelf(wxStyledTextCtrl) _obj, TBool captures);
+
+TBool wxStyledTextCtrl_GetMouseDownCaptures(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetSTCCursor(TSelf(wxStyledTextCtrl) _obj, int cursorType);
+
+int wxStyledTextCtrl_GetSTCCursor(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetControlCharSymbol(TSelf(wxStyledTextCtrl) _obj, int symbol);
+
+int wxStyledTextCtrl_GetControlCharSymbol(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_WordPartLeft(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_WordPartLeftExtend(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_WordPartRight(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_WordPartRightExtend(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetVisiblePolicy(TSelf(wxStyledTextCtrl) _obj, int visiblePolicy, int visibleSlop);
+
+void wxStyledTextCtrl_DelLineLeft(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_DelLineRight(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetXOffset(TSelf(wxStyledTextCtrl) _obj, int newOffset);
+
+int wxStyledTextCtrl_GetXOffset(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_ChooseCaretX(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetXCaretPolicy(TSelf(wxStyledTextCtrl) _obj, int caretPolicy, int caretSlop);
+
+void wxStyledTextCtrl_SetYCaretPolicy(TSelf(wxStyledTextCtrl) _obj, int caretPolicy, int caretSlop);
+
+void wxStyledTextCtrl_SetPrintWrapMode(TSelf(wxStyledTextCtrl) _obj, int mode);
+
+int wxStyledTextCtrl_GetPrintWrapMode(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetHotspotActiveForeground(TSelf(wxStyledTextCtrl) _obj, TBool useSetting, TColorRGB(fore_r,fore_g,fore_b));
+
+void wxStyledTextCtrl_SetHotspotActiveBackground(TSelf(wxStyledTextCtrl) _obj, TBool useSetting, TColorRGB(back_r,back_g,back_b));
+
+void wxStyledTextCtrl_SetHotspotActiveUnderline(TSelf(wxStyledTextCtrl) _obj, TBool underline);
+
+int wxStyledTextCtrl_PositionBefore(TSelf(wxStyledTextCtrl) _obj, int pos);
+
+int wxStyledTextCtrl_PositionAfter(TSelf(wxStyledTextCtrl) _obj, int pos);
+
+void wxStyledTextCtrl_CopyRange(TSelf(wxStyledTextCtrl) _obj, int start, int end);
+
+void wxStyledTextCtrl_CopyText(TSelf(wxStyledTextCtrl) _obj, int length, TClass(wxString) text);
+
+void wxStyledTextCtrl_StartRecord(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_StopRecord(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetLexer(TSelf(wxStyledTextCtrl) _obj, int lexer);
+
+int wxStyledTextCtrl_GetLexer(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_Colourise(TSelf(wxStyledTextCtrl) _obj, int start, int end);
+
+void wxStyledTextCtrl_SetProperty(TSelf(wxStyledTextCtrl) _obj, TClass(wxString) key, TClass(wxString) value);
+
+void wxStyledTextCtrl_SetKeyWords(TSelf(wxStyledTextCtrl) _obj, int keywordSet, TClass(wxString) keyWords);
+
+void wxStyledTextCtrl_SetLexerLanguage(TSelf(wxStyledTextCtrl) _obj, TClass(wxString) language);
+
+int wxStyledTextCtrl_GetCurrentLine(TSelf(wxStyledTextCtrl) _obj);
+
+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, TClass(wxString) faceName, TBool bold, TBool italic, TBool underline);
+
+void wxStyledTextCtrl_CmdKeyExecute(TSelf(wxStyledTextCtrl) _obj, int cmd);
+
+void wxStyledTextCtrl_SetMargins(TSelf(wxStyledTextCtrl) _obj, int left, int right);
+
+void wxStyledTextCtrl_GetSelection(TSelf(wxStyledTextCtrl) _obj, int* startPos, int* endPos);
+
+void wxStyledTextCtrl_ScrollToLine(TSelf(wxStyledTextCtrl) _obj, int line);
+
+void wxStyledTextCtrl_ScrollToColumn(TSelf(wxStyledTextCtrl) _obj, int column);
+
+void wxStyledTextCtrl_SetVScrollBar(TSelf(wxStyledTextCtrl) _obj, TClass(wxScrollBar) bar);
+
+void wxStyledTextCtrl_SetHScrollBar(TSelf(wxStyledTextCtrl) _obj, TClass(wxScrollBar) bar);
+
+TBool wxStyledTextCtrl_GetLastKeydownProcessed(TSelf(wxStyledTextCtrl) _obj);
+
+void wxStyledTextCtrl_SetLastKeydownProcessed(TSelf(wxStyledTextCtrl) _obj, TBool val);
+
+TBool wxStyledTextCtrl_SaveFile(TSelf(wxStyledTextCtrl) _obj, TClass(wxString) filename);
+
+TBool wxStyledTextCtrl_LoadFile(TSelf(wxStyledTextCtrl) _obj, TClass(wxString) filename);
+ src/include/textstream.h view
@@ -0,0 +1,21 @@+
+
+  
+/*-----------------------------------------------------------------------------
+  Input stream
+-----------------------------------------------------------------------------*/
+TBool wxInputStream_CanRead( TSelf(wxInputStream) self );
+
+TClassDef( wxTextInputStream );
+TClass(wxTextInputStream) wxTextInputStream_Create( TClass(wxInputStream) inputStream, TClass(wxString) sep );
+void wxTextInputStream_Delete( TSelf(wxTextInputStream) self );
+TClass(wxString) wxTextInputStream_ReadLine( TSelf(wxTextInputStream) self );
+
+
+/*-----------------------------------------------------------------------------
+  Output stream
+-----------------------------------------------------------------------------*/
+TClassDef( wxTextOutputStream );
+TClass(wxTextOutputStream) wxTextOutputStream_Create( TClass(wxOutputStream) outputStream, int mode );
+void wxTextOutputStream_Delete( TSelf(wxTextOutputStream) self );
+void wxTextOutputStream_WriteString( TSelf(wxTextOutputStream) self, TClass(wxString) txt );
+ src/include/wrapper.h view
@@ -0,0 +1,660 @@+#ifndef __WRAPPER_H+#define __WRAPPER_H++/* MSC: disable warning about int-to-bool conversion (just affects performance) */+#pragma warning(disable: 4800)+/* MSC: disable warning about using different code page (just affects performance) */+#pragma warning(disable: 4819)++/* just to ensure that intptr_t exists */+#ifndef  _MSC_VER+#include <inttypes.h>+/* MSVC-6 defines _MSC_VER=1200 */+#elif _MSC_VER> 1200+#else+/* MSVC-6 does not define intptr_t */+typedef int intptr_t;+#endif++#include "ewxw_def.h"+#include "wx/wx.h"+#if (wxVERSION_NUMBER >= 2600)+#include "wx/apptrait.h"+#endif+#if (wxVERSION_NUMBER < 2900)+#include "wx/tabctrl.h"+#endif+#include "wx/notebook.h"+#include "wx/spinctrl.h"+#include "wx/statline.h"+#include "wx/checklst.h"+#include "wx/treectrl.h"+#include "wx/grid.h"+#include "wx/calctrl.h"+#include "wx/dnd.h"+#include "wx/config.h"+#include "wx/imaglist.h"+#include "wx/listctrl.h"+#include "wx/splitter.h"+#include "wx/image.h"+#include "wx/clipbrd.h"+#include "wx/colordlg.h"+#include "wx/fontdlg.h"+#include "wx/sckipc.h"+#include "wx/html/helpctrl.h"+#include "wx/print.h"+#include "wx/sashwin.h"+#include "wx/laywin.h"+#include "wx/minifram.h"+#include "wx/mstream.h"+#include "wx/wizard.h"+#include "wx/socket.h"+#include "wx/artprov.h"+#include "wx/sound.h"++#define MAKE_EVENT_WRAPPER(evt) EWXWEXPORT(int,exp##evt)() { return (int)wx##evt; }+#define MAKE_UNDEFEVENT_WRAPPER(evt) EWXWEXPORT(int, exp##evt)() { return (int) wxEVT_NULL; }++extern "C"+{+typedef void    _cdecl (*ClosureFun)( void* _fun, void* _data, void* _evt );++typedef bool    _cdecl (*AppInitFunc)(void);++typedef void    _cdecl (*EiffelFunc)    (void* _obj, void* _evt);+typedef int     _cdecl (*TextDropFunc)  (void* _obj, long x, long y, void* _txt);+typedef int     _cdecl (*FileDropFunc)  (void* _obj, long x, long y, void* _fle, int _cnt);+typedef void    _cdecl (*DragZeroFunc)  (void* _obj);+typedef int     _cdecl (*DragTwoFunc)   (void* _obj, long x, long y);+typedef int     _cdecl (*DragThreeFunc) (void* _obj, long x, long y, int def);++typedef void*   _cdecl (*TGetText) (void* _obj, void* _txt);++typedef int     _cdecl (*DataGetDataSize) (void* _obj);+typedef int     _cdecl (*DataGetDataHere) (void* _obj, void* _buf);+typedef int     _cdecl (*DataSetData)     (void* _obj, int _size, const void* _buf);++typedef int     _cdecl (*ValidateFunc) (void* _obj);++typedef int     _cdecl (*TCPAdviseFunc)      (void* _obj, void* _topic, void* _item, void* _data, int _size, int _fmt);+typedef int     _cdecl (*TCPExecuteFunc)     (void* _obj, void* _topic, void* _data, int _size, int _fmt);+typedef wxChar* _cdecl (*TCPRequestFunc)     (void* _obj, void* _topic, void* _item, void* _size, int _fmt);+typedef int     _cdecl (*TCPPokeFunc)        (void* _obj, void* _topic, void* _item, void* _data, int _size, int _fmt);+typedef int     _cdecl (*TCPStartAdviseFunc) (void* _obj, void* _topic, void* _item);+typedef int     _cdecl (*TCPStopAdviseFunc)  (void* _obj, void* _topic, void* _item);+typedef void*   _cdecl (*TCPOnConnection)    (void* _obj, void* _cnt);+typedef int     _cdecl (*TCPOnDisconnect)    (void* _obj);++typedef int     _cdecl (*PrintBeginDocument) (void* _obj, int _start, int _end);+typedef void    _cdecl (*PrintCommon) (void* _obj);+typedef int     _cdecl (*PrintBeginPage) (void* _obj, int _page);+typedef void    _cdecl (*PrintPageInfo) (void* _obj, int* _min, int* _max, int* _from, int* _to);++typedef int     _cdecl (*PreviewFrameFunc) (void* _obj);++typedef int     _cdecl (*TreeCompareFunc) (void* _obj, void* _itm1, void* _itm2);+}++/* Miscellaneous helper functions */+/* Copies the contents of a wxString to a buffer and returns the length of the string */+int copyStrToBuf(void* dst, wxString& src);++/* A Closure is used to call foreign functions. They are closures+ because they don't just contain a function pointer but also some+ local data supplied at creation time. The closures are reference counted+ by 'Callbacks'. Each event handler uses callbacks to react to primitive+ events like EVT_LEFT_CLICK and EVT_MOTION. These callbacks invoke the+ corresponding closure. Due to reference counting, a single closure can+ handle a range of events.+*/+class wxClosure : public wxClientData+{+  protected:+    int         m_refcount;     /* callbacks reference count the closures */+    ClosureFun  m_fun;          /* the foreign function to call */+    void*       m_data;         /* the associated data, passed along with the function call */+  public:+    wxClosure( ClosureFun fun, void* data );+    ~wxClosure();++    virtual void IncRef();+    virtual void DecRef();++    virtual void Invoke( wxEvent* event );+    virtual void* GetData();+};++class wxCallback: public wxObject+{+  private:+    wxClosure* m_closure;    /* the closure to invoke */+  public:+    wxCallback( wxClosure* closure );+    ~wxCallback();++    void Invoke( wxEvent* event );+    wxClosure* GetClosure();+};++extern wxClosure* initClosure;    /* called on wxApp::OnInit */++class ELJApp: public wxApp+{+  public:+    bool OnInit (void);
+    int  OnExit (void);+    void HandleEvent(wxEvent& _evt);+    void InitZipFileSystem();+    void InitImageHandlers();+};+++class ELJDataObject: public wxObject+{+  public:+    ELJDataObject(void* _data) : wxObject() {data = _data;};+    void* data;+};++class ELJDropTarget : public wxDropTarget+{+  private:+    DragThreeFunc on_data_func;+    DragTwoFunc   on_drop_func;+    DragThreeFunc on_enter_func;+    DragThreeFunc on_drag_func;+    DragZeroFunc  on_leave_func;+    void* obj;+  public:+    ELJDropTarget(void* _obj) : wxDropTarget()+    {+      on_data_func = NULL;+      on_drop_func = NULL;+      on_enter_func = NULL;+      on_drag_func = NULL;+      on_leave_func = NULL;+      obj = _obj;+    };+    wxDragResult    OnData    (wxCoord x, wxCoord y, wxDragResult def);+    bool            OnDrop    (wxCoord x, wxCoord y);+    wxDragResult    OnEnter   (wxCoord x, wxCoord y, wxDragResult def);+    wxDragResult    OnDragOver(wxCoord x, wxCoord y, wxDragResult def);+    void            OnLeave   ();+    +    void SetOnData     (DragThreeFunc _func) {on_data_func = _func;};+    void SetOnDrop     (DragTwoFunc _func)   {on_drop_func = _func;};+    void SetOnEnter    (DragThreeFunc _func) {on_enter_func = _func;};+    void SetOnDragOver (DragThreeFunc _func) {on_drag_func = _func;};+    void SetOnLeave    (DragZeroFunc _func)  {on_leave_func = _func;};+};++class ELJDragDataObject : public wxDataObjectSimple+{+  private:+    void* obj;+    DataGetDataSize OnGetDataSize;+    DataGetDataHere OnGetDataHere;+    DataSetData     OnSetData;+  public:+#if (wxVERSION_NUMBER < 2900)+    ELJDragDataObject(void* _obj, wxChar* _fmt, DataGetDataSize _func1, DataGetDataHere _func2, DataSetData _func3) : wxDataObjectSimple(_fmt)+    {+      obj = _obj; +      OnGetDataSize = _func1; +      OnGetDataHere = _func2; +      OnSetData = _func3;+    }+#else+    ELJDragDataObject(void* _obj, const wxString& _fmt, DataGetDataSize _func1, DataGetDataHere _func2, DataSetData _func3) : wxDataObjectSimple(_fmt)+    {+      obj = _obj; +      OnGetDataSize = _func1; +      OnGetDataHere = _func2;+      OnSetData = _func3;+    }+#endif+    size_t GetDataSize() const {return (size_t)OnGetDataSize(obj);}+    bool GetDataHere(void* buf) const {return OnGetDataHere(obj, buf) != 0;}+    bool SetData(size_t len, const void* buf) {return OnSetData(obj, (int)len, buf) != 0;}+};++class ELJTextDropTarget : public wxTextDropTarget+{+  private:+    DragThreeFunc on_data_func;+    DragTwoFunc   on_drop_func;+    DragThreeFunc on_enter_func;+    DragThreeFunc on_drag_func;+    DragZeroFunc  on_leave_func;+    TextDropFunc func;+    void* obj;+  public:+    ELJTextDropTarget(void* _obj, TextDropFunc _func) : wxTextDropTarget()+    {+      on_data_func = NULL;+      on_drop_func = NULL;+      on_enter_func = NULL;+      on_drag_func = NULL;+      on_leave_func = NULL;+      func = _func;+      obj = _obj;+    };+    +    virtual bool OnDropText(wxCoord x, wxCoord y, const wxString& text);++    wxDragResult    OnData    (wxCoord x, wxCoord y, wxDragResult def);+    bool            OnDrop    (wxCoord x, wxCoord y);+    wxDragResult    OnEnter   (wxCoord x, wxCoord y, wxDragResult def);+    wxDragResult    OnDragOver(wxCoord x, wxCoord y, wxDragResult def);+    void            OnLeave   ();+    +    void SetOnData     (DragThreeFunc _func) {on_data_func = _func;};+    void SetOnDrop     (DragTwoFunc _func)   {on_drop_func = _func;};+    void SetOnEnter    (DragThreeFunc _func) {on_enter_func = _func;};+    void SetOnDragOver (DragThreeFunc _func) {on_drag_func = _func;};+    void SetOnLeave    (DragZeroFunc _func)  {on_leave_func = _func;};+};++class ELJFileDropTarget : public wxFileDropTarget+{+  private:+    DragThreeFunc on_data_func;+    DragTwoFunc   on_drop_func;+    DragThreeFunc on_enter_func;+    DragThreeFunc on_drag_func;+    DragZeroFunc  on_leave_func;+    FileDropFunc func;+    void* obj;+  public:+    ELJFileDropTarget(void* _obj, FileDropFunc _func) : wxFileDropTarget()+    {+      on_data_func = NULL;+      on_drop_func = NULL;+      on_enter_func = NULL;+      on_drag_func = NULL;+      on_leave_func = NULL;+      func = _func;+      obj = _obj;+    };+    +    virtual bool OnDropFiles(wxCoord x, wxCoord y, const wxArrayString& filenames);+    +    wxDragResult    OnData    (wxCoord x, wxCoord y, wxDragResult def);+    bool            OnDrop    (wxCoord x, wxCoord y);+    wxDragResult    OnEnter   (wxCoord x, wxCoord y, wxDragResult def);+    wxDragResult    OnDragOver(wxCoord x, wxCoord y, wxDragResult def);+    void            OnLeave   ();+    +    void SetOnData     (DragThreeFunc _func) {on_data_func = _func;};+    void SetOnDrop     (DragTwoFunc _func)   {on_drop_func = _func;};+    void SetOnEnter    (DragThreeFunc _func) {on_enter_func = _func;};+    void SetOnDragOver (DragThreeFunc _func) {on_drag_func = _func;};+    void SetOnLeave    (DragZeroFunc _func)  {on_leave_func = _func;};+};++class ELJTextValidator : public wxTextValidator+{+  public:+    ELJTextValidator(void* _obj, void* _fnc, void* _txt, long _stl) : wxTextValidator (_stl, &buf)+    {+      obj = _obj; +      fnc = (ValidateFunc)_fnc; +      buf = (const wxChar*) _txt;+    };++    ELJTextValidator(const ELJTextValidator& other)+    {+      Copy (other);+      obj = other.obj;+      fnc = other.fnc;+      buf = other.buf;+    };+    +    virtual wxObject *Clone(void) const { return new ELJTextValidator(*this); }+    virtual bool Validate(wxWindow* _prt);+  private:+    wxString     buf;+    void*        obj;+    ValidateFunc fnc;+};++class ELJConnection : public wxTCPConnection+{+  private:+    TCPAdviseFunc      DoOnAdvise;+    TCPExecuteFunc     DoOnExecute;+    TCPRequestFunc     DoOnRequest;+    TCPPokeFunc        DoOnPoke;+    TCPStartAdviseFunc DoOnStartAdvise;+    TCPStopAdviseFunc  DoOnStopAdvise;+    TCPOnDisconnect    DoOnDisconnect;+    void*              EiffelObject;++  public:+    ELJConnection() : wxTCPConnection()+    {+      DoOnAdvise = NULL;+      DoOnExecute = NULL;+      DoOnRequest = NULL;+      DoOnPoke = NULL;+      DoOnStartAdvise = NULL;+      DoOnStopAdvise = NULL;+      DoOnDisconnect = NULL;+      EiffelObject = NULL;+    }++    ELJConnection(wxChar* _buf, int _sze) : wxTCPConnection(_buf, _sze)+    {+      DoOnAdvise = NULL;+      DoOnExecute = NULL;+      DoOnRequest = NULL;+      DoOnPoke = NULL;+      DoOnStartAdvise = NULL;+      DoOnStopAdvise = NULL;+      DoOnDisconnect = NULL;+      EiffelObject = NULL;+    }++    void SetOnAdvise      (void* _fnc) {DoOnAdvise      = (TCPAdviseFunc)_fnc;};+    void SetOnExecute     (void* _fnc) {DoOnExecute     = (TCPExecuteFunc) _fnc;};+    void SetOnRequest     (void* _fnc) {DoOnRequest     = (TCPRequestFunc)_fnc;};+    void SetOnPoke        (void* _fnc) {DoOnPoke        = (TCPPokeFunc)_fnc;};+    void SetOnStartAdvise (void* _fnc) {DoOnStartAdvise = (TCPStartAdviseFunc)_fnc;};+    void SetOnStopAdvise  (void* _fnc) {DoOnStopAdvise  = (TCPStopAdviseFunc)_fnc;};+    void SetOnDisconnect  (void* _fnc) {DoOnDisconnect  = (TCPOnDisconnect)_fnc;};+    void SetEiffelObject  (void* _obj) {EiffelObject = _obj;};+    +    virtual bool OnExecute( const wxString& topic, char *data, int size, wxIPCFormat format )+    { +      return DoOnExecute ? +             DoOnExecute (EiffelObject, (void*)topic.wchar_str(), data, size, (int) format) != 0 : +             FALSE; +    };++    virtual wxChar *OnRequest( const wxString& topic, const wxString& item, int *size, wxIPCFormat format )+    { +      return DoOnRequest ? +             DoOnRequest (EiffelObject, (void*)topic.wchar_str(), (void*)item.wchar_str(), (void*)size, (int) format) :+             (wxChar*) NULL;+    };++    virtual bool OnPoke( const wxString& topic, const wxString& item, wxChar *data, int size, wxIPCFormat format )+    { +      return DoOnPoke ? +             DoOnPoke (EiffelObject, (void*)topic.wchar_str(), (void*)item.wchar_str(), data, size, (int) format) : +             FALSE;+    };++    virtual bool OnStartAdvise( const wxString& topic, const wxString& item )+    { +      return DoOnStartAdvise ? +             DoOnStartAdvise (EiffelObject, (void*)topic.wchar_str(), (void*)item.wchar_str()) : +             FALSE;+    };++    virtual bool OnStopAdvise( const wxString& topic, const wxString& item )+    { +      return DoOnStopAdvise ? +             DoOnStopAdvise (EiffelObject, (void*)topic.wchar_str(), (void*)item.wchar_str()) : +             FALSE; +    };++    virtual bool OnAdvise( const wxString& topic, const wxString& item, char *data, int size, wxIPCFormat format )+    {+      return DoOnAdvise ? +             DoOnAdvise (EiffelObject, (void*)topic.wchar_str(), (void*)item.wchar_str(), data, size, (int) format) : +             FALSE;+    };++    virtual bool OnDisconnect()+    { +      return DoOnDisconnect ? +             DoOnDisconnect (EiffelObject) : +             wxTCPConnection::OnDisconnect();+    };+};++class ELJServer : public wxTCPServer+{+  private:+    void*           EiffelObject;+    TCPOnConnection DoOnConnect;++  public:+    ELJServer(void* _obj, void* _fnc) : wxTCPServer()+    {+      EiffelObject = _obj; +      DoOnConnect = (TCPOnConnection)_fnc;+    };++    virtual wxConnectionBase* OnAcceptConnection(const wxString& topic)+    {+      ELJConnection* result = new ELJConnection();+      result->SetEiffelObject (DoOnConnect (EiffelObject, (void*)result));+      return result;+    };+};++class ELJClient : public wxTCPClient+{+  private:+    void*           EiffelObject;+    TCPOnConnection DoOnConnect;++  public:+    ELJClient(void* _obj, void* _fnc) : wxTCPClient()+    {+      EiffelObject = _obj; +      DoOnConnect = (TCPOnConnection)_fnc;+    };++    virtual wxConnectionBase* OnMakeConnection()+    {+      ELJConnection* result = new ELJConnection();+      result->SetEiffelObject (DoOnConnect (EiffelObject, (void*)result));+      return result;+    };+};++class ELJPrintout : public wxPrintout+{+  private:+    void*                   EiffelObject;+    PrintBeginDocument      DoOnBeginDocument;+    PrintCommon             DoOnEndDocument;+    PrintCommon             DoOnBeginPrinting;+    PrintCommon             DoOnEndPrinting;+    PrintCommon             DoOnPreparePrinting;+    PrintBeginPage          DoOnPrintPage;+    PrintBeginPage          DoOnHasPage;+    PrintPageInfo           DoOnPageInfo;++  public:+    ELJPrintout(void* title,+                void* _obj,+                void* _DoOnBeginDocument,+                void* _DoOnEndDocument,+                void* _DoOnBeginPrinting,+                void* _DoOnEndPrinting,+                void* _DoOnPreparePrinting,+                void* _DoOnPrintPage,+                void* _DoOnHasPage,+                void* _DoOnPageInfo) : wxPrintout((wxChar*)title)+    {+      EiffelObject = _obj;+      DoOnBeginDocument = (PrintBeginDocument)_DoOnBeginDocument;+      DoOnEndDocument = (PrintCommon)_DoOnEndDocument;+      DoOnBeginPrinting = (PrintCommon)_DoOnBeginPrinting;+      DoOnEndPrinting = (PrintCommon)_DoOnEndPrinting;+      DoOnPreparePrinting = (PrintCommon)_DoOnPreparePrinting;+      DoOnPrintPage = (PrintBeginPage)_DoOnPrintPage;+      DoOnHasPage = (PrintBeginPage)_DoOnHasPage;+      DoOnPageInfo = (PrintPageInfo)_DoOnPageInfo;+    }++    virtual bool OnBeginDocument(int startPage, int endPage)+    { +      return wxPrintout::OnBeginDocument(startPage, endPage) && +             (DoOnBeginDocument (EiffelObject, startPage, endPage) != 0);+    }++    virtual void OnEndDocument()+    { +      wxPrintout::OnEndDocument(); +      DoOnEndDocument (EiffelObject); +    }+    +    virtual void OnBeginPrinting()+    { +      DoOnBeginPrinting (EiffelObject); +    }+    +    virtual void OnEndPrinting()+    { +      DoOnEndPrinting (EiffelObject); +    }+    +    virtual void OnPreparePrinting()+    { +      DoOnPreparePrinting (EiffelObject); +    }+    +    virtual bool OnPrintPage(int page)+    { +      return DoOnPrintPage (EiffelObject, page) != 0; +    }+    +    virtual bool HasPage(int page)+    { +      return DoOnHasPage (EiffelObject, page) != 0; +    }+    +    virtual void GetPageInfo(int *minPage, int *maxPage, int *pageFrom, int *pageTo)+    { +      DoOnPageInfo (EiffelObject, minPage, maxPage, pageFrom, pageTo); +    }+};++class ELJPreviewFrame: public wxPreviewFrame+{+  private:+    void*                           EiffelObject;+    PreviewFrameFunc        DoInitialize;+    PreviewFrameFunc        DoCreateCanvas;+    PreviewFrameFunc        DoCreateControlBar;+    +  public:+    ELJPreviewFrame(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) :+    wxPreviewFrame( (wxPrintPreviewBase*)preview,+                    (wxFrame*)parent,+                    (wxChar*)title,+                    wxPoint(x, y),+                    wxSize(w, h),+                    (long)style)+    {+      EiffelObject = _obj;+      DoInitialize = (PreviewFrameFunc)_init;+      DoCreateCanvas = (PreviewFrameFunc)_create_canvas;+      DoCreateControlBar = (PreviewFrameFunc)_create_toolbar;+    }++    virtual void Initialize()+    { +      if ((DoInitialize) && DoInitialize(EiffelObject))+        return; +      wxPreviewFrame::Initialize();}++    virtual void CreateCanvas()+    { +      if ((DoCreateCanvas) && DoCreateCanvas(EiffelObject)) +        return; +      wxPreviewFrame::CreateCanvas();}+    +    virtual void CreateControlBar()+    { +      if ((DoCreateControlBar) && DoCreateControlBar(EiffelObject)) +        return; +      wxPreviewFrame::CreateControlBar();}+    +    void SetPreviewCanvas (void* _obj)+    { +      m_previewCanvas = (wxPreviewCanvas*) _obj; +    }+    +    void SetControlBar (void* _obj)+    { +      m_controlBar = (wxPreviewControlBar*) _obj;+    }+    +    void SetPrintPreview (void* _obj)+    {+      m_printPreview = (wxPrintPreviewBase*) _obj; +    }+    +    void* GetPreviewCanvas ()+    { +      return (void*)m_previewCanvas; +    }+    +    void* GetControlBar ()+    { +      return (void*)m_controlBar; +    }+    +    void* GetPrintPreview ()+    { +      return (void*)m_printPreview; +    }+};++class ELJTreeControl : public wxTreeCtrl+{+  DECLARE_DYNAMIC_CLASS(ELJTreeControl)++  private:+    TreeCompareFunc compare_func;+    void* EiffelObject;++  public:+    ELJTreeControl() : wxTreeCtrl ()+    {+      EiffelObject = NULL;+      compare_func = NULL;+    };+    +    ELJTreeControl(void* _obj,+                   void* _cmp,+                   wxWindow *parent,+                   wxWindowID id = -1,+                   const wxPoint& pos = wxDefaultPosition,+                   const wxSize& size = wxDefaultSize,+                   long style = wxTR_HAS_BUTTONS | wxTR_LINES_AT_ROOT,+                   const wxValidator& validator = wxDefaultValidator,+                   const wxString& name = wxT("wxTreeCtrl")) :+    wxTreeCtrl (parent, id, pos, size, style, validator, name)+    {+      EiffelObject = _obj;+      compare_func = (TreeCompareFunc)_cmp;+    };+    +    virtual int OnCompareItems(const wxTreeItemId& item1, const wxTreeItemId& item2)+    {+      return EiffelObject ? +             compare_func (EiffelObject, (void*)&item1, (void*)&item2) : +             wxTreeCtrl::OnCompareItems(item1, item2);+    }++};++DECLARE_APP(ELJApp);++#endif /* #ifndef __WRAPPER_H */
+ src/include/wxc.h view
@@ -0,0 +1,400 @@+#ifndef wxc_h+#define wxc_h++/* eiffel uses stdcall but we use __cdecl!! */+#ifdef _stdcall+# undef _stdcall+#endif++#define _stdcall
+#define EXPORT+
+/*-----------------------------------------------------------------------------
+  Standard includes
+-----------------------------------------------------------------------------*/
+#include "wxc_types.h"+#include "wxc_glue.h"
+
+
+/*-----------------------------------------------------------------------------
+  Modular extra exports
+-----------------------------------------------------------------------------*/
+#include "dragimage.h"+#include "graphicscontext.h"+#include "glcanvas.h"+#include "sound.h"+#include "managed.h"+#include "mediactrl.h"+#include "previewframe.h"+#include "printout.h"+#include "textstream.h"+#include "stc.h"++/*-----------------------------------------------------------------------------+  Extra exports+-----------------------------------------------------------------------------*/++/* wxClosure */+TClassDefExtend(wxClosure,wxObject)+TClass(wxClosure)  wxClosure_Create( TClosureFun _fun_CEvent, void* _data );+void*              wxClosure_GetData( TSelf(wxClosure) _obj );++TClass(wxClosure)  wxEvtHandler_GetClosure( TSelf(wxEvtHandler) _obj, int id, int type );++/** Get the client data in the form of a closure. Use 'closureGetData' to get to the actual data.*/+TClass(wxClosure)  wxEvtHandler_GetClientClosure( TSelf(wxEvtHandler) _obj );+/** Set the client data as a closure. The closure data contains the data while the function is called on deletion. */+void               wxEvtHandler_SetClientClosure( TSelf(wxEvtHandler) _obj, TClass(wxClosure) closure );++/** Get the reference data of an object as a closure: only works if properly initialized. Use 'closureGetData' to get to the actual data. */+TClass(wxClosure)  wxObject_GetClientClosure( TSelf(wxObject) _obj );+/** Set the reference data of an object as a closure. The closure data contains the data while the function is called on deletion. Returns 'True' on success. Only works if the reference data is unused by wxWindows! */+void               wxObject_SetClientClosure( TSelf(wxObject) _obj, TClass(wxClosure) closure );+
+/* extra class definitions for classInfo */
+TClassDefExtend(wxGauge95,wxGauge)
+TClassDefExtend(wxGaugeMSW,wxGauge)
+TClassDefExtend(wxSlider95,wxSlider)
+TClassDefExtend(wxSliderMSW,wxSlider)
+
+
+/* Object */
+void wxObject_Delete( TSelf(wxObject) obj );
++/* Frame */+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 );
+void        wxFrame_Centre( TSelf(wxFrame) self, int orientation );
++/* Create/Delete */+void   wxCursor_Delete( TSelf(wxCursor) _obj );+void  wxDateTime_Delete(TSelf(wxDateTime) _obj);++/* wxMouseEvent */+int   wxMouseEvent_GetWheelDelta( TSelf(wxMouseEvent) _obj );+int   wxMouseEvent_GetWheelRotation( TSelf(wxMouseEvent) _obj );+int   wxMouseEvent_GetButton( TSelf(wxMouseEvent) _obj );+
+TClass(wxPoint) wxcGetMousePosition( );
+
+
+/* wxDC */
+double wxDC_GetUserScaleX( TSelf(wxDC) dc );
+double wxDC_GetUserScaleY( TSelf(wxDC) dc );
++/* wxWindow */+TClass(wxPoint) wxWindow_ConvertDialogToPixelsEx( TSelf(wxWindow) _obj );
+TClass(wxPoint) wxWindow_ConvertPixelsToDialogEx( TSelf(wxWindow) _obj );
+TClass(wxPoint) wxWindow_ScreenToClient2( TSelf(wxWindow) _obj, TPoint(x,y) );
+
+/* wxString helpers */
+TClass(wxString) wxString_Create( TString buffer );
+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 */+TClass(wxMenuBar) wxMenu_GetMenuBar( TSelf(wxMenu) _obj );
+TClass(wxFrame)   wxMenuBar_GetFrame( TSelf(wxMenuBar) _obj );
+
+int wxListEvent_GetCacheFrom( TSelf(wxListEvent) _obj);
+int wxListEvent_GetCacheTo( TSelf(wxListEvent) _obj);
+
+void wxListCtrl_AssignImageList( TSelf(wxListCtrl) _obj, TClass(wxImageList) images, int which );
+void wxListCtrl_GetColumn2( TSelf(wxListCtrl) _obj, int col, TClassRef(wxListItem) item);
+void wxListCtrl_GetItem2( TSelf(wxListCtrl) _obj, TClassRef(wxListItem) info);
+TClass(wxPoint) wxListCtrl_GetItemPosition2( TSelf(wxListCtrl) _obj, int item );
+/** 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. */
+TBool wxListCtrl_SortItems2(TSelf(wxListCtrl) _obj, TClass(wxClosure) closure );
+
+/* tree ctrl */
+TClassDefExtend(wxcTreeItemData,wxTreeItemData)
+
+/** Create tree item data with a closure. The closure data contains the data while the function is called on deletion. */
+TClass(wxcTreeItemData) wxcTreeItemData_Create( TClass(wxClosure) closure );
+/** Get the client data in the form of a closure. Use 'closureGetData' to get to the actual data.*/
+TClass(wxClosure) wxcTreeItemData_GetClientClosure( TSelf(wxcTreeItemData) self );
+/** Set the tree item data with a closure. The closure data contains the data while the function is called on deletion. */
+void  wxcTreeItemData_SetClientClosure( TSelf(wxcTreeItemData) self, TClass(wxClosure) closure );
+
+TClass(wxTreeItemId) wxTreeItemId_Clone( TSelf(wxTreeItemId) _obj);
+TClass(wxTreeItemId) wxTreeItemId_CreateFromValue(int value);
+int wxTreeItemId_GetValue( TSelf(wxTreeItemId) _obj);
+
+
+TClass(wxKeyEvent) wxTreeEvent_GetKeyEvent( TSelf(wxTreeEvent) _obj);
+int    wxTreeEvent_IsEditCancelled( TSelf(wxTreeEvent) _obj);
+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, 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 );
+void   wxTreeCtrl_AssignStateImageList(TSelf(wxTreeCtrl) _obj, TClass(wxImageList) imageList );
+
+
+/* dc */
+/** Get the color of pixel. Note: this is not a portable method at the moment and its use is discouraged. */
+void wxDC_GetPixel2( TSelf(wxDC) _obj, TPoint(x,y), TClassRef(wxColour) col);
+++/* scrolledwindow */+void wxScrolledWindow_SetScrollRate( TSelf(wxScrolledWindow) _obj, int xstep, int ystep );+++/* wxObject */+TClassDef(wxObject)+TClass(wxClassInfo)  wxObject_GetClassInfo( TSelf(wxObject) _obj );+TBool       wxObject_IsKindOf( TSelf(wxObject) _obj, TClass(wxClassInfo) classInfo );+TBool       wxObject_IsScrolledWindow( TSelf(wxObject) _obj );+++/* wxClassInfo */+TClassDef(wxClassInfo)+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 );++/* wxNotebook */+void        wxNotebook_AssignImageList( TSelf(wxNotebook) _obj, TClass(wxImageList) imageList );++/* Timers */+TClassDefExtend(wxTimerEx,wxTimer)+void               wxTimerEx_Connect( TSelf(wxTimerEx) _obj, TClass(wxClosure) closure );+TClass(wxTimerEx)  wxTimerEx_Create(  );+TClass(wxClosure)  wxTimerEx_GetClosure( TSelf(wxTimerEx) _obj );++/* Menu */
+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, TClass(wxString) label, TClass(wxString) help, int itemkind, TClass(wxMenu) submenu);+
+/* Toolbar */
+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( TClass(wxString) title, TClass(wxString) message, int max, TClass(wxWindow) parent, int style );+TBool wxProgressDialog_Update(TSelf(wxProgressDialog) obj, int value );+TBool 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. */+int wxVersionNumber();+/** Check if a preprocessor macro is defined. For example, @wxIsDefined("__WXGTK__")@ or @wxIsDefined("wxUSE_GIF")@. */+TBoolInt wxIsDefined( TString s );++/* Input sink */+TClassDefExtend(wxInputSink,wxThread)++/** Create an event driven input stream. It is unsafe to reference the original inputStream after this call! The last parameter @bufferLen@ gives the default input batch size. The sink is automatically destroyed whenever the input stream has no more input. */+TClass(wxInputSink) wxInputSink_Create( TClass(wxInputStream) input, TClass(wxEvtHandler) evtHandler, int bufferLen );+/** After creation, retrieve the @id@ of the sink to connect to @wxEVT_INPUT_SINK@ events. */+int   wxInputSink_GetId( TSelf(wxInputSink) obj );+/** After event connection, start non-blocking reading of the inputstream. This will generate @inputSinkEvent@ events. */+void  wxInputSink_Start( TSelf(wxInputSink) obj );++/* Input sink events */+TClassDefExtend(wxInputSinkEvent,wxEvent)++/** Get the input status (@wxSTREAM_NO_ERROR@ is ok). */+int wxInputSinkEvent_LastError( TSelf(wxInputSinkEvent) obj );+/** The number of characters in the input buffer. */+int wxInputSinkEvent_LastRead( TSelf(wxInputSinkEvent) obj );+/** The input buffer. */+char* wxInputSinkEvent_LastInput( TSelf(wxInputSinkEvent) obj );+++/* html events */+TClassDefExtend(wxcHtmlEvent,wxCommandEvent)++TClass(wxMouseEvent) wxcHtmlEvent_GetMouseEvent( TSelf(wxcHtmlEvent) self );+TClass(wxHtmlCell)   wxcHtmlEvent_GetHtmlCell( TSelf(wxcHtmlEvent) self );
+/** Return the /id/ attribute of the associated html cell (if applicable) */
+TClass(wxString)     wxcHtmlEvent_GetHtmlCellId( TSelf(wxcHtmlEvent) self );
+/** Return the /href/ attribute of the associated html anchor (if applicable) */+TClass(wxString)     wxcHtmlEvent_GetHref( TSelf(wxcHtmlEvent) self );+TClass(wxString)     wxcHtmlEvent_GetTarget( TSelf(wxcHtmlEvent) self );+TClass(wxPoint)      wxcHtmlEvent_GetLogicalPosition( TSelf(wxcHtmlEvent) self );++/* html window */+TClassDefExtend(wxcHtmlWindow,wxHtmlWindow)+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, TClass(wxString) _txt );+TBool                wxHtmlWindow_AppendToPage( TSelf(wxHtmlWindow) _obj, TClass(wxString) source );+TClass(wxHtmlContainerCell) wxHtmlWindow_GetInternalRepresentation( TSelf(wxHtmlWindow) _obj );+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, 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, 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, TClass(wxString) path );++/* wxGridCellTextEnterEditor */
+TClassDefExtend(wxGridCellTextEnterEditor,wxGridCellTextEditor)
+TClass(wxGridCellTextEnterEditor) wxGridCellTextEnterEditor_Ctor();
+
+/* logger */+TClass(wxLogStderr)   wxLogStderr_Create();+TClass(wxLogStderr)   wxLogStderr_CreateStdOut();+TClass(wxLogNull)     wxLogNull_Create();+TClass(wxLogTextCtrl) wxLogTextCtrl_Create( TClass(wxTextCtrl) text );+TClass(wxLogWindow)   wxLogWindow_Create( TClass(wxWindow) parent, TString title, TBool showit, TBool passthrough );+TClass(wxFrame)       wxLogWindow_GetFrame( TSelf(wxLogWindow) obj );++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, TClass(wxString) str );+void       wxLog_Delete( TSelf(wxLog) _obj );+void       wxLog_DontCreateOnDemand( TSelf(wxLog) _obj );+void       wxLog_Flush( TSelf(wxLog) _obj );+void       wxLog_FlushActive( TSelf(wxLog) _obj );+TClass(wxLog)  wxLog_GetActiveTarget(  );+char*      wxLog_GetTimestamp( TSelf(wxLog) _obj );+int        wxLog_GetTraceMask( TSelf(wxLog) _obj );+int        wxLog_GetVerbose( TSelf(wxLog) _obj );+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, TClass(wxString) str );+void       wxLog_Resume( TSelf(wxLog) _obj );+TClass(wxLog)  wxLog_SetActiveTarget( TSelf(wxLog) pLogger );+void       wxLog_SetTimestamp( TSelf(wxLog) _obj, TStringVoid ts );+void       wxLog_SetTraceMask( TSelf(wxLog) _obj, int ulMask );+void       wxLog_SetVerbose( TSelf(wxLog) _obj, TBoolInt bVerbose );+void       wxLog_Suspend( TSelf(wxLog) _obj );+++/* process */+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 );+int        wxKill( int pid, int signal );++void       wxStreamBase_Delete( TSelf(wxStreamBase) obj);++/* Dialogs */+void        wxGetColourFromUser(TClass(wxWindow) parent, TClass(wxColour) colInit, TClassRef(wxColour) colour );+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( 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();+void        wxcIsBusy();++/* text ctrl */+TBool               wxTextCtrl_EmulateKeyPress( TSelf(wxTextCtrl) _obj, TClass(wxKeyEvent) keyevent);+TClass (wxTextAttr) wxTextCtrl_GetDefaultStyle( TSelf(wxTextCtrl) _obj );+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);+void                wxTextCtrl_SetMaxLength( TSelf(wxTextCtrl) _obj, long len );+TBool               wxTextCtrl_SetStyle( TSelf(wxTextCtrl) _obj, long start, long end, TClass(wxTextAttr) style );++/* text attributes */+TClass(wxTextAttr)  wxTextAttr_Create(TClass(wxColour) colText, TClass(wxColour) colBack, TClass(wxFont) font);+TClass(wxTextAttr)  wxTextAttr_CreateDefault();+void      wxTextAttr_Delete( TSelf(wxTextAttr) _obj );+void      wxTextAttr_GetBackgroundColour( TSelf(wxTextAttr) _obj, TClassRef(wxColour) colour  );+void      wxTextAttr_GetFont( TSelf(wxTextAttr) _obj, TClassRef(wxFont) font );+void      wxTextAttr_GetTextColour( TSelf(wxTextAttr) _obj, TClassRef(wxColour) colour );+TBool     wxTextAttr_HasBackgroundColour( TSelf(wxTextAttr) _obj );+TBool     wxTextAttr_HasFont( TSelf(wxTextAttr) _obj );+TBool     wxTextAttr_HasTextColour( TSelf(wxTextAttr) _obj );+TBool     wxTextAttr_IsDefault( TSelf(wxTextAttr) _obj );+void      wxTextAttr_SetTextColour(TSelf(wxTextAttr) _obj, TClass(wxColour) colour );+void      wxTextAttr_SetBackgroundColour(TSelf(wxTextAttr) _obj, TClass(wxColour) colour );+void      wxTextAttr_SetFont(TSelf(wxTextAttr) _obj, TClass(wxFont) font );+
+/* ConfigBase */
+TClassDefExtend(wxFileConfig,wxConfigBase)
+
+TClass(wxConfigBase) wxConfigBase_Get();
+void                 wxConfigBase_Set( TClass(wxConfigBase) self );
+TClass(wxFileConfig) wxFileConfig_Create( TClass(wxInputStream) inp );
+
+/* Image.cpp */
+TClass(wxBitmap) wxBitmap_CreateFromImage( TClass(wxImage) image, int depth );
+TClass(wxImage) wxImage_CreateFromDataEx( TSize(width,height), void* data, TBoolInt isStaticData);
+void wxImage_Delete( TSelf(wxImage) image );
+
+/** Create from rgb int. */
+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( 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 );
+void  wxcFree( void* p );
+
+/* wakeup idle */
+void wxcWakeUpIdle();
+
+/* 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. */
+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. */
+TClass(wxString) wxGetApplicationPath();
+
+/* ELJApp */+void  ELJApp_InitializeC( TClass(wxClosure) closure, int _argc, TChar** _argv );
+int   ELJApp_GetIdleInterval();
+void  ELJApp_SetIdleInterval( int interval );
+
++#endif /* wxc_h */
+ src/include/wxc_glue.h view
@@ -0,0 +1,5183 @@+#ifndef WXC_GLUE_H
+#define WXC_GLUE_H
+
+/* $Id: wxc_glue.h,v 1.23 2005/02/25 11:14:58 dleijen Exp $ */
+
+/* Null */
+TClass(wxAcceleratorTable) Null_AcceleratorTable(  );
+TClass(wxBitmap) Null_Bitmap(  );
+TClass(wxBrush) Null_Brush(  );
+TClass(wxColour) Null_Colour(  );
+TClass(wxCursor) Null_Cursor(  );
+TClass(wxFont) Null_Font(  );
+TClass(wxIcon) Null_Icon(  );
+TClass(wxPalette) Null_Palette(  );
+TClass(wxPen) Null_Pen(  );
+
+/* Events */
+int expEVT_COMMAND_AUITOOLBAR_TOOL_DROPDOWN();
+int expEVT_COMMAND_AUITOOLBAR_OVERFLOW_CLICK();
+int expEVT_COMMAND_AUITOOLBAR_RIGHT_CLICK();
+int expEVT_COMMAND_AUITOOLBAR_MIDDLE_CLICK();
+int expEVT_COMMAND_AUITOOLBAR_BEGIN_DRAG();
+int expEVT_COMMAND_AUINOTEBOOK_PAGE_CLOSE();
+int expEVT_COMMAND_AUINOTEBOOK_PAGE_CHANGED();
+int expEVT_COMMAND_AUINOTEBOOK_PAGE_CHANGING();
+int expEVT_COMMAND_AUINOTEBOOK_PAGE_CLOSED();
+int expEVT_COMMAND_AUINOTEBOOK_BUTTON();
+int expEVT_COMMAND_AUINOTEBOOK_BEGIN_DRAG();
+int expEVT_COMMAND_AUINOTEBOOK_END_DRAG();
+int expEVT_COMMAND_AUINOTEBOOK_DRAG_MOTION();
+int expEVT_COMMAND_AUINOTEBOOK_ALLOW_DND();
+int expEVT_COMMAND_AUINOTEBOOK_TAB_MIDDLE_DOWN();
+int expEVT_COMMAND_AUINOTEBOOK_TAB_MIDDLE_UP();
+int expEVT_COMMAND_AUINOTEBOOK_TAB_RIGHT_DOWN();
+int expEVT_COMMAND_AUINOTEBOOK_TAB_RIGHT_UP();
+int expEVT_COMMAND_AUINOTEBOOK_DRAG_DONE();
+int expEVT_COMMAND_AUINOTEBOOK_BG_DCLICK();
+int expEVT_AUI_PANE_BUTTON();
+int expEVT_AUI_PANE_CLOSE();
+int expEVT_AUI_PANE_MAXIMIZE();
+int expEVT_AUI_PANE_RESTORE();
+int expEVT_AUI_RENDER();
+int expEVT_AUI_FIND_MANAGER();
+int expEVT_CALENDAR_SEL_CHANGED();
+int expEVT_CALENDAR_PAGE_CHANGED();
+int expEVT_CALENDAR_DOUBLECLICKED();
+int expEVT_CALENDAR_WEEKDAY_CLICKED();
+int expEVT_CALENDAR_WEEK_CLICKED();
+int expEVT_CALENDAR_DAY_CHANGED();
+int expEVT_CALENDAR_MONTH_CHANGED();
+int expEVT_CALENDAR_YEAR_CHANGED();
+int expEVT_COMMAND_CHOICEBOOK_PAGE_CHANGED();
+int expEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING();
+int expEVT_CLIPBOARD_CHANGED();
+int expEVT_COMMAND_COLOURPICKER_CHANGED();
+int expEVT_COMMAND_COLLPANE_CHANGED();
+int expEVT_COMMAND_DATAVIEW_SELECTION_CHANGED();
+int expEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED();
+int expEVT_COMMAND_DATAVIEW_ITEM_COLLAPSED();
+int expEVT_COMMAND_DATAVIEW_ITEM_EXPANDED();
+int expEVT_COMMAND_DATAVIEW_ITEM_COLLAPSING();
+int expEVT_COMMAND_DATAVIEW_ITEM_EXPANDING();
+int expEVT_COMMAND_DATAVIEW_ITEM_START_EDITING();
+int expEVT_COMMAND_DATAVIEW_ITEM_EDITING_STARTED();
+int expEVT_COMMAND_DATAVIEW_ITEM_EDITING_DONE();
+int expEVT_COMMAND_DATAVIEW_ITEM_VALUE_CHANGED();
+int expEVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU();
+int expEVT_COMMAND_DATAVIEW_COLUMN_HEADER_CLICK();
+int expEVT_COMMAND_DATAVIEW_COLUMN_HEADER_RIGHT_CLICK();
+int expEVT_COMMAND_DATAVIEW_COLUMN_SORTED();
+int expEVT_COMMAND_DATAVIEW_COLUMN_REORDERED();
+int expEVT_COMMAND_DATAVIEW_CACHE_HINT();
+int expEVT_COMMAND_DATAVIEW_ITEM_BEGIN_DRAG();
+int expEVT_COMMAND_DATAVIEW_ITEM_DROP_POSSIBLE();
+int expEVT_COMMAND_DATAVIEW_ITEM_DROP();
+int expEVT_DATE_CHANGED();
+int expEVT_WINDOW_MODAL_DIALOG_CLOSED();
+//int expEVT_DIALUP_CONNECTED();
+//int expEVT_DIALUP_DISCONNECTED();
+int expEVT_COMMAND_BUTTON_CLICKED();
+int expEVT_COMMAND_CHECKBOX_CLICKED();
+int expEVT_COMMAND_CHOICE_SELECTED();
+int expEVT_COMMAND_LISTBOX_SELECTED();
+int expEVT_COMMAND_LISTBOX_DOUBLECLICKED();
+int expEVT_COMMAND_CHECKLISTBOX_TOGGLED();
+int expEVT_COMMAND_MENU_SELECTED();
+int expEVT_COMMAND_SLIDER_UPDATED();
+int expEVT_COMMAND_RADIOBOX_SELECTED();
+int expEVT_COMMAND_RADIOBUTTON_SELECTED();
+int expEVT_COMMAND_VLBOX_SELECTED();
+int expEVT_COMMAND_COMBOBOX_SELECTED();
+int expEVT_COMMAND_TOOL_RCLICKED();
+int expEVT_COMMAND_TOOL_DROPDOWN_CLICKED();
+int expEVT_COMMAND_TOOL_ENTER();
+int expEVT_COMMAND_COMBOBOX_DROPDOWN();
+int expEVT_COMMAND_COMBOBOX_CLOSEUP();
+int expEVT_COMMAND_THREAD();
+int expEVT_LEFT_DOWN();
+int expEVT_LEFT_UP();
+int expEVT_MIDDLE_DOWN();
+int expEVT_MIDDLE_UP();
+int expEVT_RIGHT_DOWN();
+int expEVT_RIGHT_UP();
+int expEVT_MOTION();
+int expEVT_ENTER_WINDOW();
+int expEVT_LEAVE_WINDOW();
+int expEVT_LEFT_DCLICK();
+int expEVT_MIDDLE_DCLICK();
+int expEVT_RIGHT_DCLICK();
+int expEVT_SET_FOCUS();
+int expEVT_KILL_FOCUS();
+int expEVT_CHILD_FOCUS();
+int expEVT_MOUSEWHEEL();
+int expEVT_AUX1_DOWN();
+int expEVT_AUX1_UP();
+int expEVT_AUX1_DCLICK();
+int expEVT_AUX2_DOWN();
+int expEVT_AUX2_UP();
+int expEVT_AUX2_DCLICK();
+int expEVT_CHAR();
+int expEVT_CHAR_HOOK();
+int expEVT_NAVIGATION_KEY();
+int expEVT_KEY_DOWN();
+int expEVT_KEY_UP();
+int expEVT_HOTKEY();
+int expEVT_SET_CURSOR();
+int expEVT_SCROLL_TOP();
+int expEVT_SCROLL_BOTTOM();
+int expEVT_SCROLL_LINEUP();
+int expEVT_SCROLL_LINEDOWN();
+int expEVT_SCROLL_PAGEUP();
+int expEVT_SCROLL_PAGEDOWN();
+int expEVT_SCROLL_THUMBTRACK();
+int expEVT_SCROLL_THUMBRELEASE();
+int expEVT_SCROLL_CHANGED();
+int expEVT_SPIN_UP();
+int expEVT_SPIN_DOWN();
+int expEVT_SPIN();
+int expEVT_SCROLLWIN_TOP();
+int expEVT_SCROLLWIN_BOTTOM();
+int expEVT_SCROLLWIN_LINEUP();
+int expEVT_SCROLLWIN_LINEDOWN();
+int expEVT_SCROLLWIN_PAGEUP();
+int expEVT_SCROLLWIN_PAGEDOWN();
+int expEVT_SCROLLWIN_THUMBTRACK();
+int expEVT_SCROLLWIN_THUMBRELEASE();
+int expEVT_SIZE();
+int expEVT_MOVE();
+int expEVT_CLOSE_WINDOW();
+int expEVT_END_SESSION();
+int expEVT_QUERY_END_SESSION();
+int expEVT_ACTIVATE_APP();
+int expEVT_ACTIVATE();
+int expEVT_CREATE();
+int expEVT_DESTROY();
+int expEVT_SHOW();
+int expEVT_ICONIZE();
+int expEVT_MAXIMIZE();
+int expEVT_MOUSE_CAPTURE_CHANGED();
+int expEVT_MOUSE_CAPTURE_LOST();
+int expEVT_PAINT();
+int expEVT_ERASE_BACKGROUND();
+int expEVT_NC_PAINT();
+int expEVT_MENU_OPEN();
+int expEVT_MENU_CLOSE();
+int expEVT_MENU_HIGHLIGHT();
+int expEVT_CONTEXT_MENU();
+int expEVT_SYS_COLOUR_CHANGED();
+int expEVT_DISPLAY_CHANGED();
+int expEVT_QUERY_NEW_PALETTE();
+int expEVT_PALETTE_CHANGED();
+int expEVT_JOY_BUTTON_DOWN();
+int expEVT_JOY_BUTTON_UP();
+int expEVT_JOY_MOVE();
+int expEVT_JOY_ZMOVE();
+int expEVT_DROP_FILES();
+int expEVT_INIT_DIALOG();
+int expEVT_IDLE();
+int expEVT_UPDATE_UI();
+int expEVT_SIZING();
+int expEVT_MOVING();
+int expEVT_MOVE_START();
+int expEVT_MOVE_END();
+int expEVT_HIBERNATE();
+int expEVT_COMMAND_TEXT_COPY();
+int expEVT_COMMAND_TEXT_CUT();
+int expEVT_COMMAND_TEXT_PASTE();
+int expEVT_COMMAND_LEFT_CLICK();
+int expEVT_COMMAND_LEFT_DCLICK();
+int expEVT_COMMAND_RIGHT_CLICK();
+int expEVT_COMMAND_RIGHT_DCLICK();
+int expEVT_COMMAND_SET_FOCUS();
+int expEVT_COMMAND_KILL_FOCUS();
+int expEVT_COMMAND_ENTER();
+int expEVT_HELP();
+int expEVT_DETAILED_HELP();
+int expEVT_COMMAND_TOOL_CLICKED();
+
+/* eljfindrepldlg.h */
+int expEVT_COMMAND_FIND();
+int expEVT_COMMAND_FIND_NEXT();
+int expEVT_COMMAND_FIND_REPLACE();
+int expEVT_COMMAND_FIND_REPLACE_ALL();
+int expEVT_COMMAND_FIND_CLOSE();
+
+int expEVT_FILECTRL_SELECTIONCHANGED();
+int expEVT_FILECTRL_FILEACTIVATED();
+int expEVT_FILECTRL_FOLDERCHANGED();
+int expEVT_FILECTRL_FILTERCHANGED();
+int expEVT_COMMAND_FILEPICKER_CHANGED();
+int expEVT_COMMAND_DIRPICKER_CHANGED();
+int expEVT_COMMAND_FONTPICKER_CHANGED();
+int expEVT_FSWATCHER();
+int expEVT_GRID_CELL_LEFT_CLICK();
+int expEVT_GRID_CELL_RIGHT_CLICK();
+int expEVT_GRID_CELL_LEFT_DCLICK();
+int expEVT_GRID_CELL_RIGHT_DCLICK();
+int expEVT_GRID_LABEL_LEFT_CLICK();
+int expEVT_GRID_LABEL_RIGHT_CLICK();
+int expEVT_GRID_LABEL_LEFT_DCLICK();
+int expEVT_GRID_LABEL_RIGHT_DCLICK();
+int expEVT_GRID_ROW_SIZE();
+int expEVT_GRID_COL_SIZE();
+int expEVT_GRID_RANGE_SELECT();
+int expEVT_GRID_CELL_CHANGING();
+int expEVT_GRID_CELL_CHANGED();
+int expEVT_GRID_SELECT_CELL();
+int expEVT_GRID_EDITOR_SHOWN();
+int expEVT_GRID_EDITOR_HIDDEN();
+int expEVT_GRID_EDITOR_CREATED();
+int expEVT_GRID_CELL_BEGIN_DRAG();
+int expEVT_GRID_COL_MOVE();
+int expEVT_GRID_COL_SORT();
+int expEVT_QUERY_LAYOUT_INFO();
+int expEVT_CALCULATE_LAYOUT();
+int expEVT_SASH_DRAGGED();
+int expEVT_COMMAND_HEADER_CLICK();
+int expEVT_COMMAND_HEADER_RIGHT_CLICK();
+int expEVT_COMMAND_HEADER_MIDDLE_CLICK();
+int expEVT_COMMAND_HEADER_DCLICK();
+int expEVT_COMMAND_HEADER_RIGHT_DCLICK();
+int expEVT_COMMAND_HEADER_MIDDLE_DCLICK();
+int expEVT_COMMAND_HEADER_SEPARATOR_DCLICK();
+int expEVT_COMMAND_HEADER_BEGIN_RESIZE();
+int expEVT_COMMAND_HEADER_RESIZING();
+int expEVT_COMMAND_HEADER_END_RESIZE();
+int expEVT_COMMAND_HEADER_BEGIN_REORDER();
+int expEVT_COMMAND_HEADER_END_REORDER();
+int expEVT_COMMAND_HEADER_DRAGGING_CANCELLED();
+int expEVT_COMMAND_HTML_CELL_CLICKED();
+int expEVT_COMMAND_HTML_CELL_HOVER();
+int expEVT_COMMAND_HTML_LINK_CLICKED();
+int expEVT_COMMAND_HYPERLINK();
+int expEVT_COMMAND_LIST_BEGIN_DRAG();
+int expEVT_COMMAND_LIST_BEGIN_RDRAG();
+int expEVT_COMMAND_LIST_BEGIN_LABEL_EDIT();
+int expEVT_COMMAND_LIST_END_LABEL_EDIT();
+int expEVT_COMMAND_LIST_DELETE_ITEM();
+int expEVT_COMMAND_LIST_DELETE_ALL_ITEMS();
+int expEVT_COMMAND_LIST_ITEM_SELECTED();
+int expEVT_COMMAND_LIST_ITEM_DESELECTED();
+int expEVT_COMMAND_LIST_KEY_DOWN();
+int expEVT_COMMAND_LIST_INSERT_ITEM();
+int expEVT_COMMAND_LIST_COL_CLICK();
+int expEVT_COMMAND_LIST_ITEM_RIGHT_CLICK();
+int expEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK();
+int expEVT_COMMAND_LIST_ITEM_ACTIVATED();
+int expEVT_COMMAND_LIST_CACHE_HINT();
+int expEVT_COMMAND_LIST_COL_RIGHT_CLICK();
+int expEVT_COMMAND_LIST_COL_BEGIN_DRAG();
+int expEVT_COMMAND_LIST_COL_DRAGGING();
+int expEVT_COMMAND_LIST_COL_END_DRAG();
+int expEVT_COMMAND_LIST_ITEM_FOCUSED();
+int expEVT_COMMAND_LISTBOOK_PAGE_CHANGED();
+int expEVT_COMMAND_LISTBOOK_PAGE_CHANGING();
+
+int expEVT_COMMAND_NOTEBOOK_PAGE_CHANGED();
+int expEVT_COMMAND_NOTEBOOK_PAGE_CHANGING();
+int expEVT_POWER_SUSPENDING();
+int expEVT_POWER_SUSPENDED();
+int expEVT_POWER_SUSPEND_CANCEL();
+int expEVT_POWER_RESUME();
+int expEVT_END_PROCESS();
+int expEVT_PG_SELECTED();
+int expEVT_PG_CHANGING();
+int expEVT_PG_CHANGED();
+int expEVT_PG_HIGHLIGHTED();
+int expEVT_PG_RIGHT_CLICK();
+int expEVT_PG_PAGE_CHANGED();
+int expEVT_PG_ITEM_COLLAPSED();
+int expEVT_PG_ITEM_EXPANDED();
+int expEVT_PG_DOUBLE_CLICK();
+int expEVT_COMMAND_RIBBONBAR_PAGE_CHANGED();
+int expEVT_COMMAND_RIBBONBAR_PAGE_CHANGING();
+int expEVT_COMMAND_RIBBONBAR_TAB_MIDDLE_DOWN();
+int expEVT_COMMAND_RIBBONBAR_TAB_MIDDLE_UP();
+int expEVT_COMMAND_RIBBONBAR_TAB_RIGHT_DOWN();
+int expEVT_COMMAND_RIBBONBAR_TAB_RIGHT_UP();
+int expEVT_COMMAND_RIBBONBUTTON_CLICKED();
+int expEVT_COMMAND_RIBBONBUTTON_DROPDOWN_CLICKED();
+int expEVT_COMMAND_RIBBONGALLERY_HOVER_CHANGED();
+int expEVT_COMMAND_RIBBONGALLERY_SELECTED();
+int expEVT_COMMAND_RIBBONTOOL_CLICKED();
+int expEVT_COMMAND_RIBBONTOOL_DROPDOWN_CLICKED();
+int expEVT_COMMAND_RICHTEXT_LEFT_CLICK();
+int expEVT_COMMAND_RICHTEXT_RIGHT_CLICK();
+int expEVT_COMMAND_RICHTEXT_MIDDLE_CLICK();
+int expEVT_COMMAND_RICHTEXT_LEFT_DCLICK();
+int expEVT_COMMAND_RICHTEXT_RETURN();
+int expEVT_COMMAND_RICHTEXT_CHARACTER();
+int expEVT_COMMAND_RICHTEXT_DELETE();
+int expEVT_COMMAND_RICHTEXT_STYLESHEET_CHANGING();
+int expEVT_COMMAND_RICHTEXT_STYLESHEET_CHANGED();
+int expEVT_COMMAND_RICHTEXT_STYLESHEET_REPLACING();
+int expEVT_COMMAND_RICHTEXT_STYLESHEET_REPLACED();
+int expEVT_COMMAND_RICHTEXT_CONTENT_INSERTED();
+int expEVT_COMMAND_RICHTEXT_CONTENT_DELETED();
+int expEVT_COMMAND_RICHTEXT_STYLE_CHANGED();
+int expEVT_COMMAND_RICHTEXT_SELECTION_CHANGED();
+int expEVT_COMMAND_RICHTEXT_BUFFER_RESET();
+int expEVT_SOCKET();
+int expEVT_COMMAND_SPINCTRL_UPDATED();
+int expEVT_COMMAND_SPINCTRLDOUBLE_UPDATED();
+int expEVT_COMMAND_SPLITTER_SASH_POS_CHANGED();
+int expEVT_COMMAND_SPLITTER_SASH_POS_CHANGING();
+int expEVT_COMMAND_SPLITTER_DOUBLECLICKED();
+int expEVT_COMMAND_SPLITTER_UNSPLIT();
+int expEVT_COMMAND_SEARCHCTRL_CANCEL_BTN();
+int expEVT_COMMAND_SEARCHCTRL_SEARCH_BTN();
+
+/* taskbaricon.cpp */
+int expEVT_TASKBAR_MOVE();
+int expEVT_TASKBAR_LEFT_DOWN();
+int expEVT_TASKBAR_LEFT_UP();
+int expEVT_TASKBAR_RIGHT_DOWN();
+int expEVT_TASKBAR_RIGHT_UP();
+int expEVT_TASKBAR_LEFT_DCLICK();
+int expEVT_TASKBAR_RIGHT_DCLICK();
+int expEVT_TASKBAR_BALLOON_TIMEOUT();
+int expEVT_TASKBAR_BALLOON_CLICK();
+
+int expEVT_COMMAND_TEXT_UPDATED();
+int expEVT_COMMAND_TEXT_ENTER();
+int expEVT_COMMAND_TEXT_URL();
+int expEVT_COMMAND_TEXT_MAXLEN();
+int expEVT_COMMAND_TOGGLEBUTTON_CLICKED();
+int expEVT_TIMER();
+int expEVT_COMMAND_TOOLBOOK_PAGE_CHANGED();
+int expEVT_COMMAND_TOOLBOOK_PAGE_CHANGING();
+int expEVT_COMMAND_TREE_BEGIN_DRAG();
+int expEVT_COMMAND_TREE_BEGIN_RDRAG();
+int expEVT_COMMAND_TREE_BEGIN_LABEL_EDIT();
+int expEVT_COMMAND_TREE_END_LABEL_EDIT();
+int expEVT_COMMAND_TREE_DELETE_ITEM();
+int expEVT_COMMAND_TREE_GET_INFO();
+int expEVT_COMMAND_TREE_SET_INFO();
+int expEVT_COMMAND_TREE_ITEM_EXPANDED();
+int expEVT_COMMAND_TREE_ITEM_EXPANDING();
+int expEVT_COMMAND_TREE_ITEM_COLLAPSED();
+int expEVT_COMMAND_TREE_ITEM_COLLAPSING();
+int expEVT_COMMAND_TREE_SEL_CHANGED();
+int expEVT_COMMAND_TREE_SEL_CHANGING();
+int expEVT_COMMAND_TREE_KEY_DOWN();
+int expEVT_COMMAND_TREE_ITEM_ACTIVATED();
+int expEVT_COMMAND_TREE_ITEM_RIGHT_CLICK();
+int expEVT_COMMAND_TREE_ITEM_MIDDLE_CLICK();
+int expEVT_COMMAND_TREE_END_DRAG();
+int expEVT_COMMAND_TREE_STATE_IMAGE_CLICK();
+int expEVT_COMMAND_TREE_ITEM_GETTOOLTIP();
+int expEVT_COMMAND_TREE_ITEM_MENU();
+int expEVT_COMMAND_TREEBOOK_PAGE_CHANGED();
+int expEVT_COMMAND_TREEBOOK_PAGE_CHANGING();
+int expEVT_COMMAND_TREEBOOK_NODE_COLLAPSED();
+int expEVT_COMMAND_TREEBOOK_NODE_EXPANDED();
+int expEVT_WIZARD_PAGE_CHANGED();
+int expEVT_WIZARD_PAGE_CHANGING();
+int expEVT_WIZARD_CANCEL();
+int expEVT_WIZARD_HELP();
+int expEVT_WIZARD_FINISHED();
+int expEVT_WIZARD_PAGE_SHOWN();
+int expEVT_DELETE();
+int expEVT_HTML_CELL_CLICKED();
+int expEVT_HTML_CELL_MOUSE_HOVER();
+int expEVT_HTML_LINK_CLICKED();
+int expEVT_HTML_SET_TITLE();
+int expEVT_INPUT_SINK();
+int expEVT_SORT();
+
+/* Keys */
+int        expK_BACK(  );
+int        expK_TAB(  );
+int        expK_RETURN(  );
+int        expK_ESCAPE(  );
+int        expK_SPACE(  );
+int        expK_DELETE(  );
+int        expK_START(  );
+int        expK_LBUTTON(  );
+int        expK_RBUTTON(  );
+int        expK_CANCEL(  );
+int        expK_MBUTTON(  );
+int        expK_CLEAR(  );
+int        expK_SHIFT(  );
+int        expK_ALT(  );
+int        expK_CONTROL(  );
+int        expK_MENU(  );
+int        expK_PAUSE(  );
+int        expK_CAPITAL(  );
+int        expK_END(  );
+int        expK_HOME(  );
+int        expK_LEFT(  );
+int        expK_UP(  );
+int        expK_RIGHT(  );
+int        expK_DOWN(  );
+int        expK_SELECT(  );
+int        expK_PRINT(  );
+int        expK_EXECUTE(  );
+int        expK_SNAPSHOT(  );
+int        expK_INSERT(  );
+int        expK_HELP(  );
+int        expK_NUMPAD0(  );
+int        expK_NUMPAD1(  );
+int        expK_NUMPAD2(  );
+int        expK_NUMPAD3(  );
+int        expK_NUMPAD4(  );
+int        expK_NUMPAD5(  );
+int        expK_NUMPAD6(  );
+int        expK_NUMPAD7(  );
+int        expK_NUMPAD8(  );
+int        expK_NUMPAD9(  );
+int        expK_MULTIPLY(  );
+int        expK_ADD(  );
+int        expK_SEPARATOR(  );
+int        expK_SUBTRACT(  );
+int        expK_DECIMAL(  );
+int        expK_DIVIDE(  );
+int        expK_F1(  );
+int        expK_F2(  );
+int        expK_F3(  );
+int        expK_F4(  );
+int        expK_F5(  );
+int        expK_F6(  );
+int        expK_F7(  );
+int        expK_F8(  );
+int        expK_F9(  );
+int        expK_F10(  );
+int        expK_F11(  );
+int        expK_F12(  );
+int        expK_F13(  );
+int        expK_F14(  );
+int        expK_F15(  );
+int        expK_F16(  );
+int        expK_F17(  );
+int        expK_F18(  );
+int        expK_F19(  );
+int        expK_F20(  );
+int        expK_F21(  );
+int        expK_F22(  );
+int        expK_F23(  );
+int        expK_F24(  );
+int        expK_NUMLOCK(  );
+int        expK_SCROLL(  );
+int        expK_PAGEUP(  );
+int        expK_PAGEDOWN(  );
+int        expK_NUMPAD_SPACE(  );
+int        expK_NUMPAD_TAB(  );
+int        expK_NUMPAD_ENTER(  );
+int        expK_NUMPAD_F1(  );
+int        expK_NUMPAD_F2(  );
+int        expK_NUMPAD_F3(  );
+int        expK_NUMPAD_F4(  );
+int        expK_NUMPAD_HOME(  );
+int        expK_NUMPAD_LEFT(  );
+int        expK_NUMPAD_UP(  );
+int        expK_NUMPAD_RIGHT(  );
+int        expK_NUMPAD_DOWN(  );
+int        expK_NUMPAD_PAGEUP(  );
+int        expK_NUMPAD_PAGEDOWN(  );
+int        expK_NUMPAD_END(  );
+int        expK_NUMPAD_BEGIN(  );
+int        expK_NUMPAD_INSERT(  );
+int        expK_NUMPAD_DELETE(  );
+int        expK_NUMPAD_EQUAL(  );
+int        expK_NUMPAD_MULTIPLY(  );
+int        expK_NUMPAD_ADD(  );
+int        expK_NUMPAD_SEPARATOR(  );
+int        expK_NUMPAD_SUBTRACT(  );
+int        expK_NUMPAD_DECIMAL(  );
+int        expK_NUMPAD_DIVIDE(  );
+
+
+/* Misc. */
+int        ELJSysErrorCode(  );
+void*      ELJSysErrorMsg( int nErrCode );
+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(  );
+TClass(wxSize) ELJApp_DisplaySize(  );
+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(  );
+TClass(wxPoint) ELJApp_MousePosition( );
+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 );
+
+/* 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)
+TClass(wxSize) wxBoxSizer_CalcMin( TSelf(wxBoxSizer) _obj );
+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 );
+TClass(wxRect) wxCalculateLayoutEvent_GetRect( TSelf(wxCalculateLayoutEvent) _obj );
+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_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(  );
+TClass(wxPoint) wxCaret_GetPosition( TSelf(wxCaret) _obj );
+TClass(wxSize) wxCaret_GetSize( TSelf(wxCaret) _obj );
+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 );
+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)
+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);
+TClass(wxRect) wxDC_DrawLabelBitmap( TSelf(wxDC) _obj, TClass(wxString) str, TClass(wxBitmap) bmp, TRect(x,y,w,h), int align, int indexAccel );
+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_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, TSizeOutDouble(_x,_y) );
+int        wxDC_GetMapMode( TSelf(wxDC) _obj );
+TClass(wxSize) wxDC_GetPPI( TSelf(wxDC) _obj );
+void       wxDC_GetPen( TSelf(wxDC) _obj, TClassRef(wxPen) _ref );
+TBool      wxDC_GetPixel( TSelf(wxDC) _obj, TPoint(x,y), TClass(wxColour) col );
+TClass(wxSize) wxDC_GetSize( TSelf(wxDC) _obj );
+TClass(wxSize) wxDC_GetSizeMM( TSelf(wxDC) _obj );
+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, TSizeOutDouble(x, 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 );
+TBool      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 );
+TClass(wxSize) wxFlexGridSizer_CalcMin( TSelf(wxFlexGridSizer) _obj );
+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 );
+TClass(wxRect) wxGrid_BlockToDeviceRect( TSelf(wxGrid) _obj, int top, int left, int bottom, int right );
+TBool      wxGrid_CanDragColSize( TSelf(wxGrid) _obj );
+TBool      wxGrid_CanDragGridSize( TSelf(wxGrid) _obj );
+TBool      wxGrid_CanDragRowSize( TSelf(wxGrid) _obj );
+TBool      wxGrid_CanEnableCellControl( TSelf(wxGrid) _obj );
+TClass(wxRect) wxGrid_CellToRect( TSelf(wxGrid) _obj, int row, int col );
+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_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_DrawGridSpace( 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 );
+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_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(wxString) oldStr, TClass(wxString) newStr );
+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);
+TClass(wxPoint) wxGridEvent_GetPosition (TSelf(wxGridEvent) _obj);
+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);
+TClass(wxPoint) wxGridSizeEvent_GetPosition (TSelf(wxGridSizeEvent) _obj);
+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)
+TClass(wxSize) wxGridSizer_CalcMin( TSelf(wxGridSizer) _obj );
+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 );
+TClass(wxPoint) wxHelpEvent_GetPosition( TSelf(wxHelpEvent) _obj );
+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 );
+TClass(wxPoint) wxJoystick_GetPosition( TSelf(wxJoystick) _obj );
+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 );
+TClass(wxPoint) wxJoystickEvent_GetPosition( TSelf(wxJoystickEvent) _obj );
+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, TPoint(x,y) );
+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 );
+TClass(wxPoint) wxKeyEvent_GetPosition( TSelf(wxKeyEvent) _obj );
+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 );
+TClass(wxPoint) wxListCtrl_GetItemPosition( TSelf(wxListCtrl) _obj, int item );
+TClass(wxRect) wxListCtrl_GetItemRect( TSelf(wxListCtrl) _obj, int item, int code );
+TClass(wxSize) wxListCtrl_GetItemSpacing( TSelf(wxListCtrl) _obj, TBool isSmall );
+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 );
+*/
+TClass(wxPoint) wxListEvent_GetPoint( TSelf(wxListEvent) _obj );
+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 );
+
+/* 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 );
+TClass(wxPoint) wxMouseEvent_GetLogicalPosition( TSelf(wxMouseEvent) _obj, TClass(wxDC) dc );
+TClass(wxPoint) wxMouseEvent_GetPosition( TSelf(wxMouseEvent) _obj );
+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 );
+TClass(wxPoint) wxMoveEvent_GetPosition( TSelf(wxMoveEvent) _obj );
+
+/* 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 );
+TClass(wxPoint) wxPageSetupDialogData_GetMarginBottomRight( TSelf(wxPageSetupDialogData) _obj );
+TClass(wxPoint) wxPageSetupDialogData_GetMarginTopLeft( TSelf(wxPageSetupDialogData) _obj );
+TClass(wxPoint) wxPageSetupDialogData_GetMinMarginBottomRight( TSelf(wxPageSetupDialogData) _obj );
+TClass(wxPoint) wxPageSetupDialogData_GetMinMarginTopLeft( TSelf(wxPageSetupDialogData) _obj );
+int        wxPageSetupDialogData_GetPaperId( TSelf(wxPageSetupDialogData) _obj );
+TClass(wxSize) wxPageSetupDialogData_GetPaperSize( TSelf(wxPageSetupDialogData) _obj );
+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 );
+TClass(wxSize) wxPrintData_GetPaperSize( TSelf(wxPrintData) _obj );
+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 );
+TClass(wxRect) wxPrinterDC_GetPaperRect( TSelf(wxPrinterDC) self );
+
+/* 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 );
+TClass(wxSize) wxQueryLayoutInfoEvent_GetSize( TSelf(wxQueryLayoutInfoEvent) _obj );
+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 );
+TClass(wxRect) wxSashEvent_GetDragRect( TSelf(wxSashEvent) _obj );
+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_IsShown( 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 );
+TClass(wxSize) wxSizeEvent_GetSize( TSelf(wxSizeEvent) _obj );
+
+/* 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 );
+TClass(wxSize) wxSizer_CalcMin( TSelf(wxSizer) _obj );
+void       wxSizer_Fit( TSelf(wxSizer) _obj, TClass(wxWindow) window );
+int        wxSizer_GetChildren( TSelf(wxSizer) _obj, void* _res, int _cnt );
+TClass(wxSize) wxSizer_GetMinSize( TSelf(wxSizer) _obj );

+TClass(wxPoint) wxSizer_GetPosition( TSelf(wxSizer) _obj );

+TClass(wxSize) wxSizer_GetSize( TSelf(wxSizer) _obj );
+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)
+TClass(wxSize) wxSizerItem_CalcMin( TSelf(wxSizerItem) _obj );
+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 );
+TClass(wxSize) wxSizerItem_GetMinSize( TSelf(wxSizerItem) _obj );
+TClass(wxPoint) wxSizerItem_GetPosition( TSelf(wxSizerItem) _obj );
+float      wxSizerItem_GetRatio( TSelf(wxSizerItem) _obj );
+TClass(wxSize) wxSizerItem_GetSize( TSelf(wxSizerItem) _obj );
+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 );
+TClass(wxRect) wxSizerItem_GetRect( TSelf(wxSizerItem) _obj );
+TClass(wxSize) wxSizerItem_GetSpacer( TSelf(wxSizerItem) _obj );
+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)
+TClass(wxSize) wxStaticBoxSizer_CalcMin( TSelf(wxStaticBoxSizer) _obj );
+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 );
+TClass(wxPoint) wxToolBar_GetMargins( TSelf(wxToolBar) _obj );
+TClass(wxSize) wxToolBar_GetToolBitmapSize( TSelf(wxToolBar) _obj );
+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 );
+TClass(wxSize)  wxToolBar_GetToolSize( TSelf(wxToolBar) _obj );
+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 );
+TClass(wxRect) wxTreeCtrl_GetBoundingRect( TSelf(wxTreeCtrl) _obj, TClass(wxTreeItemId) item, TBool textOnly );
+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 );
+TClass(wxPoint) wxTreeEvent_GetPoint( TSelf(wxTreeEvent) _obj );
+
+/* 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 );
+TClass(wxPoint) wxWindow_ClientToScreen( TSelf(wxWindow) _obj, TPoint(x,y) );
+TBool      wxWindow_Close( TSelf(wxWindow) _obj, TBool _force );
+TClass(wxPoint) wxWindow_ConvertDialogToPixels( TSelf(wxWindow) _obj );
+TClass(wxPoint) wxWindow_ConvertPixelsToDialog( TSelf(wxWindow) _obj );
+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 );
+TClass(wxSize) wxWindow_GetEffectiveMinSize( TSelf(wxWindow) _obj );
+int        wxWindow_GetAutoLayout( TSelf(wxWindow) _obj );
+void       wxWindow_GetBackgroundColour( TSelf(wxWindow) _obj, TClassRef(wxColour) _ref );
+TClass(wxSize) wxWindow_GetBestSize( TSelf(wxWindow) _obj );
+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 );
+TClass(wxSize) wxWindow_GetClientSize( TSelf(wxWindow) _obj );
+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 );
+TClass(wxPoint) wxWindow_GetPosition( TSelf(wxWindow) _obj );
+void       wxWindow_GetPositionConstraint( TSelf(wxWindow) _obj, TPointOut(_x,_y) );
+TClass(wxRect)  wxWindow_GetRect( TSelf(wxWindow) _obj );
+int        wxWindow_GetScrollPos( TSelf(wxWindow) _obj, int orient );
+int        wxWindow_GetScrollRange( TSelf(wxWindow) _obj, int orient );
+int        wxWindow_GetScrollThumb( TSelf(wxWindow) _obj, int orient );
+TClass(wxSize) wxWindow_GetSize( TSelf(wxWindow) _obj );
+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 );
+TClass(wxSize) wxWindow_GetVirtualSize( TSelf(wxWindow) _obj );
+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 );
+TClass(wxPoint) wxWindow_ScreenToClient( TSelf(wxWindow) _obj, TPoint(x,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 );
+TClass(wxSize) wxWizard_GetPageSize( TSelf(wxWizard) _obj );
+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 */
+TClassDefExtend(wxXmlResourceHandler,wxObject)
+
+/* wxZipInputStream */
+TClassDefExtend(wxZipInputStream,wxInputStream)
+
+/* wxZlibInputStream */
+TClassDefExtend(wxZlibInputStream,wxFilterInputStream)
+
+/* wxZlibOutputStream */
+TClassDefExtend(wxZlibOutputStream,wxFilterOutputStream)
+
+/* wxPropertyGrid */
+TClassDefExtend(wxPropertyGrid,wxControl)
+TClass(wxPGProperty)    wxPropertyGrid_Append( TSelf(wxPropertyGrid) _obj, TClass(wxPGProperty) prop );
+TClass(wxPropertyGrid)  wxPropertyGrid_Create( TClass(wxWindow) _prt, int _id, TRect(_lft,_top,_wdt,_hgt), int _stl );
+TBool                   wxPropertyGrid_DisableProperty( TSelf(wxPropertyGrid) _obj, TClass(wxString) propName );
+
+/* wxPropertyGridEvent */
+TClassDefExtend(wxPropertyGridEvent,wxNotifyEvent)
+TBool                   wxPropertyGridEvent_HasProperty( TSelf(wxPropertyGridEvent) _obj );
+TClass(wxPGProperty)    wxPropertyGridEvent_GetProperty( TSelf(wxPropertyGridEvent) _obj );
+
+/* wxPGProperty */
+TClassDefExtend(wxPGProperty,wxObject)
+TClass(wxString) wxPGProperty_GetLabel( TSelf(wxPGProperty) _obj );
+TClass(wxString) wxPGProperty_GetName( TSelf(wxPGProperty) _obj );
+TClass(wxString) wxPGProperty_GetValueAsString( TSelf(wxPGProperty) _obj );
+TClass(wxString) wxPGProperty_GetValueType( TSelf(wxPGProperty) _obj );
+void wxPGProperty_SetHelpString( TSelf(wxPGProperty) _obj, TClass(wxString) helpString );
+
+/* wxStringProperty */
+TClassDefExtend(wxStringProperty,wxPGProperty)
+TClass(wxStringProperty) wxStringProperty_Create( TClass(wxString) label, TClass(wxString) name, TClass(wxString) value );
+
+/* wxIntProperty */
+TClassDefExtend(wxIntProperty,wxPGProperty)
+TClass(wxIntProperty) wxIntProperty_Create( TClass(wxString) label, TClass(wxString) name, int value );
+
+/* wxBoolProperty */
+TClassDefExtend(wxBoolProperty,wxPGProperty)
+TClass(wxBoolProperty) wxBoolProperty_Create( TClass(wxString) label, TClass(wxString) name, TBool value );
+
+/* wxFloatProperty */
+TClassDefExtend(wxFloatProperty,wxPGProperty)
+TClass(wxFloatProperty) wxFloatProperty_Create( TClass(wxString) label, TClass(wxString) name, float value );
+
+/* wxDateProperty */
+TClassDefExtend(wxDateProperty,wxPGProperty)
+TClass(wxDateProperty) wxDateProperty_Create( TClass(wxString) label, TClass(wxString) name, TClass(wxDateTime) value );
+
+/* wxFileProperty */
+TClassDefExtend(wxFileProperty,wxPGProperty)
+TClass(wxFileProperty) wxFileProperty_Create( TClass(wxString) label, TClass(wxString) name, TClass(wxString) value);
+
+/* wxPropertyCategory */
+TClassDefExtend(wxPropertyCategory,wxPGProperty)
+TClass(wxPropertyCategory) wxPropertyCategory_Create( TClass(wxString) label);
+
+#endif /* WXC_GLUE_H */
+
+ src/include/wxc_types.h view
@@ -0,0 +1,176 @@+#ifndef WXC_TYPES_H
+#define WXC_TYPES_H
+
+/* Types: we use standard pre-processor definitions to add more
+   type information to the C signatures. These 'types' can be
+   either read by other tools to automatically generate a marshalling
+   layer for foreign languages, or you can define the macros in such
+   a way that they contain more type information while compiling the
+   library itself. 
+   
+   All macros start with "T" to avoid clashes with other libraries. 
+*/
+#undef TClassDef
+#undef TClassDefExtend
+#undef TChar
+#undef TUInt8
+#undef TInt64
+#undef TBool
+#undef TBoolInt
+#undef TClass
+#undef TSelf
+#undef TClassRef      
+#undef TClosureFun
+#undef TString
+#undef TStringVoid
+#undef TStringOut
+#undef TStringOutVoid
+#undef TStringLen
+#undef TPoint
+#undef TPointLong
+#undef TPointOut
+#undef TPointOutVoid
+#undef TSize
+#undef TSizeOut
+#undef TSizeOutVoid
+#undef TVector
+#undef TVectorOut
+#undef TVectorOutVoid
+#undef TRect
+#undef TRectOut
+#undef TRectOutVoid
+#undef TArrayString
+#undef TArrayInt
+#undef TArrayObject
+#undef TArrayLen
+#undef TArrayIntOut
+#undef TArrayIntOutVoid
+#undef TArrayStringOut
+#undef TArrayStringOutVoid
+#undef TArrayObjectOut
+#undef TArrayObjectOutVoid
+#undef TColorRGB
+
+/* Class definitions */
+#define TClassDef(tp)     
+#define TClassDefExtend(tp,parent)
+
+/* Types that can be 'untyped' or C++ typed */
+#ifdef WXC_USE_TYPED_INTERFACE
+# define TClass(tp)     tp*
+# define TBool          bool
+# define TClosureFun    ClosureFun
+#else
+# define TClass(tp)     void*
+# define TBool          int
+# define TClosureFun    void*
+#endif
+
+/* basic types */
+#ifdef wxUSE_UNICODE
+#define TChar             wchar_t
+#else
+#define TChar             char
+#endif
+
+/* 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
+
+/* classes. 
+   "Ref" is used for classes assigned by reference.
+   "Self" is used for the 'this' or 'self' pointer.
+*/
+#define TSelf(tp)         TClass(tp)
+#define TClassRef(tp)     TClass(tp)
+
+/* strings */
+#define TString           TChar*
+#define TStringOut        TChar*
+#define TStringLen        int
+
+#define TByteData            char*
+#define TByteString(d,n)     TByteData* d, int n
+#define TByteStringLazy(d,n) TByteData* d, int n
+#define TByteStringOut       TByteData
+#define TByteStringLazyOut   TByteData
+#define TByteStringLen       int
+
+/* structures */
+#define TPoint(x,y)       int x,  int y
+#define TPointOut(x,y)    int* x, int* y
+#define TVector(x,y)      int x,  int y
+#define TVectorOut(x,y)   int* x, int* y
+#define TSize(w,h)        int w,  int h
+#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)  TUInt8 r, TUInt8 g, TUInt8 b
+
+/* arrays */
+#define TArrayLen               int
+#define TArrayIntOut            intptr_t*
+#define TArrayStringOut         TString*
+#define TArrayObjectOut(tp)     TClass(tp)*
+
+#define TArrayString(n,p)       int n, TString* p
+#define TArrayInt(n,p)          int n, int* p
+#define TArrayObject(n,tp,p)    int n, TClass(tp)* p
+
+/* Define "Void" variants for void* declared signatures.
+   we only use this for compatibility with the original ewxw_glue.h */
+#ifdef WXC_USE_TYPED_INTERFACE
+# define TStringVoid             TString
+# define TStringOutVoid          TStringOut
+# define TPointOutVoid(x,y)      TPointOut(x,y)
+# define TVectorOutVoid(x,y)     TVectorOut(x,y)
+# define TSizeOutVoid(w,h)       TSizeOut(w,h)
+# define TRectOutVoid(x,y,w,h)   TRectOut(x,y,w,h)
+# define TArrayIntOutVoid        TArrayIntOut
+# define TArrayStringOutVoid     TArrayStringOut
+# define TArrayObjectOutVoid(tp) TArrayObjectOut(tp)
+#else
+# define TStringVoid           void*
+# define TStringOutVoid        void*
+# define TPointOutVoid(x,y)    void* x, void* y
+# define TVectorOutVoid(x,y)   void* x, void* y
+# define TSizeOutVoid(w,h)     void* w, void* h
+# define TRectOutVoid(x,y,w,h) void* x, void* y, void* w, void* h
+# define TArrayIntOutVoid        void*
+# define TArrayStringOutVoid     void*
+# define TArrayObjectOutVoid(tp) void*
+#endif
+
+/* Define "Long" variants for long declared signatures.
+   we only use this for compatibility with the original ewxw_glue.h */
+#define TPointLong(x,y)       long x,  long y
+#define TPointOutLong(x,y)    long* x, long* y
+#define TVectorLong(x,y)      long x,  long y
+#define TVectorOutLong(x,y)   long* x, long* y
+#define TSizeLong(w,h)        long w,  long h
+#define TSizeOutLong(w,h)     long* w, long* h
+#define TRectLong(x,y,w,h)    long x,  long y,  long w,  long h
+#define TRectOutLong(x,y,w,h) long* x, long* y, long* w, long* h
+
+/* Define "Double" variants for long declared signatures. */
+#define TPointDouble(x,y)       double x,  double y
+#define TPointOutDouble(x,y)    double* x, double* y
+#define TVectorDouble(w,h)      double x,  double y
+#define TVectorOutDouble(w,h)   double* x, double* y
+#define TRectDouble(x,y,w,h)    double x,  double y,  double w,  double h
+#define TRectOutDouble(x,y,w,h) double* x, double* y, double* w, double* h
+#define TSizeDouble(w,h)        double x,  double y
+#define TSizeOutDouble(w,h)     double* x, double* y
+
+#endif /* WXC_TYPES_H */
+ wxc.cabal view
@@ -0,0 +1,275 @@+name:         wxc+version:      0.90+license:      OtherLicense+license-file: LICENSE+maintainer:   wxhaskell-devel@lists.sourceforge.net+category:     GUI, User interfaces+synopsis:     wxHaskell C++ wrapper+description:+  wxHaskell is a portable and native GUI library for Haskell. It is+  built on top of wxWidgets, a comprehensive C++ library that is+  portable across all major GUI platforms, including GTK, Windows,+  X11, and MacOS X. This version works with wxWidgets 2.9 only.++  Distributed under the WXWINDOWS LIBRARY LICENSE. Please see+  LICENSE file, but note that this is essentially LGPL with an+  exception allowing binary distribution of proprietary software.+  This is the same license as wxWidgets itself uses.++homepage:     http://haskell.org/haskellwiki/WxHaskell++cabal-version: >= 1.2+build-type:    Custom++extra-source-files:+    src/cpp/apppath.cpp+    src/cpp/dragimage.cpp+    src/cpp/eljaccelerator.cpp+    src/cpp/eljartprov.cpp+    src/cpp/eljbitmap.cpp+    src/cpp/eljbrush.cpp+    src/cpp/eljbusyinfo.cpp+    src/cpp/eljbutton.cpp+    src/cpp/eljcalendarctrl.cpp+    src/cpp/eljcaret.cpp+    src/cpp/eljcheckbox.cpp+    src/cpp/eljchecklistbox.cpp+    src/cpp/eljchoice.cpp+    src/cpp/eljclipboard.cpp+    src/cpp/eljcoldata.cpp+    src/cpp/eljcolour.cpp+    src/cpp/eljcolourdlg.cpp+    src/cpp/eljcombobox.cpp+    src/cpp/eljconfigbase.cpp+    src/cpp/eljcontrol.cpp+    src/cpp/eljctxhelp.cpp+    src/cpp/eljcursor.cpp+    src/cpp/eljdataformat.cpp+    src/cpp/eljdatetime.cpp+    src/cpp/eljdc.cpp+    src/cpp/eljdcsvg.cpp+    src/cpp/eljdialog.cpp+    src/cpp/eljdirdlg.cpp+    src/cpp/eljdnd.cpp+    src/cpp/eljdrawing.cpp+    src/cpp/eljevent.cpp+    src/cpp/eljfiledialog.cpp+    src/cpp/eljfilehist.cpp+    src/cpp/eljfindrepldlg.cpp+    src/cpp/eljfont.cpp+    src/cpp/eljfontdata.cpp+    src/cpp/eljfontdlg.cpp+    src/cpp/eljframe.cpp+    src/cpp/eljgauge.cpp+    src/cpp/eljgrid.cpp+    src/cpp/eljhelpcontroller.cpp+    src/cpp/eljicnbndl.cpp+    src/cpp/eljicon.cpp+    src/cpp/eljimage.cpp+    src/cpp/eljimagelist.cpp+    src/cpp/eljlayoutconstraints.cpp+    src/cpp/eljlistbox.cpp+    src/cpp/eljlistctrl.cpp+    src/cpp/eljlocale.cpp+    src/cpp/eljlog.cpp+    src/cpp/eljmask.cpp+    src/cpp/eljmdi.cpp+    src/cpp/eljmenu.cpp+    src/cpp/eljmenubar.cpp+    src/cpp/eljmessagedialog.cpp+    src/cpp/eljmime.cpp+    src/cpp/eljminiframe.cpp+    src/cpp/eljnotebook.cpp+    src/cpp/eljpalette.cpp+    src/cpp/eljpanel.cpp+    src/cpp/eljpen.cpp+    src/cpp/eljprintdlg.cpp+    src/cpp/eljprinting.cpp+    src/cpp/eljprocess.cpp+    src/cpp/eljradiobox.cpp+    src/cpp/eljradiobutton.cpp+    src/cpp/eljrc.cpp+    src/cpp/eljregion.cpp+    src/cpp/eljregioniter.cpp+    src/cpp/eljsash.cpp+    src/cpp/eljscrollbar.cpp+    src/cpp/eljscrolledwindow.cpp+    src/cpp/eljsingleinst.cpp+    src/cpp/eljsizer.cpp+    src/cpp/eljslider.cpp+    src/cpp/eljspinctrl.cpp+    src/cpp/eljsplitterwindow.cpp+    src/cpp/eljstaticbox.cpp+    src/cpp/eljstaticline.cpp+    src/cpp/eljstatictext.cpp+    src/cpp/eljstatusbar.cpp+    src/cpp/eljsystemsettings.cpp+    src/cpp/eljtextctrl.cpp+    src/cpp/eljtimer.cpp+    src/cpp/eljtipwnd.cpp+    src/cpp/eljtoolbar.cpp+    src/cpp/eljvalidator.cpp+    src/cpp/eljwindow.cpp+    src/cpp/eljwizard.cpp+    src/cpp/ewxw_main.cpp+    src/cpp/extra.cpp+    src/cpp/glcanvas.cpp+    src/cpp/graphicscontext.cpp+    src/cpp/image.cpp+    src/cpp/managed.cpp+    src/cpp/mediactrl.cpp+    src/cpp/previewframe.cpp+    src/cpp/printout.cpp+    src/cpp/sckaddr.cpp+    src/cpp/socket.cpp+    src/cpp/sound.cpp+    src/cpp/stc.cpp+    src/cpp/stc_gen.cpp+    src/cpp/std.cpp+    src/cpp/taskbaricon.cpp+    src/cpp/textstream.cpp+    src/cpp/treectrl.cpp+    src/cpp/wrapper.cpp+++library++  include-dirs:+    src/include+  +  install-includes:+    dragimage.h+    eljgrid.h+    ewxw_def.h+    graphicscontext.h+    glcanvas.h+    managed.h+    mediactrl.h+    previewframe.h+    printout.h+    sound.h+    stc.h+    stc_gen.h+    textstream.h+    wrapper.h+    wxc.h+    wxc_glue.h+    wxc_types.h++  build-depends:+    base >= 4 && < 5,+    wxdirect >= 0.90++  x-dll-sources:+    src/cpp/apppath.cpp+    src/cpp/dragimage.cpp+    src/cpp/eljaccelerator.cpp+    src/cpp/eljartprov.cpp+    src/cpp/eljbitmap.cpp+    src/cpp/eljbrush.cpp+    src/cpp/eljbusyinfo.cpp+    src/cpp/eljbutton.cpp+    src/cpp/eljcalendarctrl.cpp+    src/cpp/eljcaret.cpp+    src/cpp/eljcheckbox.cpp+    src/cpp/eljchecklistbox.cpp+    src/cpp/eljchoice.cpp+    src/cpp/eljclipboard.cpp+    src/cpp/eljcoldata.cpp+    src/cpp/eljcolour.cpp+    src/cpp/eljcolourdlg.cpp+    src/cpp/eljcombobox.cpp+    src/cpp/eljconfigbase.cpp+    src/cpp/eljcontrol.cpp+    src/cpp/eljctxhelp.cpp+    src/cpp/eljcursor.cpp+    src/cpp/eljdataformat.cpp+    src/cpp/eljdatetime.cpp+    src/cpp/eljdc.cpp+    src/cpp/eljdcsvg.cpp+    src/cpp/eljdialog.cpp+    src/cpp/eljdirdlg.cpp+    src/cpp/eljdnd.cpp+    src/cpp/eljdrawing.cpp+    src/cpp/eljevent.cpp+    src/cpp/eljfiledialog.cpp+    src/cpp/eljfilehist.cpp+    src/cpp/eljfindrepldlg.cpp+    src/cpp/eljfont.cpp+    src/cpp/eljfontdata.cpp+    src/cpp/eljfontdlg.cpp+    src/cpp/eljframe.cpp+    src/cpp/eljgauge.cpp+    src/cpp/eljgrid.cpp+    src/cpp/eljhelpcontroller.cpp+    src/cpp/eljicnbndl.cpp+    src/cpp/eljicon.cpp+    src/cpp/eljimage.cpp+    src/cpp/eljimagelist.cpp+    src/cpp/eljlayoutconstraints.cpp+    src/cpp/eljlistbox.cpp+    src/cpp/eljlistctrl.cpp+    src/cpp/eljlocale.cpp+    src/cpp/eljlog.cpp+    src/cpp/eljmask.cpp+    src/cpp/eljmdi.cpp+    src/cpp/eljmenu.cpp+    src/cpp/eljmenubar.cpp+    src/cpp/eljmessagedialog.cpp+    src/cpp/eljmime.cpp+    src/cpp/eljminiframe.cpp+    src/cpp/eljnotebook.cpp+    src/cpp/eljpalette.cpp+    src/cpp/eljpanel.cpp+    src/cpp/eljpen.cpp+    src/cpp/eljprintdlg.cpp+    src/cpp/eljprinting.cpp+    src/cpp/eljprocess.cpp+    src/cpp/eljradiobox.cpp+    src/cpp/eljradiobutton.cpp+    src/cpp/eljrc.cpp+    src/cpp/eljregion.cpp+    src/cpp/eljregioniter.cpp+    src/cpp/eljsash.cpp+    src/cpp/eljscrollbar.cpp+    src/cpp/eljscrolledwindow.cpp+    src/cpp/eljsingleinst.cpp+    src/cpp/eljsizer.cpp+    src/cpp/eljslider.cpp+    src/cpp/eljspinctrl.cpp+    src/cpp/eljsplitterwindow.cpp+    src/cpp/eljstaticbox.cpp+    src/cpp/eljstaticline.cpp+    src/cpp/eljstatictext.cpp+    src/cpp/eljstatusbar.cpp+    src/cpp/eljsystemsettings.cpp+    src/cpp/eljtextctrl.cpp+    src/cpp/eljtimer.cpp+    src/cpp/eljtipwnd.cpp+    src/cpp/eljtoolbar.cpp+    src/cpp/eljvalidator.cpp+    src/cpp/eljwindow.cpp+    src/cpp/eljwizard.cpp+    src/cpp/ewxw_main.cpp+    src/cpp/extra.cpp+    src/cpp/glcanvas.cpp+    src/cpp/graphicscontext.cpp+    src/cpp/image.cpp+    src/cpp/managed.cpp+    src/cpp/mediactrl.cpp+    src/cpp/previewframe.cpp+    src/cpp/printout.cpp+    src/cpp/sckaddr.cpp+    src/cpp/socket.cpp+    src/cpp/sound.cpp+    src/cpp/stc.cpp+    src/cpp/std.cpp+    src/cpp/taskbaricon.cpp+    src/cpp/textstream.cpp+    src/cpp/treectrl.cpp+    src/cpp/wrapper.cpp++  x-dll-name: wxc++  x-dll-extra-libraries:+