diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,4 +1,4 @@
-import Control.Monad (when)
+import Control.Monad (when, filterM)
 import Data.List (foldl', intersperse, intercalate, nub, lookup, isPrefixOf, isInfixOf, find)
 import Data.Maybe (fromJust)
 import Distribution.PackageDescription hiding (includeDirs)
@@ -34,12 +34,16 @@
 -- It works by finding the wxc package's installation info, then finding the include directory 
 -- which contains wxc's headers (amongst the wxWidgets include dirs) and then going up a level.
 -- It would be nice the path was park of InstalledPackageInfo, but it isn't.
-wxcInstallDir :: LocalBuildInfo -> FilePath
+wxcInstallDir :: LocalBuildInfo -> IO FilePath
 wxcInstallDir lbi = 
     case searchByName (installedPkgs lbi) "wxc" of
-        Unambiguous wxc_pkgs -> case find (isInfixOf "wxc") . includeDirs . head $ wxc_pkgs of
-            Just wxcIncludeDir -> takeDirectory wxcIncludeDir
-            Nothing -> error "wxcInstallDir: Couldn't find wxc include dir"
+        Unambiguous (wxc_pkg:_) -> do
+            wxc <- filterM (doesFileExist . (</> "wxc.h")) (includeDirs wxc_pkg)
+            case wxc of
+                [wxcIncludeDir] -> return (takeDirectory wxcIncludeDir)
+                [] -> error "wxcInstallDir: couldn't find wxc include dir"
+                _  -> error "wxcInstallDir: I'm confused. I see more than one wxc include directory from the same package"
+        Unambiguous [] -> error "wxcInstallDir: Cabal says wxc is installed but gives no package info for it"
         _ -> error "wxcInstallDir: Couldn't find wxc package in installed packages"
 
 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
@@ -49,8 +53,8 @@
     createDirectoryIfMissing True wxcoreDirectory
 
     lbi <- confHook simpleUserHooks (pkg0, pbi) flags
-    let wxcDirectory = wxcInstallDir lbi
-        wxcoreIncludeFile = wxcDirectory </> "include/wxc.h"
+    wxcDirectory <- wxcInstallDir lbi
+    let wxcoreIncludeFile = wxcDirectory </> "include/wxc.h"
 
     putStrLn "Generating class type definitions from .h files"
     system $ "wxdirect -t --wxc " ++ wxcDirectory ++ " -o " ++ wxcoreDirectory ++ " " ++ wxcoreIncludeFile
diff --git a/src/haskell/Graphics/UI/WXCore.hs b/src/haskell/Graphics/UI/WXCore.hs
--- a/src/haskell/Graphics/UI/WXCore.hs
+++ b/src/haskell/Graphics/UI/WXCore.hs
@@ -62,14 +62,21 @@
 import Graphics.UI.WXCore.Image
 import Graphics.UI.WXCore.OpenGL
 
+import Graphics.UI.WXCore.GHCiSupport
+
 -- | Start the event loop. Takes an initialisation action as argument.
 -- Except for 'run', the functions in the WXH library can only be called
 -- from this intialisation action or from event handlers, or otherwise bad
 -- things will happen :-)
 run :: IO a -> IO ()
 run init
-  = do appOnInit (do wxcAppInitAllImageHandlers
+  = do enableGUI
+       appOnInit (do wxcAppInitAllImageHandlers
                      init
                      return ())
        performGC
        performGC
+
+
+
+
diff --git a/src/haskell/Graphics/UI/WXCore/GHCiSupport.hs b/src/haskell/Graphics/UI/WXCore/GHCiSupport.hs
new file mode 100644
--- /dev/null
+++ b/src/haskell/Graphics/UI/WXCore/GHCiSupport.hs
@@ -0,0 +1,32 @@
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+module Graphics.UI.WXCore.GHCiSupport(enableGUI) where
+-- GHCi support on MacOS X
+-- TODO: preprocessor to make it conditional on the platform
+
+#if darwin_HOST_OS
+
+import Data.Int
+import Foreign
+
+type ProcessSerialNumber = Int64
+
+foreign import ccall "GetCurrentProcess" getCurrentProcess :: Ptr ProcessSerialNumber -> IO Int16
+foreign import ccall "_CGSDefaultConnection" cgsDefaultConnection :: IO ()
+foreign import ccall "CPSEnableForegroundOperation" cpsEnableForegroundOperation :: Ptr ProcessSerialNumber -> IO ()
+foreign import ccall "CPSSignalAppReady" cpsSignalAppReady :: Ptr ProcessSerialNumber -> IO ()
+foreign import ccall "CPSSetFrontProcess" cpsSetFrontProcess :: Ptr ProcessSerialNumber -> IO ()
+
+enableGUI :: IO ()
+enableGUI = alloca $ \psn -> do
+    getCurrentProcess psn
+    cgsDefaultConnection
+    cpsEnableForegroundOperation psn
+    cpsSignalAppReady psn
+    cpsSetFrontProcess psn
+
+#else
+
+enableGUI :: IO ()
+enableGUI = return ()
+
+#endif
diff --git a/src/haskell/Graphics/UI/WXCore/WxcClassInfo.hs b/src/haskell/Graphics/UI/WXCore/WxcClassInfo.hs
--- a/src/haskell/Graphics/UI/WXCore/WxcClassInfo.hs
+++ b/src/haskell/Graphics/UI/WXCore/WxcClassInfo.hs
@@ -12,7 +12,7 @@
 Do not edit this file manually!
 This file was automatically generated by wxDirect.
 
-And contains 392 class info definitions.
+And contains 393 class info definitions.
 -}
 --------------------------------------------------------------------------------
 module Graphics.UI.WXCore.WxcClassInfo
@@ -228,6 +228,7 @@
      ,classList
      ,classListBox
      ,classListCtrl
+     ,classListCtrlVirtual
      ,classListEvent
      ,classListItem
      ,classMask
@@ -621,6 +622,7 @@
      ,downcastList
      ,downcastListBox
      ,downcastListCtrl
+     ,downcastListCtrlVirtual
      ,downcastListEvent
      ,downcastListItem
      ,downcastMask
@@ -1900,6 +1902,11 @@
 classListCtrl = ClassType (unsafePerformIO (classInfoFindClass "wxListCtrl"))
 
 
