packages feed

wxc 0.91.0.0 → 0.92.0.0

raw patch · 19 files changed

+4717/−826 lines, 19 filesdep ~basesetup-changed

Dependency ranges changed: base

Files

LICENSE view
@@ -5,7 +5,7 @@ license. The documentation is subject to the wxWidgets documentation
 license.
 
-See "http://www.wxwidgets.org/newlicen.htm" for the legal description
+See "https://www.wxwidgets.org/about/licence/" 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
Setup.hs view
@@ -1,9 +1,11 @@ 
 {-# LANGUAGE CPP #-}
 
-import Control.Monad (mapM_, when)
+import Control.Monad (filterM, join, mapM_, when)
+import qualified Data.ByteString.Lazy as B
+import Data.Char     ( ord )
 import Data.Functor  ( (<$>) )
-import Data.List (foldl', intersperse, intercalate, nub, lookup, isPrefixOf, isInfixOf)
+import Data.List (foldl', foldr, intersperse, intercalate, nub, lookup, isPrefixOf, isInfixOf)
 import Data.Maybe (fromJust, isNothing, isJust, listToMaybe)
 import Distribution.PackageDescription
 import Distribution.Simple
@@ -16,24 +18,29 @@                                  , InstallFlags, installVerbosity
                                  , fromFlag
                                  )
-import Distribution.Simple.Utils (installOrdinaryFile)
+import Distribution.Simple.Utils (installOrdinaryFile, rawSystemExitWithEnv, rawSystemStdInOut, die)
 import Distribution.System (OS (..), Arch (..), buildOS, buildArch)
 import Distribution.Verbosity (Verbosity, normal, verbose)
+import Distribution.Compat.Exception (catchIO)
 import System.Process (system)
 import System.Directory ( createDirectoryIfMissing, doesFileExist
                         , findExecutable,           getCurrentDirectory
                         , getDirectoryContents,     getModificationTime
                         )
-import System.Environment (lookupEnv)
+import System.Environment (lookupEnv, getEnvironment)
 import System.Exit (ExitCode (..), exitFailure)
 import System.FilePath ((</>), (<.>), replaceExtension, takeFileName, dropFileName, addExtension)
-import System.IO (hPutStrLn, stderr)
+import System.IO (hPutStrLn, readFile, stderr)
+import System.IO.Error (isDoesNotExistError)
 import System.IO.Unsafe (unsafePerformIO)
 import qualified System.Process as Process
 import qualified Control.Exception as E
+import Control.Monad (unless)
 
 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 
+-- Some utility functions
+
 readProcess :: FilePath -> [String] -> String -> IO String
 readProcess cmd args stdin =
   Process.readProcess cmd args stdin
@@ -46,6 +53,17 @@ whenM mp e = mp >>= \p -> when p e
 
 
+-- Find the first element in a list that matches a condition
+findM :: Monad m => (a -> m Bool) -> [a] -> m (Maybe a)
+findM _  []       = return Nothing
+findM mp (x : xs) =
+  do
+    r <- mp x
+    if r 
+      then return $ Just x
+      else findM mp xs
+
+    
 main :: IO ()
 main = defaultMainWithHooks simpleUserHooks
      { confHook = myConfHook
@@ -64,13 +82,31 @@ 
 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 
+rawShellSystemStdInOut :: Verbosity                     -- Verbosity level
+                       -> FilePath                      -- Path to command
+                       -> [String]                      -- Command arguments
+                       -> IO (String, String, ExitCode) -- (Command result, Errors, Command exit status)
+rawShellSystemStdInOut v f as = rawSystemStdInOut v "sh" (f:as) Nothing Nothing Nothing False
+
+
+isWindowsMsys :: IO Bool
+isWindowsMsys = (buildOS == Windows&&) . isJust <$> lookupEnv "MSYSTEM"
+
 -- Comment out type signature because of a Cabal API change from 1.6 to 1.7
 myConfHook (pkg0, pbi) flags = do
-
-    whenM (isNothing <$> findExecutable "wx-config") $
-      do
-        putStrLn "Error: wx-config not found, please install wx-config before installing wxc"
-        exitFailure
+    mswMsys <- isWindowsMsys 
+    if mswMsys then do
+        (r, e, c) <- rawShellSystemStdInOut normal "wx-config" ["--release"] 
+        unless (c == ExitSuccess) $ do
+            putStrLn ("Error: MSYS environment wx-config script not found, please install wx-config before installing wxc" ++ "\n" 
+                      ++ e ++ "\n"
+                      ++ show c)
+            exitFailure
+    else
+        whenM (isNothing <$> findExecutable "wx-config") $
+        do
+            putStrLn "Error: wx-config not found, please install wx-config before installing wxc"
+            exitFailure
 
     whenM bitnessMismatch
       exitFailure
@@ -81,11 +117,16 @@     let libbi     = libBuildInfo lib
     let custom_bi = customFieldsBI libbi
 
-    wx <- fmap parseWxConfig readWxConfig
+    wx <- fmap parseWxConfig readWxConfig >>= deMsysPaths
 
     let libbi' = libbi
           { extraLibDirs = extraLibDirs libbi ++ extraLibDirs wx
-          , extraLibs    = extraLibs    libbi ++ reverse (extraLibs    wx)
+          -- Remove wx libraries from here on windows because archive names differ from dlls
+          -- causing GHCI to fail to load them
+          , extraLibs    = if buildOS == Windows then
+                                extraLibs libbi
+                           else
+                                extraLibs libbi ++ reverse (extraLibs    wx)
           , ldOptions    = ldOptions    libbi ++ ldOptions    wx
           , frameworks   = frameworks   libbi ++ frameworks   wx
           , includeDirs  = includeDirs  libbi ++ includeDirs  wx
@@ -122,17 +163,45 @@ 
 {-
    Extract bitness info from a dynamic library and compare to the
-   bitness of this program.
-   Preconditions (when buildArch == I386 || buildArch == X86_64):
-    - Command "file" must exist
-    - The specified file must exist
+   bitness of this program. Works for architectures I386 and X86_64.
 -}
 checkBitness :: FilePath -> IO CheckResult
 checkBitness file =
   if thisBitness == Unknown
     then return NotChecked
-    else compareBitness . readBitness <$> readProcess "file" [file] ""
+    else
+      if buildOS == Windows
+        then compareBitness <$> getWindowsBitness file
+        else compareBitness . readBitness <$> readProcess "file" [file] ""
   where
+    getWindowsBitness :: FilePath -> IO Bitness
+    getWindowsBitness fp =
+      do
+        contents <- B.unpack <$> B.readFile file
+        if take 2 contents /= [0x4D, 0x5A]   -- "MZ"
+          then return Unknown  -- The file is not an executable
+          else
+            do
+              -- The offset of the PE header is at 0x3C.
+              -- In the PE header, after "PE\0\0", one finds the type of
+              -- machine the executable is compiled for.
+              -- According to
+              --   http://www.opensource.apple.com/source/cctools/cctools-795/include/coff/ms_dos_stub.h?txt
+              -- the index is four byte long. It is in little endian order.
+              --
+              -- N.B. Might need an update when Windows runs on ARM
+              let machineOffsetList = reverse $ take 4 $ drop 0x3C $ contents
+              let machineOffset = listToInt machineOffsetList + 4
+              return $ 
+                case contents !! machineOffset of
+                  0x4C -> Bits32   -- "The file is 32 bit"
+                  0x64 -> Bits64   -- "The file is 64 bit"
+                  _    -> Unknown  -- "The bitness is not recognized"
+        where
+          listToInt :: Integral a => [a] -> Int
+          listToInt xs = foldl1 (\x y -> 256 * x + y) (map fromIntegral xs)
+
+    
     compareBitness :: Bitness -> CheckResult
     compareBitness thatBitness =
       if thatBitness == Unknown
@@ -172,20 +241,9 @@ -}
 bitnessMismatch :: IO Bool
 bitnessMismatch =
-  case buildOS of
-    Windows ->
-      do
-        fileCommandPresent <- isJust <$> findExecutable "file"
-        if fileCommandPresent
-          then check
-          else
-            do
-              putStrLn "No file command present, bitness not checked"
-              return False -- No check on bitness, just continue installing
-
-    Linux   -> check
-    OSX     -> check
-    _       -> return False -- Other OSes are not checked
+  if buildOS `elem` [Windows, Linux, OSX]
+    then check
+    else return False -- Other OSes are not checked
   where
     check =
       do
@@ -238,42 +296,80 @@ 
 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 
--- Find the most recent version of wxWidgets;
--- abort the setup procedure when no proper version of wxWidgets is found
-readWxConfig :: IO String
-readWxConfig = do
-    -- Try to find an acceptable version of wxWidgets
-    -- (a version that can be handled by this version of wxHaskell)
-    let wxAcceptableVersions = ["3.0", "2.9"] -- Preferred version first
+-- A list of wxWidgets versions that can be handled by this version of wxHaskell
+wxCompatibleVersions = ["3.0", "2.9"] -- Preferred version first
 
-    -- 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)
-    wxVersions <- case buildOS of
-      Windows -> sequence [readProcess "wx-config" ["--release"] ""]
-      _       -> mapM readVersion wxAcceptableVersions
-                 where readVersion x = E.catch (readProcess "wx-config" ["--version=" ++ x, "--version-full"] "") handleError
-                       handleError :: IOError -> IO String
-                       handleError _ = return ""
 
-    case [(x, y) | x <- wxAcceptableVersions, 
-                   y <- wxVersions, 
-                   x `isPrefixOf` y
-         ] of
-      [] ->
+-- Get the preprocessor/compiler/linker options used for the most recent
+-- compatible wxWidgets installed.
+-- Abort the setup procedure when no proper version of wxWidgets is found
+readWxConfig :: IO String
+readWxConfig =
+  do
+    maybeWxVersion <- findWxVersion
+
+    case maybeWxVersion of
+      Nothing ->
         error ("This version of wxc requires one of the following wxWidgets versions to be available: " 
-               ++ show wxAcceptableVersions
+               ++ show wxCompatibleVersions
               )
-      ((wxVersion, wxFullVersion) : _) ->
+      Just wxVersion ->
         do
-          putStrLn ("Configuring wxc to build against wxWidgets " ++ wxFullVersion)
+          putStrLn ("Configuring wxc to build against wxWidgets " ++ wxVersion)
 
           -- The Windows port of wx-config doesn't let you specify a version (yet)
-          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=" ++ wxVersion, "--libs", "all", "--cppflags"] ""
+          isMsys <- isWindowsMsys
+          case (buildOS,isMsys) of
+            -- wx-config-win does not list all libraries if --cppflags comes after --libs :-(
+            (Windows,False) -> wx_config ["--cppflags", "--libs", "all"]
+            (Windows,True) -> wx_config ["--libs", "all", "--gl-libs", "--cppflags"]
+            _       -> wx_config ["--version=" ++ wxVersion, "--libs", "all", "--cppflags"]
 
 
+wx_config :: [String] -> IO String
+wx_config parms = do
+  b <- isWindowsMsys
+  if b 
+    then do
+        (r, e, c) <- rawShellSystemStdInOut normal "wx-config" parms
+        unless (c == ExitSuccess) $ do
+            putStrLn $ "Error: Failed to execute wx-config command \n" ++ e
+            exitFailure
+        return r
+    else 
+        readProcess "wx-config" parms ""
+            `E.onException` return ""
+
+
+ -- Try to find a compatible version of wxWidgets
+-- (a version that can be handled by this version of wxHaskell)
+findWxVersion :: IO (Maybe String)
+findWxVersion =
+  if buildOS == Windows
+    -- 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)
+    then checkCompatibility <$> readVersionWindows 
+    else findM (fmap isCompatible . readVersion) wxCompatibleVersions
+      where
+        readVersionWindows :: IO String
+        readVersionWindows =
+          wx_config ["--version"]                          -- Sample output: 3.0.1
+
+        readVersion :: String -> IO String
+        readVersion x =
+          wx_config ["--version=" ++ x, "--version-full"]  -- Sample output: 3.0.1.0
+
+        isCompatible :: String -> Bool
+        isCompatible xs =
+          any (`isPrefixOf` xs) wxCompatibleVersions
+
+        checkCompatibility :: String -> Maybe String
+        checkCompatibility version =
+          if isCompatible version
+            then Just version 
+            else Nothing
+
+
 parseWxConfig :: String -> BuildInfo
 parseWxConfig s =
     helper emptyBuildInfo (words s)
@@ -289,6 +385,21 @@           ('-':'D':_) -> b { ccOptions    = w : ccOptions b }
           _           -> b
 
+deMsysPaths :: BuildInfo -> IO BuildInfo
+deMsysPaths bi = do
+    b <- isWindowsMsys
+    if b 
+    then do
+        let cor ph = do
+            (r, e, c ) <- rawSystemStdInOut normal "sh" ["-c", "cd " ++ ph ++ "; pwd -W"] Nothing Nothing Nothing False  
+            unless (c == ExitSuccess) (putStrLn ("Error: failed to convert MSYS path to native path \n" ++ e) >> exitFailure)
+            return . head . lines $ r
+        elds <- mapM cor (extraLibDirs bi)
+        incds <- mapM cor (includeDirs bi)
+        return $ bi {extraLibDirs = elds, includeDirs = incds}
+    else
+        return bi
+
 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 
 -- | Extend the standard build hook to build a shared library for wxc - this will statically link
@@ -319,9 +430,14 @@     -- 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
-    linkSharedLib gcc ld_opts lib_dirs (libs ++ dll_libs) objs ver bld_dir dll_name inst_lib_dir
-
+    if buildOS == Windows then do
+        -- Since we removed wx libraries in myConfHook we need to add them here when linking wxc.dll
+        wx <- fmap parseWxConfig readWxConfig >>= deMsysPaths
+        linkSharedLib gcc ld_opts lib_dirs (libs ++ reverse (extraLibs wx) ++ dll_libs) objs ver bld_dir dll_name inst_lib_dir
+    else
+        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
@@ -356,7 +472,8 @@       Windows -> ["-Wl,--dll", "-shared", 
                   "-o", out_dir </> sharedLibName ver basename,
                   "-Wl,--out-implib," ++ "lib" ++ addExtension basename ".a",
-                  "-Wl,--export-all-symbols", "-Wl,--enable-auto-import"]
+                  "-Wl,--export-all-symbols", "-Wl,--enable-auto-import",
+                  "-Wl,-no-undefined,--enable-runtime-pseudo-reloc"]
       OSX -> ["-dynamiclib",
                   "-o", out_dir </> sharedLibName ver basename,
                   "-install_name", basepath </> sharedLibName ver basename,
@@ -369,8 +486,8 @@ -- 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
+           -> [String] -- ^ Compile options provided by Cabal and wx-config
+           -> [String] -- ^ Include paths provided by Cabal and wx-config
            -> FilePath -- ^ Base output directory
            -> FilePath -- ^ Path to source file
            -> IO FilePath -- ^ Path to generated object code
+ src/cpp/eljaui.cpp view
@@ -0,0 +1,3074 @@+#include "wrapper.h"
+#include "wx/tooltip.h"
+
+extern "C"
+{
+
+
+/* wxAuiDefaultTabArt */
+
+EWXWEXPORT(void*,wxAuiDefaultTabArt_Create)()
+{
+   return (void*)new wxAuiDefaultTabArt();
+}
+
+EWXWEXPORT(void*,wxAuiDefaultTabArt_Clone)(wxAuiDefaultTabArt* self)
+{
+   return (void*)self->Clone();
+}
+
+
+EWXWEXPORT(void,wxAuiDefaultTabArt_SetFlags)(wxAuiDefaultTabArt* self, int _flags)
+{
+    self->SetFlags(_flags);
+}
+
+
+EWXWEXPORT(void,wxAuiDefaultTabArt_SetSizingInfo)(wxAuiDefaultTabArt* self, int _wdt, int _hgt, size_t tabCount)
+{
+  self->SetSizingInfo(wxSize(_wdt, _hgt),tabCount);
+}
+
+
+EWXWEXPORT(void,wxAuiDefaultTabArt_SetNormalFont)(wxAuiDefaultTabArt* self, wxFont* font)
+{
+    self->SetNormalFont(*font);
+}
+
+
+EWXWEXPORT(void,wxAuiDefaultTabArt_SetSelectedFont)(wxAuiDefaultTabArt* self, wxFont* font)
+{
+    self->SetSelectedFont(*font);
+}
+
+
+EWXWEXPORT(void,wxAuiDefaultTabArt_SetMeasuringFont)(wxAuiDefaultTabArt* self, wxFont* font)
+{
+    self->SetMeasuringFont(*font);
+}
+
+
+EWXWEXPORT(void,wxAuiDefaultTabArt_SetColour)(wxAuiDefaultTabArt* self, wxColour* _colour)
+{
+    self->SetColour(*_colour);
+}
+
+
+EWXWEXPORT(void,wxAuiDefaultTabArt_SetActiveColour)(wxAuiDefaultTabArt* self, wxColour* _colour)
+{
+    self->SetActiveColour(*_colour);
+}
+
+
+EWXWEXPORT(void,wxAuiDefaultTabArt_DrawBackground)(wxAuiDefaultTabArt* self, wxDC* _dc, wxWindow* _wnd, wxRect* _rect)
+{
+  return self->DrawBackground(*_dc,_wnd,*_rect);
+}
+
+
+EWXWEXPORT(void,wxAuiDefaultTabArt_DrawTab)(wxAuiDefaultTabArt* self, wxDC* _dc, wxWindow* _wnd, wxAuiNotebookPage* _pane, wxRect* _inRect, int closeButtonState, wxRect* _outTabRect, wxRect* _outButtonRect, int* xExtent)
+{
+ self->DrawTab(*_dc, _wnd, *_pane, *_inRect, closeButtonState, _outTabRect, _outButtonRect, xExtent);
+}
+
+
+EWXWEXPORT(void,wxAuiDefaultTabArt_DrawButton)(wxAuiDefaultTabArt* self, wxDC* _dc, wxWindow* _wnd, wxRect* _inRect, int bitmapId, int buttonState, int orientation, wxRect* _outRect)
+{
+ self->DrawButton(*_dc, _wnd, *_inRect, bitmapId, buttonState, orientation, _outRect);
+}
+
+
+EWXWEXPORT(int,wxAuiDefaultTabArt_GetIndentSize)(wxAuiDefaultTabArt* self)
+{
+   return self->GetIndentSize();
+}
+
+EWXWEXPORT(wxSize*,wxAuiDefaultTabArt_GetTabSize)(wxAuiDefaultTabArt* self, wxDC* _dc, wxWindow* _wnd, wxString* _caption, wxBitmap* _bitmap, bool active, int closeButtonState, int *xExtent )
+{
+	wxSize* sz = new wxSize();
+	*sz = self->GetTabSize(*_dc,_wnd,*_caption,*_bitmap,active,closeButtonState,xExtent );
+	return sz;
+}
+
+EWXWEXPORT(int,wxAuiDefaultTabArt_ShowDropDown)(wxAuiDefaultTabArt* self, wxWindow* _wnd, wxAuiNotebookPageArray* _items, int activeIdx)
+{
+  return self->ShowDropDown(_wnd,*_items,activeIdx);
+}
+
+
+EWXWEXPORT(int,wxAuiDefaultTabArt_GetBestTabCtrlSize)(wxAuiDefaultTabArt* self, wxWindow* _wnd, wxAuiNotebookPageArray* _pages, int _wdt, int _hgt)
+{
+  return self->GetBestTabCtrlSize(_wnd,*_pages,wxSize(_wdt, _hgt));
+}
+
+
+/* wxAuiToolBarEvent */
+
+EWXWEXPORT(bool,wxAuiToolBarEvent_IsDropDownClicked)(wxAuiToolBarEvent* self)
+{
+   return self->IsDropDownClicked();
+}
+
+EWXWEXPORT(wxPoint*,wxAuiToolBarEvent_GetClickPoint)(wxAuiToolBarEvent* self)
+{
+	wxPoint* pt = new wxPoint();
+	*pt = self->GetClickPoint();
+	return pt;
+}
+
+EWXWEXPORT(wxRect*,wxAuiToolBarEvent_GetItemRect)(wxAuiToolBarEvent* self)
+{
+	wxRect* rect = new wxRect();
+	*rect = self->GetItemRect();
+	return rect;
+}
+
+EWXWEXPORT(int,wxAuiToolBarEvent_GetToolId)(wxAuiToolBarEvent* self)
+{
+   return self->GetToolId();
+}
+
+
+/* wxAuiToolBarItem */
+
+EWXWEXPORT(void*,wxAuiToolBarItem_CreateDefault)()
+{
+   return (void*)new wxAuiToolBarItem();
+}
+
+
+EWXWEXPORT(void*,wxAuiToolBarItem_Create)(wxAuiToolBarItem* _c)
+{
+ return (void*)new wxAuiToolBarItem(*_c);
+}
+
+
+EWXWEXPORT(wxAuiToolBarItem*,wxAuiToolBarItem_Copy)(wxAuiToolBarItem* self, wxAuiToolBarItem* _c)
+{
+  wxAuiToolBarItem *result = new wxAuiToolBarItem();
+  *result = self->operator=(*_c);
+  return result;
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarItem_Assign)(wxAuiToolBarItem* self, wxAuiToolBarItem* _c)
+{
+   self->Assign(*_c);
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarItem_SetWindow)(wxAuiToolBarItem* self, wxWindow* _w)
+{
+   self->SetWindow(_w);
+}
+
+
+EWXWEXPORT(void*,wxAuiToolBarItem_GetWindow)(wxAuiToolBarItem* self)
+{
+   return (void*)self->GetWindow();
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarItem_SetId)(wxAuiToolBarItem* self, int new_id)
+{
+    self->SetId(new_id);
+}
+
+
+EWXWEXPORT(int,wxAuiToolBarItem_GetId)(wxAuiToolBarItem* self)
+{
+   return self->GetId();
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarItem_SetKind)(wxAuiToolBarItem* self, int new_kind)
+{
+    self->SetKind(new_kind);
+}
+
+
+EWXWEXPORT(int,wxAuiToolBarItem_GetKind)(wxAuiToolBarItem* self)
+{
+   return self->GetKind();
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarItem_SetState)(wxAuiToolBarItem* self, int new_state)
+{
+    self->SetState(new_state);
+}
+
+
+EWXWEXPORT(int,wxAuiToolBarItem_GetState)(wxAuiToolBarItem* self)
+{
+   return self->GetState();
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarItem_SetSizerItem)(wxAuiToolBarItem* self, wxSizerItem* _s)
+{
+   self->SetSizerItem(_s);
+}
+
+
+EWXWEXPORT(void*,wxAuiToolBarItem_GetSizerItem)(wxAuiToolBarItem* self)
+{
+   return (void*)self->GetSizerItem();
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarItem_SetLabel)(wxAuiToolBarItem* self, wxString* _s)
+{
+    self->SetLabel(*_s);
+}
+
+EWXWEXPORT(wxString*,wxAuiToolBarItem_GetLabel)(wxAuiToolBarItem* self)
+{
+	wxString *result = new wxString();
+	*result = self->GetLabel();
+	return result;
+}
+
+EWXWEXPORT(void,wxAuiToolBarItem_SetBitmap)(wxAuiToolBarItem* self, wxBitmap* _bmp)
+{
+   self->SetBitmap(*_bmp);
+}
+
+EWXWEXPORT(void,wxAuiToolBarItem_GetBitmap)(wxAuiToolBarItem* self, wxBitmap* _bmp)
+{
+   *_bmp = self->GetBitmap();
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarItem_SetDisabledBitmap)(wxAuiToolBarItem* self, wxBitmap* _bmp)
+{
+   self->SetDisabledBitmap(*_bmp);
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarItem_GetDisabledBitmap)(wxAuiToolBarItem* self, wxBitmap* _bmp)
+{
+   *_bmp = self->GetDisabledBitmap();
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarItem_SetHoverBitmap)(wxAuiToolBarItem* self, wxBitmap* _bmp)
+{
+   self->SetHoverBitmap(*_bmp);
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarItem_GetHoverBitmap)(wxAuiToolBarItem* self, wxBitmap* _bmp)
+{
+   *_bmp = self->GetHoverBitmap();
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarItem_SetShortHelp)(wxAuiToolBarItem* self, wxString* _s)
+{
+    self->SetShortHelp(*_s);
+}
+
+EWXWEXPORT(wxString*,wxAuiToolBarItem_GetShortHelp)(wxAuiToolBarItem* self)
+{
+	wxString *result = new wxString();
+	*result = self->GetShortHelp();
+	return result;
+}
+
+EWXWEXPORT(void,wxAuiToolBarItem_SetLongHelp)(wxAuiToolBarItem* self, wxString* _s)
+{
+    self->SetLongHelp(*_s);
+}
+
+EWXWEXPORT(wxString*,wxAuiToolBarItem_GetLongHelp)(wxAuiToolBarItem* self)
+{
+	wxString *result = new wxString();
+	*result = self->GetLongHelp();
+	return result;
+}
+
+EWXWEXPORT(void,wxAuiToolBarItem_SetMinSize)(wxAuiToolBarItem* self, int _wdt, int _hgt)
+{
+  self->SetMinSize(wxSize(_wdt, _hgt));
+}
+
+EWXWEXPORT(wxSize*,wxAuiToolBarItem_GetMinSize)(wxAuiToolBarItem* self)
+{
+	wxSize* sz = new wxSize();
+	*sz = self->GetMinSize();
+	return sz;
+}
+
+EWXWEXPORT(void,wxAuiToolBarItem_SetSpacerPixels)(wxAuiToolBarItem* self, int s)
+{
+    self->SetSpacerPixels(s);
+}
+
+
+EWXWEXPORT(int,wxAuiToolBarItem_GetSpacerPixels)(wxAuiToolBarItem* self)
+{
+   return self->GetSpacerPixels();
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarItem_SetProportion)(wxAuiToolBarItem* self, int p)
+{
+    self->SetProportion(p);
+}
+
+
+EWXWEXPORT(int,wxAuiToolBarItem_GetProportion)(wxAuiToolBarItem* self)
+{
+   return self->GetProportion();
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarItem_SetActive)(wxAuiToolBarItem* self, bool b)
+{
+    self->SetActive(b);
+}
+
+
+EWXWEXPORT(bool,wxAuiToolBarItem_IsActive)(wxAuiToolBarItem* self)
+{
+   return self->IsActive();
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarItem_SetHasDropDown)(wxAuiToolBarItem* self, bool b)
+{
+    self->SetHasDropDown(b);
+}
+
+
+EWXWEXPORT(bool,wxAuiToolBarItem_HasDropDown)(wxAuiToolBarItem* self)
+{
+   return self->HasDropDown();
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarItem_SetSticky)(wxAuiToolBarItem* self, bool b)
+{
+    self->SetSticky(b);
+}
+
+
+EWXWEXPORT(bool,wxAuiToolBarItem_IsSticky)(wxAuiToolBarItem* self)
+{
+   return self->IsSticky();
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarItem_SetUserData)(wxAuiToolBarItem* self, long l)
+{
+    self->SetUserData(l);
+}
+
+
+EWXWEXPORT(long,wxAuiToolBarItem_GetUserData)(wxAuiToolBarItem* self)
+{
+   return self->GetUserData();
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarItem_SetAlignment)(wxAuiToolBarItem* self, int l)
+{
+    self->SetAlignment(l);
+}
+
+
+EWXWEXPORT(int,wxAuiToolBarItem_GetAlignment)(wxAuiToolBarItem* self)
+{
+   return self->GetAlignment();
+}
+
+
+/* wxAuiToolBarArt */
+
+
+EWXWEXPORT(void*,wxAuiToolBarArt_Clone)(wxAuiToolBarArt* self)
+{
+   return (void*)self->Clone();
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarArt_SetFlags)(wxAuiToolBarArt* self, int _flags)
+{
+    self->SetFlags(_flags);
+}
+
+
+EWXWEXPORT(int,wxAuiToolBarArt_GetFlags)(wxAuiToolBarArt* self)
+{
+ return self->GetFlags();
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarArt_SetFont)(wxAuiToolBarArt* self, wxFont* font)
+{
+    self->SetFont(*font);
+}
+
+EWXWEXPORT(wxFont*,wxAuiToolBarArt_GetFont)(wxAuiToolBarArt* self)
+{
+	wxFont* font = new wxFont();
+	*font = self->GetFont();
+	return font;
+}
+
+EWXWEXPORT(void,wxAuiToolBarArt_SetTextOrientation)(wxAuiToolBarArt* self, int orientation)
+{
+    self->SetTextOrientation(orientation);
+}
+
+
+EWXWEXPORT(int,wxAuiToolBarArt_GetTextOrientation)(wxAuiToolBarArt* self)
+{
+   return self->GetTextOrientation();
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarArt_DrawBackground)(wxAuiToolBarArt* self, wxDC* _dc, wxWindow* _wnd, wxRect* _rect)
+{
+  return self->DrawBackground(*_dc,_wnd,*_rect);
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarArt_DrawPlainBackground)(wxAuiToolBarArt* self, wxDC* _dc, wxWindow* _wnd, wxRect* _rect)
+{
+  return self->DrawPlainBackground(*_dc,_wnd,*_rect);
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarArt_DrawLabel)(wxAuiToolBarArt* self, wxDC* _dc, wxWindow* _wnd, wxAuiToolBarItem* _item, wxRect* _rect)
+{
+ self->DrawLabel(*_dc,_wnd,*_item,*_rect);
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarArt_DrawButton)(wxAuiToolBarArt* self, wxDC* _dc, wxWindow* _wnd, wxAuiToolBarItem* _item, wxRect* _rect)
+{
+ self->DrawButton(*_dc,_wnd,*_item,*_rect);
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarArt_DrawDropDownButton)(wxAuiToolBarArt* self, wxDC* _dc, wxWindow* _wnd, wxAuiToolBarItem* _item, wxRect* _rect)
+{
+ self->DrawDropDownButton(*_dc,_wnd,*_item,*_rect);
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarArt_DrawControlLabel)(wxAuiToolBarArt* self, wxDC* _dc, wxWindow* _wnd, wxAuiToolBarItem* _item, wxRect* _rect)
+{
+ self->DrawControlLabel(*_dc,_wnd,*_item,*_rect);
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarArt_DrawSeparator)(wxAuiToolBarArt* self, wxDC* _dc, wxWindow* _wnd, wxRect* _rect)
+{
+  return self->DrawSeparator(*_dc,_wnd,*_rect);
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarArt_DrawGripper)(wxAuiToolBarArt* self, wxDC* _dc, wxWindow* _wnd, wxRect* _rect)
+{
+  return self->DrawGripper(*_dc,_wnd,*_rect);
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarArt_DrawOverflowButton)(wxAuiToolBarArt* self, wxDC* _dc, wxWindow* _wnd, wxRect* _rect, int state)
+{
+  self->DrawOverflowButton(*_dc,_wnd,*_rect,state);
+}
+
+EWXWEXPORT(wxSize*,wxAuiToolBarArt_GetLabelSize)(wxAuiToolBarArt* self, wxDC* _dc, wxWindow* _wnd, wxAuiToolBarItem* _item )
+{
+	wxSize* sz = new wxSize();
+	*sz = self->GetLabelSize(*_dc,_wnd,*_item );
+	return sz;
+}
+
+EWXWEXPORT(wxSize*,wxAuiToolBarArt_GetToolSize)(wxAuiToolBarArt* self, wxDC* _dc, wxWindow* _wnd, wxAuiToolBarItem* _item )
+{
+	wxSize* sz = new wxSize();
+	*sz = self->GetToolSize(*_dc,_wnd,*_item );
+	return sz;
+}
+
+EWXWEXPORT(int,wxAuiToolBarArt_GetElementSize)(wxAuiToolBarArt* self, int element_id)
+{
+   return self->GetElementSize(element_id);
+}
+
+
+EWXWEXPORT(void,wxAuiToolBarArt_SetElementSize)(wxAuiToolBarArt* self, int element_id, int size)
+{
+    self->SetElementSize(element_id, size);
+}
+
+
+EWXWEXPORT(int,wxAuiToolBarArt_ShowDropDown)(wxAuiToolBarArt* self, wxWindow* _wnd, wxAuiToolBarItemArray* _items)
+{
+  return self->ShowDropDown(_wnd,*_items);
+}
+
+
+/* wxAuiDefaultToolBarArt */
+
+EWXWEXPORT(void*,wxAuiDefaultToolBarArt_Create)()
+{
+   return (void*)new wxAuiDefaultToolBarArt();
+}
+
+EWXWEXPORT(void*,wxAuiDefaultToolBarArt_Clone)(wxAuiDefaultToolBarArt* self)
+{
+   return (void*)self->Clone();
+}
+
+
+EWXWEXPORT(void,wxAuiDefaultToolBarArt_SetFlags)(wxAuiDefaultToolBarArt* self, int _flags)
+{
+    self->SetFlags(_flags);
+}
+
+
+EWXWEXPORT(int,wxAuiDefaultToolBarArt_GetFlags)(wxAuiDefaultToolBarArt* self)
+{
+ return self->GetFlags();
+}
+
+
+EWXWEXPORT(void,wxAuiDefaultToolBarArt_SetFont)(wxAuiDefaultToolBarArt* self, wxFont* font)
+{
+    self->SetFont(*font);
+}
+
+EWXWEXPORT(wxFont*,wxAuiDefaultToolBarArt_GetFont)(wxAuiDefaultToolBarArt* self)
+{
+	wxFont* font = new wxFont();
+	*font = self->GetFont();
+	return font;
+}
+
+EWXWEXPORT(void,wxAuiDefaultToolBarArt_SetTextOrientation)(wxAuiDefaultToolBarArt* self, int orientation)
+{
+    self->SetTextOrientation(orientation);
+}
+
+
+EWXWEXPORT(int,wxAuiDefaultToolBarArt_GetTextOrientation)(wxAuiDefaultToolBarArt* self)
+{
+   return self->GetTextOrientation();
+}
+
+
+EWXWEXPORT(void,wxAuiDefaultToolBarArt_DrawBackground)(wxAuiDefaultToolBarArt* self, wxDC* _dc, wxWindow* _wnd, wxRect* _rect)
+{
+  return self->DrawBackground(*_dc,_wnd,*_rect);
+}
+
+
+EWXWEXPORT(void,wxAuiDefaultToolBarArt_DrawPlainBackground)(wxAuiDefaultToolBarArt* self, wxDC* _dc, wxWindow* _wnd, wxRect* _rect)
+{
+  return self->DrawPlainBackground(*_dc,_wnd,*_rect);
+}
+
+
+EWXWEXPORT(void,wxAuiDefaultToolBarArt_DrawLabel)(wxAuiDefaultToolBarArt* self, wxDC* _dc, wxWindow* _wnd, wxAuiToolBarItem* _item, wxRect* _rect)
+{
+ self->DrawLabel(*_dc,_wnd,*_item,*_rect);
+}
+
+
+EWXWEXPORT(void,wxAuiDefaultToolBarArt_DrawButton)(wxAuiDefaultToolBarArt* self, wxDC* _dc, wxWindow* _wnd, wxAuiToolBarItem* _item, wxRect* _rect)
+{
+ self->DrawButton(*_dc,_wnd,*_item,*_rect);
+}
+
+
+EWXWEXPORT(void,wxAuiDefaultToolBarArt_DrawDropDownButton)(wxAuiDefaultToolBarArt* self, wxDC* _dc, wxWindow* _wnd, wxAuiToolBarItem* _item, wxRect* _rect)
+{
+ self->DrawDropDownButton(*_dc,_wnd,*_item,*_rect);
+}
+
+
+EWXWEXPORT(void,wxAuiDefaultToolBarArt_DrawControlLabel)(wxAuiDefaultToolBarArt* self, wxDC* _dc, wxWindow* _wnd, wxAuiToolBarItem* _item, wxRect* _rect)
+{
+ self->DrawControlLabel(*_dc,_wnd,*_item,*_rect);
+}
+
+
+EWXWEXPORT(void,wxAuiDefaultToolBarArt_DrawSeparator)(wxAuiDefaultToolBarArt* self, wxDC* _dc, wxWindow* _wnd, wxRect* _rect)
+{
+  return self->DrawSeparator(*_dc,_wnd,*_rect);
+}
+
+
+EWXWEXPORT(void,wxAuiDefaultToolBarArt_DrawGripper)(wxAuiDefaultToolBarArt* self, wxDC* _dc, wxWindow* _wnd, wxRect* _rect)
+{
+  return self->DrawGripper(*_dc,_wnd,*_rect);
+}
+
+
+EWXWEXPORT(void,wxAuiDefaultToolBarArt_DrawOverflowButton)(wxAuiDefaultToolBarArt* self, wxDC* _dc, wxWindow* _wnd, wxRect* _rect, int state)
+{
+  self->DrawOverflowButton(*_dc,_wnd,*_rect,state);
+}
+
+EWXWEXPORT(wxSize*,wxAuiDefaultToolBarArt_GetLabelSize)(wxAuiDefaultToolBarArt* self, wxDC* _dc, wxWindow* _wnd, wxAuiToolBarItem* _item )
+{
+	wxSize* sz = new wxSize();
+	*sz = self->GetLabelSize(*_dc,_wnd,*_item );
+	return sz;
+}
+
+
+EWXWEXPORT(wxSize*,wxAuiDefaultToolBarArt_GetToolSize)(wxAuiDefaultToolBarArt* self, wxDC* _dc, wxWindow* _wnd, wxAuiToolBarItem* _item )
+{
+	wxSize* sz = new wxSize();
+	*sz = self->GetToolSize(*_dc,_wnd,*_item );
+	return sz;
+}
+
+EWXWEXPORT(int,wxAuiDefaultToolBarArt_GetElementSize)(wxAuiDefaultToolBarArt* self, int element)
+{
+   return self->GetElementSize(element);
+}
+
+
+EWXWEXPORT(void,wxAuiDefaultToolBarArt_SetElementSize)(wxAuiDefaultToolBarArt* self, int element_id, int size)
+{
+    self->SetElementSize(element_id, size);
+}
+
+
+EWXWEXPORT(int,wxAuiDefaultToolBarArt_ShowDropDown)(wxAuiDefaultToolBarArt* self, wxWindow* _wnd, wxAuiToolBarItemArray* _items)
+{
+  return self->ShowDropDown(_wnd,*_items);
+}
+
+
+/* wxAuiToolBar */
+
+EWXWEXPORT(void*,wxAuiToolBar_CreateDefault)()
+{
+   return (void*)new wxAuiToolBar();
+}
+
+EWXWEXPORT(void*,wxAuiToolBar_Create)(wxWindow* _parent, int id, int _lft,int _top, int _wdt, int _hgt, long style)
+{
+ return (void*)new wxAuiToolBar(_parent, id,wxPoint(_lft, _top),wxSize(_wdt, _hgt),style);
+}
+
+
+EWXWEXPORT(bool,wxAuiToolBar_CreateFromDefault)(wxAuiToolBar* self, wxWindow* _parent, int id, int _lft,int _top, int _wdt, int _hgt, long style )
+{
+ return self->Create(_parent, id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), style );
+}
+
+EWXWEXPORT(void,wxAuiToolBar_SetWindowStyleFlag)(wxAuiToolBar* self, long style)
+{
+    self->SetWindowStyleFlag(style);
+}
+
+
+EWXWEXPORT(long,wxAuiToolBar_GetWindowStyleFlag)(wxAuiToolBar* self)
+{
+   return self->GetWindowStyleFlag();
+}
+
+
+EWXWEXPORT(void,wxAuiToolBar_SetArtProvider)(wxAuiToolBar* self, wxAuiToolBarArt* _art)
+{
+   self->SetArtProvider(_art);
+}
+
+
+EWXWEXPORT(void*,wxAuiToolBar_GetArtProvider)(wxAuiToolBar* self)
+{
+   return (void*)self->GetArtProvider();
+}
+
+
+EWXWEXPORT(bool,wxAuiToolBar_SetFont)(wxAuiToolBar* self, wxFont* _font)
+{
+  return self->SetFont(*_font);
+}
+
+EWXWEXPORT(void*,wxAuiToolBar_AddToolByLabel)(wxAuiToolBar* self, int tool_id, wxString* _label, wxBitmap* _bitmap, wxString* _short_help_string, int kind)
+{
+ return (void*)self->AddTool(tool_id,*_label,*_bitmap,*_short_help_string,static_cast<wxItemKind>(kind));
+}
+
+EWXWEXPORT(void*,wxAuiToolBar_AddTool)(wxAuiToolBar* self, int tool_id, wxString* _label, wxBitmap* _bitmap, wxBitmap* _disabled_bitmap, int kind, wxString* _short_help_string, wxString* _long_help_string, wxObject* _client_data)
+{
+ return (void*)self->AddTool(tool_id,*_label,*_bitmap,*_disabled_bitmap,static_cast<wxItemKind>(kind),*_short_help_string,*_long_help_string,_client_data);
+}
+
+EWXWEXPORT(void*,wxAuiToolBar_AddToolByBitmap)(wxAuiToolBar* self, int tool_id, wxBitmap* _bitmap, wxBitmap* _disabled_bitmap, bool toggle, wxObject* _client_data, wxString* _short_help_string, wxString* _long_help_string)
+{
+ return (void*)self->AddTool(tool_id,*_bitmap,*_disabled_bitmap,toggle,_client_data,*_short_help_string,*_long_help_string);
+}
+
+EWXWEXPORT(void*,wxAuiToolBar_AddLabel)(wxAuiToolBar* self, int tool_id, wxString* _label, int width)
+{
+ return (void*)self->AddLabel(tool_id, *_label, width);
+}
+
+
+EWXWEXPORT(void*,wxAuiToolBar_AddControl)(wxAuiToolBar* self, wxControl* _control, wxString* _label)
+{
+ return (void*)self->AddControl(_control, *_label);
+}
+
+
+EWXWEXPORT(void*,wxAuiToolBar_AddSeparator)(wxAuiToolBar* self)
+{
+   return (void*)self->AddSeparator();
+}
+
+
+EWXWEXPORT(void*,wxAuiToolBar_AddSpacer)(wxAuiToolBar* self, int pixels)
+{
+   return (void*)self->AddSpacer(pixels);
+}
+
+
+EWXWEXPORT(void*,wxAuiToolBar_AddStretchSpacer)(wxAuiToolBar* self, int proportion)
+{
+   return (void*)self->AddStretchSpacer(proportion);
+}
+
+
+EWXWEXPORT(bool,wxAuiToolBar_Realize)(wxAuiToolBar* self)
+{
+   return self->Realize();
+}
+
+
+EWXWEXPORT(void*,wxAuiToolBar_FindControl)(wxAuiToolBar* self, int window_id)
+{
+   return (void*)self->FindControl(window_id);
+}
+
+
+EWXWEXPORT(void*,wxAuiToolBar_FindToolByPosition)(wxAuiToolBar* self, int x, int y)
+{
+   return (void*)self->FindToolByPosition(x, y);
+}
+
+
+EWXWEXPORT(void*,wxAuiToolBar_FindToolByIndex)(wxAuiToolBar* self, int idx)
+{
+   return (void*)self->FindToolByIndex(idx);
+}
+
+
+EWXWEXPORT(void*,wxAuiToolBar_FindTool)(wxAuiToolBar* self, int tool_id)
+{
+   return (void*)self->FindTool(tool_id);
+}
+
+
+EWXWEXPORT(void,wxAuiToolBar_ClearTools)(wxAuiToolBar* self)
+{
+    self->ClearTools();
+}
+
+
+EWXWEXPORT(void,wxAuiToolBar_Clear)(wxAuiToolBar* self)
+{
+    self->Clear();
+}
+
+
+EWXWEXPORT(bool,wxAuiToolBar_DeleteTool)(wxAuiToolBar* self, int tool_id)
+{
+   return self->DeleteTool(tool_id);
+}
+
+
+EWXWEXPORT(bool,wxAuiToolBar_DeleteByIndex)(wxAuiToolBar* self, int tool_id)
+{
+   return self->DeleteByIndex(tool_id);
+}
+
+
+EWXWEXPORT(size_t,wxAuiToolBar_GetToolCount)(wxAuiToolBar* self)
+{
+  return self->GetToolCount();
+}
+
+
+EWXWEXPORT(int,wxAuiToolBar_GetToolPos)(wxAuiToolBar* self, int tool_id)
+{
+   return self->GetToolPos(tool_id);
+}
+
+
+EWXWEXPORT(int,wxAuiToolBar_GetToolIndex)(wxAuiToolBar* self, int tool_id)
+{
+   return self->GetToolIndex(tool_id);
+}
+
+
+EWXWEXPORT(bool,wxAuiToolBar_GetToolFits)(wxAuiToolBar* self, int tool_id)
+{
+   return self->GetToolFits(tool_id);
+}
+
+EWXWEXPORT(wxRect*,wxAuiToolBar_GetToolRect)(wxAuiToolBar* self, int tool_id )
+{
+	wxRect* rect = new wxRect();
+	*rect = self->GetToolRect(tool_id);
+	return rect;
+}
+
+EWXWEXPORT(bool,wxAuiToolBar_GetToolFitsByIndex)(wxAuiToolBar* self, int tool_id)
+{
+   return self->GetToolFitsByIndex(tool_id);
+}
+
+
+EWXWEXPORT(bool,wxAuiToolBar_GetToolBarFits)(wxAuiToolBar* self)
+{
+   return self->GetToolBarFits();
+}
+
+
+EWXWEXPORT(void,wxAuiToolBar_SetMargins)(wxAuiToolBar* self, int _wdt, int _hgt)
+{
+  self->SetMargins(wxSize(_wdt, _hgt));
+}
+
+
+EWXWEXPORT(void,wxAuiToolBar_SetMarginsXY)(wxAuiToolBar* self, int x, int y)
+{
+    self->SetMargins(x, y);
+}
+
+
+EWXWEXPORT(void,wxAuiToolBar_SetMarginsDetailed)(wxAuiToolBar* self, int left, int right, int top, int bottom)
+{
+    self->SetMargins(left, right, top, bottom);
+}
+
+
+EWXWEXPORT(void,wxAuiToolBar_SetToolBitmapSize)(wxAuiToolBar* self, int _wdt, int _hgt)
+{
+  self->SetToolBitmapSize(wxSize(_wdt, _hgt));
+}
+
+EWXWEXPORT(wxSize*,wxAuiToolBar_GetToolBitmapSize)(wxAuiToolBar* self)
+{
+	wxSize* sz = new wxSize();
+	*sz = self->GetToolBitmapSize();
+	return sz;
+}
+
+EWXWEXPORT(bool,wxAuiToolBar_GetOverflowVisible)(wxAuiToolBar* self)
+{
+   return self->GetOverflowVisible();
+}
+
+
+EWXWEXPORT(void,wxAuiToolBar_SetOverflowVisible)(wxAuiToolBar* self, bool visible)
+{
+    self->SetOverflowVisible(visible);
+}
+
+
+EWXWEXPORT(bool,wxAuiToolBar_GetGripperVisible)(wxAuiToolBar* self)
+{
+   return self->GetGripperVisible();
+}
+
+
+EWXWEXPORT(void,wxAuiToolBar_SetGripperVisible)(wxAuiToolBar* self, bool visible)
+{
+    self->SetGripperVisible(visible);
+}
+
+
+EWXWEXPORT(void,wxAuiToolBar_ToggleTool)(wxAuiToolBar* self, int tool_id, bool state)
+{
+    self->ToggleTool(tool_id, state);
+}
+
+
+EWXWEXPORT(bool,wxAuiToolBar_GetToolToggled)(wxAuiToolBar* self, int tool_id)
+{
+   return self->GetToolToggled(tool_id);
+}
+
+
+EWXWEXPORT(void,wxAuiToolBar_EnableTool)(wxAuiToolBar* self, int tool_id, bool state)
+{
+    self->EnableTool(tool_id, state);
+}
+
+
+EWXWEXPORT(bool,wxAuiToolBar_GetToolEnabled)(wxAuiToolBar* self, int tool_id)
+{
+   return self->GetToolEnabled(tool_id);
+}
+
+
+EWXWEXPORT(void,wxAuiToolBar_SetToolDropDown)(wxAuiToolBar* self, int tool_id, bool dropdown)
+{
+    self->SetToolDropDown(tool_id, dropdown);
+}
+
+
+EWXWEXPORT(bool,wxAuiToolBar_GetToolDropDown)(wxAuiToolBar* self, int tool_id)
+{
+   return self->GetToolDropDown(tool_id);
+}
+
+
+EWXWEXPORT(void,wxAuiToolBar_SetToolBorderPadding)(wxAuiToolBar* self, int padding)
+{
+    self->SetToolBorderPadding(padding);
+}
+
+
+EWXWEXPORT(int,wxAuiToolBar_GetToolBorderPadding)(wxAuiToolBar* self)
+{
+   return self->GetToolBorderPadding();
+}
+
+
+EWXWEXPORT(void,wxAuiToolBar_SetToolTextOrientation)(wxAuiToolBar* self, int orientation)
+{
+    self->SetToolTextOrientation(orientation);
+}
+
+
+EWXWEXPORT(int,wxAuiToolBar_GetToolTextOrientation)(wxAuiToolBar* self)
+{
+   return self->GetToolTextOrientation();
+}
+
+
+EWXWEXPORT(void,wxAuiToolBar_SetToolPacking)(wxAuiToolBar* self, int packing)
+{
+    self->SetToolPacking(packing);
+}
+
+
+EWXWEXPORT(int,wxAuiToolBar_GetToolPacking)(wxAuiToolBar* self)
+{
+   return self->GetToolPacking();
+}
+
+
+EWXWEXPORT(void,wxAuiToolBar_SetToolProportion)(wxAuiToolBar* self, int tool_id, int proportion)
+{
+    self->SetToolProportion(tool_id, proportion);
+}
+
+
+EWXWEXPORT(int,wxAuiToolBar_GetToolProportion)(wxAuiToolBar* self, int tool_id)
+{
+   return self->GetToolProportion(tool_id);
+}
+
+
+EWXWEXPORT(void,wxAuiToolBar_SetToolSeparation)(wxAuiToolBar* self, int separation)
+{
+    self->SetToolSeparation(separation);
+}
+
+
+EWXWEXPORT(int,wxAuiToolBar_GetToolSeparation)(wxAuiToolBar* self)
+{
+   return self->GetToolSeparation();
+}
+
+
+EWXWEXPORT(void,wxAuiToolBar_SetToolSticky)(wxAuiToolBar* self, int tool_id, bool sticky)
+{
+    self->SetToolSticky(tool_id, sticky);
+}
+
+
+EWXWEXPORT(bool,wxAuiToolBar_GetToolSticky)(wxAuiToolBar* self, int tool_id)
+{
+   return self->GetToolSticky(tool_id);
+}
+
+EWXWEXPORT(wxString*,wxAuiToolBar_GetToolLabel)(wxAuiToolBar* self, int tool_id )
+{
+	wxString *result = new wxString();
+	*result = self->GetToolLabel(tool_id);
+	return result;
+}
+
+EWXWEXPORT(void,wxAuiToolBar_SetToolLabel)(wxAuiToolBar* self, int tool_id, wxString* _label)
+{
+  self->SetToolLabel(tool_id,*_label);
+}
+
+
+EWXWEXPORT(void,wxAuiToolBar_GetToolBitmap)(wxAuiToolBar* self, int tool_id, wxBitmap* bmp)
+{
+   *bmp = self->GetToolBitmap(tool_id);
+}
+
+
+EWXWEXPORT(void,wxAuiToolBar_SetToolBitmap)(wxAuiToolBar* self, int tool_id, wxBitmap* _bitmap)
+{
+  self->SetToolBitmap(tool_id,*_bitmap);
+}
+
+EWXWEXPORT(wxString*,wxAuiToolBar_GetToolShortHelp)(wxAuiToolBar* self, int tool_id )
+{
+	wxString *result = new wxString();
+	*result = self->GetToolShortHelp(tool_id);
+	return result;
+}
+
+EWXWEXPORT(void,wxAuiToolBar_SetToolShortHelp)(wxAuiToolBar* self, int tool_id, wxString* _help_string)
+{
+  self->SetToolShortHelp(tool_id,*_help_string);
+}
+
+EWXWEXPORT(wxString*,wxAuiToolBar_GetToolLongHelp)(wxAuiToolBar* self, int tool_id )
+{
+	wxString *result = new wxString();
+	*result = self->GetToolLongHelp(tool_id);
+	return result;
+}
+
+EWXWEXPORT(void,wxAuiToolBar_SetToolLongHelp)(wxAuiToolBar* self, int tool_id, wxString* _help_string)
+{
+  self->SetToolLongHelp(tool_id,*_help_string);
+}
+
+
+EWXWEXPORT(void,wxAuiToolBar_SetCustomOverflowItems)(wxAuiToolBar* self, wxAuiToolBarItemArray* _prepend, wxAuiToolBarItemArray* _append)
+{
+  self->SetCustomOverflowItems(*_prepend,*_append);
+}
+
+EWXWEXPORT(wxSize*,wxAuiToolBar_GetHintSize)(wxAuiToolBar* self, int dock_direction)
+{
+	wxSize* sz = new wxSize();
+	*sz = self->GetHintSize(dock_direction);
+	return sz;
+}
+
+EWXWEXPORT(bool,wxAuiToolBar_IsPaneValid)(wxAuiToolBar* self, wxAuiPaneInfo* _pane)
+{
+  return self->IsPaneValid(*_pane);
+}
+
+
+/* wxAuiNotebook */
+
+EWXWEXPORT(void*,wxAuiNotebook_CreateDefault)()
+{
+   return (void*)new wxAuiNotebook();
+}
+
+EWXWEXPORT(void*,wxAuiNotebook_Create)(wxWindow* _parent, int id, int _lft,int _top, int _wdt, int _hgt, long style )
+{
+ return (void*)new wxAuiNotebook(_parent, id,wxPoint(_lft, _top),wxSize(_wdt, _hgt),style);
+}
+
+
+EWXWEXPORT(bool,wxAuiNotebook_CreateFromDefault)(wxAuiNotebook* self, wxWindow* _parent, int id, int _lft,int _top, int _wdt, int _hgt, long style )
+{
+ return self->Create(_parent, id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), style);
+}
+
+
+EWXWEXPORT(bool,wxAuiNotebook_AddPageWithBitmap)(wxAuiNotebook* self, wxWindow* _page, wxString* _caption, bool select, wxBitmap* _bitmap)
+{
+  return self->AddPage(_page,*_caption,select,*_bitmap);
+}
+
+
+EWXWEXPORT(bool,wxAuiNotebook_AddPage)(wxAuiNotebook* self, wxWindow* _page, wxString* _text, bool select, int imageId )
+{
+  return self->AddPage(_page, *_text, select, imageId);
+}
+
+
+EWXWEXPORT(void,wxAuiNotebook_AdvanceSelection)(wxAuiNotebook* self, bool forward)
+{
+   self->AdvanceSelection(forward);
+}
+
+
+EWXWEXPORT(int,wxAuiNotebook_ChangeSelection)(wxAuiNotebook* self, size_t n)
+{
+  return self->ChangeSelection(n);
+}
+
+
+EWXWEXPORT(bool,wxAuiNotebook_DeleteAllPages)(wxAuiNotebook* self)
+{
+   return self->DeleteAllPages();
+}
+
+
+EWXWEXPORT(bool,wxAuiNotebook_DeletePage)(wxAuiNotebook* self, size_t page)
+{
+  return self->DeletePage(page);
+}
+
+
+EWXWEXPORT(void*,wxAuiNotebook_GetArtProvider)(wxAuiNotebook* self)
+{
+   return (void*)self->GetArtProvider();
+}
+
+
+EWXWEXPORT(void*,wxAuiNotebook_GetCurrentPage)(wxAuiNotebook* self)
+{
+   return (void*)self->GetCurrentPage();
+}
+
+
+EWXWEXPORT(int,wxAuiNotebook_GetHeightForPageHeight)(wxAuiNotebook* self, int pageHeight)
+{
+   return self->GetHeightForPageHeight(pageHeight);
+}
+
+EWXWEXPORT(void*,wxAuiNotebook_GetPage)(wxAuiNotebook* self, size_t page_idx)
+{
+ return (void*)self->GetPage(page_idx);
+}
+
+EWXWEXPORT(void,wxAuiNotebook_GetPageBitmap)(wxAuiNotebook* self, size_t page, wxBitmap* bmp)
+{
+    *bmp = self->GetPageBitmap(page);
+}
+
+
+EWXWEXPORT(size_t,wxAuiNotebook_GetPageCount)(wxAuiNotebook* self)
+{
+  return self->GetPageCount();
+}
+
+
+EWXWEXPORT(int,wxAuiNotebook_GetPageIndex)(wxAuiNotebook* self, wxWindow* _page_wnd)
+{
+  return self->GetPageIndex(_page_wnd);
+}
+
+EWXWEXPORT(wxString*,wxAuiNotebook_GetPageText)(wxAuiNotebook* self, size_t page )
+{
+	wxString *result = new wxString();
+	*result = self->GetPageText(page);
+	return result;
+}
+
+EWXWEXPORT(wxString*,wxAuiNotebook_GetPageToolTip)(wxAuiNotebook* self, size_t pageIdx )
+{
+	wxString *result = new wxString();
+	*result = self->GetPageToolTip(pageIdx);
+	return result;
+}
+
+EWXWEXPORT(int,wxAuiNotebook_GetSelection)(wxAuiNotebook* self)
+{
+   return self->GetSelection();
+}
+
+EWXWEXPORT(int,wxAuiNotebook_GetTabCtrlHeight)(wxAuiNotebook* self)
+{
+   return self->GetTabCtrlHeight();
+}
+
+EWXWEXPORT(bool,wxAuiNotebook_InsertPageWithBitmap)(wxAuiNotebook* self, size_t page_idx, wxWindow* _page, wxString* _caption, bool select, wxBitmap* _bitmap )
+{
+ return self->InsertPage(page_idx, _page, *_caption, select, *_bitmap );
+}
+
+EWXWEXPORT(bool,wxAuiNotebook_InsertPage)(wxAuiNotebook* self, size_t index, wxWindow* _page, wxString* _text, bool select, int imageId )
+{
+ return self->InsertPage(index, _page, *_text, select, imageId );
+}
+
+
+EWXWEXPORT(bool,wxAuiNotebook_RemovePage)(wxAuiNotebook* self, size_t page)
+{
+  return self->RemovePage(page);
+}
+
+
+EWXWEXPORT(void,wxAuiNotebook_SetArtProvider)(wxAuiNotebook* self, wxAuiTabArt* _art)
+{
+   self->SetArtProvider(_art);
+}
+
+
+EWXWEXPORT(bool,wxAuiNotebook_SetFont)(wxAuiNotebook* self, wxFont* _font)
+{
+  return self->SetFont(*_font);
+}
+
+
+EWXWEXPORT(void,wxAuiNotebook_SetMeasuringFont)(wxAuiNotebook* self, wxFont* font)
+{
+    self->SetMeasuringFont(*font);
+}
+
+
+EWXWEXPORT(void,wxAuiNotebook_SetNormalFont)(wxAuiNotebook* self, wxFont* font)
+{
+    self->SetNormalFont(*font);
+}
+
+
+EWXWEXPORT(bool,wxAuiNotebook_SetPageBitmap)(wxAuiNotebook* self, size_t page, wxBitmap* _bitmap)
+{
+  return self->SetPageBitmap(page, *_bitmap);
+}
+
+
+EWXWEXPORT(bool,wxAuiNotebook_SetPageImage)(wxAuiNotebook* self, size_t n, int imageId)
+{
+ return self->SetPageImage(n, imageId);
+}
+
+
+EWXWEXPORT(bool,wxAuiNotebook_SetPageText)(wxAuiNotebook* self, size_t page, wxString* _text)
+{
+  return self->SetPageText(page, *_text);
+}
+
+
+EWXWEXPORT(bool,wxAuiNotebook_SetPageToolTip)(wxAuiNotebook* self, size_t page, wxString* _text)
+{
+  return self->SetPageToolTip(page, *_text);
+}
+
+
+EWXWEXPORT(void,wxAuiNotebook_SetSelectedFont)(wxAuiNotebook* self, wxFont* font)
+{
+    self->SetSelectedFont(*font);
+}
+
+
+EWXWEXPORT(size_t,wxAuiNotebook_SetSelection)(wxAuiNotebook* self, size_t new_page)
+{
+  return self->SetSelection(new_page);
+}
+
+
+EWXWEXPORT(void,wxAuiNotebook_SetTabCtrlHeight)(wxAuiNotebook* self, int height)
+{
+    self->SetTabCtrlHeight(height);
+}
+
+
+EWXWEXPORT(bool,wxAuiNotebook_ShowWindowMenu)(wxAuiNotebook* self)
+{
+   return self->ShowWindowMenu();
+}
+
+
+EWXWEXPORT(void,wxAuiNotebook_SetUniformBitmapSize)(wxAuiNotebook* self, int _wdt, int _hgt)
+{
+  self->SetUniformBitmapSize(wxSize(_wdt, _hgt));
+}
+
+
+EWXWEXPORT(void,wxAuiNotebook_Split)(wxAuiNotebook* self, size_t page, int direction)
+{
+  self->Split(page, direction);
+}
+
+/* wxAuiNotebookEvent */
+
+EWXWEXPORT(void*,wxAuiNotebookEvent_Create)(int commandType, int winid)
+{
+   return (void*)new wxAuiNotebookEvent(commandType, winid);
+}
+
+EWXWEXPORT(wxAuiNotebook*,wxAuiNotebookEvent_GetDragSource)(wxAuiNotebookEvent* self)
+{
+   return self->GetDragSource();
+}
+
+/* wxBookCtrlEvent */
+
+EWXWEXPORT(void*,wxBookCtrlEvent_Create)(int commandType, int winid, int nSel, int nOldSel)
+{
+   return (void*)new wxBookCtrlEvent(commandType, winid, nSel, nOldSel);
+}
+
+EWXWEXPORT(int,wxBookCtrlEvent_GetSelection)(wxBookCtrlEvent* self)
+{
+   return self->GetSelection();
+}
+
+EWXWEXPORT(int,wxBookCtrlEvent_GetOldSelection)(wxBookCtrlEvent* self)
+{
+   return self->GetOldSelection();
+}
+
+/* wxAuiTabContainerButton */
+
+EWXWEXPORT(int,wxAuiTabContainerButton_Id)(wxAuiTabContainerButton* self)
+{
+   return self->id;
+}
+
+
+EWXWEXPORT(int,wxAuiTabContainerButton_CurState)(wxAuiTabContainerButton* self)
+{
+   return self->curState;
+}
+
+
+EWXWEXPORT(int,wxAuiTabContainerButton_Location)(wxAuiTabContainerButton* self)
+{
+   return self->location;
+}
+
+
+EWXWEXPORT(void,wxAuiTabContainerButton_Bitmap)(wxAuiTabContainerButton* self, wxBitmap* _bmp)
+{
+   *_bmp = self->bitmap;
+}
+
+
+EWXWEXPORT(void,wxAuiTabContainerButton_DisBitmap)(wxAuiTabContainerButton* self, wxBitmap* _bmp)
+{
+   *_bmp = self->disBitmap;
+}
+
+EWXWEXPORT(wxRect*,wxAuiTabContainerButton_Rect)(wxAuiTabContainerButton* self)
+{
+	wxRect* rect = new wxRect();
+	*rect = self->rect;
+	return rect;
+}
+
+
+/* wxAuiTabContainer */
+
+EWXWEXPORT(void*,wxAuiTabContainer_Create)()
+{
+   return (void*)new wxAuiTabContainer();
+}
+
+EWXWEXPORT(void,wxAuiTabContainer_SetArtProvider)(wxAuiTabContainer* self, wxAuiTabArt* _art)
+{
+   self->SetArtProvider(_art);
+}
+
+
+EWXWEXPORT(void*,wxAuiTabContainer_GetArtProvider)(wxAuiTabContainer* self)
+{
+   return (void*)self->GetArtProvider();
+}
+
+
+EWXWEXPORT(void,wxAuiTabContainer_SetFlags)(wxAuiTabContainer* self, int _flags)
+{
+    self->SetFlags(_flags);
+}
+
+
+EWXWEXPORT(int,wxAuiTabContainer_GetFlags)(wxAuiTabContainer* self)
+{
+ return self->GetFlags();
+}
+
+
+EWXWEXPORT(bool,wxAuiTabContainer_AddPage)(wxAuiTabContainer* self, wxWindow* _page, wxAuiNotebookPage* _info)
+{
+  return self->AddPage(_page,*_info);
+}
+
+
+EWXWEXPORT(bool,wxAuiTabContainer_InsertPage)(wxAuiTabContainer* self, wxWindow* _page, wxAuiNotebookPage* _info, size_t idx)
+{
+  return self->InsertPage(_page,*_info,idx);
+}
+
+
+EWXWEXPORT(bool,wxAuiTabContainer_MovePage)(wxAuiTabContainer* self, wxWindow* _page, size_t newIdx)
+{
+  return self->MovePage(_page,newIdx);
+}
+
+
+EWXWEXPORT(bool,wxAuiTabContainer_RemovePage)(wxAuiTabContainer* self, wxWindow* _page)
+{
+  return self->RemovePage(_page);
+}
+
+
+EWXWEXPORT(bool,wxAuiTabContainer_SetActivePageByWindow)(wxAuiTabContainer* self, wxWindow* _page)
+{
+  return self->SetActivePage(_page);
+}
+
+
+EWXWEXPORT(bool,wxAuiTabContainer_SetActivePage)(wxAuiTabContainer* self, size_t page)
+{
+  return self->SetActivePage(page);
+}
+
+
+EWXWEXPORT(void,wxAuiTabContainer_SetNoneActive)(wxAuiTabContainer* self)
+{
+    self->SetNoneActive();
+}
+
+
+EWXWEXPORT(int,wxAuiTabContainer_GetActivePage)(wxAuiTabContainer* self)
+{
+   return self->GetActivePage();
+}
+
+/*
+EWXWEXPORT(bool,wxAuiTabContainer_TabHitTest)(wxAuiTabContainer* self, int x, int y, wxWindow** _hit)
+{
+  return self->TabHitTest(x,y,_hit);
+}
+*/
+/*
+EWXWEXPORT(bool,wxAuiTabContainer_ButtonHitTest)(wxAuiTabContainer* self, int x, int y, wxAuiTabContainerButton** _hit)
+{
+  return self->ButtonHitTest(x,y,_hit);
+}
+*/
+EWXWEXPORT(void*,wxAuiTabContainer_GetWindowFromIdx)(wxAuiTabContainer* self, size_t idx)
+{
+ return (void*)self->GetWindowFromIdx(idx);
+}
+
+
+EWXWEXPORT(int,wxAuiTabContainer_GetIdxFromWindow)(wxAuiTabContainer* self, wxWindow* _page)
+{
+  return self->GetIdxFromWindow(_page);
+}
+
+
+EWXWEXPORT(size_t,wxAuiTabContainer_GetPageCount)(wxAuiTabContainer* self)
+{
+  return self->GetPageCount();
+}
+
+EWXWEXPORT(wxAuiNotebookPage*,wxAuiTabContainer_GetPage)(wxAuiTabContainer* self, size_t idx)
+{
+  wxAuiNotebookPage* page = new wxAuiNotebookPage();
+  *page = self->GetPage(idx);
+  return page;
+}
+
+
+EWXWEXPORT(wxAuiNotebookPageArray*,wxAuiTabContainer_GetPages)(wxAuiTabContainer* self)
+{
+  wxAuiNotebookPageArray* pages = new wxAuiNotebookPageArray();
+  *pages = self->GetPages();
+  return pages;
+}
+
+
+EWXWEXPORT(void,wxAuiTabContainer_SetNormalFont)(wxAuiTabContainer* self, wxFont* normalFont)
+{
+    self->SetNormalFont(*normalFont);
+}
+
+
+EWXWEXPORT(void,wxAuiTabContainer_SetSelectedFont)(wxAuiTabContainer* self, wxFont* selectedFont)
+{
+    self->SetSelectedFont(*selectedFont);
+}
+
+
+EWXWEXPORT(void,wxAuiTabContainer_SetMeasuringFont)(wxAuiTabContainer* self, wxFont* measuringFont)
+{
+    self->SetMeasuringFont(*measuringFont);
+}
+
+
+EWXWEXPORT(void,wxAuiTabContainer_SetColour)(wxAuiTabContainer* self, wxColour* _colour)
+{
+    self->SetColour(*_colour);
+}
+
+
+EWXWEXPORT(void,wxAuiTabContainer_SetActiveColour)(wxAuiTabContainer* self, wxColour* _colour)
+{
+    self->SetActiveColour(*_colour);
+}
+
+
+EWXWEXPORT(void,wxAuiTabContainer_DoShowHide)(wxAuiTabContainer* self)
+{
+    self->DoShowHide();
+}
+
+
+EWXWEXPORT(void,wxAuiTabContainer_SetRect)(wxAuiTabContainer* self, wxRect* _rect)
+{
+  self->SetRect(*_rect);
+}
+
+
+EWXWEXPORT(void,wxAuiTabContainer_RemoveButton)(wxAuiTabContainer* self, int id)
+{
+    self->RemoveButton(id);
+}
+
+
+EWXWEXPORT(void,wxAuiTabContainer_AddButton)(wxAuiTabContainer* self, int id, int location, wxBitmap* _normalBitmap, wxBitmap* _disabledBitmap)
+{
+  self->AddButton(id,location,*_normalBitmap,*_disabledBitmap);
+}
+
+
+EWXWEXPORT(size_t,wxAuiTabContainer_GetTabOffset)(wxAuiTabContainer* self)
+{
+  return self->GetTabOffset();
+}
+
+
+EWXWEXPORT(void,wxAuiTabContainer_SetTabOffset)(wxAuiTabContainer* self, size_t offset)
+{
+  self->SetTabOffset(offset);
+}
+
+
+EWXWEXPORT(bool,wxAuiTabContainer_IsTabVisible)(wxAuiTabContainer* self, int tabPage, int tabOffset, wxDC* _dc, wxWindow* _wnd)
+{
+  return self->IsTabVisible(tabPage,tabOffset,_dc,_wnd);
+}
+
+
+EWXWEXPORT(void,wxAuiTabContainer_MakeTabVisible)(wxAuiTabContainer* self, int tabPage, wxWindow* _win)
+{
+  self->MakeTabVisible(tabPage,_win);
+}
+
+/* wxAuiTabCtrl */
+
+EWXWEXPORT(void,wxAuiTabCtrl_SetArtProvider)(wxAuiTabCtrl* self, wxAuiTabArt* _art)
+{
+   self->SetArtProvider(_art);
+}
+
+
+EWXWEXPORT(void*,wxAuiTabCtrl_GetArtProvider)(wxAuiTabCtrl* self)
+{
+   return (void*)self->GetArtProvider();
+}
+
+
+EWXWEXPORT(void,wxAuiTabCtrl_SetFlags)(wxAuiTabCtrl* self, int _flags)
+{
+    self->SetFlags(_flags);
+}
+
+
+EWXWEXPORT(int,wxAuiTabCtrl_GetFlags)(wxAuiTabCtrl* self)
+{
+ return self->GetFlags();
+}
+
+
+EWXWEXPORT(bool,wxAuiTabCtrl_AddPage)(wxAuiTabCtrl* self, wxWindow* _page, wxAuiNotebookPage* _info)
+{
+  return self->AddPage(_page,*_info);
+}
+
+
+EWXWEXPORT(bool,wxAuiTabCtrl_InsertPage)(wxAuiTabCtrl* self, wxWindow* _page, wxAuiNotebookPage* _info, size_t idx)
+{
+  return self->InsertPage(_page,*_info,idx);
+}
+
+
+EWXWEXPORT(bool,wxAuiTabCtrl_MovePage)(wxAuiTabCtrl* self, wxWindow* _page, size_t newIdx)
+{
+  return self->MovePage(_page,newIdx);
+}
+
+
+EWXWEXPORT(bool,wxAuiTabCtrl_RemovePage)(wxAuiTabCtrl* self, wxWindow* _page)
+{
+  return self->RemovePage(_page);
+}
+
+
+EWXWEXPORT(bool,wxAuiTabCtrl_SetActivePageByWindow)(wxAuiTabCtrl* self, wxWindow* _page)
+{
+  return self->SetActivePage(_page);
+}
+
+
+EWXWEXPORT(bool,wxAuiTabCtrl_SetActivePage)(wxAuiTabCtrl* self, size_t page)
+{
+  return self->SetActivePage(page);
+}
+
+
+EWXWEXPORT(void,wxAuiTabCtrl_SetNoneActive)(wxAuiTabCtrl* self)
+{
+    self->SetNoneActive();
+}
+
+
+EWXWEXPORT(int,wxAuiTabCtrl_GetActivePage)(wxAuiTabCtrl* self)
+{
+   return self->GetActivePage();
+}
+
+/*
+EWXWEXPORT(bool,wxAuiTabCtrl_TabHitTest)(wxAuiTabCtrl* self, int x, int y, wxWindow** _hit)
+{
+  return self->TabHitTest(x,y,_hit);
+}
+*/
+/*
+EWXWEXPORT(bool,wxAuiTabCtrl_ButtonHitTest)(wxAuiTabCtrl* self, int x, int y, wxAuiTabContainerButton** _hit)
+{
+  return self->ButtonHitTest(x,y,_hit);
+}
+*/
+EWXWEXPORT(void*,wxAuiTabCtrl_GetWindowFromIdx)(wxAuiTabCtrl* self, size_t idx)
+{
+ return (void*)self->GetWindowFromIdx(idx);
+}
+
+
+EWXWEXPORT(int,wxAuiTabCtrl_GetIdxFromWindow)(wxAuiTabCtrl* self, wxWindow* _page)
+{
+  return self->GetIdxFromWindow(_page);
+}
+
+
+EWXWEXPORT(size_t,wxAuiTabCtrl_GetPageCount)(wxAuiTabCtrl* self)
+{
+  return self->GetPageCount();
+}
+
+EWXWEXPORT(wxAuiNotebookPage*,wxAuiTabCtrl_GetPage)(wxAuiTabCtrl* self, size_t idx)
+{
+  wxAuiNotebookPage* page = new wxAuiNotebookPage();
+  *page = self->GetPage(idx);
+  return page;
+}
+
+
+EWXWEXPORT(wxAuiNotebookPageArray*,wxAuiTabCtrl_GetPages)(wxAuiTabCtrl* self)
+{
+  wxAuiNotebookPageArray* pages = new wxAuiNotebookPageArray();
+  *pages = self->GetPages();
+  return pages;
+}
+
+
+EWXWEXPORT(void,wxAuiTabCtrl_SetNormalFont)(wxAuiTabCtrl* self, wxFont* normalFont)
+{
+    self->SetNormalFont(*normalFont);
+}
+
+
+EWXWEXPORT(void,wxAuiTabCtrl_SetSelectedFont)(wxAuiTabCtrl* self, wxFont* selectedFont)
+{
+    self->SetSelectedFont(*selectedFont);
+}
+
+
+EWXWEXPORT(void,wxAuiTabCtrl_SetMeasuringFont)(wxAuiTabCtrl* self, wxFont* measuringFont)
+{
+    self->SetMeasuringFont(*measuringFont);
+}
+
+
+EWXWEXPORT(void,wxAuiTabCtrl_SetColour)(wxAuiTabCtrl* self, wxColour* _colour)
+{
+    self->SetColour(*_colour);
+}
+
+
+EWXWEXPORT(void,wxAuiTabCtrl_SetActiveColour)(wxAuiTabCtrl* self, wxColour* _colour)
+{
+    self->SetActiveColour(*_colour);
+}
+
+
+EWXWEXPORT(void,wxAuiTabCtrl_DoShowHide)(wxAuiTabCtrl* self)
+{
+    self->DoShowHide();
+}
+
+
+EWXWEXPORT(void,wxAuiTabCtrl_SetRect)(wxAuiTabCtrl* self, wxRect* _rect)
+{
+  self->SetRect(*_rect);
+}
+
+
+EWXWEXPORT(void,wxAuiTabCtrl_RemoveButton)(wxAuiTabCtrl* self, int id)
+{
+    self->RemoveButton(id);
+}
+
+
+EWXWEXPORT(void,wxAuiTabCtrl_AddButton)(wxAuiTabCtrl* self, int id, int location, wxBitmap* _normalBitmap, wxBitmap* _disabledBitmap)
+{
+  self->AddButton(id,location,*_normalBitmap,*_disabledBitmap);
+}
+
+
+EWXWEXPORT(size_t,wxAuiTabCtrl_GetTabOffset)(wxAuiTabCtrl* self)
+{
+  return self->GetTabOffset();
+}
+
+
+EWXWEXPORT(void,wxAuiTabCtrl_SetTabOffset)(wxAuiTabCtrl* self, size_t offset)
+{
+  self->SetTabOffset(offset);
+}
+
+
+EWXWEXPORT(bool,wxAuiTabCtrl_IsTabVisible)(wxAuiTabCtrl* self, int tabPage, int tabOffset, wxDC* _dc, wxWindow* _wnd)
+{
+  return self->IsTabVisible(tabPage,tabOffset,_dc,_wnd);
+}
+
+
+EWXWEXPORT(void,wxAuiTabCtrl_MakeTabVisible)(wxAuiTabCtrl* self, int tabPage, wxWindow* _win)
+{
+  self->MakeTabVisible(tabPage,_win);
+}
+
+
+/* wxAuiTabArt */
+
+
+EWXWEXPORT(void*,wxAuiTabArt_Clone)(wxAuiTabArt* self)
+{
+   return (void*)self->Clone();
+}
+
+
+EWXWEXPORT(void,wxAuiTabArt_DrawBackground)(wxAuiTabArt* self, wxDC* _dc, wxWindow* _wnd, wxRect* _rect)
+{
+  return self->DrawBackground(*_dc,_wnd,*_rect);
+}
+
+
+EWXWEXPORT(void,wxAuiTabArt_DrawButton)(wxAuiTabArt* self, wxDC* _dc, wxWindow* _wnd, wxRect* _in_rect, int bitmap_id, int button_state, int orientation, wxRect* _out_rect)
+{
+ self->DrawButton(*_dc, _wnd, *_in_rect, bitmap_id, button_state, orientation, _out_rect);
+}
+
+
+EWXWEXPORT(void,wxAuiTabArt_DrawTab)(wxAuiTabArt* self, wxDC* _dc, wxWindow* _wnd, wxAuiNotebookPage* _page, wxRect* _rect, int close_button_state, wxRect* _out_tab_rect, wxRect* _out_button_rect, int* x_extent )
+{
+ self->DrawTab(*_dc, _wnd, *_page, *_rect, close_button_state, _out_tab_rect, _out_button_rect, x_extent );
+}
+
+
+EWXWEXPORT(int,wxAuiTabArt_GetBestTabCtrlSize)(wxAuiTabArt* self, wxWindow* _wnd, wxAuiNotebookPageArray* _pages, int _wdt, int _hgt)
+{
+  return self->GetBestTabCtrlSize(_wnd,*_pages,wxSize(_wdt, _hgt));
+}
+
+
+EWXWEXPORT(int,wxAuiTabArt_GetIndentSize)(wxAuiTabArt* self)
+{
+   return self->GetIndentSize();
+}
+
+EWXWEXPORT(wxSize*,wxAuiTabArt_GetTabSize)(wxAuiTabArt* self, wxDC* _dc, wxWindow* _wnd, wxString* _caption, wxBitmap* _bitmap, bool active, int close_button_state, int *x_extent )
+{
+	wxSize* sz = new wxSize();
+	*sz = self->GetTabSize(*_dc,_wnd,*_caption, *_bitmap,active,close_button_state,x_extent );
+	return sz;
+}
+
+EWXWEXPORT(void,wxAuiTabArt_SetFlags)(wxAuiTabArt* self, int _flags)
+{
+    self->SetFlags(_flags);
+}
+
+
+EWXWEXPORT(void,wxAuiTabArt_SetMeasuringFont)(wxAuiTabArt* self, wxFont* font)
+{
+    self->SetMeasuringFont(*font);
+}
+
+
+EWXWEXPORT(void,wxAuiTabArt_SetNormalFont)(wxAuiTabArt* self, wxFont* font)
+{
+    self->SetNormalFont(*font);
+}
+
+
+EWXWEXPORT(void,wxAuiTabArt_SetSelectedFont)(wxAuiTabArt* self, wxFont* font)
+{
+    self->SetSelectedFont(*font);
+}
+
+
+EWXWEXPORT(void,wxAuiTabArt_SetColour)(wxAuiTabArt* self, wxColour* _colour)
+{
+    self->SetColour(*_colour);
+}
+
+
+EWXWEXPORT(void,wxAuiTabArt_SetActiveColour)(wxAuiTabArt* self, wxColour* _colour)
+{
+    self->SetActiveColour(*_colour);
+}
+
+
+EWXWEXPORT(void,wxAuiTabArt_SetSizingInfo)(wxAuiTabArt* self, int _wdt, int _hgt, size_t tab_count)
+{
+  self->SetSizingInfo(wxSize(_wdt, _hgt),tab_count);
+}
+
+/* wxAuiTabCtrll */
+
+
+
+
+/* wxAuiSimpleTabArt */
+
+EWXWEXPORT(void*,wxAuiSimpleTabArt_Create)()
+{
+   return (void*)new wxAuiSimpleTabArt();
+}
+
+
+EWXWEXPORT(void*,wxAuiSimpleTabArt_Clone)(wxAuiSimpleTabArt* self)
+{
+   return (void*)self->Clone();
+}
+
+
+EWXWEXPORT(void,wxAuiSimpleTabArt_SetFlags)(wxAuiSimpleTabArt* self, int _flags)
+{
+    self->SetFlags(_flags);
+}
+
+
+EWXWEXPORT(void,wxAuiSimpleTabArt_SetSizingInfo)(wxAuiSimpleTabArt* self, int _wdt, int _hgt, size_t tabCount)
+{
+  self->SetSizingInfo(wxSize(_wdt, _hgt),tabCount);
+}
+
+
+EWXWEXPORT(void,wxAuiSimpleTabArt_SetNormalFont)(wxAuiSimpleTabArt* self, wxFont* font)
+{
+    self->SetNormalFont(*font);
+}
+
+
+EWXWEXPORT(void,wxAuiSimpleTabArt_SetSelectedFont)(wxAuiSimpleTabArt* self, wxFont* font)
+{
+    self->SetSelectedFont(*font);
+}
+
+
+EWXWEXPORT(void,wxAuiSimpleTabArt_SetMeasuringFont)(wxAuiSimpleTabArt* self, wxFont* font)
+{
+    self->SetMeasuringFont(*font);
+}
+
+
+EWXWEXPORT(void,wxAuiSimpleTabArt_SetColour)(wxAuiSimpleTabArt* self, wxColour* _colour)
+{
+    self->SetColour(*_colour);
+}
+
+
+EWXWEXPORT(void,wxAuiSimpleTabArt_SetActiveColour)(wxAuiSimpleTabArt* self, wxColour* _colour)
+{
+    self->SetActiveColour(*_colour);
+}
+
+
+EWXWEXPORT(void,wxAuiSimpleTabArt_DrawBackground)(wxAuiSimpleTabArt* self, wxDC* _dc, wxWindow* _wnd, wxRect* _rect)
+{
+  return self->DrawBackground(*_dc,_wnd,*_rect);
+}
+
+
+EWXWEXPORT(void,wxAuiSimpleTabArt_DrawTab)(wxAuiSimpleTabArt* self, wxDC* _dc, wxWindow* _wnd, wxAuiNotebookPage* _pane, wxRect* _inRect, int closeButtonState, wxRect* _outTabRect, wxRect* _outButtonRect, int* xExtent )
+{
+ self->DrawTab(*_dc, _wnd, *_pane, *_inRect, closeButtonState, _outTabRect, _outButtonRect, xExtent );
+}
+
+
+EWXWEXPORT(void,wxAuiSimpleTabArt_DrawButton)(wxAuiSimpleTabArt* self, wxDC* _dc, wxWindow* _wnd, wxRect* _inRect, int bitmapId, int buttonState, int orientation, wxRect* _outRect)
+{
+ self->DrawButton(*_dc, _wnd, *_inRect, bitmapId, buttonState, orientation, _outRect);
+}
+
+
+EWXWEXPORT(int,wxAuiSimpleTabArt_GetIndentSize)(wxAuiSimpleTabArt* self)
+{
+   return self->GetIndentSize();
+}
+
+EWXWEXPORT(wxSize*,wxAuiSimpleTabArt_GetTabSize)(wxAuiSimpleTabArt* self, wxDC* _dc, wxWindow* _wnd, wxString* _caption, wxBitmap* _bitmap, bool active, int close_button_state, int *x_extent )
+{
+	wxSize* sz = new wxSize();
+	*sz = self->GetTabSize(*_dc,_wnd,*_caption, *_bitmap,active,close_button_state,x_extent );
+	return sz;
+}
+
+EWXWEXPORT(int,wxAuiSimpleTabArt_ShowDropDown)(wxAuiSimpleTabArt* self, wxWindow* _wnd, wxAuiNotebookPageArray* _items, int activeIdx)
+{
+  return self->ShowDropDown(_wnd,*_items,activeIdx);
+}
+
+
+EWXWEXPORT(int,wxAuiSimpleTabArt_GetBestTabCtrlSize)(wxAuiSimpleTabArt* self, wxWindow* _wnd, wxAuiNotebookPageArray* _pages, int _wdt, int _hgt)
+{
+  return self->GetBestTabCtrlSize(_wnd,*_pages,wxSize(_wdt, _hgt));
+}
+
+
+
+/* wxAuiManager - public member */
+
+EWXWEXPORT(void*,wxAuiManager_Create)(wxWindow* _managed_wnd, int _flags)
+{
+ return (void*) new wxAuiManager(_managed_wnd, _flags);
+}
+
+EWXWEXPORT(bool,wxAuiManager_DetachPane)(wxAuiManager* self, wxWindow* _window)
+{
+  return self->DetachPane(_window);
+}
+
+
+EWXWEXPORT(wxAuiPaneInfoArray,wxAuiManager_GetAllPanes)(wxAuiManager* self)
+{
+   return self->GetAllPanes();
+}
+
+
+EWXWEXPORT(void*,wxAuiManager_GetArtProvider)(wxAuiManager* self)
+{
+   return (void*)self->GetArtProvider();
+}
+
+EWXWEXPORT(void,wxAuiManager_GetDockSizeConstraint)(wxAuiManager* self, double* widthpct, double* heightpct)
+{
+    self->GetDockSizeConstraint(widthpct, heightpct);
+}
+
+EWXWEXPORT(int,wxAuiManager_GetFlags)(wxAuiManager* self)
+{
+ return self->GetFlags();
+}
+
+
+EWXWEXPORT(void*,wxAuiManager_GetManagedWindow)(wxAuiManager* self)
+{
+   return (void*)self->GetManagedWindow();
+}
+
+
+EWXWEXPORT(void,wxAuiManager_HideHint)(wxAuiManager* self)
+{
+    self->HideHint();
+}
+
+
+EWXWEXPORT(bool,wxAuiManager_InsertPane)(wxAuiManager* self, wxWindow* _window, wxAuiPaneInfo* _insert_location, int _insert_level)
+{
+  return self->InsertPane(_window,*_insert_location,_insert_level);
+}
+
+
+EWXWEXPORT(void,wxAuiManager_LoadPaneInfo)(wxAuiManager* self, wxString* _pane_part, wxAuiPaneInfo* _pane)
+{
+  self->LoadPaneInfo(*_pane_part,*_pane);
+}
+
+
+EWXWEXPORT(bool,wxAuiManager_LoadPerspective)(wxAuiManager* self, wxString* _perspective, bool update)
+{
+  return self->LoadPerspective(*_perspective,update);
+}
+
+EWXWEXPORT(wxString*,wxAuiManager_SavePaneInfo)(wxAuiManager* self, wxAuiPaneInfo* _pane )
+{
+	wxString *result = new wxString();
+	*result = self->SavePaneInfo(*_pane);
+	return result;
+}
+
+EWXWEXPORT(wxString*,wxAuiManager_SavePerspective)(wxAuiManager* self)
+{
+	wxString *result = new wxString();
+	*result = self->SavePerspective();
+	return result;
+}
+
+EWXWEXPORT(void,wxAuiManager_SetArtProvider)(wxAuiManager* self, wxAuiDockArt* _art_provider)
+{
+   self->SetArtProvider(_art_provider);
+}
+
+
+EWXWEXPORT(void,wxAuiManager_SetDockSizeConstraint)(wxAuiManager* self, double widthpct, double heightpct)
+{
+    self->SetDockSizeConstraint(widthpct, heightpct);
+}
+
+
+EWXWEXPORT(void,wxAuiManager_SetFlags)(wxAuiManager* self, int flags)
+{
+    self->SetFlags(flags);
+}
+
+
+EWXWEXPORT(void,wxAuiManager_SetManagedWindow)(wxAuiManager* self, wxWindow* _managed_wnd)
+{
+   self->SetManagedWindow(_managed_wnd);
+}
+
+
+EWXWEXPORT(void,wxAuiManager_ShowHint)(wxAuiManager* self, wxRect* _rect)
+{
+  self->ShowHint(*_rect);
+}
+
+
+EWXWEXPORT(void,wxAuiManager_UnInit)(wxAuiManager* self)
+{
+    self->UnInit();
+}
+
+
+EWXWEXPORT(void,wxAuiManager_Update)(wxAuiManager* self)
+{
+    self->Update();
+}
+
+
+
+EWXWEXPORT(bool,wxAuiManager_AddPane)(wxAuiManager* self, wxWindow* _window, int _direction, wxString* _caption)
+{
+  return self->AddPane(_window,_direction,*_caption);
+}
+
+
+EWXWEXPORT(bool,wxAuiManager_AddPaneByPaneInfo)(wxAuiManager* self, wxWindow* _window, wxAuiPaneInfo* _pane_info)
+{
+  return self->AddPane(_window,*_pane_info);
+}
+
+
+EWXWEXPORT(bool,wxAuiManager_AddPaneByPaneInfoAndDropPosition)(wxAuiManager* self, wxWindow* _window, wxAuiPaneInfo* _pane_info, int _lft,int _top)
+{
+  return self->AddPane(_window,*_pane_info,wxPoint(_lft, _top));
+}
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiManager_GetPaneByWindow)(wxAuiManager* self, wxWindow* _window)
+{
+  wxAuiPaneInfo* info = new wxAuiPaneInfo();
+  *info = self->GetPane(_window);
+  return info;
+}
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiManager_GetPaneByName)(wxAuiManager* self, wxString* id)
+{
+   wxAuiPaneInfo* info = new wxAuiPaneInfo();
+  *info = self->GetPane(*id);
+  return info;
+}
+
+EWXWEXPORT(void*,wxAuiManager_GetManager)(wxWindow* _window)
+{
+ return wxAuiManager::GetManager(_window);
+}
+ 
+
+/* wxAuiDockArt */
+
+EWXWEXPORT(void,wxAuiDockArt_DrawBackground)(wxAuiDockArt* self, wxDC* _dc, wxWindow* _window, int orientation, wxRect* _rect)
+{
+  self->DrawBackground(*_dc,_window,orientation,*_rect);
+}
+
+
+EWXWEXPORT(void,wxAuiDockArt_DrawBorder)(wxAuiDockArt* self, wxDC* _dc, wxWindow* _window, wxRect* _rect, wxAuiPaneInfo* _pane)
+{
+  self->DrawBorder(*_dc,_window,*_rect,*_pane);
+}
+
+
+EWXWEXPORT(void,wxAuiDockArt_DrawCaption)(wxAuiDockArt* self, wxDC* _dc, wxWindow* _window, wxString* _text, wxRect* _rect, wxAuiPaneInfo* _pane)
+{
+ self->DrawCaption(*_dc, _window, *_text, *_rect, *_pane);
+}
+
+
+EWXWEXPORT(void,wxAuiDockArt_DrawGripper)(wxAuiDockArt* self, wxDC* _dc, wxWindow* _window, wxRect* _rect, wxAuiPaneInfo* _pane)
+{
+  self->DrawGripper(*_dc,_window,*_rect,*_pane);
+}
+
+
+EWXWEXPORT(void,wxAuiDockArt_DrawPaneButton)(wxAuiDockArt* self, wxDC* _dc, wxWindow* _window, int button, int button_state, wxRect* _rect, wxAuiPaneInfo* _pane)
+{
+ self->DrawPaneButton(*_dc, _window, button, button_state, *_rect, *_pane);
+}
+
+
+EWXWEXPORT(void,wxAuiDockArt_DrawSash)(wxAuiDockArt* self, wxDC* _dc, wxWindow* _window, int orientation, wxRect* _rect)
+{
+  self->DrawSash(*_dc,_window,orientation,*_rect);
+}
+
+EWXWEXPORT(wxColour*,wxAuiDockArt_GetColour)(wxAuiDockArt* self, int id)
+{
+	wxColour* colr = new wxColour();
+	*colr = self->GetColour(id);
+	return colr;
+}
+
+EWXWEXPORT(wxFont*,wxAuiDockArt_GetFont)(wxAuiDockArt* self, int id)
+{
+	wxFont* font = new wxFont();
+	*font = self->GetFont(id);
+	return font;
+}
+
+EWXWEXPORT(int,wxAuiDockArt_GetMetric)(wxAuiDockArt* self, int id)
+{
+   return self->GetMetric(id);
+}
+
+
+EWXWEXPORT(void,wxAuiDockArt_SetColour)(wxAuiDockArt* self, int id, wxColour* _colour)
+{
+  self->SetColour(id,*_colour);
+}
+
+
+EWXWEXPORT(void,wxAuiDockArt_SetFont)(wxAuiDockArt* self, int id, wxFont* _font)
+{
+  self->SetFont(id,*_font);
+}
+
+
+EWXWEXPORT(void,wxAuiDockArt_SetMetric)(wxAuiDockArt* self, int id, int new_val)
+{
+    self->SetMetric(id, new_val);
+}
+
+
+/* wxAuiPaneInfo */
+
+EWXWEXPORT(void*,wxAuiPaneInfo_CreateDefault)()
+{
+   return (void*)new wxAuiPaneInfo();
+}
+
+
+EWXWEXPORT(void*,wxAuiPaneInfo_Create)(wxAuiPaneInfo* _c)
+{
+ return (void*) new wxAuiPaneInfo(*_c);
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_Bottom)(wxAuiPaneInfo* self)
+{
+    wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->Bottom();
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_BottomDockable)(wxAuiPaneInfo* self, bool b)
+{
+  wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->BottomDockable(b);
+  return out;
+}
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_Caption)(wxAuiPaneInfo* self, wxString* _c)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->Caption(*_c);
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_CaptionVisible)(wxAuiPaneInfo* self, bool visible)
+{
+  wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->CaptionVisible(visible);
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_CloseButton)(wxAuiPaneInfo* self, bool visible)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->CloseButton(visible);
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_DefaultPane)(wxAuiPaneInfo* self)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+*out = self->DefaultPane();
+return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_DestroyOnClose)(wxAuiPaneInfo* self, bool b)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+*out = self->DestroyOnClose(b);
+return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_Direction)(wxAuiPaneInfo* self, int direction)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->Direction(direction);
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_Dock)(wxAuiPaneInfo* self)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->Dock();
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_DockFixed)(wxAuiPaneInfo* self, bool b)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->DockFixed(b);
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_Dockable)(wxAuiPaneInfo* self, bool b)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->Dockable(b);
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_Fixed)(wxAuiPaneInfo* self)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->Fixed();
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_Float)(wxAuiPaneInfo* self)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->Float();
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_Floatable)(wxAuiPaneInfo* self, bool b)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->Floatable(b);
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_Gripper)(wxAuiPaneInfo* self, bool visible)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->Gripper(visible);
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_GripperTop)(wxAuiPaneInfo* self, bool attop)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->GripperTop(attop);
+  return out;
+}
+
+
+EWXWEXPORT(bool,wxAuiPaneInfo_HasBorder)(wxAuiPaneInfo* self)
+{
+   return self->HasBorder();
+}
+
+
+EWXWEXPORT(bool,wxAuiPaneInfo_HasCaption)(wxAuiPaneInfo* self)
+{
+   return self->HasCaption();
+}
+
+
+EWXWEXPORT(bool,wxAuiPaneInfo_HasCloseButton)(wxAuiPaneInfo* self)
+{
+   return self->HasCloseButton();
+}
+
+
+EWXWEXPORT(bool,wxAuiPaneInfo_HasFlag)(wxAuiPaneInfo* self, int flag)
+{
+   return self->HasFlag(flag);
+}
+
+
+EWXWEXPORT(bool,wxAuiPaneInfo_HasGripper)(wxAuiPaneInfo* self)
+{
+   return self->HasGripper();
+}
+
+
+EWXWEXPORT(bool,wxAuiPaneInfo_HasGripperTop)(wxAuiPaneInfo* self)
+{
+   return self->HasGripperTop();
+}
+
+
+EWXWEXPORT(bool,wxAuiPaneInfo_HasMaximizeButton)(wxAuiPaneInfo* self)
+{
+   return self->HasMaximizeButton();
+}
+
+
+EWXWEXPORT(bool,wxAuiPaneInfo_HasMinimizeButton)(wxAuiPaneInfo* self)
+{
+   return self->HasMinimizeButton();
+}
+
+
+EWXWEXPORT(bool,wxAuiPaneInfo_HasPinButton)(wxAuiPaneInfo* self)
+{
+   return self->HasPinButton();
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_Hide)(wxAuiPaneInfo* self)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->Hide();
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_Icon)(wxAuiPaneInfo* self, wxBitmap* _b)
+{
+  wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->Icon(*_b);
+  return out;
+}
+
+
+EWXWEXPORT(bool,wxAuiPaneInfo_IsBottomDockable)(wxAuiPaneInfo* self)
+{
+   return self->IsBottomDockable();
+}
+
+
+EWXWEXPORT(bool,wxAuiPaneInfo_IsDockable)(wxAuiPaneInfo* self)
+{
+   return self->IsDockable();
+}
+
+
+EWXWEXPORT(bool,wxAuiPaneInfo_IsDocked)(wxAuiPaneInfo* self)
+{
+   return self->IsDocked();
+}
+
+
+EWXWEXPORT(bool,wxAuiPaneInfo_IsFixed)(wxAuiPaneInfo* self)
+{
+   return self->IsFixed();
+}
+
+
+EWXWEXPORT(bool,wxAuiPaneInfo_IsFloatable)(wxAuiPaneInfo* self)
+{
+   return self->IsFloatable();
+}
+
+
+EWXWEXPORT(bool,wxAuiPaneInfo_IsFloating)(wxAuiPaneInfo* self)
+{
+   return self->IsFloating();
+}
+
+
+EWXWEXPORT(bool,wxAuiPaneInfo_IsLeftDockable)(wxAuiPaneInfo* self)
+{
+   return self->IsLeftDockable();
+}
+
+
+EWXWEXPORT(bool,wxAuiPaneInfo_IsMovable)(wxAuiPaneInfo* self)
+{
+   return self->IsMovable();
+}
+
+
+EWXWEXPORT(bool,wxAuiPaneInfo_IsOk)(wxAuiPaneInfo* self)
+{
+   return self->IsOk();
+}
+
+
+EWXWEXPORT(bool,wxAuiPaneInfo_IsResizable)(wxAuiPaneInfo* self)
+{
+   return self->IsResizable();
+}
+
+
+EWXWEXPORT(bool,wxAuiPaneInfo_IsRightDockable)(wxAuiPaneInfo* self)
+{
+   return self->IsRightDockable();
+}
+
+
+EWXWEXPORT(bool,wxAuiPaneInfo_IsShown)(wxAuiPaneInfo* self)
+{
+   return self->IsShown();
+}
+
+
+EWXWEXPORT(bool,wxAuiPaneInfo_IsToolbar)(wxAuiPaneInfo* self)
+{
+   return self->IsToolbar();
+}
+
+
+EWXWEXPORT(bool,wxAuiPaneInfo_IsTopDockable)(wxAuiPaneInfo* self)
+{
+   return self->IsTopDockable();
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_Layer)(wxAuiPaneInfo* self, int layer)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->Layer(layer);
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_Left)(wxAuiPaneInfo* self)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->Left();
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_LeftDockable)(wxAuiPaneInfo* self, bool b)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->LeftDockable(b);
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_MaximizeButton)(wxAuiPaneInfo* self, bool visible)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->MaximizeButton(visible);
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_MinimizeButton)(wxAuiPaneInfo* self, bool visible)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->MinimizeButton(visible);
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_Movable)(wxAuiPaneInfo* self, bool b)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->Movable(b);
+  return out;
+}
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_Name)(wxAuiPaneInfo* self, wxString* _n)
+{
+ wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->Name(*_n);
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_PaneBorder)(wxAuiPaneInfo* self, bool visible)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->PaneBorder(visible);
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_PinButton)(wxAuiPaneInfo* self, bool visible)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->PinButton(visible);
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_Position)(wxAuiPaneInfo* self, int pos)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->Position(pos);
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_Resizable)(wxAuiPaneInfo* self, bool resizable)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->Resizable(resizable);
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_Right)(wxAuiPaneInfo* self)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->Right();
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_RightDockable)(wxAuiPaneInfo* self, bool b)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->RightDockable(b);
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_Row)(wxAuiPaneInfo* self, int row)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->Row(row);
+  return out;
+}
+
+
+EWXWEXPORT(void,wxAuiPaneInfo_SafeSet)(wxAuiPaneInfo* self, wxAuiPaneInfo* source)
+{
+   self->SafeSet(*source);
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_SetFlag)(wxAuiPaneInfo* self, int flag, bool option_state)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->SetFlag(flag, option_state);
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_Show)(wxAuiPaneInfo* self, bool show)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->Show(show);
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_ToolbarPane)(wxAuiPaneInfo* self)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->ToolbarPane();
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_Top)(wxAuiPaneInfo* self)
+{
+   
+  wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->Top();
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_TopDockable)(wxAuiPaneInfo* self, bool b)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->TopDockable(b);
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_Window)(wxAuiPaneInfo* self, wxWindow* _w)
+{
+  wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->Window(_w);
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_Copy)(wxAuiPaneInfo* self, wxAuiPaneInfo* _c)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->operator=(*_c);
+  return out;
+}
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_BestSize)(wxAuiPaneInfo* self, int _wdt, int _hgt)
+{
+  wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->BestSize(wxSize(_wdt, _hgt));
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_BestSizeXY)(wxAuiPaneInfo* self, int x, int y)
+{
+  wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->BestSize(x, y);
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_Centre)(wxAuiPaneInfo* self)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->Centre();
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_Center)(wxAuiPaneInfo* self)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->Center();
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_CentrePane)(wxAuiPaneInfo* self)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->CentrePane();
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_CenterPane)(wxAuiPaneInfo* self)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->CenterPane();
+  return out;
+}
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_FloatingPosition)(wxAuiPaneInfo* self, int _lft,int _top)
+{
+ wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->FloatingPosition(wxPoint(_lft, _top));
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_FloatingPositionXY)(wxAuiPaneInfo* self, int x, int y)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->FloatingPosition(x, y);
+  return out;
+}
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_FloatingSize)(wxAuiPaneInfo* self, int _wdt, int _hgt)
+{
+ wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->FloatingSize(wxSize(_wdt, _hgt));
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_FloatingSizeXY)(wxAuiPaneInfo* self, int x, int y)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->FloatingSize(x, y);
+  return out;
+}
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_MaxSize)(wxAuiPaneInfo* self, int _wdt, int _hgt)
+{
+ wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->MaxSize(wxSize(_wdt, _hgt));
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_MaxSizeXY)(wxAuiPaneInfo* self, int x, int y)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->MaxSize(x, y);
+  return out;
+}
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_MinSize)(wxAuiPaneInfo* self, int _wdt, int _hgt)
+{
+ wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->MinSize(wxSize(_wdt, _hgt));
+  return out;
+}
+
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfo_MinSizeXY)(wxAuiPaneInfo* self, int x, int y)
+{
+   wxAuiPaneInfo* out = new wxAuiPaneInfo();
+  *out = self->MinSize(x, y);
+  return out;
+}
+
+
+/* wxAuiManagerEvent */
+
+EWXWEXPORT(void*,wxAuiManagerEvent_Create)(int type)
+{
+   return (void*)new wxAuiManagerEvent(type);
+}
+
+EWXWEXPORT(bool,wxAuiManagerEvent_CanVeto)(wxAuiManagerEvent* self)
+{
+   return self->CanVeto();
+}
+
+
+EWXWEXPORT(int,wxAuiManagerEvent_GetButton)(wxAuiManagerEvent* self)
+{
+   return self->GetButton();
+}
+
+EWXWEXPORT(wxDC*,wxAuiManagerEvent_GetDC)(wxAuiManagerEvent* self)
+{
+	return self->GetDC();
+}
+
+EWXWEXPORT(bool,wxAuiManagerEvent_GetVeto)(wxAuiManagerEvent* self)
+{
+   return self->GetVeto();
+}
+
+
+EWXWEXPORT(void*,wxAuiManagerEvent_GetManager)(wxAuiManagerEvent* self)
+{
+   return (void*)self->GetManager();
+}
+
+
+EWXWEXPORT(void*,wxAuiManagerEvent_GetPane)(wxAuiManagerEvent* self)
+{
+   return (void*)self->GetPane();
+}
+
+
+EWXWEXPORT(void,wxAuiManagerEvent_SetButton)(wxAuiManagerEvent* self, int button)
+{
+    self->SetButton(button);
+}
+
+
+EWXWEXPORT(void,wxAuiManagerEvent_SetCanVeto)(wxAuiManagerEvent* self, bool can_veto)
+{
+    self->SetCanVeto(can_veto);
+}
+
+
+EWXWEXPORT(void,wxAuiManagerEvent_SetDC)(wxAuiManagerEvent* self, wxDC* pdc)
+{
+    self->SetDC(pdc);
+}
+ 
+
+EWXWEXPORT(void,wxAuiManagerEvent_SetManager)(wxAuiManagerEvent* self, wxAuiManager* _manager)
+{
+   self->SetManager(_manager);
+}
+
+
+EWXWEXPORT(void,wxAuiManagerEvent_SetPane)(wxAuiManagerEvent* self, wxAuiPaneInfo* _pane)
+{
+   self->SetPane(_pane);
+}
+
+
+EWXWEXPORT(void,wxAuiManagerEvent_Veto)(wxAuiManagerEvent* self, bool veto)
+{
+    self->Veto(veto);
+}
+
+
+/* wxBookCtrlBase */
+
+EWXWEXPORT(bool,wxBookCtrlBase_CreateFromDefault)(wxAuiNotebook* self, wxWindow* _parent, int winid, int _lft,int _top, int _wdt, int _hgt, long style )
+{
+ return self->Create(_parent, winid, wxPoint(_lft, _top), wxSize(_wdt, _hgt), style  );
+}
+
+
+EWXWEXPORT(void,wxBookCtrlBase_SetPageSize)(wxBookCtrlBase* self, int _wdt, int _hgt)
+{
+  self->SetPageSize(wxSize(_wdt, _hgt));
+}
+
+EWXWEXPORT(int,wxBookCtrlBase_HitTest)(wxBookCtrlBase* self, int _lft,int _top, long* flags )
+{
+ return self->HitTest(wxPoint(_lft, _top),flags);
+}
+
+
+EWXWEXPORT(int,wxBookCtrlBase_GetPageImage)(wxBookCtrlBase* self, size_t nPage)
+{
+  return self->GetPageImage(nPage);
+}
+
+
+EWXWEXPORT(bool,wxBookCtrlBase_SetPageImage)(wxBookCtrlBase* self, size_t page, int image)
+{
+ return self->SetPageImage(page, image);
+}
+
+EWXWEXPORT(wxString*,wxBookCtrlBase_GetPageText)(wxBookCtrlBase* self, size_t nPage )
+{
+	wxString *result = new wxString();
+	*result = self->GetPageText(nPage);
+	return result;
+}
+
+EWXWEXPORT(bool,wxBookCtrlBase_SetPageText)(wxBookCtrlBase* self, size_t page, wxString* _text)
+{
+  return self->SetPageText(page, *_text);
+}
+
+
+EWXWEXPORT(int,wxBookCtrlBase_GetSelection)(wxBookCtrlBase* self)
+{
+   return self->GetSelection();
+}
+
+
+EWXWEXPORT(void*,wxBookCtrlBase_GetCurrentPage)(wxBookCtrlBase* self)
+{
+   return (void*)self->GetCurrentPage();
+}
+
+
+EWXWEXPORT(int,wxBookCtrlBase_SetSelection)(wxBookCtrlBase* self, size_t page)
+{
+  return self->SetSelection(page);
+}
+
+
+EWXWEXPORT(void,wxBookCtrlBase_AdvanceSelection)(wxBookCtrlBase* self, bool forward)
+{
+    self->AdvanceSelection(forward);
+}
+
+
+EWXWEXPORT(int,wxBookCtrlBase_ChangeSelection)(wxBookCtrlBase* self, size_t page)
+{
+  return self->ChangeSelection(page);
+}
+
+
+EWXWEXPORT(int,wxBookCtrlBase_FindPage)(wxBookCtrlBase* self, wxWindow* _page)
+{
+  return self->FindPage(_page);
+}
+
+EWXWEXPORT(bool,wxBookCtrlBase_AddPage)(wxBookCtrlBase* self, wxWindow* _page, wxString* _text, bool select, int imageId )
+{
+ return self->AddPage(_page, *_text, select, imageId );
+}
+
+EWXWEXPORT(bool,wxBookCtrlBase_DeleteAllPages)(wxBookCtrlBase* self)
+{
+   return self->DeleteAllPages();
+}
+
+
+EWXWEXPORT(bool,wxBookCtrlBase_DeletePage)(wxBookCtrlBase* self, size_t page)
+{
+  return self->DeletePage(page);
+}
+
+
+EWXWEXPORT(bool,wxBookCtrlBase_InsertPage)(wxBookCtrlBase* self, size_t index, wxWindow* _page, wxString* _text, bool select, int imageId )
+{
+ return self->InsertPage(index, _page, *_text, select, imageId );
+}
+
+
+EWXWEXPORT(bool,wxBookCtrlBase_RemovePage)(wxBookCtrlBase* self, size_t page)
+{
+  return self->RemovePage(page);
+}
+
+
+EWXWEXPORT(size_t,wxBookCtrlBase_GetPageCount)(wxBookCtrlBase* self)
+{
+  return self->GetPageCount();
+}
+
+EWXWEXPORT(void*,wxBookCtrlBase_GetPage)(wxBookCtrlBase* self, size_t page)
+{
+ return (void*)self->GetPage(page);
+}
+
+
+EWXWEXPORT(void,wxBookCtrlBase_AssignImageList)(wxBookCtrlBase* self, wxImageList* imageList)
+{
+   self->AssignImageList(imageList);
+}
+
+
+EWXWEXPORT(void,wxBookCtrlBase_SetImageList)(wxBookCtrlBase* self, wxImageList* imageList)
+{
+   self->SetImageList(imageList);
+}
+
+
+EWXWEXPORT(void*,wxBookCtrlBase_GetImageList)(wxBookCtrlBase* self)
+{
+   return (void*)self->GetImageList();
+}
+
+/** wxAuiNotebookPage **/
+EWXWEXPORT(wxWindow*,wxAuiNotebookPage_Window)(wxAuiNotebookPage* self)
+{
+  return self->window;
+}
+
+EWXWEXPORT(wxString*,wxAuiNotebookPage_Caption)(wxAuiNotebookPage* self)
+{
+  wxString *result = new wxString();
+  *result = self->caption;
+  return result;
+}
+
+EWXWEXPORT(wxString*,wxAuiNotebookPage_Tooltip)(wxAuiNotebookPage* self)
+{
+  wxString *result = new wxString();
+  *result = self->tooltip;
+  return result;
+}
+
+EWXWEXPORT(wxBitmap*,wxAuiNotebookPage_Bitmap)(wxAuiNotebookPage* self)
+{
+  wxBitmap *result = new wxBitmap();
+  *result = self->bitmap;
+  return result;
+}
+
+EWXWEXPORT(wxRect*,wxAuiNotebookPage_Rect)(wxAuiNotebookPage* self)
+{
+  wxRect* rect = new wxRect();
+  *rect = self->rect;
+  return rect;
+}
+
+EWXWEXPORT(bool,wxAuiNotebookPage_Active)(wxAuiNotebookPage* self)
+{
+  return self->active;
+}
+
+/** wxAuiNotebookPageArray **/
+/** see wxWidgets dynarray.h for additional array functions **/
+
+EWXWEXPORT(wxAuiNotebookPageArray*,wxAuiNotebookPageArray_Create)()
+{
+  return new wxAuiNotebookPageArray();
+}
+
+EWXWEXPORT(void,wxAuiNotebookPageArray_Delete)(wxAuiNotebookPageArray* self)
+{
+  delete self;
+}
+
+EWXWEXPORT(int,wxAuiNotebookPageArray_GetCount)(wxAuiNotebookPageArray* self)
+{
+  return self->GetCount();
+}
+
+EWXWEXPORT(wxAuiNotebookPage*,wxAuiNotebookPageArray_Item)(wxAuiNotebookPageArray* self,int _idx)
+{
+  wxAuiNotebookPage* page = new wxAuiNotebookPage();
+  *page = self->Item(_idx);
+  return page;
+}
+
+/** wxAuiToolBarItemArray **/
+/** see wxWidgets dynarray.h for additional array functions **/
+EWXWEXPORT(wxAuiToolBarItemArray*,wxAuiToolBarItemArray_Create)()
+{
+  return new wxAuiToolBarItemArray();
+}
+
+EWXWEXPORT(void,wxAuiToolBarItemArray_Delete)(wxAuiToolBarItemArray* self)
+{
+  delete self;
+}
+
+EWXWEXPORT(int,wxAuiToolBarItemArray_GetCount)(wxAuiToolBarItemArray* self)
+{
+  return self->GetCount();
+}
+
+EWXWEXPORT(wxAuiToolBarItem*,wxAuiToolBarItemArray_Item)(wxAuiToolBarItemArray* self,int _idx)
+{
+  wxAuiToolBarItem* item = new wxAuiToolBarItem();
+  *item = self->Item(_idx);
+  return item;
+
+}
+/** wxAuiPaneInfoArray **/
+/** see wxWidgets dynarray.h for additional array functions **/
+EWXWEXPORT(wxAuiPaneInfoArray*,wxAuiPaneInfoArray_Create)()
+{
+  return new wxAuiPaneInfoArray();
+}
+
+EWXWEXPORT(void,wxAuiPaneInfoArray_Delete)(wxAuiPaneInfoArray* self)
+{
+  delete self;
+}
+
+EWXWEXPORT(int,wxAuiPaneInfoArray_GetCount)(wxAuiPaneInfoArray* self)
+{
+  return self->GetCount();
+}
+
+EWXWEXPORT(wxAuiPaneInfo*,wxAuiPaneInfoArray_Item)(wxAuiPaneInfoArray* self,int _idx)
+{
+  wxAuiPaneInfo* info = new wxAuiPaneInfo();
+  *info = self->Item(_idx);
+  return info;
+}
+}
+
+
src/cpp/eljevent.cpp view
@@ -1083,28 +1083,28 @@ 
 #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)