+{-# NOINLINE classListCtrlVirtual #-}
+classListCtrlVirtual :: ClassType (ListCtrlVirtual ())
+classListCtrlVirtual = ClassType (unsafePerformIO (classInfoFindClass "wxListCtrlVirtual"))
+
+
 {-# NOINLINE classListEvent #-}
 classListEvent :: ClassType (ListEvent ())
 classListEvent = ClassType (unsafePerformIO (classInfoFindClass "wxListEvent"))
@@ -3651,6 +3658,10 @@
 
 downcastListCtrl :: ListCtrl a -> ListCtrl ()
 downcastListCtrl obj = objectCast obj
+
+
+downcastListCtrlVirtual :: ListCtrlVirtual a -> ListCtrlVirtual ()
+downcastListCtrlVirtual obj = objectCast obj
 
 
 downcastListEvent :: ListEvent a -> ListEvent ()
diff --git a/src/haskell/Graphics/UI/WXCore/WxcClassTypes.hs b/src/haskell/Graphics/UI/WXCore/WxcClassTypes.hs
--- a/src/haskell/Graphics/UI/WXCore/WxcClassTypes.hs
+++ b/src/haskell/Graphics/UI/WXCore/WxcClassTypes.hs
@@ -14,9 +14,9 @@
 
 From the files:
 
-  * @\/Users\/jodonogh\/.cabal\/lib\/wxc-0.90\/ghc-7.0.4\/include\/wxc.h@
+  * @\/Users\/jodonogh\/.cabal\/lib\/wxc-0.90.0.5\/ghc-7.0.4\/include\/wxc.h@
 
-And contains 545 class definitions.
+And contains 547 class definitions.
 -}
 --------------------------------------------------------------------------------
 module Graphics.UI.WXCore.WxcClassTypes
@@ -1165,6 +1165,10 @@
      ,ListCtrl
      ,TListCtrl
      ,CListCtrl
+     -- ** ListCtrlVirtual
+     ,ListCtrlVirtual
+     ,TListCtrlVirtual
+     ,CListCtrlVirtual
      -- ** ListEvent
      ,ListEvent
      ,TListEvent
@@ -1173,6 +1177,10 @@
      ,ListItem
      ,TListItem
      ,CListItem
+     -- ** ListItemAttr
+     ,ListItemAttr
+     ,TListItemAttr
+     ,CListItemAttr
      -- ** Locale
      ,Locale
      ,TLocale
@@ -2443,34 +2451,41 @@
 -- | Abstract type of the GLCanvas class.
 data CGLCanvas a  = CGLCanvas
 
--- | Pointer to an object of type 'MDIClientWindow', derived from 'Window'.
-type MDIClientWindow a  = Window (CMDIClientWindow a)
--- | Inheritance type of the MDIClientWindow class.
-type TMDIClientWindow a  = TWindow (CMDIClientWindow a)
--- | Abstract type of the MDIClientWindow class.
-data CMDIClientWindow a  = CMDIClientWindow
+-- | Pointer to an object of type 'PopupWindow', derived from 'Window'.
+type PopupWindow a  = Window (CPopupWindow a)
+-- | Inheritance type of the PopupWindow class.
+type TPopupWindow a  = TWindow (CPopupWindow a)
+-- | Abstract type of the PopupWindow class.
+data CPopupWindow a  = CPopupWindow
 
--- | Pointer to an object of type 'StatusBar', derived from 'Window'.
-type StatusBar a  = Window (CStatusBar a)
--- | Inheritance type of the StatusBar class.
-type TStatusBar a  = TWindow (CStatusBar a)
--- | Abstract type of the StatusBar class.
-data CStatusBar a  = CStatusBar
+-- | Pointer to an object of type 'PopupTransientWindow', derived from 'PopupWindow'.
+type PopupTransientWindow a  = PopupWindow (CPopupTransientWindow a)
+-- | Inheritance type of the PopupTransientWindow class.
+type TPopupTransientWindow a  = TPopupWindow (CPopupTransientWindow a)
+-- | Abstract type of the PopupTransientWindow class.
+data CPopupTransientWindow a  = CPopupTransientWindow
 
--- | Pointer to an object of type 'MediaCtrl', derived from 'Window'.
-type MediaCtrl a  = Window (CMediaCtrl a)
--- | Inheritance type of the MediaCtrl class.
-type TMediaCtrl a  = TWindow (CMediaCtrl a)
--- | Abstract type of the MediaCtrl class.
-data CMediaCtrl a  = CMediaCtrl
+-- | Pointer to an object of type 'TipWindow', derived from 'PopupTransientWindow'.
+type TipWindow a  = PopupTransientWindow (CTipWindow a)
+-- | Inheritance type of the TipWindow class.
+type TTipWindow a  = TPopupTransientWindow (CTipWindow a)
+-- | Abstract type of the TipWindow class.
+data CTipWindow a  = CTipWindow
 
--- | Pointer to an object of type 'TreeCompanionWindow', derived from 'Window'.
-type TreeCompanionWindow a  = Window (CTreeCompanionWindow a)
--- | Inheritance type of the TreeCompanionWindow class.
-type TTreeCompanionWindow a  = TWindow (CTreeCompanionWindow a)
--- | Abstract type of the TreeCompanionWindow class.
-data CTreeCompanionWindow a  = CTreeCompanionWindow
+-- | Pointer to an object of type 'SashWindow', derived from 'Window'.
+type SashWindow a  = Window (CSashWindow a)
+-- | Inheritance type of the SashWindow class.
+type TSashWindow a  = TWindow (CSashWindow a)
+-- | Abstract type of the SashWindow class.
+data CSashWindow a  = CSashWindow
 
+-- | Pointer to an object of type 'SashLayoutWindow', derived from 'SashWindow'.
+type SashLayoutWindow a  = SashWindow (CSashLayoutWindow a)
+-- | Inheritance type of the SashLayoutWindow class.
+type TSashLayoutWindow a  = TSashWindow (CSashLayoutWindow a)
+-- | Abstract type of the SashLayoutWindow class.
+data CSashLayoutWindow a  = CSashLayoutWindow
+
 -- | Pointer to an object of type 'SplitterWindow', derived from 'Window'.
 type SplitterWindow a  = Window (CSplitterWindow a)
 -- | Inheritance type of the SplitterWindow class.
@@ -2485,40 +2500,33 @@
 -- | Abstract type of the ThinSplitterWindow class.
 data CThinSplitterWindow a  = CThinSplitterWindow
 
--- | Pointer to an object of type 'SashWindow', derived from 'Window'.
-type SashWindow a  = Window (CSashWindow a)
--- | Inheritance type of the SashWindow class.
-type TSashWindow a  = TWindow (CSashWindow a)
--- | Abstract type of the SashWindow class.
-data CSashWindow a  = CSashWindow
-
--- | Pointer to an object of type 'SashLayoutWindow', derived from 'SashWindow'.
-type SashLayoutWindow a  = SashWindow (CSashLayoutWindow a)
--- | Inheritance type of the SashLayoutWindow class.
-type TSashLayoutWindow a  = TSashWindow (CSashLayoutWindow a)
--- | Abstract type of the SashLayoutWindow class.
-data CSashLayoutWindow a  = CSashLayoutWindow
+-- | Pointer to an object of type 'TreeCompanionWindow', derived from 'Window'.
+type TreeCompanionWindow a  = Window (CTreeCompanionWindow a)
+-- | Inheritance type of the TreeCompanionWindow class.
+type TTreeCompanionWindow a  = TWindow (CTreeCompanionWindow a)
+-- | Abstract type of the TreeCompanionWindow class.
+data CTreeCompanionWindow a  = CTreeCompanionWindow
 
--- | Pointer to an object of type 'PopupWindow', derived from 'Window'.
-type PopupWindow a  = Window (CPopupWindow a)
--- | Inheritance type of the PopupWindow class.
-type TPopupWindow a  = TWindow (CPopupWindow a)
--- | Abstract type of the PopupWindow class.
-data CPopupWindow a  = CPopupWindow
+-- | Pointer to an object of type 'MediaCtrl', derived from 'Window'.
+type MediaCtrl a  = Window (CMediaCtrl a)
+-- | Inheritance type of the MediaCtrl class.
+type TMediaCtrl a  = TWindow (CMediaCtrl a)
+-- | Abstract type of the MediaCtrl class.
+data CMediaCtrl a  = CMediaCtrl
 
--- | Pointer to an object of type 'PopupTransientWindow', derived from 'PopupWindow'.
-type PopupTransientWindow a  = PopupWindow (CPopupTransientWindow a)
--- | Inheritance type of the PopupTransientWindow class.
-type TPopupTransientWindow a  = TPopupWindow (CPopupTransientWindow a)
--- | Abstract type of the PopupTransientWindow class.
-data CPopupTransientWindow a  = CPopupTransientWindow
+-- | Pointer to an object of type 'StatusBar', derived from 'Window'.
+type StatusBar a  = Window (CStatusBar a)
+-- | Inheritance type of the StatusBar class.
+type TStatusBar a  = TWindow (CStatusBar a)
+-- | Abstract type of the StatusBar class.
+data CStatusBar a  = CStatusBar
 
--- | Pointer to an object of type 'TipWindow', derived from 'PopupTransientWindow'.
-type TipWindow a  = PopupTransientWindow (CTipWindow a)
--- | Inheritance type of the TipWindow class.
-type TTipWindow a  = TPopupTransientWindow (CTipWindow a)
--- | Abstract type of the TipWindow class.
-data CTipWindow a  = CTipWindow
+-- | Pointer to an object of type 'MDIClientWindow', derived from 'Window'.
+type MDIClientWindow a  = Window (CMDIClientWindow a)
+-- | Inheritance type of the MDIClientWindow class.
+type TMDIClientWindow a  = TWindow (CMDIClientWindow a)
+-- | Abstract type of the MDIClientWindow class.
+data CMDIClientWindow a  = CMDIClientWindow
 
 -- | Pointer to an object of type 'DynamicSashWindow', derived from 'Window'.
 type DynamicSashWindow a  = Window (CDynamicSashWindow a)
@@ -2723,6 +2731,13 @@
 -- | Abstract type of the ListCtrl class.
 data CListCtrl a  = CListCtrl
 
+-- | Pointer to an object of type 'ListCtrlVirtual', derived from 'ListCtrl'.
+type ListCtrlVirtual a  = ListCtrl (CListCtrlVirtual a)
+-- | Inheritance type of the ListCtrlVirtual class.
+type TListCtrlVirtual a  = TListCtrl (CListCtrlVirtual a)
+-- | Abstract type of the ListCtrlVirtual class.
+data CListCtrlVirtual a  = CListCtrlVirtual
+
 -- | Pointer to an object of type 'ListBox', derived from 'Control'.
 type ListBox a  = Control (CListBox a)
 -- | Inheritance type of the ListBox class.
@@ -3605,173 +3620,145 @@
 -- | Abstract type of the LayoutConstraints class.
 data CLayoutConstraints a  = CLayoutConstraints
 
--- | Pointer to an object of type 'MenuItem', derived from 'WxObject'.
-type MenuItem a  = WxObject (CMenuItem a)
--- | Inheritance type of the MenuItem class.
-type TMenuItem a  = TWxObject (CMenuItem a)
--- | Abstract type of the MenuItem class.
-data CMenuItem a  = CMenuItem
-
--- | Pointer to an object of type 'Metafile', derived from 'WxObject'.
-type Metafile a  = WxObject (CMetafile a)
--- | Inheritance type of the Metafile class.
-type TMetafile a  = TWxObject (CMetafile a)
--- | Abstract type of the Metafile class.
-data CMetafile a  = CMetafile
-
--- | Pointer to an object of type 'PageSetupDialogData', derived from 'WxObject'.
-type PageSetupDialogData a  = WxObject (CPageSetupDialogData a)
--- | Inheritance type of the PageSetupDialogData class.
-type TPageSetupDialogData a  = TWxObject (CPageSetupDialogData a)
--- | Abstract type of the PageSetupDialogData class.
-data CPageSetupDialogData a  = CPageSetupDialogData
-
--- | Pointer to an object of type 'PostScriptPrintNativeData', derived from 'WxObject'.
-type PostScriptPrintNativeData a  = WxObject (CPostScriptPrintNativeData a)
--- | Inheritance type of the PostScriptPrintNativeData class.
-type TPostScriptPrintNativeData a  = TWxObject (CPostScriptPrintNativeData a)
--- | Abstract type of the PostScriptPrintNativeData class.
-data CPostScriptPrintNativeData a  = CPostScriptPrintNativeData
-
--- | Pointer to an object of type 'PrintDialogData', derived from 'WxObject'.
-type PrintDialogData a  = WxObject (CPrintDialogData a)
--- | Inheritance type of the PrintDialogData class.
-type TPrintDialogData a  = TWxObject (CPrintDialogData a)
--- | Abstract type of the PrintDialogData class.
-data CPrintDialogData a  = CPrintDialogData
+-- | Pointer to an object of type 'ListItem', derived from 'WxObject'.
+type ListItem a  = WxObject (CListItem a)
+-- | Inheritance type of the ListItem class.
+type TListItem a  = TWxObject (CListItem a)
+-- | Abstract type of the ListItem class.
+data CListItem a  = CListItem
 
--- | Pointer to an object of type 'Printer', derived from 'WxObject'.
-type Printer a  = WxObject (CPrinter a)
--- | Inheritance type of the Printer class.
-type TPrinter a  = TWxObject (CPrinter a)
--- | Abstract type of the Printer class.
-data CPrinter a  = CPrinter
+-- | Pointer to an object of type 'Mask', derived from 'WxObject'.
+type Mask a  = WxObject (CMask a)
+-- | Inheritance type of the Mask class.
+type TMask a  = TWxObject (CMask a)
+-- | Abstract type of the Mask class.
+data CMask a  = CMask
 
--- | Pointer to an object of type 'QueryCol', derived from 'WxObject'.
-type QueryCol a  = WxObject (CQueryCol a)
--- | Inheritance type of the QueryCol class.
-type TQueryCol a  = TWxObject (CQueryCol a)
--- | Abstract type of the QueryCol class.
-data CQueryCol a  = CQueryCol
+-- | Pointer to an object of type 'MultiCellItemHandle', derived from 'WxObject'.
+type MultiCellItemHandle a  = WxObject (CMultiCellItemHandle a)
+-- | Inheritance type of the MultiCellItemHandle class.
+type TMultiCellItemHandle a  = TWxObject (CMultiCellItemHandle a)
+-- | Abstract type of the MultiCellItemHandle class.
+data CMultiCellItemHandle a  = CMultiCellItemHandle
 
--- | Pointer to an object of type 'RecordSet', derived from 'WxObject'.
-type RecordSet a  = WxObject (CRecordSet a)
--- | Inheritance type of the RecordSet class.
-type TRecordSet a  = TWxObject (CRecordSet a)
--- | Abstract type of the RecordSet class.
-data CRecordSet a  = CRecordSet
+-- | Pointer to an object of type 'PlotOnOffCurve', derived from 'WxObject'.
+type PlotOnOffCurve a  = WxObject (CPlotOnOffCurve a)
+-- | Inheritance type of the PlotOnOffCurve class.
+type TPlotOnOffCurve a  = TWxObject (CPlotOnOffCurve a)
+-- | Abstract type of the PlotOnOffCurve class.
+data CPlotOnOffCurve a  = CPlotOnOffCurve
 
--- | Pointer to an object of type 'RegionIterator', derived from 'WxObject'.
-type RegionIterator a  = WxObject (CRegionIterator a)
--- | Inheritance type of the RegionIterator class.
-type TRegionIterator a  = TWxObject (CRegionIterator a)
--- | Abstract type of the RegionIterator class.
-data CRegionIterator a  = CRegionIterator
+-- | Pointer to an object of type 'PrintData', derived from 'WxObject'.
+type PrintData a  = WxObject (CPrintData a)
+-- | Inheritance type of the PrintData class.
+type TPrintData a  = TWxObject (CPrintData a)
+-- | Abstract type of the PrintData class.
+data CPrintData a  = CPrintData
 
--- | Pointer to an object of type 'SizerItem', derived from 'WxObject'.
-type SizerItem a  = WxObject (CSizerItem a)
--- | Inheritance type of the SizerItem class.
-type TSizerItem a  = TWxObject (CSizerItem a)
--- | Abstract type of the SizerItem class.
-data CSizerItem a  = CSizerItem
+-- | Pointer to an object of type 'PrintPreview', derived from 'WxObject'.
+type PrintPreview a  = WxObject (CPrintPreview a)
+-- | Inheritance type of the PrintPreview class.
+type TPrintPreview a  = TWxObject (CPrintPreview a)
+-- | Abstract type of the PrintPreview class.
+data CPrintPreview a  = CPrintPreview
 
--- | Pointer to an object of type 'SystemSettings', derived from 'WxObject'.
-type SystemSettings a  = WxObject (CSystemSettings a)
--- | Inheritance type of the SystemSettings class.
-type TSystemSettings a  = TWxObject (CSystemSettings a)
--- | Abstract type of the SystemSettings class.
-data CSystemSettings a  = CSystemSettings
+-- | Pointer to an object of type 'Quantize', derived from 'WxObject'.
+type Quantize a  = WxObject (CQuantize a)
+-- | Inheritance type of the Quantize class.
+type TQuantize a  = TWxObject (CQuantize a)
+-- | Abstract type of the Quantize class.
+data CQuantize a  = CQuantize
 
--- | Pointer to an object of type 'Timer', derived from 'WxObject'.
-type Timer a  = WxObject (CTimer a)
--- | Inheritance type of the Timer class.
-type TTimer a  = TWxObject (CTimer a)
--- | Abstract type of the Timer class.
-data CTimer a  = CTimer
+-- | Pointer to an object of type 'QueryField', derived from 'WxObject'.
+type QueryField a  = WxObject (CQueryField a)
+-- | Inheritance type of the QueryField class.
+type TQueryField a  = TWxObject (CQueryField a)
+-- | Abstract type of the QueryField class.
+data CQueryField a  = CQueryField
 
--- | Pointer to an object of type 'TimerEx', derived from 'Timer'.
-type TimerEx a  = Timer (CTimerEx a)
--- | Inheritance type of the TimerEx class.
-type TTimerEx a  = TTimer (CTimerEx a)
--- | Abstract type of the TimerEx class.
-data CTimerEx a  = CTimerEx
+-- | Pointer to an object of type 'StringTokenizer', derived from 'WxObject'.
+type StringTokenizer a  = WxObject (CStringTokenizer a)
+-- | Inheritance type of the StringTokenizer class.
+type TStringTokenizer a  = TWxObject (CStringTokenizer a)
+-- | Abstract type of the StringTokenizer class.
+data CStringTokenizer a  = CStringTokenizer
 
--- | Pointer to an object of type 'Variant', derived from 'WxObject'.
-type Variant a  = WxObject (CVariant a)
--- | Inheritance type of the Variant class.
-type TVariant a  = TWxObject (CVariant a)
--- | Abstract type of the Variant class.
-data CVariant a  = CVariant
+-- | Pointer to an object of type 'SystemOptions', derived from 'WxObject'.
+type SystemOptions a  = WxObject (CSystemOptions a)
+-- | Inheritance type of the SystemOptions class.
+type TSystemOptions a  = TWxObject (CSystemOptions a)
+-- | Abstract type of the SystemOptions class.
+data CSystemOptions a  = CSystemOptions
 
--- | Pointer to an object of type 'XmlResource', derived from 'WxObject'.
-type XmlResource a  = WxObject (CXmlResource a)
--- | Inheritance type of the XmlResource class.
-type TXmlResource a  = TWxObject (CXmlResource a)
--- | Abstract type of the XmlResource class.
-data CXmlResource a  = CXmlResource
+-- | Pointer to an object of type 'TablesInUse', derived from 'WxObject'.
+type TablesInUse a  = WxObject (CTablesInUse a)
+-- | Inheritance type of the TablesInUse class.
+type TTablesInUse a  = TWxObject (CTablesInUse a)
+-- | Abstract type of the TablesInUse class.
+data CTablesInUse a  = CTablesInUse
 
--- | Pointer to an object of type 'PGProperty', derived from 'WxObject'.
-type PGProperty a  = WxObject (CPGProperty a)
--- | Inheritance type of the PGProperty class.
-type TPGProperty a  = TWxObject (CPGProperty a)
--- | Abstract type of the PGProperty class.
-data CPGProperty a  = CPGProperty
+-- | Pointer to an object of type 'Time', derived from 'WxObject'.
+type Time a  = WxObject (CTime a)
+-- | Inheritance type of the Time class.
+type TTime a  = TWxObject (CTime a)
+-- | Abstract type of the Time class.
+data CTime a  = CTime
 
--- | Pointer to an object of type 'PropertyCategory', derived from 'PGProperty'.
-type PropertyCategory a  = PGProperty (CPropertyCategory a)
--- | Inheritance type of the PropertyCategory class.
-type TPropertyCategory a  = TPGProperty (CPropertyCategory a)
--- | Abstract type of the PropertyCategory class.
-data CPropertyCategory a  = CPropertyCategory
+-- | Pointer to an object of type 'TimerBase', derived from 'WxObject'.
+type TimerBase a  = WxObject (CTimerBase a)
+-- | Inheritance type of the TimerBase class.
+type TTimerBase a  = TWxObject (CTimerBase a)
+-- | Abstract type of the TimerBase class.
+data CTimerBase a  = CTimerBase
 
--- | Pointer to an object of type 'FileProperty', derived from 'PGProperty'.
-type FileProperty a  = PGProperty (CFileProperty a)
--- | Inheritance type of the FileProperty class.
-type TFileProperty a  = TPGProperty (CFileProperty a)
--- | Abstract type of the FileProperty class.
-data CFileProperty a  = CFileProperty
+-- | Pointer to an object of type 'ToolTip', derived from 'WxObject'.
+type ToolTip a  = WxObject (CToolTip a)
+-- | Inheritance type of the ToolTip class.
+type TToolTip a  = TWxObject (CToolTip a)
+-- | Abstract type of the ToolTip class.
+data CToolTip a  = CToolTip
 
--- | Pointer to an object of type 'DateProperty', derived from 'PGProperty'.
-type DateProperty a  = PGProperty (CDateProperty a)
--- | Inheritance type of the DateProperty class.
-type TDateProperty a  = TPGProperty (CDateProperty a)
--- | Abstract type of the DateProperty class.
-data CDateProperty a  = CDateProperty
+-- | Pointer to an object of type 'TreeLayout', derived from 'WxObject'.
+type TreeLayout a  = WxObject (CTreeLayout a)
+-- | Inheritance type of the TreeLayout class.
+type TTreeLayout a  = TWxObject (CTreeLayout a)
+-- | Abstract type of the TreeLayout class.
+data CTreeLayout a  = CTreeLayout
 
--- | Pointer to an object of type 'FloatProperty', derived from 'PGProperty'.
-type FloatProperty a  = PGProperty (CFloatProperty a)
--- | Inheritance type of the FloatProperty class.
-type TFloatProperty a  = TPGProperty (CFloatProperty a)
--- | Abstract type of the FloatProperty class.
-data CFloatProperty a  = CFloatProperty
+-- | Pointer to an object of type 'TreeLayoutStored', derived from 'TreeLayout'.
+type TreeLayoutStored a  = TreeLayout (CTreeLayoutStored a)
+-- | Inheritance type of the TreeLayoutStored class.
+type TTreeLayoutStored a  = TTreeLayout (CTreeLayoutStored a)
+-- | Abstract type of the TreeLayoutStored class.
+data CTreeLayoutStored a  = CTreeLayoutStored
 
--- | Pointer to an object of type 'BoolProperty', derived from 'PGProperty'.
-type BoolProperty a  = PGProperty (CBoolProperty a)
--- | Inheritance type of the BoolProperty class.
-type TBoolProperty a  = TPGProperty (CBoolProperty a)
--- | Abstract type of the BoolProperty class.
-data CBoolProperty a  = CBoolProperty
+-- | Pointer to an object of type 'URL', derived from 'WxObject'.
+type URL a  = WxObject (CURL a)
+-- | Inheritance type of the URL class.
+type TURL a  = TWxObject (CURL a)
+-- | Abstract type of the URL class.
+data CURL a  = CURL
 
--- | Pointer to an object of type 'IntProperty', derived from 'PGProperty'.
-type IntProperty a  = PGProperty (CIntProperty a)
--- | Inheritance type of the IntProperty class.
-type TIntProperty a  = TPGProperty (CIntProperty a)
--- | Abstract type of the IntProperty class.
-data CIntProperty a  = CIntProperty
+-- | Pointer to an object of type 'VariantData', derived from 'WxObject'.
+type VariantData a  = WxObject (CVariantData a)
+-- | Inheritance type of the VariantData class.
+type TVariantData a  = TWxObject (CVariantData a)
+-- | Abstract type of the VariantData class.
+data CVariantData a  = CVariantData
 
--- | Pointer to an object of type 'StringProperty', derived from 'PGProperty'.
-type StringProperty a  = PGProperty (CStringProperty a)
--- | Inheritance type of the StringProperty class.
-type TStringProperty a  = TPGProperty (CStringProperty a)
--- | Abstract type of the StringProperty class.
-data CStringProperty a  = CStringProperty
+-- | Pointer to an object of type 'Sound', derived from 'WxObject'.
+type Sound a  = WxObject (CSound a)
+-- | Inheritance type of the Sound class.
+type TSound a  = TWxObject (CSound a)
+-- | Abstract type of the Sound class.
+data CSound a  = CSound
 
--- | Pointer to an object of type 'GLContext', derived from 'WxObject'.
-type GLContext a  = WxObject (CGLContext a)
--- | Inheritance type of the GLContext class.
-type TGLContext a  = TWxObject (CGLContext a)
--- | Abstract type of the GLContext class.
-data CGLContext a  = CGLContext
+-- | Pointer to an object of type 'XmlResourceHandler', derived from 'WxObject'.
+type XmlResourceHandler a  = WxObject (CXmlResourceHandler a)
+-- | Inheritance type of the XmlResourceHandler class.
+type TXmlResourceHandler a  = TWxObject (CXmlResourceHandler a)
+-- | Abstract type of the XmlResourceHandler class.
+data CXmlResourceHandler a  = CXmlResourceHandler
 
 -- | Pointer to an object of type 'GraphicsObject', derived from 'WxObject'.
 type GraphicsObject a  = WxObject (CGraphicsObject a)
@@ -3829,146 +3816,174 @@
 -- | Abstract type of the GraphicsBrush class.
 data CGraphicsBrush a  = CGraphicsBrush
 
--- | Pointer to an object of type 'XmlResourceHandler', derived from 'WxObject'.
-type XmlResourceHandler a  = WxObject (CXmlResourceHandler a)
--- | Inheritance type of the XmlResourceHandler class.
-type TXmlResourceHandler a  = TWxObject (CXmlResourceHandler a)
--- | Abstract type of the XmlResourceHandler class.
-data CXmlResourceHandler a  = CXmlResourceHandler
+-- | Pointer to an object of type 'GLContext', derived from 'WxObject'.
+type GLContext a  = WxObject (CGLContext a)
+-- | Inheritance type of the GLContext class.
+type TGLContext a  = TWxObject (CGLContext a)
+-- | Abstract type of the GLContext class.
+data CGLContext a  = CGLContext
 
--- | Pointer to an object of type 'Sound', derived from 'WxObject'.
-type Sound a  = WxObject (CSound a)
--- | Inheritance type of the Sound class.
-type TSound a  = TWxObject (CSound a)
--- | Abstract type of the Sound class.
-data CSound a  = CSound
+-- | Pointer to an object of type 'PGProperty', derived from 'WxObject'.
+type PGProperty a  = WxObject (CPGProperty a)
+-- | Inheritance type of the PGProperty class.
+type TPGProperty a  = TWxObject (CPGProperty a)
+-- | Abstract type of the PGProperty class.
+data CPGProperty a  = CPGProperty
 
--- | Pointer to an object of type 'VariantData', derived from 'WxObject'.
-type VariantData a  = WxObject (CVariantData a)
--- | Inheritance type of the VariantData class.
-type TVariantData a  = TWxObject (CVariantData a)
--- | Abstract type of the VariantData class.
-data CVariantData a  = CVariantData
+-- | Pointer to an object of type 'PropertyCategory', derived from 'PGProperty'.
+type PropertyCategory a  = PGProperty (CPropertyCategory a)
+-- | Inheritance type of the PropertyCategory class.
+type TPropertyCategory a  = TPGProperty (CPropertyCategory a)
+-- | Abstract type of the PropertyCategory class.
+data CPropertyCategory a  = CPropertyCategory
 
--- | Pointer to an object of type 'URL', derived from 'WxObject'.
-type URL a  = WxObject (CURL a)
--- | Inheritance type of the URL class.
-type TURL a  = TWxObject (CURL a)
--- | Abstract type of the URL class.
-data CURL a  = CURL
+-- | Pointer to an object of type 'FileProperty', derived from 'PGProperty'.
+type FileProperty a  = PGProperty (CFileProperty a)
+-- | Inheritance type of the FileProperty class.
+type TFileProperty a  = TPGProperty (CFileProperty a)
+-- | Abstract type of the FileProperty class.
+data CFileProperty a  = CFileProperty
 
--- | Pointer to an object of type 'TreeLayout', derived from 'WxObject'.
-type TreeLayout a  = WxObject (CTreeLayout a)
--- | Inheritance type of the TreeLayout class.
-type TTreeLayout a  = TWxObject (CTreeLayout a)
--- | Abstract type of the TreeLayout class.
-data CTreeLayout a  = CTreeLayout
+-- | Pointer to an object of type 'DateProperty', derived from 'PGProperty'.
+type DateProperty a  = PGProperty (CDateProperty a)
+-- | Inheritance type of the DateProperty class.
+type TDateProperty a  = TPGProperty (CDateProperty a)
+-- | Abstract type of the DateProperty class.
+data CDateProperty a  = CDateProperty
 
--- | Pointer to an object of type 'TreeLayoutStored', derived from 'TreeLayout'.
-type TreeLayoutStored a  = TreeLayout (CTreeLayoutStored a)
--- | Inheritance type of the TreeLayoutStored class.
-type TTreeLayoutStored a  = TTreeLayout (CTreeLayoutStored a)
--- | Abstract type of the TreeLayoutStored class.
-data CTreeLayoutStored a  = CTreeLayoutStored
+-- | Pointer to an object of type 'FloatProperty', derived from 'PGProperty'.
+type FloatProperty a  = PGProperty (CFloatProperty a)
+-- | Inheritance type of the FloatProperty class.
+type TFloatProperty a  = TPGProperty (CFloatProperty a)
+-- | Abstract type of the FloatProperty class.
+data CFloatProperty a  = CFloatProperty
 
--- | Pointer to an object of type 'ToolTip', derived from 'WxObject'.
-type ToolTip a  = WxObject (CToolTip a)
--- | Inheritance type of the ToolTip class.
-type TToolTip a  = TWxObject (CToolTip a)
--- | Abstract type of the ToolTip class.
-data CToolTip a  = CToolTip
+-- | Pointer to an object of type 'BoolProperty', derived from 'PGProperty'.
+type BoolProperty a  = PGProperty (CBoolProperty a)
+-- | Inheritance type of the BoolProperty class.
+type TBoolProperty a  = TPGProperty (CBoolProperty a)
+-- | Abstract type of the BoolProperty class.
+data CBoolProperty a  = CBoolProperty
 
--- | Pointer to an object of type 'TimerBase', derived from 'WxObject'.
-type TimerBase a  = WxObject (CTimerBase a)
--- | Inheritance type of the TimerBase class.
-type TTimerBase a  = TWxObject (CTimerBase a)
--- | Abstract type of the TimerBase class.
-data CTimerBase a  = CTimerBase
+-- | Pointer to an object of type 'IntProperty', derived from 'PGProperty'.
+type IntProperty a  = PGProperty (CIntProperty a)
+-- | Inheritance type of the IntProperty class.
+type TIntProperty a  = TPGProperty (CIntProperty a)
+-- | Abstract type of the IntProperty class.
+data CIntProperty a  = CIntProperty
 
--- | Pointer to an object of type 'Time', derived from 'WxObject'.
-type Time a  = WxObject (CTime a)
--- | Inheritance type of the Time class.
-type TTime a  = TWxObject (CTime a)
--- | Abstract type of the Time class.
-data CTime a  = CTime
+-- | Pointer to an object of type 'StringProperty', derived from 'PGProperty'.
+type StringProperty a  = PGProperty (CStringProperty a)
+-- | Inheritance type of the StringProperty class.
+type TStringProperty a  = TPGProperty (CStringProperty a)
+-- | Abstract type of the StringProperty class.
+data CStringProperty a  = CStringProperty
 
--- | Pointer to an object of type 'TablesInUse', derived from 'WxObject'.
-type TablesInUse a  = WxObject (CTablesInUse a)
--- | Inheritance type of the TablesInUse class.
-type TTablesInUse a  = TWxObject (CTablesInUse a)
--- | Abstract type of the TablesInUse class.
-data CTablesInUse a  = CTablesInUse
+-- | Pointer to an object of type 'XmlResource', derived from 'WxObject'.
+type XmlResource a  = WxObject (CXmlResource a)
+-- | Inheritance type of the XmlResource class.
+type TXmlResource a  = TWxObject (CXmlResource a)
+-- | Abstract type of the XmlResource class.
+data CXmlResource a  = CXmlResource
 
--- | Pointer to an object of type 'SystemOptions', derived from 'WxObject'.
-type SystemOptions a  = WxObject (CSystemOptions a)
--- | Inheritance type of the SystemOptions class.
-type TSystemOptions a  = TWxObject (CSystemOptions a)
--- | Abstract type of the SystemOptions class.
-data CSystemOptions a  = CSystemOptions
+-- | Pointer to an object of type 'Variant', derived from 'WxObject'.
+type Variant a  = WxObject (CVariant a)
+-- | Inheritance type of the Variant class.
+type TVariant a  = TWxObject (CVariant a)
+-- | Abstract type of the Variant class.
+data CVariant a  = CVariant
 
--- | Pointer to an object of type 'StringTokenizer', derived from 'WxObject'.
-type StringTokenizer a  = WxObject (CStringTokenizer a)
--- | Inheritance type of the StringTokenizer class.
-type TStringTokenizer a  = TWxObject (CStringTokenizer a)
--- | Abstract type of the StringTokenizer class.
-data CStringTokenizer a  = CStringTokenizer
+-- | Pointer to an object of type 'Timer', derived from 'WxObject'.
+type Timer a  = WxObject (CTimer a)
+-- | Inheritance type of the Timer class.
+type TTimer a  = TWxObject (CTimer a)
+-- | Abstract type of the Timer class.
+data CTimer a  = CTimer
 
--- | Pointer to an object of type 'QueryField', derived from 'WxObject'.
-type QueryField a  = WxObject (CQueryField a)
--- | Inheritance type of the QueryField class.
-type TQueryField a  = TWxObject (CQueryField a)
--- | Abstract type of the QueryField class.
-data CQueryField a  = CQueryField
+-- | Pointer to an object of type 'TimerEx', derived from 'Timer'.
+type TimerEx a  = Timer (CTimerEx a)
+-- | Inheritance type of the TimerEx class.
+type TTimerEx a  = TTimer (CTimerEx a)
+-- | Abstract type of the TimerEx class.
+data CTimerEx a  = CTimerEx
 
--- | Pointer to an object of type 'Quantize', derived from 'WxObject'.
-type Quantize a  = WxObject (CQuantize a)
--- | Inheritance type of the Quantize class.
-type TQuantize a  = TWxObject (CQuantize a)
--- | Abstract type of the Quantize class.
-data CQuantize a  = CQuantize
+-- | Pointer to an object of type 'SystemSettings', derived from 'WxObject'.
+type SystemSettings a  = WxObject (CSystemSettings a)
+-- | Inheritance type of the SystemSettings class.
+type TSystemSettings a  = TWxObject (CSystemSettings a)
+-- | Abstract type of the SystemSettings class.
+data CSystemSettings a  = CSystemSettings
 
--- | Pointer to an object of type 'PrintPreview', derived from 'WxObject'.
-type PrintPreview a  = WxObject (CPrintPreview a)
--- | Inheritance type of the PrintPreview class.
-type TPrintPreview a  = TWxObject (CPrintPreview a)
--- | Abstract type of the PrintPreview class.
-data CPrintPreview a  = CPrintPreview
+-- | Pointer to an object of type 'SizerItem', derived from 'WxObject'.
+type SizerItem a  = WxObject (CSizerItem a)
+-- | Inheritance type of the SizerItem class.
+type TSizerItem a  = TWxObject (CSizerItem a)
+-- | Abstract type of the SizerItem class.
+data CSizerItem a  = CSizerItem
 
--- | Pointer to an object of type 'PrintData', derived from 'WxObject'.
-type PrintData a  = WxObject (CPrintData a)
--- | Inheritance type of the PrintData class.
-type TPrintData a  = TWxObject (CPrintData a)
--- | Abstract type of the PrintData class.
-data CPrintData a  = CPrintData
+-- | Pointer to an object of type 'RegionIterator', derived from 'WxObject'.
+type RegionIterator a  = WxObject (CRegionIterator a)
+-- | Inheritance type of the RegionIterator class.
+type TRegionIterator a  = TWxObject (CRegionIterator a)
+-- | Abstract type of the RegionIterator class.
+data CRegionIterator a  = CRegionIterator
 
--- | Pointer to an object of type 'PlotOnOffCurve', derived from 'WxObject'.
-type PlotOnOffCurve a  = WxObject (CPlotOnOffCurve a)
--- | Inheritance type of the PlotOnOffCurve class.
-type TPlotOnOffCurve a  = TWxObject (CPlotOnOffCurve a)
--- | Abstract type of the PlotOnOffCurve class.
-data CPlotOnOffCurve a  = CPlotOnOffCurve
+-- | Pointer to an object of type 'RecordSet', derived from 'WxObject'.
+type RecordSet a  = WxObject (CRecordSet a)
+-- | Inheritance type of the RecordSet class.
+type TRecordSet a  = TWxObject (CRecordSet a)
+-- | Abstract type of the RecordSet class.
+data CRecordSet a  = CRecordSet
 
--- | Pointer to an object of type 'MultiCellItemHandle', derived from 'WxObject'.
-type MultiCellItemHandle a  = WxObject (CMultiCellItemHandle a)
--- | Inheritance type of the MultiCellItemHandle class.
-type TMultiCellItemHandle a  = TWxObject (CMultiCellItemHandle a)
--- | Abstract type of the MultiCellItemHandle class.
-data CMultiCellItemHandle a  = CMultiCellItemHandle
+-- | Pointer to an object of type 'QueryCol', derived from 'WxObject'.
+type QueryCol a  = WxObject (CQueryCol a)
+-- | Inheritance type of the QueryCol class.
+type TQueryCol a  = TWxObject (CQueryCol a)
+-- | Abstract type of the QueryCol class.
+data CQueryCol a  = CQueryCol
 
--- | Pointer to an object of type 'Mask', derived from 'WxObject'.
-type Mask a  = WxObject (CMask a)
--- | Inheritance type of the Mask class.
-type TMask a  = TWxObject (CMask a)
--- | Abstract type of the Mask class.
-data CMask a  = CMask
+-- | Pointer to an object of type 'Printer', derived from 'WxObject'.
+type Printer a  = WxObject (CPrinter a)
+-- | Inheritance type of the Printer class.
+type TPrinter a  = TWxObject (CPrinter a)
+-- | Abstract type of the Printer class.
+data CPrinter a  = CPrinter
 
--- | Pointer to an object of type 'ListItem', derived from 'WxObject'.
-type ListItem a  = WxObject (CListItem a)
--- | Inheritance type of the ListItem class.
-type TListItem a  = TWxObject (CListItem a)
--- | Abstract type of the ListItem class.
-data CListItem a  = CListItem
+-- | Pointer to an object of type 'PrintDialogData', derived from 'WxObject'.
+type PrintDialogData a  = WxObject (CPrintDialogData a)
+-- | Inheritance type of the PrintDialogData class.
+type TPrintDialogData a  = TWxObject (CPrintDialogData a)
+-- | Abstract type of the PrintDialogData class.
+data CPrintDialogData a  = CPrintDialogData
 
+-- | Pointer to an object of type 'PostScriptPrintNativeData', derived from 'WxObject'.
+type PostScriptPrintNativeData a  = WxObject (CPostScriptPrintNativeData a)
+-- | Inheritance type of the PostScriptPrintNativeData class.
+type TPostScriptPrintNativeData a  = TWxObject (CPostScriptPrintNativeData a)
+-- | Abstract type of the PostScriptPrintNativeData class.
+data CPostScriptPrintNativeData a  = CPostScriptPrintNativeData
+
+-- | Pointer to an object of type 'PageSetupDialogData', derived from 'WxObject'.
+type PageSetupDialogData a  = WxObject (CPageSetupDialogData a)
+-- | Inheritance type of the PageSetupDialogData class.
+type TPageSetupDialogData a  = TWxObject (CPageSetupDialogData a)
+-- | Abstract type of the PageSetupDialogData class.
+data CPageSetupDialogData a  = CPageSetupDialogData
+
+-- | Pointer to an object of type 'Metafile', derived from 'WxObject'.
+type Metafile a  = WxObject (CMetafile a)
+-- | Inheritance type of the Metafile class.
+type TMetafile a  = TWxObject (CMetafile a)
+-- | Abstract type of the Metafile class.
+data CMetafile a  = CMetafile
+
+-- | Pointer to an object of type 'MenuItem', derived from 'WxObject'.
+type MenuItem a  = WxObject (CMenuItem a)
+-- | Inheritance type of the MenuItem class.
+type TMenuItem a  = TWxObject (CMenuItem a)
+-- | Abstract type of the MenuItem class.
+data CMenuItem a  = CMenuItem
+
 -- | Pointer to an object of type 'LayoutAlgorithm', derived from 'WxObject'.
 type LayoutAlgorithm a  = WxObject (CLayoutAlgorithm a)
 -- | Inheritance type of the LayoutAlgorithm class.
@@ -5704,6 +5719,13 @@
 type TWXCLocale a  = TLocale (CWXCLocale a)
 -- | Abstract type of the WXCLocale class.
 data CWXCLocale a  = CWXCLocale
+
+-- | Pointer to an object of type 'ListItemAttr'.
+type ListItemAttr a  = Object (CListItemAttr a)
+-- | Inheritance type of the ListItemAttr class.
+type TListItemAttr a  = CListItemAttr a
+-- | Abstract type of the ListItemAttr class.
+data CListItemAttr a  = CListItemAttr
 
 -- | Pointer to an object of type 'IconBundle'.
 type IconBundle a  = Object (CIconBundle a)
diff --git a/src/haskell/Graphics/UI/WXCore/WxcClasses.hs b/src/haskell/Graphics/UI/WXCore/WxcClasses.hs
--- a/src/haskell/Graphics/UI/WXCore/WxcClasses.hs
+++ b/src/haskell/Graphics/UI/WXCore/WxcClasses.hs
@@ -14,9 +14,9 @@
 
 From the files:
 
-  * @\/Users\/jodonogh\/.cabal\/lib\/wxc-0.90\/ghc-7.0.4\/include\/wxc.h@
+  * @\/Users\/jodonogh\/.cabal\/lib\/wxc-0.90.0.5\/ghc-7.0.4\/include\/wxc.h@
 
-And contains 3805 methods for 249 classes.
+And contains 3826 methods for 251 classes.
 -}
 --------------------------------------------------------------------------------
 module Graphics.UI.WXCore.WxcClasses
diff --git a/src/haskell/Graphics/UI/WXCore/WxcClassesAL.hs b/src/haskell/Graphics/UI/WXCore/WxcClassesAL.hs
--- a/src/haskell/Graphics/UI/WXCore/WxcClassesAL.hs
+++ b/src/haskell/Graphics/UI/WXCore/WxcClassesAL.hs
@@ -15,9 +15,9 @@
 
 From the files:
 
-  * @\/Users\/jodonogh\/.cabal\/lib\/wxc-0.90\/ghc-7.0.4\/include\/wxc.h@
+  * @\/Users\/jodonogh\/.cabal\/lib\/wxc-0.90.0.5\/ghc-7.0.4\/include\/wxc.h@
 
-And contains 1475 methods for 121 classes.
+And contains 1495 methods for 123 classes.
 -}
 --------------------------------------------------------------------------------
 module Graphics.UI.WXCore.WxcClassesAL
@@ -1490,6 +1490,7 @@
      ,listCtrlGetItem2
      ,listCtrlGetItemCount
      ,listCtrlGetItemData
+     ,listCtrlGetItemFont
      ,listCtrlGetItemPosition
      ,listCtrlGetItemPosition2
      ,listCtrlGetItemRect
@@ -1507,6 +1508,8 @@
      ,listCtrlInsertItemWithData
      ,listCtrlInsertItemWithImage
      ,listCtrlInsertItemWithLabel