+MAKE_EVENT_WRAPPER(EVT_AUITOOLBAR_TOOL_DROPDOWN)
+MAKE_EVENT_WRAPPER(EVT_AUITOOLBAR_OVERFLOW_CLICK)
+MAKE_EVENT_WRAPPER(EVT_AUITOOLBAR_RIGHT_CLICK)
+MAKE_EVENT_WRAPPER(EVT_AUITOOLBAR_MIDDLE_CLICK)
+MAKE_EVENT_WRAPPER(EVT_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)
+MAKE_EVENT_WRAPPER(EVT_AUINOTEBOOK_PAGE_CLOSE)
+MAKE_EVENT_WRAPPER(EVT_AUINOTEBOOK_PAGE_CHANGED)
+MAKE_EVENT_WRAPPER(EVT_AUINOTEBOOK_PAGE_CHANGING)
+MAKE_EVENT_WRAPPER(EVT_AUINOTEBOOK_PAGE_CLOSED)
+MAKE_EVENT_WRAPPER(EVT_AUINOTEBOOK_BUTTON)
+MAKE_EVENT_WRAPPER(EVT_AUINOTEBOOK_BEGIN_DRAG)
+MAKE_EVENT_WRAPPER(EVT_AUINOTEBOOK_END_DRAG)
+MAKE_EVENT_WRAPPER(EVT_AUINOTEBOOK_DRAG_MOTION)
+MAKE_EVENT_WRAPPER(EVT_AUINOTEBOOK_ALLOW_DND)
+MAKE_EVENT_WRAPPER(EVT_AUINOTEBOOK_TAB_MIDDLE_DOWN)
+MAKE_EVENT_WRAPPER(EVT_AUINOTEBOOK_TAB_MIDDLE_UP)
+MAKE_EVENT_WRAPPER(EVT_AUINOTEBOOK_TAB_RIGHT_DOWN)
+MAKE_EVENT_WRAPPER(EVT_AUINOTEBOOK_TAB_RIGHT_UP)
+MAKE_EVENT_WRAPPER(EVT_AUINOTEBOOK_DRAG_DONE)
+MAKE_EVENT_WRAPPER(EVT_AUINOTEBOOK_BG_DCLICK)
 
 // from aui/framemanager.h
 MAKE_EVENT_WRAPPER(EVT_AUI_PANE_BUTTON)