+     ,listCtrlIsVirtual
+     ,listCtrlRefreshItem
      ,listCtrlScrollList
      ,listCtrlSetBackgroundColour
      ,listCtrlSetColumn
@@ -1526,6 +1529,13 @@
      ,listCtrlSortItems
      ,listCtrlSortItems2
      ,listCtrlUpdateStyle
+     -- ** ListCtrlVirtual
+     ,listCtrlVirtualCreate
+     ,listCtrlVirtualCreateWithCb
+     ,listCtrlVirtualSetOnGetItemAttrCallback
+     ,listCtrlVirtualSetOnGetItemColumnImageCallback
+     ,listCtrlVirtualSetOnGetItemImageCallback
+     ,listCtrlVirtualSetOnGetItemTextCallback
      -- ** ListEvent
      ,listEventCancelled
      ,listEventGetCacheFrom
@@ -1573,6 +1583,18 @@
      ,listItemSetText
      ,listItemSetTextColour
      ,listItemSetWidth
+     -- ** ListItemAttr
+     ,listItemAttrCreate
+     ,listItemAttrCreateEx
+     ,listItemAttrGetBackgroundColor
+     ,listItemAttrGetFont
+     ,listItemAttrGetTextColor
+     ,listItemAttrHasBackgroundColour
+     ,listItemAttrHasFont
+     ,listItemAttrHasTextColour
+     ,listItemAttrSetBackgroundColour
+     ,listItemAttrSetFont
+     ,listItemAttrSetTextColour
      -- ** Locale
      ,localeAddCatalog
      ,localeAddCatalogLookupPathPrefix
@@ -12031,6 +12053,14 @@
     wxListCtrl_GetItemData cobj__obj  (toCInt item)  
 foreign import ccall "wxListCtrl_GetItemData" wxListCtrl_GetItemData :: Ptr (TListCtrl a) -> CInt -> IO CInt
 
+-- | usage: (@listCtrlGetItemFont obj item@).
+listCtrlGetItemFont :: ListCtrl  a -> Int ->  IO (Font  ())
+listCtrlGetItemFont _obj item 
+  = withManagedFontResult $
+    withObjectRef "listCtrlGetItemFont" _obj $ \cobj__obj -> 
+    wxListCtrl_GetItemFont cobj__obj  (toCInt item)  
+foreign import ccall "wxListCtrl_GetItemFont" wxListCtrl_GetItemFont :: Ptr (TListCtrl a) -> CInt -> IO (Ptr (TFont ()))
+
 -- | usage: (@listCtrlGetItemPosition obj item@).
 listCtrlGetItemPosition :: ListCtrl  a -> Int ->  IO (Point)
 listCtrlGetItemPosition _obj item 
@@ -12172,6 +12202,21 @@
     wxListCtrl_InsertItemWithLabel cobj__obj  (toCInt index)  cobj_label  (toCInt imageIndex)  
 foreign import ccall "wxListCtrl_InsertItemWithLabel" wxListCtrl_InsertItemWithLabel :: Ptr (TListCtrl a) -> CInt -> Ptr (TWxString c) -> CInt -> IO CInt
 