@@ -1115,28 +1115,28 @@ 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)
+MAKE_UNDEFEVENT_WRAPPER(EVT_AUITOOLBAR_TOOL_DROPDOWN)
+MAKE_UNDEFEVENT_WRAPPER(EVT_AUITOOLBAR_OVERFLOW_CLICK)
+MAKE_UNDEFEVENT_WRAPPER(EVT_AUITOOLBAR_RIGHT_CLICK)
+MAKE_UNDEFEVENT_WRAPPER(EVT_AUITOOLBAR_MIDDLE_CLICK)
+MAKE_UNDEFEVENT_WRAPPER(EVT_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)
+MAKE_UNDEFEVENT_WRAPPER(EVT_AUINOTEBOOK_PAGE_CLOSE)
+MAKE_UNDEFEVENT_WRAPPER(EVT_AUINOTEBOOK_PAGE_CHANGED)
+MAKE_UNDEFEVENT_WRAPPER(EVT_AUINOTEBOOK_PAGE_CHANGING)
+MAKE_UNDEFEVENT_WRAPPER(EVT_AUINOTEBOOK_PAGE_CLOSED)
+MAKE_UNDEFEVENT_WRAPPER(EVT_AUINOTEBOOK_BUTTON)
+MAKE_UNDEFEVENT_WRAPPER(EVT_AUINOTEBOOK_BEGIN_DRAG)
+MAKE_UNDEFEVENT_WRAPPER(EVT_AUINOTEBOOK_END_DRAG)
+MAKE_UNDEFEVENT_WRAPPER(EVT_AUINOTEBOOK_DRAG_MOTION)
+MAKE_UNDEFEVENT_WRAPPER(EVT_AUINOTEBOOK_ALLOW_DND)
+MAKE_UNDEFEVENT_WRAPPER(EVT_AUINOTEBOOK_TAB_MIDDLE_DOWN)
+MAKE_UNDEFEVENT_WRAPPER(EVT_AUINOTEBOOK_TAB_MIDDLE_UP)
+MAKE_UNDEFEVENT_WRAPPER(EVT_AUINOTEBOOK_TAB_RIGHT_DOWN)
+MAKE_UNDEFEVENT_WRAPPER(EVT_AUINOTEBOOK_TAB_RIGHT_UP)
+MAKE_UNDEFEVENT_WRAPPER(EVT_AUINOTEBOOK_DRAG_DONE)
+MAKE_UNDEFEVENT_WRAPPER(EVT_AUINOTEBOOK_BG_DCLICK)
 
 // from aui/framemanager.h
 MAKE_UNDEFEVENT_WRAPPER(EVT_AUI_PANE_BUTTON)