+-- | usage: (@listCtrlIsVirtual obj@).
+listCtrlIsVirtual :: ListCtrl  a ->  IO Bool
+listCtrlIsVirtual _obj 
+  = withBoolResult $
+    withObjectRef "listCtrlIsVirtual" _obj $ \cobj__obj -> 
+    wxListCtrl_IsVirtual cobj__obj  
+foreign import ccall "wxListCtrl_IsVirtual" wxListCtrl_IsVirtual :: Ptr (TListCtrl a) -> IO CBool
+
+-- | usage: (@listCtrlRefreshItem obj item@).
+listCtrlRefreshItem :: ListCtrl  a -> Int ->  IO ()
+listCtrlRefreshItem _obj item 
+  = withObjectRef "listCtrlRefreshItem" _obj $ \cobj__obj -> 
+    wxListCtrl_RefreshItem cobj__obj  (toCInt item)  
+foreign import ccall "wxListCtrl_RefreshItem" wxListCtrl_RefreshItem :: Ptr (TListCtrl a) -> CInt -> IO ()
+
 -- | usage: (@listCtrlScrollList obj dxdy@).
 listCtrlScrollList :: ListCtrl  a -> Vector ->  IO Bool
 listCtrlScrollList _obj dxdy 
@@ -12326,6 +12371,50 @@
     wxListCtrl_UpdateStyle cobj__obj  
 foreign import ccall "wxListCtrl_UpdateStyle" wxListCtrl_UpdateStyle :: Ptr (TListCtrl a) -> IO ()
 
+-- | usage: (@listCtrlVirtualCreate prt id lfttopwdthgt stl@).
+listCtrlVirtualCreate :: Window  a -> Id -> Rect -> Style ->  IO (ListCtrlVirtual  ())
+listCtrlVirtualCreate _prt _id _lfttopwdthgt _stl 
+  = withObjectResult $
+    withObjectPtr _prt $ \cobj__prt -> 
+    wxListCtrlVirtual_Create cobj__prt  (toCInt _id)  (toCIntRectX _lfttopwdthgt) (toCIntRectY _lfttopwdthgt)(toCIntRectW _lfttopwdthgt) (toCIntRectH _lfttopwdthgt)  (toCInt _stl)  
+foreign import ccall "wxListCtrlVirtual_Create" wxListCtrlVirtual_Create :: Ptr (TWindow a) -> CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> IO (Ptr (TListCtrlVirtual ()))
+
+-- | usage: (@listCtrlVirtualCreateWithCb prt id lfttopwdthgt stl ia ii ic it@).
+listCtrlVirtualCreateWithCb :: Window  a -> Id -> Rect -> Style -> Ptr  e -> Ptr  f -> Ptr  g -> Ptr  h ->  IO (ListCtrlVirtual  ())
+listCtrlVirtualCreateWithCb _prt _id _lfttopwdthgt _stl _ia _ii _ic _it 
+  = withObjectResult $
+    withObjectPtr _prt $ \cobj__prt -> 
+    wxListCtrlVirtual_CreateWithCb cobj__prt  (toCInt _id)  (toCIntRectX _lfttopwdthgt) (toCIntRectY _lfttopwdthgt)(toCIntRectW _lfttopwdthgt) (toCIntRectH _lfttopwdthgt)  (toCInt _stl)  _ia  _ii  _ic  _it  
+foreign import ccall "wxListCtrlVirtual_CreateWithCb" wxListCtrlVirtual_CreateWithCb :: Ptr (TWindow a) -> CInt -> CInt -> CInt -> CInt -> CInt -> CInt -> Ptr  e -> Ptr  f -> Ptr  g -> Ptr  h -> IO (Ptr (TListCtrlVirtual ()))
+
+-- | usage: (@listCtrlVirtualSetOnGetItemAttrCallback obj cb@).
+listCtrlVirtualSetOnGetItemAttrCallback :: ListCtrlVirtual  a -> Ptr  b ->  IO ()
+listCtrlVirtualSetOnGetItemAttrCallback _obj _cb 
+  = withObjectRef "listCtrlVirtualSetOnGetItemAttrCallback" _obj $ \cobj__obj -> 
+    wxListCtrlVirtual_SetOnGetItemAttrCallback cobj__obj  _cb  
+foreign import ccall "wxListCtrlVirtual_SetOnGetItemAttrCallback" wxListCtrlVirtual_SetOnGetItemAttrCallback :: Ptr (TListCtrlVirtual a) -> Ptr  b -> IO ()
+
+-- | usage: (@listCtrlVirtualSetOnGetItemColumnImageCallback obj cb@).
+listCtrlVirtualSetOnGetItemColumnImageCallback :: ListCtrlVirtual  a -> Ptr  b ->  IO ()
+listCtrlVirtualSetOnGetItemColumnImageCallback _obj _cb 
+  = withObjectRef "listCtrlVirtualSetOnGetItemColumnImageCallback" _obj $ \cobj__obj -> 
+    wxListCtrlVirtual_SetOnGetItemColumnImageCallback cobj__obj  _cb  
+foreign import ccall "wxListCtrlVirtual_SetOnGetItemColumnImageCallback" wxListCtrlVirtual_SetOnGetItemColumnImageCallback :: Ptr (TListCtrlVirtual a) -> Ptr  b -> IO ()
+
+-- | usage: (@listCtrlVirtualSetOnGetItemImageCallback obj cb@).
+listCtrlVirtualSetOnGetItemImageCallback :: ListCtrlVirtual  a -> Ptr  b ->  IO ()
+listCtrlVirtualSetOnGetItemImageCallback _obj _cb 
+  = withObjectRef "listCtrlVirtualSetOnGetItemImageCallback" _obj $ \cobj__obj -> 
+    wxListCtrlVirtual_SetOnGetItemImageCallback cobj__obj  _cb  
+foreign import ccall "wxListCtrlVirtual_SetOnGetItemImageCallback" wxListCtrlVirtual_SetOnGetItemImageCallback :: Ptr (TListCtrlVirtual a) -> Ptr  b -> IO ()
+
+-- | usage: (@listCtrlVirtualSetOnGetItemTextCallback obj cb@).
+listCtrlVirtualSetOnGetItemTextCallback :: ListCtrlVirtual  a -> Ptr  b ->  IO ()
+listCtrlVirtualSetOnGetItemTextCallback _obj _cb 
+  = withObjectRef "listCtrlVirtualSetOnGetItemTextCallback" _obj $ \cobj__obj -> 
+    wxListCtrlVirtual_SetOnGetItemTextCallback cobj__obj  _cb  
+foreign import ccall "wxListCtrlVirtual_SetOnGetItemTextCallback" wxListCtrlVirtual_SetOnGetItemTextCallback :: Ptr (TListCtrlVirtual a) -> Ptr  b -> IO ()
+
 -- | usage: (@listEventCancelled obj@).
 listEventCancelled :: ListEvent  a ->  IO Bool
 listEventCancelled _obj 
@@ -12429,6 +12518,95 @@
     withObjectRef "listEventGetText" _obj $ \cobj__obj -> 
     wxListEvent_GetText cobj__obj  
 foreign import ccall "wxListEvent_GetText" wxListEvent_GetText :: Ptr (TListEvent a) -> IO (Ptr (TWxString ()))