src/cpp/eljlistctrl.cpp view
@@ -11,7 +11,7 @@ 	EiffelSortFunc fnc;
 }EiffelSort;
 
-int wxCALLBACK ListCmp (long item1, long item2, long sortData)
+int wxCALLBACK ListCmp (wxIntPtr item1, wxIntPtr item2, wxIntPtr sortData)
 {
 	return ((EiffelSort*)sortData)->fnc (((EiffelSort*)sortData)->obj, (int)item1, (int)item2);
 }
@@ -475,7 +475,7 @@ EWXWEXPORT(bool,wxListCtrl_SortItems)(wxListCtrl* self,void* fnc,void* obj)
 {
 	EiffelSort srt = {obj, (EiffelSortFunc)fnc};
-	return self->SortItems(ListCmp, (long)&srt);
+	return self->SortItems(ListCmp, (wxIntPtr)&srt);
 }
 	
 EWXWEXPORT(void,wxListCtrl_UpdateStyle)(wxListCtrl* self)
+ src/cpp/eljsplash.cpp view
@@ -0,0 +1,21 @@+#include "wrapper.h"
+
+extern "C"
+{
+
+EWXWEXPORT(wxSplashScreen*,wxSplashScreen_Create)(wxBitmap _bmp,long _sstl,int _ms,wxWindow* _prt,int _id,int _lft,int _top,int _wdt,int _hgt,long _stl)
+{
+	return new wxSplashScreen (_bmp,_sstl,_ms,_prt, _id, wxPoint(_lft, _top), wxSize(_wdt, _hgt), _stl);
+}
+	
+EWXWEXPORT(long,wxSplashScreen_GetSplashStyle)(wxSplashScreen* self)
+{
+	return self->GetSplashStyle();
+}
+
+EWXWEXPORT(int,wxSplashScreen_GetTimeout)(wxSplashScreen* self)
+{
+	return self->GetTimeout();
+}
+	
+}
src/cpp/eljwindow.cpp view
@@ -225,7 +225,12 @@ 	
 // Obsolete
 // EWXWEXPORT(void,wxWindow_MakeModal)(wxWindow* self,bool modal)