+
+-- | usage: (@listItemAttrCreate@).
+listItemAttrCreate ::  IO (ListItemAttr  ())
+listItemAttrCreate 
+  = withObjectResult $
+    wxListItemAttr_Create 
+foreign import ccall "wxListItemAttr_Create" wxListItemAttr_Create :: IO (Ptr (TListItemAttr ()))
+
+-- | usage: (@listItemAttrCreateEx coltxt colbak fnt@).
+listItemAttrCreateEx :: Color -> Color -> Font  c ->  IO (ListItemAttr  ())
+listItemAttrCreateEx _coltxt _colbak _fnt 
+  = withObjectResult $
+    withColourPtr _coltxt $ \cobj__coltxt -> 
+    withColourPtr _colbak $ \cobj__colbak -> 
+    withObjectPtr _fnt $ \cobj__fnt -> 
+    wxListItemAttr_CreateEx cobj__coltxt  cobj__colbak  cobj__fnt  
+foreign import ccall "wxListItemAttr_CreateEx" wxListItemAttr_CreateEx :: Ptr (TColour a) -> Ptr (TColour b) -> Ptr (TFont c) -> IO (Ptr (TListItemAttr ()))
+
+-- | usage: (@listItemAttrGetBackgroundColor obj@).
+listItemAttrGetBackgroundColor :: ListItemAttr  a ->  IO (Color)
+listItemAttrGetBackgroundColor _obj 
+  = withManagedColourResult $
+    withObjectRef "listItemAttrGetBackgroundColor" _obj $ \cobj__obj -> 
+    wxListItemAttr_GetBackgroundColor cobj__obj  
+foreign import ccall "wxListItemAttr_GetBackgroundColor" wxListItemAttr_GetBackgroundColor :: Ptr (TListItemAttr a) -> IO (Ptr (TColour ()))
+
+-- | usage: (@listItemAttrGetFont obj@).
+listItemAttrGetFont :: ListItemAttr  a ->  IO (Font  ())
+listItemAttrGetFont _obj 
+  = withManagedFontResult $
+    withObjectRef "listItemAttrGetFont" _obj $ \cobj__obj -> 
+    wxListItemAttr_GetFont cobj__obj  
+foreign import ccall "wxListItemAttr_GetFont" wxListItemAttr_GetFont :: Ptr (TListItemAttr a) -> IO (Ptr (TFont ()))
+
+-- | usage: (@listItemAttrGetTextColor obj@).
+listItemAttrGetTextColor :: ListItemAttr  a ->  IO (Color)
+listItemAttrGetTextColor _obj 
+  = withManagedColourResult $
+    withObjectRef "listItemAttrGetTextColor" _obj $ \cobj__obj -> 
+    wxListItemAttr_GetTextColor cobj__obj  
+foreign import ccall "wxListItemAttr_GetTextColor" wxListItemAttr_GetTextColor :: Ptr (TListItemAttr a) -> IO (Ptr (TColour ()))
+
+-- | usage: (@listItemAttrHasBackgroundColour obj@).
+listItemAttrHasBackgroundColour :: ListItemAttr  a ->  IO Bool
+listItemAttrHasBackgroundColour _obj 
+  = withBoolResult $
+    withObjectRef "listItemAttrHasBackgroundColour" _obj $ \cobj__obj -> 
+    wxListItemAttr_HasBackgroundColour cobj__obj  
+foreign import ccall "wxListItemAttr_HasBackgroundColour" wxListItemAttr_HasBackgroundColour :: Ptr (TListItemAttr a) -> IO CBool
+
+-- | usage: (@listItemAttrHasFont obj@).
+listItemAttrHasFont :: ListItemAttr  a ->  IO Bool
+listItemAttrHasFont _obj 
+  = withBoolResult $
+    withObjectRef "listItemAttrHasFont" _obj $ \cobj__obj -> 
+    wxListItemAttr_HasFont cobj__obj  
+foreign import ccall "wxListItemAttr_HasFont" wxListItemAttr_HasFont :: Ptr (TListItemAttr a) -> IO CBool
+
+-- | usage: (@listItemAttrHasTextColour obj@).
+listItemAttrHasTextColour :: ListItemAttr  a ->  IO Bool
+listItemAttrHasTextColour _obj 
+  = withBoolResult $
+    withObjectRef "listItemAttrHasTextColour" _obj $ \cobj__obj -> 
+    wxListItemAttr_HasTextColour cobj__obj  
+foreign import ccall "wxListItemAttr_HasTextColour" wxListItemAttr_HasTextColour :: Ptr (TListItemAttr a) -> IO CBool
+
+-- | usage: (@listItemAttrSetBackgroundColour obj col@).
+listItemAttrSetBackgroundColour :: ListItemAttr  a -> Color ->  IO ()
+listItemAttrSetBackgroundColour _obj _col 
+  = withObjectRef "listItemAttrSetBackgroundColour" _obj $ \cobj__obj -> 
+    withColourPtr _col $ \cobj__col -> 
+    wxListItemAttr_SetBackgroundColour cobj__obj  cobj__col  
+foreign import ccall "wxListItemAttr_SetBackgroundColour" wxListItemAttr_SetBackgroundColour :: Ptr (TListItemAttr a) -> Ptr (TColour b) -> IO ()
+
+-- | usage: (@listItemAttrSetFont obj col@).
+listItemAttrSetFont :: ListItemAttr  a -> Font  b ->  IO ()
+listItemAttrSetFont _obj _col 
+  = withObjectRef "listItemAttrSetFont" _obj $ \cobj__obj -> 
+    withObjectPtr _col $ \cobj__col -> 
+    wxListItemAttr_SetFont cobj__obj  cobj__col  
+foreign import ccall "wxListItemAttr_SetFont" wxListItemAttr_SetFont :: Ptr (TListItemAttr a) -> Ptr (TFont b) -> IO ()
+
+-- | usage: (@listItemAttrSetTextColour obj col@).
+listItemAttrSetTextColour :: ListItemAttr  a -> Color ->  IO ()
+listItemAttrSetTextColour _obj _col 
+  = withObjectRef "listItemAttrSetTextColour" _obj $ \cobj__obj -> 
+    withColourPtr _col $ \cobj__col -> 
+    wxListItemAttr_SetTextColour cobj__obj  cobj__col  
+foreign import ccall "wxListItemAttr_SetTextColour" wxListItemAttr_SetTextColour :: Ptr (TListItemAttr a) -> Ptr (TColour b) -> IO ()
 
 -- | usage: (@listItemClear obj@).
 listItemClear :: ListItem  a ->  IO ()
diff --git a/src/haskell/Graphics/UI/WXCore/WxcClassesMZ.hs b/src/haskell/Graphics/UI/WXCore/WxcClassesMZ.hs
--- a/src/haskell/Graphics/UI/WXCore/WxcClassesMZ.hs
+++ b/src/haskell/Graphics/UI/WXCore/WxcClassesMZ.hs
@@ -15,9 +15,9 @@
 
 From the files:
 
-  * @\/Users\/jodonogh\/.cabal\/lib\/wxc-0.90\/ghc-7.0.4\/include\/wxc.h@
+  * @\/Users\/jodonogh\/.cabal\/lib\/wxc-0.90.0.5\/ghc-7.0.4\/include\/wxc.h@
 
-And contains 2330 methods for 128 classes.
+And contains 2331 methods for 128 classes.
 -}
 --------------------------------------------------------------------------------
 module Graphics.UI.WXCore.WxcClassesMZ
@@ -1861,6 +1861,7 @@
      ,textCtrlCanPaste
      ,textCtrlCanRedo
      ,textCtrlCanUndo
+     ,textCtrlChangeValue
      ,textCtrlClear
      ,textCtrlCopy
      ,textCtrlCreate
@@ -12095,6 +12096,14 @@
     withObjectRef "textCtrlCanUndo" _obj $ \cobj__obj -> 
     wxTextCtrl_CanUndo cobj__obj  
 foreign import ccall "wxTextCtrl_CanUndo" wxTextCtrl_CanUndo :: Ptr (TTextCtrl a) -> IO CBool
+
+-- | usage: (@textCtrlChangeValue obj text@).
+textCtrlChangeValue :: TextCtrl  a -> String ->  IO ()
+textCtrlChangeValue _obj text 
+  = withObjectRef "textCtrlChangeValue" _obj $ \cobj__obj -> 
+    withStringPtr text $ \cobj_text -> 
+    wxTextCtrl_ChangeValue cobj__obj  cobj_text  
+foreign import ccall "wxTextCtrl_ChangeValue" wxTextCtrl_ChangeValue :: Ptr (TTextCtrl a) -> Ptr (TWxString b) -> IO ()
 
 -- | usage: (@textCtrlClear obj@).
 textCtrlClear :: TextCtrl  a ->  IO ()
diff --git a/wxcore.cabal b/wxcore.cabal
--- a/wxcore.cabal
+++ b/wxcore.cabal
@@ -1,5 +1,5 @@
 name:         wxcore
-version:      0.90
+version:      0.90.0.1
 license:      OtherLicense
 license-file: LICENSE
 author:       Daan Leijen
@@ -59,6 +59,12 @@
     Graphics.UI.WXCore.WxcDefs
     Graphics.UI.WXCore.WxcObject
     Graphics.UI.WXCore.WxcTypes
+
+  other-modules:
+    Graphics.UI.WXCore.GHCiSupport
+
+  frameworks:
+    Carbon
 
   build-depends:
     bytestring,