-	
+
+EWXWEXPORT(bool,wxWindow_HasFocus)(wxWindow* self)
+{
+	return self->HasFocus();
+}
+
 EWXWEXPORT(void,wxWindow_SetFocus)(wxWindow* self)
 {
 	self->SetFocus();
src/cpp/ewxw_main.cpp view
@@ -46,7 +46,17 @@ 
   initClosure = closure;
   APPTerminating = 0;
-  wxEntry(wxhInstance, NULL, (_argc > 0 ? _argv[0] : NULL), SW_SHOWNORMAL);
+  
+  /* Pretty lame way to detect if we are running in GHCI */
+  /* TODO: detect when running program with runhaskell as well */
+  if(_argc > 0 && !wcscmp(((wchar_t**)_argv)[0], L"<interactive>")) {
+    /* we are in GHCI */
+    wxEntry(_argc, _argv);
+  }
+  else {
+    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 */
src/cpp/extra.cpp view
@@ -1548,7 +1548,7 @@   wxClosure* closure;
 };
 
-int wxCALLBACK sortCallBack( long item1, long item2, long data )
+int wxCALLBACK sortCallBack( wxIntPtr item1, wxIntPtr item2, wxIntPtr data )
 {
   wxClosure* closure = ((SortData*)data)->closure;
   long       id      = ((SortData*)data)->id;
@@ -1563,7 +1563,7 @@ EWXWEXPORT(bool,wxListCtrl_SortItems2)(wxListCtrl* self,wxClosure* closure)
 {
   SortData sortData = { self->GetId(), closure };
-  return self->SortItems( sortCallBack, (long)&sortData );
+  return self->SortItems( sortCallBack, (wxIntPtr)&sortData );
 }
 
 
src/cpp/glcanvas.cpp view
@@ -16,6 +16,7 @@ 
 #ifndef wxUSE_GLCANVAS
 # define wxGLCanvas      void
+# define wxGLContext     void
 #endif
 
 extern "C" {
src/cpp/graphicscontext.cpp view
@@ -15,6 +15,7 @@ 
 #ifdef wxUSE_GRAPHICS_CONTEXT
 #include "wx/graphics.h"
+#include "wx/dcgraph.h"
 #endif
 
 #ifndef wxUSE_GRAPHICS_CONTEXT
@@ -27,10 +28,66 @@ # define wxGraphicsPath         void
 # define wxGraphicsPen          void
 # define wxGraphicsRenderer     void
+# define wxGCDC                 void
 #endif
 
 extern "C" {
+/*-----------------------------------------------------------------------------
+  GCDC
+-----------------------------------------------------------------------------*/
 
+EWXWEXPORT(wxGCDC*,wxGcdc_Create)( const wxWindowDC* dc )
+{
+#ifdef wxUSE_GRAPHICS_CONTEXT
+  return new wxGCDC(*dc);
+#else
+  return NULL;
+#endif
+}
+
+EWXWEXPORT(wxGCDC*,wxGcdc_CreateFromMemory)( const wxMemoryDC* dc )
+{
+#ifdef wxUSE_GRAPHICS_CONTEXT
+  return new wxGCDC(*dc);
+#else
+  return NULL;
+#endif
+}
+
+EWXWEXPORT(wxGCDC*,wxGcdc_CreateFromPrinter)( const wxPrinterDC* dc )
+{
+#ifdef wxUSE_GRAPHICS_CONTEXT
+  return new wxGCDC(*dc);
+#else
+  return NULL;
+#endif
+}
+
+EWXWEXPORT(wxGraphicsContext*,wxGcdc_GetGraphicsContext)( const wxGCDC *self )
+{
+#ifdef wxUSE_GRAPHICS_CONTEXT
+   return self->GetGraphicsContext();
+#else
+  return NULL;
+#endif
+}
+
+EWXWEXPORT(void,wxGcdc_SetGraphicsContext)( wxGCDC *self,  wxGraphicsContext *gc)
+{
+#ifdef wxUSE_GRAPHICS_CONTEXT
+  self->SetGraphicsContext(gc);
+#else
+  return;
+#endif
+}
+
+EWXWEXPORT(void,wxGcdc_Delete)(wxGCDC* self)  
+{
+#ifdef wxUSE_GRAPHICS_CONTEXT
+  if (self) delete self;
+#endif
+}
+  
 /*-----------------------------------------------------------------------------
   GraphicsContext
 -----------------------------------------------------------------------------*/
@@ -43,6 +100,24 @@ #endif
 }
 
+EWXWEXPORT(wxGraphicsContext*,wxGraphicsContext_CreateFromMemory)( const wxMemoryDC* dc )
+{
+#ifdef wxUSE_GRAPHICS_CONTEXT
+  return wxGraphicsContext::Create(*dc);
+#else
+  return NULL;
+#endif
+}
+
+EWXWEXPORT(wxGraphicsContext*,wxGraphicsContext_CreateFromPrinter)( const wxPrinterDC* dc )
+{
+#ifdef wxUSE_GRAPHICS_CONTEXT
+  return wxGraphicsContext::Create(*dc);
+#else
+  return NULL;
+#endif
+}
+
 EWXWEXPORT(wxGraphicsContext*,wxGraphicsContext_CreateFromWindow)( wxWindow* window )
 {
 #ifdef wxUSE_GRAPHICS_CONTEXT
@@ -652,15 +727,6 @@ /*-----------------------------------------------------------------------------
   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
@@ -952,17 +1018,17 @@   return NULL;
 #endif
 }
+*/
 
-EWXWEXPORT(wxGraphicsPath,wxGraphicsRenderer_CreatePath)( wxGraphicsRenderer* self )
+EWXWEXPORT(wxGraphicsPath*,wxGraphicsRenderer_CreatePath)( wxGraphicsRenderer* self)
 {
 #ifdef wxUSE_GRAPHICS_CONTEXT
-  return self->CreatePath();
+   wxGraphicsPath *path = new wxGraphicsPath;
+   *path = self->CreatePath();
+   return path;
 #else
   return NULL;
 #endif
 }
-*/
 
 }
-
-
src/cpp/previewframe.cpp view
@@ -15,11 +15,11 @@                                                   , wxString* title
                                                   , int x, int y
                                                   , int w, int h
-                                                  , int style
+                                                  , int _stl
                                                   , wxString* name
                                                   )
 {
-  return new wxPreviewFrame( preview, parent, *title, wxPoint(x,y), wxSize(w,h), style, *name );
+  return new wxPreviewFrame( preview, parent, *title, wxPoint(x,y), wxSize(w,h), _stl, *name );
 }
 
 EWXWEXPORT(void, wxPreviewFrame_Delete)( wxPreviewFrame* self )
src/cpp/wrapper.cpp view
@@ -56,7 +56,9 @@ 
 bool ELJApp::OnInit (void)
 {
-  wxInitAllImageHandlers();
+  if (!wxApp::OnInit())
+    return false;
+
   initIdleTimer();
   if (initClosure) {
     delete initClosure; /* special: init is only called once with a NULL event */
@@ -84,13 +86,7 @@ 
 void ELJApp::InitImageHandlers()
 {
-        static int InitImageHandlers_done = 0;
-
-        if (!InitImageHandlers_done)
-        {
-                InitImageHandlers_done = 1;
-                wxInitAllImageHandlers();
-        }
+  wxInitAllImageHandlers();
 }
 
 
@@ -451,7 +447,7 @@ 
 EWXWEXPORT(void,ELJApp_InitAllImageHandlers)()
 {
-        wxInitAllImageHandlers();
+  wxInitAllImageHandlers();
 }
 
 EWXWEXPORT(void,ELJApp_Bell)()
src/include/glcanvas.h view
@@ -4,7 +4,7 @@ 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 );
+TClass(wxGLCanvas)   wxGLCanvas_Create( TClass(wxWindow) parent, int windowID, int* attributes, TRect(x,y,w,h), int _stl, 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 );  
src/include/graphicscontext.h view
@@ -1,3 +1,4 @@+TClassDefExtend(wxGCDC,wxDC);
 TClassDefExtend(wxGraphicsObject,wxObject);
 TClassDefExtend(wxGraphicsBrush,wxGraphicsObject);
 TClassDefExtend(wxGraphicsContext,wxGraphicsObject);
@@ -7,7 +8,19 @@ TClassDefExtend(wxGraphicsPen,wxGraphicsObject);
 TClassDefExtend(wxGraphicsRenderer,wxGraphicsObject);
 
+
 /*-----------------------------------------------------------------------------
+  GCDC
+-----------------------------------------------------------------------------*/
+
+TClass(wxGCDC)  wxGcdc_Create(TClass(wxWindowDC) dc);
+TClass(wxGCDC)  wxGcdc_CreateFromMemory(TClass(wxMemoryDC) dc);
+TClass(wxGCDC)  wxGcdc_CreateFromPrinter(TClass(wxPrinterDC) dc);
+TClass(wxGraphicsContext)  wxGcdc_GetGraphicsContext(TSelf(wxGCDC) self);
+void wxGcdc_SetGraphicsContext(TClass(wxGCDC) self, TClass(wxGraphicsContext) gc);
+void wxGcdc_Delete(TClass(wxGCDC) self);
+
+/*-----------------------------------------------------------------------------
   GraphicsBrush
 -----------------------------------------------------------------------------*/
 TClass(wxGraphicsBrush)  wxGraphicsBrush_Create( );
@@ -17,6 +30,8 @@   GraphicsContext
 -----------------------------------------------------------------------------*/
 TClass(wxGraphicsContext)  wxGraphicsContext_Create( TClass(wxWindowDC) dc );
+TClass(wxGraphicsContext)  wxGraphicsContext_CreateFromMemory( TClass(wxMemoryDC) dc );
+TClass(wxGraphicsContext)  wxGraphicsContext_CreateFromPrinter( TClass(wxPrinterDC) dc );
 TClass(wxGraphicsContext)  wxGraphicsContext_CreateFromWindow( TClass(wxWindow) window );
 void  wxGraphicsContext_Delete(TSelf(wxGraphicsContext) self);
 TClass(wxGraphicsContext)  wxGraphicsContext_CreateFromNative( void* context );
@@ -89,7 +104,6 @@ /*-----------------------------------------------------------------------------
   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 );
@@ -125,3 +139,4 @@ TClass(wxGraphicsContext)  wxGraphicsRenderer_CreateContextFromWindow( TClass(wxWindow) window );
 TClass(wxGraphicsContext)  wxGraphicsRenderer_CreateContextFromNativeContext( void* context );
 TClass(wxGraphicsContext)  wxGraphicsRenderer_CreateContextFromNativeWindow( void* window );
+TClass(wxGraphicsPath)  wxGraphicsRenderer_CreatePath( TSelf(wxGraphicsRenderer) self );
src/include/previewframe.h view
@@ -4,7 +4,7 @@ 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  );
+TClass(wxPreviewFrame) wxPreviewFrame_Create( TClass(wxPrintPreview) preview, TClass(wxFrame) parent, TClass(wxString) title, TRect(x,y,width,height), int _stl, TClass(wxString) name  );
 void wxPreviewFrame_Delete( TSelf(wxPreviewFrame) self );
 /** Usage: @previewFrameInitialize self@, call this before showing the frame. */
 void wxPreviewFrame_Initialize( TSelf(wxPreviewFrame) self );
src/include/wrapper.h view
@@ -1,660 +1,665 @@-#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 */+#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/splash.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"
+#include "wx/aui/auibar.h"
+#include "wx/aui/dockart.h"
+#include "wx/aui/auibook.h"
+#include "wx/aui/framemanager.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_glue.h view
@@ -2,10 +2,10 @@ #define WXC_GLUE_H
 
 /* $Id: wxc_glue.h,v 1.23 2005/02/25 11:14:58 dleijen Exp $ */
--/* wx/version.h must be included for preprocessing by wxdirect */-#include "wx/version.h" 
+/* wx/version.h must be included for preprocessing by wxdirect */
+#include "wx/version.h"
+
 /* Null */
 TClass(wxAcceleratorTable) Null_AcceleratorTable(  );
 TClass(wxBitmap) Null_Bitmap(  );
@@ -18,26 +18,26 @@ 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_AUITOOLBAR_TOOL_DROPDOWN();
+int expEVT_AUITOOLBAR_OVERFLOW_CLICK();
+int expEVT_AUITOOLBAR_RIGHT_CLICK();
+int expEVT_AUITOOLBAR_MIDDLE_CLICK();
+int expEVT_AUITOOLBAR_BEGIN_DRAG();
+int expEVT_AUINOTEBOOK_PAGE_CLOSE();
+int expEVT_AUINOTEBOOK_PAGE_CHANGED();
+int expEVT_AUINOTEBOOK_PAGE_CHANGING();
+int expEVT_AUINOTEBOOK_PAGE_CLOSED();
+int expEVT_AUINOTEBOOK_BUTTON();
+int expEVT_AUINOTEBOOK_BEGIN_DRAG();
+int expEVT_AUINOTEBOOK_END_DRAG();
+int expEVT_AUINOTEBOOK_DRAG_MOTION();
+int expEVT_AUINOTEBOOK_ALLOW_DND();
+int expEVT_AUINOTEBOOK_TAB_MIDDLE_DOWN();
+int expEVT_AUINOTEBOOK_TAB_MIDDLE_UP();
+int expEVT_AUINOTEBOOK_TAB_RIGHT_DOWN();
+int expEVT_AUINOTEBOOK_TAB_RIGHT_UP();
+int expEVT_AUINOTEBOOK_DRAG_DONE();
+int expEVT_AUINOTEBOOK_BG_DCLICK();
 int expEVT_AUI_PANE_BUTTON();
 int expEVT_AUI_PANE_CLOSE();
 int expEVT_AUI_PANE_MAXIMIZE();
@@ -1049,7 +1049,7 @@ TClass(wxAcceleratorTable) wxAcceleratorTable_Create( int n, void* entries );
 void       wxAcceleratorTable_Delete( TSelf(wxAcceleratorTable) _obj );
 
-/* wxctivateEvent */
+/* wxActivateEvent */
 TClassDefExtend(wxActivateEvent,wxEvent)
 void       wxActivateEvent_CopyObject( TSelf(wxActivateEvent) _obj, void* obj );
 TBool      wxActivateEvent_GetActive( TSelf(wxActivateEvent) _obj );
@@ -1069,6 +1069,578 @@ void       PushProvider( TClass(wxArtProvider) provider );
 TBool      RemoveProvider( TClass(wxArtProvider) provider );
 
+/* wxAuiDefaultTabArt */
+TClassDefExtend(wxAuiDefaultTabArt, wxAuiTabArt)
+TClass(wxAuiDefaultTabArt)    wxAuiDefaultTabArt_Create();
+TClass(wxAuiTabArt) 	wxAuiDefaultTabArt_Clone (TSelf(wxAuiDefaultTabArt) _obj );
+void 	wxAuiDefaultTabArt_SetFlags (TSelf(wxAuiDefaultTabArt) _obj, int _flags );
+void 	wxAuiDefaultTabArt_SetSizingInfo (TSelf(wxAuiDefaultTabArt) _obj, TSize(_width,_height), size_t tabCount );
+void 	wxAuiDefaultTabArt_SetNormalFont (TSelf(wxAuiDefaultTabArt) _obj, TClass(wxFont) _font );
+void 	wxAuiDefaultTabArt_SetSelectedFont (TSelf(wxAuiDefaultTabArt) _obj, TClass(wxFont) _font );
+void 	wxAuiDefaultTabArt_SetMeasuringFont (TSelf(wxAuiDefaultTabArt) _obj, TClass(wxFont) _font );
+void 	wxAuiDefaultTabArt_SetColour (TSelf(wxAuiDefaultTabArt) _obj, TClass(wxColour) _colour );
+void 	wxAuiDefaultTabArt_SetActiveColour (TSelf(wxAuiDefaultTabArt) _obj, TClass(wxColour) _colour );
+void 	wxAuiDefaultTabArt_DrawBackground (TSelf(wxAuiDefaultTabArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxRect) _rect );
+void 	wxAuiDefaultTabArt_DrawTab (TSelf(wxAuiDefaultTabArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxAuiNotebookPage) _pane, TClass(wxRect) _inRect, int closeButtonState, TClass(wxRect) _outTabRect, TClass(wxRect) _outButtonRect, int *xExtent );
+void 	wxAuiDefaultTabArt_DrawButton (TSelf(wxAuiDefaultTabArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxRect) _inRect, int bitmapId, int buttonState, int orientation, TClass(wxRect) _outRect );
+int 	wxAuiDefaultTabArt_GetIndentSize (TSelf(wxAuiDefaultTabArt) _obj );
+TClass(wxSize) 	wxAuiDefaultTabArt_GetTabSize (TSelf(wxAuiDefaultTabArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxString) _caption, TClass(wxBitmap) _bitmap, TBool active, int closeButtonState, int *xExtent );
+int 	wxAuiDefaultTabArt_ShowDropDown (TSelf(wxAuiDefaultTabArt) _obj, TClass(wxWindow) _wnd, TClass(wxAuiNotebookPageArray) _items, int activeIdx );
+int 	wxAuiDefaultTabArt_GetBestTabCtrlSize (TSelf(wxAuiDefaultTabArt) _obj, TClass(wxWindow) _wnd, TClass(wxAuiNotebookPageArray) _pages, TSize(_width,_height));
+
+/* wxAuiToolBarEvent */
+TClassDefExtend(wxAuiToolBarEvent, wxNotifyEvent)
+TBool 	wxAuiToolBarEvent_IsDropDownClicked (TSelf(wxAuiToolBarEvent) _obj );
+TClass(wxPoint) 	wxAuiToolBarEvent_GetClickPoint (TSelf(wxAuiToolBarEvent) _obj );
+TClass(wxRect) 	wxAuiToolBarEvent_GetItemRect (TSelf(wxAuiToolBarEvent) _obj );
+int 	wxAuiToolBarEvent_GetToolId (TSelf(wxAuiToolBarEvent) _obj );
+
+/* wxAuiToolBarItem */
+TClassDef(wxAuiToolBarItem)
+TClass(wxAuiToolBarItem)  wxAuiToolBarItem_CreateDefault();
+TClass(wxAuiToolBarItem)  wxAuiToolBarItem_Create(TClass(wxAuiToolBarItem) _c );
+TClass(wxAuiToolBarItem) wxAuiToolBarItem_Copy (TSelf(wxAuiToolBarItem) _obj, TClass(wxAuiToolBarItem) _c);
+void 	wxAuiToolBarItem_Assign (TSelf(wxAuiToolBarItem) _obj, TClass(wxAuiToolBarItem) _c );
+void 	wxAuiToolBarItem_SetWindow (TSelf(wxAuiToolBarItem) _obj, TClass(wxWindow) _w );
+TClass(wxWindow) 	wxAuiToolBarItem_GetWindow (TSelf(wxAuiToolBarItem) _obj );
+void 	wxAuiToolBarItem_SetId (TSelf(wxAuiToolBarItem) _obj, int new_id );
+int 	wxAuiToolBarItem_GetId (TSelf(wxAuiToolBarItem) _obj );
+void 	wxAuiToolBarItem_SetKind (TSelf(wxAuiToolBarItem) _obj, int new_kind );
+int 	wxAuiToolBarItem_GetKind (TSelf(wxAuiToolBarItem) _obj );
+void 	wxAuiToolBarItem_SetState (TSelf(wxAuiToolBarItem) _obj, int new_state );
+int 	wxAuiToolBarItem_GetState (TSelf(wxAuiToolBarItem) _obj );
+void 	wxAuiToolBarItem_SetSizerItem (TSelf(wxAuiToolBarItem) _obj, TClass(wxSizerItem) _s );
+TClass(wxSizerItem) 	wxAuiToolBarItem_GetSizerItem (TSelf(wxAuiToolBarItem) _obj );
+void 	wxAuiToolBarItem_SetLabel (TSelf(wxAuiToolBarItem) _obj, TClass(wxString) _s );
+TClass(wxString) 	wxAuiToolBarItem_GetLabel (TSelf(wxAuiToolBarItem) _obj );
+void 	wxAuiToolBarItem_SetBitmap (TSelf(wxAuiToolBarItem) _obj, TClass(wxBitmap) _bmp );
+void 	wxAuiToolBarItem_GetBitmap (TSelf(wxAuiToolBarItem) _obj, TClassRef(wxBitmap) _ref );
+void 	wxAuiToolBarItem_SetDisabledBitmap (TSelf(wxAuiToolBarItem) _obj, TClass(wxBitmap) _bmp );
+void 	wxAuiToolBarItem_GetDisabledBitmap (TSelf(wxAuiToolBarItem) _obj, TClassRef(wxBitmap) _ref );
+void 	wxAuiToolBarItem_SetHoverBitmap (TSelf(wxAuiToolBarItem) _obj, TClass(wxBitmap) _bmp );
+void 	wxAuiToolBarItem_GetHoverBitmap (TSelf(wxAuiToolBarItem) _obj, TClassRef(wxBitmap) _ref );
+void 	wxAuiToolBarItem_SetShortHelp (TSelf(wxAuiToolBarItem) _obj, TClass(wxString) _s );
+TClass(wxString) 	wxAuiToolBarItem_GetShortHelp (TSelf(wxAuiToolBarItem) _obj );
+void 	wxAuiToolBarItem_SetLongHelp (TSelf(wxAuiToolBarItem) _obj, TClass(wxString) _s );
+TClass(wxString) 	wxAuiToolBarItem_GetLongHelp (TSelf(wxAuiToolBarItem) _obj );
+void 	wxAuiToolBarItem_SetMinSize (TSelf(wxAuiToolBarItem) _obj, TSize(_width,_height));
+TClass(wxSize) 	wxAuiToolBarItem_GetMinSize (TSelf(wxAuiToolBarItem) _obj );
+void 	wxAuiToolBarItem_SetSpacerPixels (TSelf(wxAuiToolBarItem) _obj, int s );
+int 	wxAuiToolBarItem_GetSpacerPixels (TSelf(wxAuiToolBarItem) _obj );
+void 	wxAuiToolBarItem_SetProportion (TSelf(wxAuiToolBarItem) _obj, int p );
+int 	wxAuiToolBarItem_GetProportion (TSelf(wxAuiToolBarItem) _obj );
+void 	wxAuiToolBarItem_SetActive (TSelf(wxAuiToolBarItem) _obj, TBool b );
+TBool 	wxAuiToolBarItem_IsActive (TSelf(wxAuiToolBarItem) _obj );
+void 	wxAuiToolBarItem_SetHasDropDown (TSelf(wxAuiToolBarItem) _obj, TBool b );
+TBool 	wxAuiToolBarItem_HasDropDown (TSelf(wxAuiToolBarItem) _obj );
+void 	wxAuiToolBarItem_SetSticky (TSelf(wxAuiToolBarItem) _obj, TBool b );
+TBool 	wxAuiToolBarItem_IsSticky (TSelf(wxAuiToolBarItem) _obj );
+void 	wxAuiToolBarItem_SetUserData (TSelf(wxAuiToolBarItem) _obj, long l );
+long 	wxAuiToolBarItem_GetUserData (TSelf(wxAuiToolBarItem) _obj );
+void 	wxAuiToolBarItem_SetAlignment (TSelf(wxAuiToolBarItem) _obj, int l );
+int 	wxAuiToolBarItem_GetAlignment (TSelf(wxAuiToolBarItem) _obj );
+
+/* wxAuiToolBarArt */
+TClassDef(wxAuiToolBarArt)
+TClass(wxAuiToolBarArt) 	 wxAuiToolBarArt_Clone (TSelf(wxAuiToolBarArt) _obj );
+void 	 wxAuiToolBarArt_SetFlags (TSelf(wxAuiToolBarArt) _obj, int _flags );
+int 	 wxAuiToolBarArt_GetFlags (TSelf(wxAuiToolBarArt) _obj );
+void 	 wxAuiToolBarArt_SetFont (TSelf(wxAuiToolBarArt) _obj, TClass(wxFont) _font );
+TClass(wxFont) 	 wxAuiToolBarArt_GetFont (TSelf(wxAuiToolBarArt) _obj );
+void 	 wxAuiToolBarArt_SetTextOrientation (TSelf(wxAuiToolBarArt) _obj, int orientation );
+int 	 wxAuiToolBarArt_GetTextOrientation (TSelf(wxAuiToolBarArt) _obj );
+void 	 wxAuiToolBarArt_DrawBackground (TSelf(wxAuiToolBarArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxRect) _rect );
+void 	 wxAuiToolBarArt_DrawPlainBackground (TSelf(wxAuiToolBarArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxRect) _rect );
+void 	 wxAuiToolBarArt_DrawLabel (TSelf(wxAuiToolBarArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxAuiToolBarItem) _item, TClass(wxRect) _rect );
+void 	 wxAuiToolBarArt_DrawButton (TSelf(wxAuiToolBarArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxAuiToolBarItem) _item, TClass(wxRect) _rect );
+void 	 wxAuiToolBarArt_DrawDropDownButton (TSelf(wxAuiToolBarArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxAuiToolBarItem) _item, TClass(wxRect) _rect );
+void 	 wxAuiToolBarArt_DrawControlLabel (TSelf(wxAuiToolBarArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxAuiToolBarItem) _item, TClass(wxRect) _rect );
+void 	 wxAuiToolBarArt_DrawSeparator (TSelf(wxAuiToolBarArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxRect) _rect );
+void 	 wxAuiToolBarArt_DrawGripper (TSelf(wxAuiToolBarArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxRect) _rect );
+void 	 wxAuiToolBarArt_DrawOverflowButton (TSelf(wxAuiToolBarArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxRect) _rect, int state );
+TClass(wxSize) 	 wxAuiToolBarArt_GetLabelSize (TSelf(wxAuiToolBarArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxAuiToolBarItem) _item );
+TClass(wxSize) 	 wxAuiToolBarArt_GetToolSize (TSelf(wxAuiToolBarArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxAuiToolBarItem) _item );
+int 	 wxAuiToolBarArt_GetElementSize (TSelf(wxAuiToolBarArt) _obj, int element_id );
+void 	 wxAuiToolBarArt_SetElementSize (TSelf(wxAuiToolBarArt) _obj, int element_id, int size );
+int 	 wxAuiToolBarArt_ShowDropDown (TSelf(wxAuiToolBarArt) _obj, TClass(wxWindow) _wnd, TClass(wxAuiToolBarItemArray) _items );
+
+/* wxAuiDefaultToolBarArt */
+TClassDefExtend(wxAuiDefaultToolBarArt, wxAuiToolBarArt)
+TClass(wxAuiDefaultToolBarArt)  wxAuiDefaultToolBarArt_Create();
+TClass(wxAuiToolBarArt) 	 wxAuiDefaultToolBarArt_Clone (TSelf(wxAuiDefaultToolBarArt) _obj );
+void 	 wxAuiDefaultToolBarArt_SetFlags (TSelf(wxAuiDefaultToolBarArt) _obj, int _flags );
+int 	 wxAuiDefaultToolBarArt_GetFlags (TSelf(wxAuiDefaultToolBarArt) _obj );
+void 	 wxAuiDefaultToolBarArt_SetFont (TSelf(wxAuiDefaultToolBarArt) _obj, TClass(wxFont) _font );
+TClass(wxFont) 	 wxAuiDefaultToolBarArt_GetFont (TSelf(wxAuiDefaultToolBarArt) _obj );
+void 	 wxAuiDefaultToolBarArt_SetTextOrientation (TSelf(wxAuiDefaultToolBarArt) _obj, int orientation );
+int 	 wxAuiDefaultToolBarArt_GetTextOrientation (TSelf(wxAuiDefaultToolBarArt) _obj );
+void 	 wxAuiDefaultToolBarArt_DrawBackground (TSelf(wxAuiDefaultToolBarArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxRect) _rect );
+void 	 wxAuiDefaultToolBarArt_DrawPlainBackground (TSelf(wxAuiDefaultToolBarArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxRect) _rect );
+void 	 wxAuiDefaultToolBarArt_DrawLabel (TSelf(wxAuiDefaultToolBarArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxAuiToolBarItem) _item, TClass(wxRect) _rect );
+void 	 wxAuiDefaultToolBarArt_DrawButton (TSelf(wxAuiDefaultToolBarArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxAuiToolBarItem) _item, TClass(wxRect) _rect );
+void 	 wxAuiDefaultToolBarArt_DrawDropDownButton (TSelf(wxAuiDefaultToolBarArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxAuiToolBarItem) _item, TClass(wxRect) _rect );
+void 	 wxAuiDefaultToolBarArt_DrawControlLabel (TSelf(wxAuiDefaultToolBarArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxAuiToolBarItem) _item, TClass(wxRect) _rect );
+void 	 wxAuiDefaultToolBarArt_DrawSeparator (TSelf(wxAuiDefaultToolBarArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxRect) _rect );
+void 	 wxAuiDefaultToolBarArt_DrawGripper (TSelf(wxAuiDefaultToolBarArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxRect) _rect );
+void 	 wxAuiDefaultToolBarArt_DrawOverflowButton (TSelf(wxAuiDefaultToolBarArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxRect) _rect, int state );
+TClass(wxSize) 	 wxAuiDefaultToolBarArt_GetLabelSize (TSelf(wxAuiDefaultToolBarArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxAuiToolBarItem) _item );
+TClass(wxSize) 	 wxAuiDefaultToolBarArt_GetToolSize (TSelf(wxAuiDefaultToolBarArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxAuiToolBarItem) _item );
+int 	 wxAuiDefaultToolBarArt_GetElementSize (TSelf(wxAuiDefaultToolBarArt) _obj, int element );
+void 	 wxAuiDefaultToolBarArt_SetElementSize (TSelf(wxAuiDefaultToolBarArt) _obj, int element_id, int size );
+int 	 wxAuiDefaultToolBarArt_ShowDropDown (TSelf(wxAuiDefaultToolBarArt) _obj, TClass(wxWindow) _wnd, TClass(wxAuiToolBarItemArray) _items );
+
+/* wxAuiToolBar */
+TClassDefExtend(wxAuiToolBar, wxControl)
+TClass(wxAuiToolBar)  wxAuiToolBar_CreateDefault();
+TClass(wxAuiToolBar)  wxAuiToolBar_Create(TClass(wxWindow) _parent, int id, TPoint(x,y), TSize(_width,_height), long style );
+TBool 	 wxAuiToolBar_CreateFromDefault (TSelf(wxAuiToolBar) _obj, TClass(wxWindow) _parent, int id, TPoint(x,y), TSize(_width,_height), long style);
+void     wxAuiToolBar_Delete(TSelf(wxAuiToolBar) _obj );
+void 	 wxAuiToolBar_SetWindowStyleFlag (TSelf(wxAuiToolBar) _obj, long style );
+long 	 wxAuiToolBar_GetWindowStyleFlag (TSelf(wxAuiToolBar) _obj );
+void 	 wxAuiToolBar_SetArtProvider (TSelf(wxAuiToolBar) _obj, TClass(wxAuiToolBarArt) _art );
+TClass(wxAuiToolBarArt) 	 wxAuiToolBar_GetArtProvider (TSelf(wxAuiToolBar) _obj );
+TBool 	 wxAuiToolBar_SetFont (TSelf(wxAuiToolBar) _obj, TClass(wxFont) _font );
+TClass(wxAuiToolBarItem) 	 wxAuiToolBar_AddToolByLabel (TSelf(wxAuiToolBar) _obj, int tool_id, TClass(wxString) _label, TClass(wxBitmap) _bitmap, TClass(wxString) _short_help_string, int kind );
+TClass(wxAuiToolBarItem) 	 wxAuiToolBar_AddTool (TSelf(wxAuiToolBar) _obj, int tool_id, TClass(wxString) _label, TClass(wxBitmap) _bitmap, TClass(wxBitmap) _disabled_bitmap, int kind, TClass(wxString) _short_help_string, TClass(wxString) _long_help_string, TClass(wxObject) _client_data );
+TClass(wxAuiToolBarItem) 	 wxAuiToolBar_AddToolByBitmap (TSelf(wxAuiToolBar) _obj, int tool_id, TClass(wxBitmap) _bitmap, TClass(wxBitmap) _disabled_bitmap, TBool toggle, TClass(wxObject) _client_data, TClass(wxString) _short_help_string, TClass(wxString) _long_help_string );
+TClass(wxAuiToolBarItem) 	 wxAuiToolBar_AddLabel (TSelf(wxAuiToolBar) _obj, int tool_id, TClass(wxString) _label, int width );
+TClass(wxAuiToolBarItem) 	 wxAuiToolBar_AddControl (TSelf(wxAuiToolBar) _obj, TClass(wxControl) _control, TClass(wxString) _label );
+TClass(wxAuiToolBarItem) 	 wxAuiToolBar_AddSeparator (TSelf(wxAuiToolBar) _obj );
+TClass(wxAuiToolBarItem) 	 wxAuiToolBar_AddSpacer (TSelf(wxAuiToolBar) _obj, int pixels );
+TClass(wxAuiToolBarItem) 	 wxAuiToolBar_AddStretchSpacer (TSelf(wxAuiToolBar) _obj, int proportion );
+TBool 	 wxAuiToolBar_Realize (TSelf(wxAuiToolBar) _obj );
+TClass(wxControl) 	 wxAuiToolBar_FindControl (TSelf(wxAuiToolBar) _obj, int window_id );
+TClass(wxAuiToolBarItem) 	 wxAuiToolBar_FindToolByPosition (TSelf(wxAuiToolBar) _obj, int x, int y );
+TClass(wxAuiToolBarItem) 	 wxAuiToolBar_FindToolByIndex (TSelf(wxAuiToolBar) _obj, int idx );
+TClass(wxAuiToolBarItem) 	 wxAuiToolBar_FindTool (TSelf(wxAuiToolBar) _obj, int tool_id );
+void 	 wxAuiToolBar_ClearTools (TSelf(wxAuiToolBar) _obj );
+void 	 wxAuiToolBar_Clear (TSelf(wxAuiToolBar) _obj );
+TBool 	 wxAuiToolBar_DeleteTool (TSelf(wxAuiToolBar) _obj, int tool_id );
+TBool 	 wxAuiToolBar_DeleteByIndex (TSelf(wxAuiToolBar) _obj, int tool_id );
+size_t 	 wxAuiToolBar_GetToolCount (TSelf(wxAuiToolBar) _obj );
+int 	 wxAuiToolBar_GetToolPos (TSelf(wxAuiToolBar) _obj, int tool_id );
+int 	 wxAuiToolBar_GetToolIndex (TSelf(wxAuiToolBar) _obj, int tool_id );
+TBool 	 wxAuiToolBar_GetToolFits (TSelf(wxAuiToolBar) _obj, int tool_id );
+TClass(wxRect) 	 wxAuiToolBar_GetToolRect (TSelf(wxAuiToolBar) _obj, int tool_id );
+TBool 	 wxAuiToolBar_GetToolFitsByIndex (TSelf(wxAuiToolBar) _obj, int tool_id );
+TBool 	 wxAuiToolBar_GetToolBarFits (TSelf(wxAuiToolBar) _obj );
+void 	 wxAuiToolBar_SetMargins (TSelf(wxAuiToolBar) _obj, TSize(_width,_height));
+void 	 wxAuiToolBar_SetMarginsXY (TSelf(wxAuiToolBar) _obj, int x, int y );
+void 	 wxAuiToolBar_SetMarginsDetailed (TSelf(wxAuiToolBar) _obj, int left, int right, int top, int bottom );
+void 	 wxAuiToolBar_SetToolBitmapSize (TSelf(wxAuiToolBar) _obj, TSize(_width,_height));
+TClass(wxSize) 	 wxAuiToolBar_GetToolBitmapSize (TSelf(wxAuiToolBar) _obj );
+TBool 	 wxAuiToolBar_GetOverflowVisible (TSelf(wxAuiToolBar) _obj );
+void 	 wxAuiToolBar_SetOverflowVisible (TSelf(wxAuiToolBar) _obj, TBool visible );
+TBool 	 wxAuiToolBar_GetGripperVisible (TSelf(wxAuiToolBar) _obj );
+void 	 wxAuiToolBar_SetGripperVisible (TSelf(wxAuiToolBar) _obj, TBool visible );
+void 	 wxAuiToolBar_ToggleTool (TSelf(wxAuiToolBar) _obj, int tool_id, TBool state );
+TBool 	 wxAuiToolBar_GetToolToggled (TSelf(wxAuiToolBar) _obj, int tool_id );
+void 	 wxAuiToolBar_EnableTool (TSelf(wxAuiToolBar) _obj, int tool_id, TBool state );
+TBool 	 wxAuiToolBar_GetToolEnabled (TSelf(wxAuiToolBar) _obj, int tool_id );
+void 	 wxAuiToolBar_SetToolDropDown (TSelf(wxAuiToolBar) _obj, int tool_id, TBool dropdown );
+TBool 	 wxAuiToolBar_GetToolDropDown (TSelf(wxAuiToolBar) _obj, int tool_id );
+void 	 wxAuiToolBar_SetToolBorderPadding (TSelf(wxAuiToolBar) _obj, int padding );
+int 	 wxAuiToolBar_GetToolBorderPadding (TSelf(wxAuiToolBar) _obj );
+void 	 wxAuiToolBar_SetToolTextOrientation (TSelf(wxAuiToolBar) _obj, int orientation );
+int 	 wxAuiToolBar_GetToolTextOrientation (TSelf(wxAuiToolBar) _obj );
+void 	 wxAuiToolBar_SetToolPacking (TSelf(wxAuiToolBar) _obj, int packing );
+int 	 wxAuiToolBar_GetToolPacking (TSelf(wxAuiToolBar) _obj );
+void 	 wxAuiToolBar_SetToolProportion (TSelf(wxAuiToolBar) _obj, int tool_id, int proportion );
+int 	 wxAuiToolBar_GetToolProportion (TSelf(wxAuiToolBar) _obj, int tool_id );
+void 	 wxAuiToolBar_SetToolSeparation (TSelf(wxAuiToolBar) _obj, int separation );
+int 	 wxAuiToolBar_GetToolSeparation (TSelf(wxAuiToolBar) _obj );
+void 	 wxAuiToolBar_SetToolSticky (TSelf(wxAuiToolBar) _obj, int tool_id, TBool sticky );
+TBool 	 wxAuiToolBar_GetToolSticky (TSelf(wxAuiToolBar) _obj, int tool_id );
+TClass(wxString) 	 wxAuiToolBar_GetToolLabel (TSelf(wxAuiToolBar) _obj, int tool_id );
+void 	 wxAuiToolBar_SetToolLabel (TSelf(wxAuiToolBar) _obj, int tool_id, TClass(wxString) _label );
+void 	 wxAuiToolBar_GetToolBitmap (TSelf(wxAuiToolBar) _obj, int tool_id, TClassRef(wxBitmap) _bmp );
+void 	 wxAuiToolBar_SetToolBitmap (TSelf(wxAuiToolBar) _obj, int tool_id, TClass(wxBitmap) _bitmap );
+TClass(wxString) 	 wxAuiToolBar_GetToolShortHelp (TSelf(wxAuiToolBar) _obj, int tool_id );
+void 	 wxAuiToolBar_SetToolShortHelp (TSelf(wxAuiToolBar) _obj, int tool_id, TClass(wxString) _help_string );
+TClass(wxString) 	 wxAuiToolBar_GetToolLongHelp (TSelf(wxAuiToolBar) _obj, int tool_id );
+void 	 wxAuiToolBar_SetToolLongHelp (TSelf(wxAuiToolBar) _obj, int tool_id, TClass(wxString) _help_string );
+void 	 wxAuiToolBar_SetCustomOverflowItems (TSelf(wxAuiToolBar) _obj, TClass(wxAuiToolBarItemArray) _prepend, TClass(wxAuiToolBarItemArray) _append );
+TClass(wxSize) 	 wxAuiToolBar_GetHintSize (TSelf(wxAuiToolBar) _obj, int dock_direction);
+TBool 	 wxAuiToolBar_IsPaneValid (TSelf(wxAuiToolBar) _obj, TClass(wxAuiPaneInfo) _pane );
+
+/* wxAuiNotebook */
+TClassDefExtend(wxAuiNotebook, wxBookCtrlBase)
+TClass(wxAuiNotebook)   wxAuiNotebook_CreateDefault();
+TClass(wxAuiNotebook)   wxAuiNotebook_Create(TClass(wxWindow) _parent, int id, TPoint(x,y), TSize(_width,_height), long style );
+TBool 	 wxAuiNotebook_CreateFromDefault (TSelf(wxAuiNotebook) _obj, TClass(wxWindow) _parent, int id, TPoint(x,y), TSize(_width,_height), long style);
+TBool 	 wxAuiNotebook_AddPageWithBitmap (TSelf(wxAuiNotebook) _obj, TClass(wxWindow) _page, TClass(wxString) _caption, TBool select, TClass(wxBitmap) _bitmap);
+TBool 	 wxAuiNotebook_AddPage (TSelf(wxAuiNotebook) _obj, TClass(wxWindow) _page, TClass(wxString) _text, TBool select, int imageId);
+void 	 wxAuiNotebook_AdvanceSelection (TSelf(wxAuiNotebook) _obj, TBool forward);
+int 	 wxAuiNotebook_ChangeSelection (TSelf(wxAuiNotebook) _obj, size_t n);
+TBool 	 wxAuiNotebook_DeleteAllPages (TSelf(wxAuiNotebook) _obj );
+TBool 	 wxAuiNotebook_DeletePage (TSelf(wxAuiNotebook) _obj, size_t page );
+TClass(wxAuiTabArt) 	 wxAuiNotebook_GetArtProvider (TSelf(wxAuiNotebook) _obj );
+TClass(wxWindow) 	 wxAuiNotebook_GetCurrentPage (TSelf(wxAuiNotebook) _obj );
+int 	 wxAuiNotebook_GetHeightForPageHeight (TSelf(wxAuiNotebook) _obj, int pageHeight );
+TClass(wxWindow) 	 wxAuiNotebook_GetPage (TSelf(wxAuiNotebook) _obj, size_t page_idx );
+void                 wxAuiNotebook_GetPageBitmap (TSelf(wxAuiNotebook) _obj, size_t page, TClassRef(wxBitmap) bmp );
+size_t 	 wxAuiNotebook_GetPageCount (TSelf(wxAuiNotebook) _obj );
+int 	 wxAuiNotebook_GetPageIndex (TSelf(wxAuiNotebook) _obj, TClass(wxWindow) _page_wnd );
+TClass(wxString) 	 wxAuiNotebook_GetPageText (TSelf(wxAuiNotebook) _obj, size_t page );
+TClass(wxString) 	 wxAuiNotebook_GetPageToolTip (TSelf(wxAuiNotebook) _obj, size_t pageIdx );
+int 	 wxAuiNotebook_GetSelection (TSelf(wxAuiNotebook) _obj );
+int 	 wxAuiNotebook_GetTabCtrlHeight (TSelf(wxAuiNotebook) _obj );
+TBool 	 wxAuiNotebook_InsertPageWithBitmap (TSelf(wxAuiNotebook) _obj, size_t page_idx, TClass(wxWindow) _page, TClass(wxString) _caption, TBool select, TClass(wxBitmap) _bitmap );
+TBool 	 wxAuiNotebook_InsertPage (TSelf(wxAuiNotebook) _obj, size_t index, TClass(wxWindow) _page, TClass(wxString) _text, TBool select, int imageId );
+TBool 	 wxAuiNotebook_RemovePage (TSelf(wxAuiNotebook) _obj, size_t page );
+void 	 wxAuiNotebook_SetArtProvider (TSelf(wxAuiNotebook) _obj, TClass(wxAuiTabArt) _art );
+TBool 	 wxAuiNotebook_SetFont (TSelf(wxAuiNotebook) _obj, TClass(wxFont) _font );
+void 	 wxAuiNotebook_SetMeasuringFont (TSelf(wxAuiNotebook) _obj, TClass(wxFont) _font );
+void 	 wxAuiNotebook_SetNormalFont (TSelf(wxAuiNotebook) _obj, TClass(wxFont) _font );
+TBool 	 wxAuiNotebook_SetPageBitmap (TSelf(wxAuiNotebook) _obj, size_t page, TClass(wxBitmap) _bitmap );
+TBool 	 wxAuiNotebook_SetPageImage (TSelf(wxAuiNotebook) _obj, size_t n, int imageId );
+TBool 	 wxAuiNotebook_SetPageText (TSelf(wxAuiNotebook) _obj, size_t page, TClass(wxString) _text );
+TBool 	 wxAuiNotebook_SetPageToolTip (TSelf(wxAuiNotebook) _obj, size_t page, TClass(wxString) _text );
+void 	 wxAuiNotebook_SetSelectedFont (TSelf(wxAuiNotebook) _obj, TClass(wxFont) _font );
+size_t 	 wxAuiNotebook_SetSelection (TSelf(wxAuiNotebook) _obj, size_t new_page );
+void 	 wxAuiNotebook_SetTabCtrlHeight (TSelf(wxAuiNotebook) _obj, int height );
+TBool 	 wxAuiNotebook_ShowWindowMenu (TSelf(wxAuiNotebook) _obj );
+void 	 wxAuiNotebook_SetUniformBitmapSize (TSelf(wxAuiNotebook) _obj, TSize(_width,_height));
+void 	 wxAuiNotebook_Split (TSelf(wxAuiNotebook) _obj, size_t page, int direction );
+
+/* wxAuiTabContainerButton */
+TClassDef(wxAuiTabContainerButton)
+int 	wxAuiTabContainerButton_Id(TSelf(wxAuiTabContainerButton) _obj );
+int 	wxAuiTabContainerButton_CurState(TSelf(wxAuiTabContainerButton) _obj );
+int 	wxAuiTabContainerButton_Location(TSelf(wxAuiTabContainerButton) _obj );
+void 	wxAuiTabContainerButton_Bitmap(TSelf(wxAuiTabContainerButton) _obj, TClassRef(wxBitmap) _bmp );
+void 	wxAuiTabContainerButton_DisBitmap(TSelf(wxAuiTabContainerButton) _obj, TClassRef(wxBitmap) _bmp );
+TClass(wxRect) 	wxAuiTabContainerButton_Rect(TSelf(wxAuiTabContainerButton) _obj );
+
+
+/* wxAuiTabContainer */
+TClassDef(wxAuiTabContainer)
+TClass(wxAuiTabContainer)  wxAuiTabContainer_Create();
+void 	 wxAuiTabContainer_SetArtProvider (TSelf(wxAuiTabContainer) _obj, TClass(wxAuiTabArt) _art );
+TClass(wxAuiTabArt) 	 wxAuiTabContainer_GetArtProvider (TSelf(wxAuiTabContainer) _obj );
+void 	 wxAuiTabContainer_SetFlags (TSelf(wxAuiTabContainer) _obj, int _flags );
+int 	 wxAuiTabContainer_GetFlags (TSelf(wxAuiTabContainer) _obj );
+TBool 	 wxAuiTabContainer_AddPage (TSelf(wxAuiTabContainer) _obj, TClass(wxWindow) _page, TClass(wxAuiNotebookPage) _info );
+TBool 	 wxAuiTabContainer_InsertPage (TSelf(wxAuiTabContainer) _obj, TClass(wxWindow) _page, TClass(wxAuiNotebookPage) _info, size_t idx );
+TBool 	 wxAuiTabContainer_MovePage (TSelf(wxAuiTabContainer) _obj, TClass(wxWindow) _page, size_t newIdx );
+TBool 	 wxAuiTabContainer_RemovePage (TSelf(wxAuiTabContainer) _obj, TClass(wxWindow) _page );
+TBool 	 wxAuiTabContainer_SetActivePageByWindow (TSelf(wxAuiTabContainer) _obj, TClass(wxWindow) _page );
+TBool 	 wxAuiTabContainer_SetActivePage (TSelf(wxAuiTabContainer) _obj, size_t page );
+void 	 wxAuiTabContainer_SetNoneActive (TSelf(wxAuiTabContainer) _obj );
+int 	 wxAuiTabContainer_GetActivePage (TSelf(wxAuiTabContainer) _obj );
+//TBool 	 wxAuiTabContainer_TabHitTest (TSelf(wxAuiTabContainer) _obj, int x, int y, TClassRef(wxWindow) _hit );
+//TBool 	 wxAuiTabContainer_ButtonHitTest (TSelf(wxAuiTabContainer) _obj, int x, int y, TClassRef(wxAuiTabContainerButton) _hit );
+TClass(wxWindow) 	 wxAuiTabContainer_GetWindowFromIdx (TSelf(wxAuiTabContainer) _obj, size_t idx );
+int 	 wxAuiTabContainer_GetIdxFromWindow (TSelf(wxAuiTabContainer) _obj, TClass(wxWindow) _page );
+size_t 	 wxAuiTabContainer_GetPageCount (TSelf(wxAuiTabContainer) _obj );
+TClass(wxAuiNotebookPage) 	 wxAuiTabContainer_GetPage (TSelf(wxAuiTabContainer) _obj, size_t idx );
+TClass(wxAuiNotebookPageArray) 	 wxAuiTabContainer_GetPages (TSelf(wxAuiTabContainer) _obj);
+void 	 wxAuiTabContainer_SetNormalFont (TSelf(wxAuiTabContainer) _obj, TClass(wxFont) _normalFont );
+void 	 wxAuiTabContainer_SetSelectedFont (TSelf(wxAuiTabContainer) _obj, TClass(wxFont) _selectedFont );
+void 	 wxAuiTabContainer_SetMeasuringFont (TSelf(wxAuiTabContainer) _obj, TClass(wxFont) _measuringFont );
+void 	 wxAuiTabContainer_SetColour (TSelf(wxAuiTabContainer) _obj, TClass(wxColour) _colour );
+void 	 wxAuiTabContainer_SetActiveColour (TSelf(wxAuiTabContainer) _obj, TClass(wxColour) _colour );
+void 	 wxAuiTabContainer_DoShowHide (TSelf(wxAuiTabContainer) _obj );
+void 	 wxAuiTabContainer_SetRect (TSelf(wxAuiTabContainer) _obj, TClass(wxRect) _rect );
+void 	 wxAuiTabContainer_RemoveButton (TSelf(wxAuiTabContainer) _obj, int id );
+void 	 wxAuiTabContainer_AddButton (TSelf(wxAuiTabContainer) _obj, int id, int location, TClass(wxBitmap) _normalBitmap, TClass(wxBitmap) _disabledBitmap );
+size_t 	 wxAuiTabContainer_GetTabOffset (TSelf(wxAuiTabContainer) _obj );
+void 	 wxAuiTabContainer_SetTabOffset (TSelf(wxAuiTabContainer) _obj, size_t offset );
+TBool 	 wxAuiTabContainer_IsTabVisible (TSelf(wxAuiTabContainer) _obj, int tabPage, int tabOffset, TClass(wxDC) _dc, TClass(wxWindow) _wnd );
+void 	 wxAuiTabContainer_MakeTabVisible (TSelf(wxAuiTabContainer) _obj, int tabPage, TClass(wxWindow) _win );
+
+/* wxAuiTabCtrl */
+TClassDefExtend(wxAuiTabCtrl, wxControl)
+void 	 wxAuiTabCtrl_SetArtProvider (TSelf(wxAuiTabCtrl) _obj, TClass(wxAuiTabArt) _art );
+TClass(wxAuiTabArt) 	 wxAuiTabCtrl_GetArtProvider (TSelf(wxAuiTabCtrl) _obj );
+void 	 wxAuiTabCtrl_SetFlags (TSelf(wxAuiTabCtrl) _obj, int _flags );
+int 	 wxAuiTabCtrl_GetFlags (TSelf(wxAuiTabCtrl) _obj );
+TBool 	 wxAuiTabCtrl_AddPage (TSelf(wxAuiTabCtrl) _obj, TClass(wxWindow) _page, TClass(wxAuiNotebookPage) _info );
+TBool 	 wxAuiTabCtrl_InsertPage (TSelf(wxAuiTabCtrl) _obj, TClass(wxWindow) _page, TClass(wxAuiNotebookPage) _info, size_t idx );
+TBool 	 wxAuiTabCtrl_MovePage (TSelf(wxAuiTabCtrl) _obj, TClass(wxWindow) _page, size_t newIdx );
+TBool 	 wxAuiTabCtrl_RemovePage (TSelf(wxAuiTabCtrl) _obj, TClass(wxWindow) _page );
+TBool 	 wxAuiTabCtrl_SetActivePageByWindow (TSelf(wxAuiTabCtrl) _obj, TClass(wxWindow) _page );
+TBool 	 wxAuiTabCtrl_SetActivePage (TSelf(wxAuiTabCtrl) _obj, size_t page );
+void 	 wxAuiTabCtrl_SetNoneActive (TSelf(wxAuiTabCtrl) _obj );
+int 	 wxAuiTabCtrl_GetActivePage (TSelf(wxAuiTabCtrl) _obj );
+//TBool 	 wxAuiTabCtrl_TabHitTest (TSelf(wxAuiTabCtrl) _obj, int x, int y, TClassRef(wxWindow) _hit );
+//TBool 	 wxAuiTabCtrl_ButtonHitTest (TSelf(wxAuiTabCtrl) _obj, int x, int y, TClassRef(wxAuiTabCtrlButton) _hit );
+TClass(wxWindow) 	 wxAuiTabCtrl_GetWindowFromIdx (TSelf(wxAuiTabCtrl) _obj, size_t idx );
+int 	 wxAuiTabCtrl_GetIdxFromWindow (TSelf(wxAuiTabCtrl) _obj, TClass(wxWindow) _page );
+size_t 	 wxAuiTabCtrl_GetPageCount (TSelf(wxAuiTabCtrl) _obj );
+TClass(wxAuiNotebookPage) 	 wxAuiTabCtrl_GetPage (TSelf(wxAuiTabCtrl) _obj, size_t idx );
+TClass(wxAuiNotebookPageArray) 	 wxAuiTabCtrl_GetPages (TSelf(wxAuiTabCtrl) _obj);
+void 	 wxAuiTabCtrl_SetNormalFont (TSelf(wxAuiTabCtrl) _obj, TClass(wxFont) _normalFont );
+void 	 wxAuiTabCtrl_SetSelectedFont (TSelf(wxAuiTabCtrl) _obj, TClass(wxFont) _selectedFont );
+void 	 wxAuiTabCtrl_SetMeasuringFont (TSelf(wxAuiTabCtrl) _obj, TClass(wxFont) _measuringFont );
+void 	 wxAuiTabCtrl_SetColour (TSelf(wxAuiTabCtrl) _obj, TClass(wxColour) _colour );
+void 	 wxAuiTabCtrl_SetActiveColour (TSelf(wxAuiTabCtrl) _obj, TClass(wxColour) _colour );
+void 	 wxAuiTabCtrl_DoShowHide (TSelf(wxAuiTabCtrl) _obj );
+void 	 wxAuiTabCtrl_SetRect (TSelf(wxAuiTabCtrl) _obj, TClass(wxRect) _rect );
+void 	 wxAuiTabCtrl_RemoveButton (TSelf(wxAuiTabCtrl) _obj, int id );
+void 	 wxAuiTabCtrl_AddButton (TSelf(wxAuiTabCtrl) _obj, int id, int location, TClass(wxBitmap) _normalBitmap, TClass(wxBitmap) _disabledBitmap );
+size_t 	 wxAuiTabCtrl_GetTabOffset (TSelf(wxAuiTabCtrl) _obj );
+void 	 wxAuiTabCtrl_SetTabOffset (TSelf(wxAuiTabCtrl) _obj, size_t offset );
+TBool 	 wxAuiTabCtrl_IsTabVisible (TSelf(wxAuiTabCtrl) _obj, int tabPage, int tabOffset, TClass(wxDC) _dc, TClass(wxWindow) _wnd );
+void 	 wxAuiTabCtrl_MakeTabVisible (TSelf(wxAuiTabCtrl) _obj, int tabPage, TClass(wxWindow) _win );
+
+
+/* wxAuiTabArt */
+TClassDef(wxAuiTabArt)
+TClass(wxAuiTabArt) 	 wxAuiTabArt_Clone (TSelf(wxAuiTabArt) _obj );
+void 	 wxAuiTabArt_DrawBackground (TSelf(wxAuiTabArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxRect) _rect );
+void 	 wxAuiTabArt_DrawButton (TSelf(wxAuiTabArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxRect) _in_rect, int bitmap_id, int button_state, int orientation, TClass(wxRect) _out_rect );
+void 	 wxAuiTabArt_DrawTab (TSelf(wxAuiTabArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxAuiNotebookPage) _page, TClass(wxRect) _rect, int close_button_state, TClass(wxRect) _out_tab_rect, TClass(wxRect) _out_button_rect, int *x_extent );
+int 	 wxAuiTabArt_GetBestTabCtrlSize (TSelf(wxAuiTabArt) _obj, TClass(wxWindow) _wnd, TClass(wxAuiNotebookPageArray) _pages, TSize(_width,_height));
+int 	 wxAuiTabArt_GetIndentSize (TSelf(wxAuiTabArt) _obj );
+TClass(wxSize) 	 wxAuiTabArt_GetTabSize (TSelf(wxAuiTabArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxString) _caption, TClass(wxBitmap) _bitmap, TBool active, int close_button_state, int *x_extent );
+void 	 wxAuiTabArt_SetFlags (TSelf(wxAuiTabArt) _obj, int _flags );
+void 	 wxAuiTabArt_SetMeasuringFont (TSelf(wxAuiTabArt) _obj, TClass(wxFont) _font );
+void 	 wxAuiTabArt_SetNormalFont (TSelf(wxAuiTabArt) _obj, TClass(wxFont) _font );
+void 	 wxAuiTabArt_SetSelectedFont (TSelf(wxAuiTabArt) _obj, TClass(wxFont) _font );
+void 	 wxAuiTabArt_SetColour (TSelf(wxAuiTabArt) _obj, TClass(wxColour) _colour );
+void 	 wxAuiTabArt_SetActiveColour (TSelf(wxAuiTabArt) _obj, TClass(wxColour) _colour );
+void 	 wxAuiTabArt_SetSizingInfo (TSelf(wxAuiTabArt) _obj, TSize(_width,_height), size_t tab_count );
+
+/* wxAuiSimpleTabArt */
+TClassDefExtend(wxAuiSimpleTabArt, wxAuiTabArt)
+TClass(wxAuiSimpleTabArt)  wxAuiSimpleTabArt_Create();
+TClass(wxAuiTabArt) 	 wxAuiSimpleTabArt_Clone (TSelf(wxAuiSimpleTabArt) _obj );
+void 	 wxAuiSimpleTabArt_SetFlags (TSelf(wxAuiSimpleTabArt) _obj, int _flags );
+void 	 wxAuiSimpleTabArt_SetSizingInfo (TSelf(wxAuiSimpleTabArt) _obj, TSize(_width,_height), size_t tabCount );
+void 	 wxAuiSimpleTabArt_SetNormalFont (TSelf(wxAuiSimpleTabArt) _obj, TClass(wxFont) _font );
+void 	 wxAuiSimpleTabArt_SetSelectedFont (TSelf(wxAuiSimpleTabArt) _obj, TClass(wxFont) _font );
+void 	 wxAuiSimpleTabArt_SetMeasuringFont (TSelf(wxAuiSimpleTabArt) _obj, TClass(wxFont) _font );
+void 	 wxAuiSimpleTabArt_SetColour (TSelf(wxAuiSimpleTabArt) _obj, TClass(wxColour) _colour );
+void 	 wxAuiSimpleTabArt_SetActiveColour (TSelf(wxAuiSimpleTabArt) _obj, TClass(wxColour) _colour );
+void 	 wxAuiSimpleTabArt_DrawBackground (TSelf(wxAuiSimpleTabArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxRect) _rect );
+void 	 wxAuiSimpleTabArt_DrawTab (TSelf(wxAuiSimpleTabArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxAuiNotebookPage) _pane, TClass(wxRect) _inRect, int closeButtonState, TClass(wxRect) _outTabRect, TClass(wxRect) _outButtonRect, int *xExtent );
+void 	 wxAuiSimpleTabArt_DrawButton (TSelf(wxAuiSimpleTabArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxRect) _inRect, int bitmapId, int buttonState, int orientation, TClass(wxRect) _outRect );
+int 	 wxAuiSimpleTabArt_GetIndentSize (TSelf(wxAuiSimpleTabArt) _obj );
+TClass(wxSize) 	 wxAuiSimpleTabArt_GetTabSize (TSelf(wxAuiSimpleTabArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _wnd, TClass(wxString) _caption, TClass(wxBitmap) _bitmap, TBool active, int closeButtonState, int *xExtent );
+int 	 wxAuiSimpleTabArt_ShowDropDown (TSelf(wxAuiSimpleTabArt) _obj, TClass(wxWindow) _wnd, TClass(wxAuiNotebookPageArray) _items, int activeIdx );
+int 	 wxAuiSimpleTabArt_GetBestTabCtrlSize (TSelf(wxAuiSimpleTabArt) _obj, TClass(wxWindow) _wnd, TClass(wxAuiNotebookPageArray) _pages, TSize(_width,_height));
+
+
+/* wxAuiManager - public member */
+TClassDefExtend(wxAuiManager,wxEvtHandler)
+TClass(wxAuiManager) wxAuiManager_Create(TClass(wxWindow) _managed_wnd, int _flags);
+void       wxAuiManager_Delete( TSelf(wxAuiManager) _obj );
+TBool      wxAuiManager_DetachPane(TSelf(wxAuiManager) _obj, TClass(wxWindow) _window);
+TClass(wxAuiPaneInfoArray)  wxAuiManager_GetAllPanes(TSelf(wxAuiManager) _obj);
+TClass(wxAuiDockArt) wxAuiManager_GetArtProvider(TSelf(wxAuiManager) _obj);
+void       wxAuiManager_GetDockSizeConstraint(TSelf(wxAuiManager) _obj, double* _widthpct, double* _heightpct);
+int    wxAuiManager_GetFlags(TSelf(wxAuiManager) _obj);
+TClass(wxWindow) wxAuiManager_GetManagedWindow(TSelf(wxAuiManager) _obj);
+void       wxAuiManager_HideHint(TSelf(wxAuiManager) _obj);
+TBool      wxAuiManager_InsertPane(TSelf(wxAuiManager) _obj, TClass(wxWindow) _window, TClass(wxAuiPaneInfo) _insert_location, int _insert_level);
+void       wxAuiManager_LoadPaneInfo(TSelf(wxAuiManager) _obj, TClass(wxString) _pane_part, TClass(wxAuiPaneInfo) _pane);
+TBool      wxAuiManager_LoadPerspective(TSelf(wxAuiManager) _obj, TClass(wxString) _perspective, TBool update);
+TClass(wxString) wxAuiManager_SavePaneInfo(TSelf(wxAuiManager) _obj, TClass(wxAuiPaneInfo) _pane);
+TClass(wxString) wxAuiManager_SavePerspective(TSelf(wxAuiManager) _obj);
+void       wxAuiManager_SetArtProvider(TSelf(wxAuiManager) _obj, TClass(wxAuiDockArt) _art_provider);
+void       wxAuiManager_SetDockSizeConstraint(TSelf(wxAuiManager) _obj, double widthpct, double heightpct);
+void       wxAuiManager_SetFlags(TSelf(wxAuiManager) _obj, int flags);
+void       wxAuiManager_SetManagedWindow(TSelf(wxAuiManager) _obj, TClass(wxWindow) _managed_wnd);
+void       wxAuiManager_ShowHint(TSelf(wxAuiManager) _obj, TClass(wxRect) _rect);
+void       wxAuiManager_UnInit(TSelf(wxAuiManager) _obj);
+void       wxAuiManager_Update(TSelf(wxAuiManager) _obj);
+TBool     wxAuiManager_AddPane(TSelf(wxAuiManager) _obj, TClass(wxWindow) _window, int _direction, TClass(wxString) _caption);
+TBool     wxAuiManager_AddPaneByPaneInfo(TSelf(wxAuiManager) _obj, TClass(wxWindow) _window, TClass(wxAuiPaneInfo) _pane_info);
+TBool     wxAuiManager_AddPaneByPaneInfoAndDropPosition(TSelf(wxAuiManager) _obj, TClass(wxWindow) _window, TClass(wxAuiPaneInfo) _pane_info, TPoint(x,y));
+TClass(wxAuiPaneInfo)      wxAuiManager_GetPaneByWindow(TSelf(wxAuiManager) _obj, TClass(wxWindow) _window);
+TClass(wxAuiPaneInfo)      wxAuiManager_GetPaneByName(TSelf(wxAuiManager) _obj, TClass(wxString) _name);
+TClass(wxAuiManager)  wxAuiManager_GetManager(TClass(wxWindow) _window);
+
+/* wxAuiDockArt */
+TClassDef(wxAuiDockArt)
+void wxAuiDockArt_DrawBackground(TSelf(wxAuiDockArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _window, int orientation, TClass(wxRect) _rect);
+void wxAuiDockArt_DrawBorder(TSelf(wxAuiDockArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _window, TClass(wxRect) _rect, TClass(wxAuiPaneInfo) _pane);
+void wxAuiDockArt_DrawCaption(TSelf(wxAuiDockArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _window, TClass(wxString) _text, TClass(wxRect) _rect, TClass(wxAuiPaneInfo) _pane);
+void wxAuiDockArt_DrawGripper(TSelf(wxAuiDockArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _window, TClass(wxRect) _rect, TClass(wxAuiPaneInfo) _pane);
+void wxAuiDockArt_DrawPaneButton(TSelf(wxAuiDockArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _window, int button, int button_state, TClass(wxRect) _rect, TClass(wxAuiPaneInfo) _pane);
+void wxAuiDockArt_DrawSash(TSelf(wxAuiDockArt) _obj, TClass(wxDC) _dc, TClass(wxWindow) _window, int orientation, TClass(wxRect) _rect);
+TClass(wxColour) wxAuiDockArt_GetColour(TSelf(wxAuiDockArt) _obj, int id);
+TClass(wxFont) wxAuiDockArt_GetFont(TSelf(wxAuiDockArt) _obj, int id);
+int wxAuiDockArt_GetMetric(TSelf(wxAuiDockArt) _obj, int id);
+void wxAuiDockArt_SetColour(TSelf(wxAuiDockArt) _obj, int id, TClass(wxColour) _colour);
+void wxAuiDockArt_SetFont(TSelf(wxAuiDockArt) _obj, int id, TClass(wxFont) _font);
+void wxAuiDockArt_SetMetric(TSelf(wxAuiDockArt) _obj, int id, int new_val);
+
+/* wxAuiPaneInfo */
+TClassDef(wxAuiPaneInfo)
+TClass(wxAuiPaneInfo)    wxAuiPaneInfo_CreateDefault();
+TClass(wxAuiPaneInfo)    wxAuiPaneInfo_Create(TClass(wxAuiPaneInfo) _c );
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_Bottom (TSelf(wxAuiPaneInfo) _obj);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_BottomDockable (TSelf(wxAuiPaneInfo) _obj, TBool b);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_Caption (TSelf(wxAuiPaneInfo) _obj, TClass(wxString) _c);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_CaptionVisible (TSelf(wxAuiPaneInfo) _obj, TBool visible);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_CloseButton (TSelf(wxAuiPaneInfo) _obj, TBool visible);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_DefaultPane (TSelf(wxAuiPaneInfo) _obj);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_DestroyOnClose (TSelf(wxAuiPaneInfo) _obj, TBool b);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_Direction (TSelf(wxAuiPaneInfo) _obj, int direction);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_Dock (TSelf(wxAuiPaneInfo) _obj);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_DockFixed (TSelf(wxAuiPaneInfo) _obj, TBool b);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_Dockable (TSelf(wxAuiPaneInfo) _obj, TBool b);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_Fixed (TSelf(wxAuiPaneInfo) _obj);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_Float (TSelf(wxAuiPaneInfo) _obj);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_Floatable (TSelf(wxAuiPaneInfo) _obj, TBool b);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_Gripper (TSelf(wxAuiPaneInfo) _obj, TBool visible);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_GripperTop (TSelf(wxAuiPaneInfo) _obj, TBool attop);
+TBool 	 wxAuiPaneInfo_HasBorder (TSelf(wxAuiPaneInfo) _obj );
+TBool 	 wxAuiPaneInfo_HasCaption (TSelf(wxAuiPaneInfo) _obj );
+TBool 	 wxAuiPaneInfo_HasCloseButton (TSelf(wxAuiPaneInfo) _obj );
+TBool 	 wxAuiPaneInfo_HasFlag (TSelf(wxAuiPaneInfo) _obj, int flag );
+TBool 	 wxAuiPaneInfo_HasGripper (TSelf(wxAuiPaneInfo) _obj );
+TBool 	 wxAuiPaneInfo_HasGripperTop (TSelf(wxAuiPaneInfo) _obj );
+TBool 	 wxAuiPaneInfo_HasMaximizeButton (TSelf(wxAuiPaneInfo) _obj );
+TBool 	 wxAuiPaneInfo_HasMinimizeButton (TSelf(wxAuiPaneInfo) _obj );
+TBool 	 wxAuiPaneInfo_HasPinButton (TSelf(wxAuiPaneInfo) _obj );
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_Hide (TSelf(wxAuiPaneInfo) _obj);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_Icon (TSelf(wxAuiPaneInfo) _obj, TClass(wxBitmap) _b);
+TBool 	 wxAuiPaneInfo_IsBottomDockable (TSelf(wxAuiPaneInfo) _obj );
+TBool 	 wxAuiPaneInfo_IsDockable (TSelf(wxAuiPaneInfo) _obj );
+TBool 	 wxAuiPaneInfo_IsDocked (TSelf(wxAuiPaneInfo) _obj );
+TBool 	 wxAuiPaneInfo_IsFixed (TSelf(wxAuiPaneInfo) _obj );
+TBool 	 wxAuiPaneInfo_IsFloatable (TSelf(wxAuiPaneInfo) _obj );
+TBool 	 wxAuiPaneInfo_IsFloating (TSelf(wxAuiPaneInfo) _obj );
+TBool 	 wxAuiPaneInfo_IsLeftDockable (TSelf(wxAuiPaneInfo) _obj );
+TBool 	 wxAuiPaneInfo_IsMovable (TSelf(wxAuiPaneInfo) _obj );
+TBool 	 wxAuiPaneInfo_IsOk (TSelf(wxAuiPaneInfo) _obj );
+TBool 	 wxAuiPaneInfo_IsResizable (TSelf(wxAuiPaneInfo) _obj );
+TBool 	 wxAuiPaneInfo_IsRightDockable (TSelf(wxAuiPaneInfo) _obj );
+TBool 	 wxAuiPaneInfo_IsShown (TSelf(wxAuiPaneInfo) _obj );
+TBool 	 wxAuiPaneInfo_IsToolbar (TSelf(wxAuiPaneInfo) _obj );
+TBool 	 wxAuiPaneInfo_IsTopDockable (TSelf(wxAuiPaneInfo) _obj );
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_Layer (TSelf(wxAuiPaneInfo) _obj, int layer);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_Left (TSelf(wxAuiPaneInfo) _obj);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_LeftDockable (TSelf(wxAuiPaneInfo) _obj, TBool b);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_MaximizeButton (TSelf(wxAuiPaneInfo) _obj, TBool visible);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_MinimizeButton (TSelf(wxAuiPaneInfo) _obj, TBool visible);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_Movable (TSelf(wxAuiPaneInfo) _obj, TBool b);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_Name (TSelf(wxAuiPaneInfo) _obj, TClass(wxString) _n);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_PaneBorder (TSelf(wxAuiPaneInfo) _obj, TBool visible);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_PinButton (TSelf(wxAuiPaneInfo) _obj, TBool visible);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_Position (TSelf(wxAuiPaneInfo) _obj, int pos);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_Resizable (TSelf(wxAuiPaneInfo) _obj, TBool resizable);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_Right (TSelf(wxAuiPaneInfo) _obj);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_RightDockable (TSelf(wxAuiPaneInfo) _obj, TBool b);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_Row (TSelf(wxAuiPaneInfo) _obj, int row);
+void 	 wxAuiPaneInfo_SafeSet (TSelf(wxAuiPaneInfo) _obj, TClass(wxAuiPaneInfo) source );
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_SetFlag (TSelf(wxAuiPaneInfo) _obj, int flag, TBool option_state);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_Show (TSelf(wxAuiPaneInfo) _obj, TBool show);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_ToolbarPane (TSelf(wxAuiPaneInfo) _obj);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_Top (TSelf(wxAuiPaneInfo) _obj);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_TopDockable (TSelf(wxAuiPaneInfo) _obj, TBool b);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_Window (TSelf(wxAuiPaneInfo) _obj, TClass(wxWindow) _w);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_Copy (TSelf(wxAuiPaneInfo) _obj, TClass(wxAuiPaneInfo) _c);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_BestSize (TSelf(wxAuiPaneInfo) _obj, TSize(_width,_height));
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_BestSizeXY (TSelf(wxAuiPaneInfo) _obj, int x, int y);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_Centre (TSelf(wxAuiPaneInfo) _obj);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_Center (TSelf(wxAuiPaneInfo) _obj);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_CentrePane (TSelf(wxAuiPaneInfo) _obj);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_CenterPane (TSelf(wxAuiPaneInfo) _obj);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_FloatingPosition (TSelf(wxAuiPaneInfo) _obj, TPoint(x,y));
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_FloatingPositionXY (TSelf(wxAuiPaneInfo) _obj, int x, int y);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_FloatingSize (TSelf(wxAuiPaneInfo) _obj, TSize(_width,_height));
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_FloatingSizeXY (TSelf(wxAuiPaneInfo) _obj, int x, int y);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_MaxSize (TSelf(wxAuiPaneInfo) _obj, TSize(_width,_height));
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_MaxSizeXY (TSelf(wxAuiPaneInfo) _obj, int x, int y);
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_MinSize (TSelf(wxAuiPaneInfo) _obj, TSize(_width,_height));
+TClass(wxAuiPaneInfo) 	 wxAuiPaneInfo_MinSizeXY (TSelf(wxAuiPaneInfo) _obj, int x, int y);
+
+/* wxAuiManagerEvent */
+TClassDefExtend(wxAuiManagerEvent, wxEvtHandler)
+TClass(wxAuiManagerEvent)  wxAuiManagerEvent_Create(int type );
+TBool 	 wxAuiManagerEvent_CanVeto (TSelf(wxAuiManagerEvent) _obj );
+int 	 wxAuiManagerEvent_GetButton (TSelf(wxAuiManagerEvent) _obj );
+TClass(wxDC) 	 wxAuiManagerEvent_GetDC (TSelf(wxAuiManagerEvent) _obj );
+TBool 	 wxAuiManagerEvent_GetVeto (TSelf(wxAuiManagerEvent) _obj );
+TClass(wxAuiManager) 	 wxAuiManagerEvent_GetManager (TSelf(wxAuiManagerEvent) _obj );
+TClass(wxAuiPaneInfo) 	 wxAuiManagerEvent_GetPane (TSelf(wxAuiManagerEvent) _obj );
+void 	 wxAuiManagerEvent_SetButton (TSelf(wxAuiManagerEvent) _obj, int button );
+void 	 wxAuiManagerEvent_SetCanVeto (TSelf(wxAuiManagerEvent) _obj, TBool can_veto );
+void 	 wxAuiManagerEvent_SetDC (TSelf(wxAuiManagerEvent) _obj, TClass(wxDC) _pdc);
+void 	 wxAuiManagerEvent_SetManager (TSelf(wxAuiManagerEvent) _obj, TClass(wxAuiManager) _manager );
+void 	 wxAuiManagerEvent_SetPane (TSelf(wxAuiManagerEvent) _obj, TClass(wxAuiPaneInfo) _pane );
+void 	 wxAuiManagerEvent_Veto (TSelf(wxAuiManagerEvent) _obj, TBool veto );
+
+
+/* wxAuiNotebookEvent */
+TClassDefExtend(wxAuiNotebookEvent, wxBookCtrlEvent)
+TClass(wxAuiNotebookEvent)  wxAuiNotebookEvent_Create(int command_type, int win_id);
+TClass(wxAuiNotebook) wxAuiNotebookEvent_GetDragSource(TSelf(wxAuiNotebookEvent) _obj);
+/* void SetDragSource(wxAuiNotebook* s) { m_dragSource = s; } */
+
+
+/* wxBookCtrlEvent */
+TClassDefExtend(wxBookCtrlEvent, wxNotifyEvent)
+TClass(wxBookCtrlEvent)  wxBookCtrlEvent_Create(int commandType, int winid, int nSel, int nOldSel);
+int     wxBookCtrlEvent_GetSelection(TSelf(wxBookCtrlEvent) _obj);
+int     wxBookCtrlEvent_GetOldSelection(TSelf(wxBookCtrlEvent) _obj);
+/* void    wxBookCtrlEvent_SetSelection(int nSel); */
+/* void    wxBookCtrlEvent_SetOldSelection(int nOldSel); */
+
+
+/* wxBookCtrlBase */
+TClassDefExtend(wxBookCtrlBase, wxControl)
+TBool 	wxBookCtrlBase_CreateFromDefault (TSelf(wxBookCtrlBase) _obj, TClass(wxWindow) _parent, int winid, TPoint(x,y), TSize(_width,_height), long style, TClass(wxString) _name );
+void 	wxBookCtrlBase_SetPageSize (TSelf(wxBookCtrlBase) _obj, TSize(_width,_height));
+int 	wxBookCtrlBase_HitTest (TSelf(wxBookCtrlBase) _obj, TPoint(x,y), long *flags );
+int 	wxBookCtrlBase_GetPageImage (TSelf(wxBookCtrlBase) _obj, size_t nPage );
+TBool 	wxBookCtrlBase_SetPageImage (TSelf(wxBookCtrlBase) _obj, size_t page, int image );
+TClass(wxString) 	wxBookCtrlBase_GetPageText (TSelf(wxBookCtrlBase) _obj, size_t nPage );
+TBool 	wxBookCtrlBase_SetPageText (TSelf(wxBookCtrlBase) _obj, size_t page, TClass(wxString) _text );
+int 	wxBookCtrlBase_GetSelection (TSelf(wxBookCtrlBase) _obj );
+TClass(wxWindow) 	wxBookCtrlBase_GetCurrentPage (TSelf(wxBookCtrlBase) _obj );
+int 	wxBookCtrlBase_SetSelection (TSelf(wxBookCtrlBase) _obj, size_t page );
+void 	wxBookCtrlBase_AdvanceSelection (TSelf(wxBookCtrlBase) _obj, TBool forward );
+int 	wxBookCtrlBase_ChangeSelection (TSelf(wxBookCtrlBase) _obj, size_t page );
+int 	wxBookCtrlBase_FindPage (TSelf(wxBookCtrlBase) _obj, TClass(wxWindow) _page );
+TBool 	wxBookCtrlBase_AddPage (TSelf(wxBookCtrlBase) _obj, TClass(wxWindow) _page, TClass(wxString) _text, TBool select, int imageId );
+TBool 	wxBookCtrlBase_DeleteAllPages (TSelf(wxBookCtrlBase) _obj );
+TBool 	wxBookCtrlBase_DeletePage (TSelf(wxBookCtrlBase) _obj, size_t page );
+TBool 	wxBookCtrlBase_InsertPage (TSelf(wxBookCtrlBase) _obj, size_t index, TClass(wxWindow) _page, TClass(wxString) _text, TBool select, int imageId );
+TBool 	wxBookCtrlBase_RemovePage (TSelf(wxBookCtrlBase) _obj, size_t page );
+size_t 	wxBookCtrlBase_GetPageCount (TSelf(wxBookCtrlBase) _obj );
+TClass(wxWindow) 	wxBookCtrlBase_GetPage (TSelf(wxBookCtrlBase) _obj, size_t page );
+void 	wxBookCtrlBase_AssignImageList (TSelf(wxBookCtrlBase) _obj, TClass(wxImageList) imageList );
+void 	wxBookCtrlBase_SetImageList (TSelf(wxBookCtrlBase) _obj, TClass(wxImageList) imageList );
+TClass(wxImageList) wxBookCtrlBase_GetImageList (TSelf(wxBookCtrlBase) _obj );
+
+TClassDef(wxAuiNotebookPage)
+TClass(wxWindow) wxAuiNotebookPage_Window(TSelf(wxAuiNotebookPage) _obj);
+TClass(wxString) wxAuiNotebookPage_Caption(TSelf(wxAuiNotebookPage) _obj);
+TClass(wxString) wxAuiNotebookPage_Tooltip(TSelf(wxAuiNotebookPage) _obj);
+TClass(wxBitmap) wxAuiNotebookPage_Bitmap(TSelf(wxAuiNotebookPage) _obj);
+TClass(wxRect) wxAuiNotebookPage_Rect(TSelf(wxAuiNotebookPage) _obj);
+TBool wxAuiNotebookPage_Active(TSelf(wxAuiNotebookPage) _obj);
+
+/** wxAuiNotebookPageArray **/
+/** see wxWidgets dynarray.h for additional array functions **/
+TClassDef(wxAuiNotebookPageArray)
+TClass(wxAuiNotebookPageArray) wxAuiNotebookPageArray_Create();
+void       wxAuiNotebookPageArray_Delete(TSelf(wxAuiNotebookPageArray) _obj);
+int        wxAuiNotebookPageArray_GetCount(TSelf(wxAuiNotebookPageArray) _obj);
+TClass(wxAuiNotebookPage)       wxAuiNotebookPageArray_Item(TSelf(wxAuiNotebookPageArray) _obj, int _idx);
+
+/** wxAuiToolBarItemArray **/
+/** see wxWidgets dynarray.h for additional array functions **/
+TClassDef(wxAuiToolBarItemArray)
+TClass(wxAuiToolBarItemArray) wxAuiToolBarItemArray_Create();
+void       wxAuiToolBarItemArray_Delete(TSelf(wxAuiToolBarItemArray) _obj);
+int        wxAuiToolBarItemArray_GetCount(TSelf(wxAuiToolBarItemArray) _obj);
+TClass(wxAuiToolBarItem)       wxAuiToolBarItemArray_Item(TSelf(wxAuiToolBarItemArray) _obj, int _idx);
+
+/** wxAuiPaneInfoArray **/
+/** see wxWidgets dynarray.h for additional array functions **/
+TClassDef(wxAuiPaneInfoArray)
+TClass(wxAuiPaneInfoArray) wxAuiPaneInfoArray_Create();
+void       wxAuiPaneInfoArray_Delete(TSelf(wxAuiPaneInfoArray) _obj);
+int        wxAuiPaneInfoArray_GetCount(TSelf(wxAuiPaneInfoArray) _obj);
+TClass(wxAuiPaneInfo)       wxAuiPaneInfoArray_Item(TSelf(wxAuiPaneInfoArray) _obj, int _idx);
+
+
 /* wxAutoBufferedPaintDC */
 TClassDefExtend(wxAutoBufferedPaintDC,wxDC)
 TClass(wxAutoBufferedPaintDC) wxAutoBufferedPaintDC_Create( TClass(wxWindow) window );
@@ -2553,12 +3125,12 @@ void       wxGridCellEditor_HandleReturn( TSelf(wxGridCellEditor) _obj, TClass(wxEvent) event );
 TBool      wxGridCellEditor_IsAcceptedKey( TSelf(wxGridCellEditor) _obj, TClass(wxEvent) event );
 TBool      wxGridCellEditor_IsCreated( TSelf(wxGridCellEditor) _obj );
-+
 #if (wxVERSION_NUMBER >= 2905)
 void       wxGridCellEditor_PaintBackground( TSelf(wxGridCellEditor) _obj, TClass(wxDC) dc, TRect(x,y,w,h), TClass(wxGridCellAttr) attr );
 #else
 void       wxGridCellEditor_PaintBackground( TSelf(wxGridCellEditor) _obj, TRect(x,y,w,h), TClass(wxGridCellAttr) attr );
-#endif+#endif
 
 void       wxGridCellEditor_Reset( TSelf(wxGridCellEditor) _obj );
 void       wxGridCellEditor_SetControl( TSelf(wxGridCellEditor) _obj, TClass(wxControl) control );
@@ -4432,7 +5004,11 @@ 
 /* wxSplashScreen */
 TClassDefExtend(wxSplashScreen,wxFrame)
+TClass(wxSplashScreen) wxSplashScreen_Create( TClass(wxBitmap) _bmp, long _sstl, int _ms, TClass(wxWindow) parent, int id, TRect(_lft,_top,_wdt,_hgt), long _stl);
 
+long       wxSplashScreen_GetSplashStyle( TSelf(wxSplashScreen) _obj );
+int        wxSplashScreen_GetTimeout( TSelf(wxSplashScreen) _obj );
+
 /* wxSplitterEvent */
 TClassDefExtend(wxSplitterEvent,wxNotifyEvent)
 
@@ -5000,6 +5576,7 @@ TClass(wxSize) wxWindow_GetVirtualSize( TSelf(wxWindow) _obj );
 int        wxWindow_GetWindowStyleFlag( TSelf(wxWindow) _obj );
 TBool      wxWindow_HasFlag( TSelf(wxWindow) _obj, int flag );
+TBool      wxWindow_HasFocus( TSelf(wxWindow) _obj );
 TBool      wxWindow_Hide( TSelf(wxWindow) _obj );
 void       wxWindow_InitDialog( TSelf(wxWindow) _obj );
 TBool      wxWindow_IsBeingDeleted( TSelf(wxWindow) _obj );
wxc.cabal view
@@ -1,5 +1,5 @@ name:         wxc
-version:      0.91.0.0
+version:      0.92.0.0
 license:      OtherLicense
 license-file: LICENSE
 maintainer:   wxhaskell-devel@lists.sourceforge.net
@@ -26,6 +26,7 @@     src/cpp/dragimage.cpp
     src/cpp/eljaccelerator.cpp
     src/cpp/eljartprov.cpp
+    src/cpp/eljaui.cpp
     src/cpp/eljbitmap.cpp
     src/cpp/eljbrush.cpp
     src/cpp/eljbusyinfo.cpp
@@ -92,6 +93,7 @@     src/cpp/eljregion.cpp
     src/cpp/eljregioniter.cpp
     src/cpp/eljsash.cpp
+    src/cpp/eljsplash.cpp
     src/cpp/eljscrollbar.cpp
     src/cpp/eljscrolledwindow.cpp
     src/cpp/eljsingleinst.cpp
@@ -158,7 +160,7 @@     wxc_types.h
 
   build-depends:
-    base >= 4 && < 5,
+    base >= 4.6 && < 5,
     wxdirect >= 0.90.1.1
 
   x-dll-sources:
@@ -166,6 +168,7 @@     src/cpp/dragimage.cpp
     src/cpp/eljaccelerator.cpp
     src/cpp/eljartprov.cpp
+    src/cpp/eljaui.cpp
     src/cpp/eljbitmap.cpp
     src/cpp/eljbrush.cpp
     src/cpp/eljbusyinfo.cpp
@@ -232,6 +235,7 @@     src/cpp/eljregion.cpp
     src/cpp/eljregioniter.cpp
     src/cpp/eljsash.cpp
+    src/cpp/eljsplash.cpp
     src/cpp/eljscrollbar.cpp
     src/cpp/eljscrolledwindow.cpp
     src/cpp/eljsingleinst.cpp