]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/src/gtk/wx.py
Moved wxPy_ConvertList function from oglhelpers to helpers
[wxWidgets.git] / utils / wxPython / src / gtk / wx.py
index 8c1b843c93553dfc207891046c11e949b6b598e0..9ca948c728274438bbc436c8010a0cd2f0e5d617 100644 (file)
@@ -3,6 +3,8 @@ import wxc
 
 from misc import *
 
+from misc2 import *
+
 from windows import *
 
 from gdi import *
@@ -25,71 +27,97 @@ from cmndlgs import *
 
 from windows3 import *
 
-from utils import *
+from image import *
+
+from printfw import *
 class wxPyAppPtr(wxEvtHandlerPtr):
     def __init__(self,this):
         self.this = this
         self.thisown = 0
-    def GetAppName(self):
-        val = wxc.wxPyApp_GetAppName(self.this)
+    def __del__(self,wxc=wxc):
+        if self.thisown == 1 :
+            wxc.delete_wxPyApp(self)
+    def GetAppName(self, *_args, **_kwargs):
+        val = apply(wxc.wxPyApp_GetAppName,(self,) + _args, _kwargs)
+        return val
+    def GetClassName(self, *_args, **_kwargs):
+        val = apply(wxc.wxPyApp_GetClassName,(self,) + _args, _kwargs)
         return val
-    def GetClassName(self):
-        val = wxc.wxPyApp_GetClassName(self.this)
+    def GetExitOnFrameDelete(self, *_args, **_kwargs):
+        val = apply(wxc.wxPyApp_GetExitOnFrameDelete,(self,) + _args, _kwargs)
         return val
-    def GetExitOnFrameDelete(self):
-        val = wxc.wxPyApp_GetExitOnFrameDelete(self.this)
+    def GetPrintMode(self, *_args, **_kwargs):
+        val = apply(wxc.wxPyApp_GetPrintMode,(self,) + _args, _kwargs)
         return val
-    def GetPrintMode(self):
-        val = wxc.wxPyApp_GetPrintMode(self.this)
+    def GetTopWindow(self, *_args, **_kwargs):
+        val = apply(wxc.wxPyApp_GetTopWindow,(self,) + _args, _kwargs)
+        if val: val = wxWindowPtr(val) 
         return val
-    def GetTopWindow(self):
-        val = wxc.wxPyApp_GetTopWindow(self.this)
-        val = wxWindowPtr(val)
+    def GetVendorName(self, *_args, **_kwargs):
+        val = apply(wxc.wxPyApp_GetVendorName,(self,) + _args, _kwargs)
         return val
-    def GetVendorName(self):
-        val = wxc.wxPyApp_GetVendorName(self.this)
+    def Dispatch(self, *_args, **_kwargs):
+        val = apply(wxc.wxPyApp_Dispatch,(self,) + _args, _kwargs)
         return val
-    def Dispatch(self):
-        val = wxc.wxPyApp_Dispatch(self.this)
+    def ExitMainLoop(self, *_args, **_kwargs):
+        val = apply(wxc.wxPyApp_ExitMainLoop,(self,) + _args, _kwargs)
         return val
-    def ExitMainLoop(self):
-        val = wxc.wxPyApp_ExitMainLoop(self.this)
+    def Initialized(self, *_args, **_kwargs):
+        val = apply(wxc.wxPyApp_Initialized,(self,) + _args, _kwargs)
         return val
-    def Initialized(self):
-        val = wxc.wxPyApp_Initialized(self.this)
+    def MainLoop(self, *_args, **_kwargs):
+        val = apply(wxc.wxPyApp_MainLoop,(self,) + _args, _kwargs)
         return val
-    def MainLoop(self):
-        val = wxc.wxPyApp_MainLoop(self.this)
+    def Pending(self, *_args, **_kwargs):
+        val = apply(wxc.wxPyApp_Pending,(self,) + _args, _kwargs)
         return val
-    def Pending(self):
-        val = wxc.wxPyApp_Pending(self.this)
+    def ProcessIdle(self, *_args, **_kwargs):
+        val = apply(wxc.wxPyApp_ProcessIdle,(self,) + _args, _kwargs)
         return val
-    def SetAppName(self,arg0):
-        val = wxc.wxPyApp_SetAppName(self.this,arg0)
+    def SetAppName(self, *_args, **_kwargs):
+        val = apply(wxc.wxPyApp_SetAppName,(self,) + _args, _kwargs)
         return val
-    def SetClassName(self,arg0):
-        val = wxc.wxPyApp_SetClassName(self.this,arg0)
+    def SetClassName(self, *_args, **_kwargs):
+        val = apply(wxc.wxPyApp_SetClassName,(self,) + _args, _kwargs)
         return val
-    def SetExitOnFrameDelete(self,arg0):
-        val = wxc.wxPyApp_SetExitOnFrameDelete(self.this,arg0)
+    def SetExitOnFrameDelete(self, *_args, **_kwargs):
+        val = apply(wxc.wxPyApp_SetExitOnFrameDelete,(self,) + _args, _kwargs)
         return val
-    def SetPrintMode(self,arg0):
-        val = wxc.wxPyApp_SetPrintMode(self.this,arg0)
+    def SetPrintMode(self, *_args, **_kwargs):
+        val = apply(wxc.wxPyApp_SetPrintMode,(self,) + _args, _kwargs)
         return val
-    def SetTopWindow(self,arg0):
-        val = wxc.wxPyApp_SetTopWindow(self.this,arg0.this)
+    def SetTopWindow(self, *_args, **_kwargs):
+        val = apply(wxc.wxPyApp_SetTopWindow,(self,) + _args, _kwargs)
         return val
-    def SetVendorName(self,arg0):
-        val = wxc.wxPyApp_SetVendorName(self.this,arg0)
+    def SetVendorName(self, *_args, **_kwargs):
+        val = apply(wxc.wxPyApp_SetVendorName,(self,) + _args, _kwargs)
         return val
-    def AfterMainLoop(self):
-        val = wxc.wxPyApp_AfterMainLoop(self.this)
+    def GetStdIcon(self, *_args, **_kwargs):
+        val = apply(wxc.wxPyApp_GetStdIcon,(self,) + _args, _kwargs)
+        if val: val = wxIconPtr(val) ; val.thisown = 1
         return val
     def __repr__(self):
-        return "<C wxPyApp instance>"
+        return "<C wxPyApp instance at %s>" % (self.this,)
 class wxPyApp(wxPyAppPtr):
-    def __init__(self) :
-        self.this = wxc.new_wxPyApp()
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(wxc.new_wxPyApp,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
+class __wxPyCleanupPtr :
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def __del__(self,wxc=wxc):
+        if self.thisown == 1 :
+            wxc.delete___wxPyCleanup(self)
+    def __repr__(self):
+        return "<C __wxPyCleanup instance at %s>" % (self.this,)
+class __wxPyCleanup(__wxPyCleanupPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(wxc.new___wxPyCleanup,_args,_kwargs)
         self.thisown = 1
 
 
@@ -99,6 +127,20 @@ class wxPyApp(wxPyAppPtr):
 
 #-------------- FUNCTION WRAPPERS ------------------
 
+ptrcast = wxc.ptrcast
+
+ptrvalue = wxc.ptrvalue
+
+ptrset = wxc.ptrset
+
+ptrcreate = wxc.ptrcreate
+
+ptrfree = wxc.ptrfree
+
+ptradd = wxc.ptradd
+
+ptrmap = wxc.ptrmap
+
 _wxStart = wxc._wxStart
 
 _wxSetDictionary = wxc._wxSetDictionary
@@ -146,6 +188,7 @@ wxDIALOG_MODELESS = wxc.wxDIALOG_MODELESS
 wxDEFAULT_FRAME_STYLE = wxc.wxDEFAULT_FRAME_STYLE
 wxDEFAULT_DIALOG_STYLE = wxc.wxDEFAULT_DIALOG_STYLE
 wxFRAME_TOOL_WINDOW = wxc.wxFRAME_TOOL_WINDOW
+wxFRAME_FLOAT_ON_PARENT = wxc.wxFRAME_FLOAT_ON_PARENT
 wxCLIP_CHILDREN = wxc.wxCLIP_CHILDREN
 wxRETAINED = wxc.wxRETAINED
 wxBACKINGSTORE = wxc.wxBACKINGSTORE
@@ -172,6 +215,7 @@ wxPASSWORD = wxc.wxPASSWORD
 wxTE_PROCESS_ENTER = wxc.wxTE_PROCESS_ENTER
 wxTE_PASSWORD = wxc.wxTE_PASSWORD
 wxTE_READONLY = wxc.wxTE_READONLY
+wxTE_RICH = wxc.wxTE_RICH
 wxTE_MULTILINE = wxc.wxTE_MULTILINE
 wxCB_SIMPLE = wxc.wxCB_SIMPLE
 wxCB_DROPDOWN = wxc.wxCB_DROPDOWN
@@ -179,10 +223,13 @@ wxCB_SORT = wxc.wxCB_SORT
 wxCB_READONLY = wxc.wxCB_READONLY
 wxRA_HORIZONTAL = wxc.wxRA_HORIZONTAL
 wxRA_VERTICAL = wxc.wxRA_VERTICAL
+wxRA_SPECIFY_ROWS = wxc.wxRA_SPECIFY_ROWS
+wxRA_SPECIFY_COLS = wxc.wxRA_SPECIFY_COLS
 wxRB_GROUP = wxc.wxRB_GROUP
 wxGA_PROGRESSBAR = wxc.wxGA_PROGRESSBAR
 wxGA_HORIZONTAL = wxc.wxGA_HORIZONTAL
 wxGA_VERTICAL = wxc.wxGA_VERTICAL
+wxGA_SMOOTH = wxc.wxGA_SMOOTH
 wxSL_HORIZONTAL = wxc.wxSL_HORIZONTAL
 wxSL_VERTICAL = wxc.wxSL_VERTICAL
 wxSL_AUTOTICKS = wxc.wxSL_AUTOTICKS
@@ -195,11 +242,14 @@ wxSL_BOTH = wxc.wxSL_BOTH
 wxSL_SELRANGE = wxc.wxSL_SELRANGE
 wxSB_HORIZONTAL = wxc.wxSB_HORIZONTAL
 wxSB_VERTICAL = wxc.wxSB_VERTICAL
+wxST_SIZEGRIP = wxc.wxST_SIZEGRIP
 wxBU_AUTODRAW = wxc.wxBU_AUTODRAW
 wxBU_NOAUTODRAW = wxc.wxBU_NOAUTODRAW
 wxTR_HAS_BUTTONS = wxc.wxTR_HAS_BUTTONS
 wxTR_EDIT_LABELS = wxc.wxTR_EDIT_LABELS
 wxTR_LINES_AT_ROOT = wxc.wxTR_LINES_AT_ROOT
+wxTR_MULTIPLE = wxc.wxTR_MULTIPLE
+wxTR_HAS_VARIABLE_ROW_HEIGHT = wxc.wxTR_HAS_VARIABLE_ROW_HEIGHT
 wxLC_ICON = wxc.wxLC_ICON
 wxLC_SMALL_ICON = wxc.wxLC_SMALL_ICON
 wxLC_LIST = wxc.wxLC_LIST
@@ -224,10 +274,6 @@ wxSP_WRAP = wxc.wxSP_WRAP
 wxSP_NOBORDER = wxc.wxSP_NOBORDER
 wxSP_3D = wxc.wxSP_3D
 wxSP_BORDER = wxc.wxSP_BORDER
-wxTAB_MULTILINE = wxc.wxTAB_MULTILINE
-wxTAB_RIGHTJUSTIFY = wxc.wxTAB_RIGHTJUSTIFY
-wxTAB_FIXEDWIDTH = wxc.wxTAB_FIXEDWIDTH
-wxTAB_OWNERDRAW = wxc.wxTAB_OWNERDRAW
 wxFLOOD_SURFACE = wxc.wxFLOOD_SURFACE
 wxFLOOD_BORDER = wxc.wxFLOOD_BORDER
 wxODDEVEN_RULE = wxc.wxODDEVEN_RULE
@@ -257,6 +303,10 @@ wxSIZE_USE_EXISTING = wxc.wxSIZE_USE_EXISTING
 wxSIZE_ALLOW_MINUS_ONE = wxc.wxSIZE_ALLOW_MINUS_ONE
 wxPORTRAIT = wxc.wxPORTRAIT
 wxLANDSCAPE = wxc.wxLANDSCAPE
+wxPRINT_QUALITY_HIGH = wxc.wxPRINT_QUALITY_HIGH
+wxPRINT_QUALITY_MEDIUM = wxc.wxPRINT_QUALITY_MEDIUM
+wxPRINT_QUALITY_LOW = wxc.wxPRINT_QUALITY_LOW
+wxPRINT_QUALITY_DRAFT = wxc.wxPRINT_QUALITY_DRAFT
 wxID_OPEN = wxc.wxID_OPEN
 wxID_CLOSE = wxc.wxID_CLOSE
 wxID_NEW = wxc.wxID_NEW
@@ -294,6 +344,7 @@ wxID_CANCEL = wxc.wxID_CANCEL
 wxID_APPLY = wxc.wxID_APPLY
 wxID_YES = wxc.wxID_YES
 wxID_NO = wxc.wxID_NO
+wxID_STATIC = wxc.wxID_STATIC
 wxBITMAP_TYPE_BMP = wxc.wxBITMAP_TYPE_BMP
 wxBITMAP_TYPE_BMP_RESOURCE = wxc.wxBITMAP_TYPE_BMP_RESOURCE
 wxBITMAP_TYPE_ICO = wxc.wxBITMAP_TYPE_ICO
@@ -312,6 +363,7 @@ wxBITMAP_TYPE_PNG = wxc.wxBITMAP_TYPE_PNG
 wxBITMAP_TYPE_PNG_RESOURCE = wxc.wxBITMAP_TYPE_PNG_RESOURCE
 wxBITMAP_TYPE_ANY = wxc.wxBITMAP_TYPE_ANY
 wxBITMAP_TYPE_RESOURCE = wxc.wxBITMAP_TYPE_RESOURCE
+wxBITMAP_TYPE_JPEG = wxc.wxBITMAP_TYPE_JPEG
 wxOPEN = wxc.wxOPEN
 wxSAVE = wxc.wxSAVE
 wxHIDE_READONLY = wxc.wxHIDE_READONLY
@@ -319,10 +371,15 @@ wxOVERWRITE_PROMPT = wxc.wxOVERWRITE_PROMPT
 wxACCEL_ALT = wxc.wxACCEL_ALT
 wxACCEL_CTRL = wxc.wxACCEL_CTRL
 wxACCEL_SHIFT = wxc.wxACCEL_SHIFT
-ERR_PARAM = wxc.ERR_PARAM
-ERR_NODATA = wxc.ERR_NODATA
-ERR_CANCEL = wxc.ERR_CANCEL
-ERR_SUCCESS = wxc.ERR_SUCCESS
+wxPD_AUTO_HIDE = wxc.wxPD_AUTO_HIDE
+wxPD_APP_MODAL = wxc.wxPD_APP_MODAL
+wxPD_CAN_ABORT = wxc.wxPD_CAN_ABORT
+wxPD_ELAPSED_TIME = wxc.wxPD_ELAPSED_TIME
+wxPD_ESTIMATED_TIME = wxc.wxPD_ESTIMATED_TIME
+wxPD_REMAINING_TIME = wxc.wxPD_REMAINING_TIME
+wxNO_DEFAULT = wxc.wxNO_DEFAULT
+wxMENU_TEAROFF = wxc.wxMENU_TEAROFF
+wxNO_FULL_REPAINT_ON_RESIZE = wxc.wxNO_FULL_REPAINT_ON_RESIZE
 wxDEFAULT = wxc.wxDEFAULT
 wxDECORATIVE = wxc.wxDECORATIVE
 wxROMAN = wxc.wxROMAN
@@ -476,6 +533,76 @@ wxCURSOR_SPRAYCAN = wxc.wxCURSOR_SPRAYCAN
 wxCURSOR_WAIT = wxc.wxCURSOR_WAIT
 wxCURSOR_WATCH = wxc.wxCURSOR_WATCH
 wxCURSOR_BLANK = wxc.wxCURSOR_BLANK
+wxPAPER_NONE = wxc.wxPAPER_NONE
+wxPAPER_LETTER = wxc.wxPAPER_LETTER
+wxPAPER_LEGAL = wxc.wxPAPER_LEGAL
+wxPAPER_A4 = wxc.wxPAPER_A4
+wxPAPER_CSHEET = wxc.wxPAPER_CSHEET
+wxPAPER_DSHEET = wxc.wxPAPER_DSHEET
+wxPAPER_ESHEET = wxc.wxPAPER_ESHEET
+wxPAPER_LETTERSMALL = wxc.wxPAPER_LETTERSMALL
+wxPAPER_TABLOID = wxc.wxPAPER_TABLOID
+wxPAPER_LEDGER = wxc.wxPAPER_LEDGER
+wxPAPER_STATEMENT = wxc.wxPAPER_STATEMENT
+wxPAPER_EXECUTIVE = wxc.wxPAPER_EXECUTIVE
+wxPAPER_A3 = wxc.wxPAPER_A3
+wxPAPER_A4SMALL = wxc.wxPAPER_A4SMALL
+wxPAPER_A5 = wxc.wxPAPER_A5
+wxPAPER_B4 = wxc.wxPAPER_B4
+wxPAPER_B5 = wxc.wxPAPER_B5
+wxPAPER_FOLIO = wxc.wxPAPER_FOLIO
+wxPAPER_QUARTO = wxc.wxPAPER_QUARTO
+wxPAPER_10X14 = wxc.wxPAPER_10X14
+wxPAPER_11X17 = wxc.wxPAPER_11X17
+wxPAPER_NOTE = wxc.wxPAPER_NOTE
+wxPAPER_ENV_9 = wxc.wxPAPER_ENV_9
+wxPAPER_ENV_10 = wxc.wxPAPER_ENV_10
+wxPAPER_ENV_11 = wxc.wxPAPER_ENV_11
+wxPAPER_ENV_12 = wxc.wxPAPER_ENV_12
+wxPAPER_ENV_14 = wxc.wxPAPER_ENV_14
+wxPAPER_ENV_DL = wxc.wxPAPER_ENV_DL
+wxPAPER_ENV_C5 = wxc.wxPAPER_ENV_C5
+wxPAPER_ENV_C3 = wxc.wxPAPER_ENV_C3
+wxPAPER_ENV_C4 = wxc.wxPAPER_ENV_C4
+wxPAPER_ENV_C6 = wxc.wxPAPER_ENV_C6
+wxPAPER_ENV_C65 = wxc.wxPAPER_ENV_C65
+wxPAPER_ENV_B4 = wxc.wxPAPER_ENV_B4
+wxPAPER_ENV_B5 = wxc.wxPAPER_ENV_B5
+wxPAPER_ENV_B6 = wxc.wxPAPER_ENV_B6
+wxPAPER_ENV_ITALY = wxc.wxPAPER_ENV_ITALY
+wxPAPER_ENV_MONARCH = wxc.wxPAPER_ENV_MONARCH
+wxPAPER_ENV_PERSONAL = wxc.wxPAPER_ENV_PERSONAL
+wxPAPER_FANFOLD_US = wxc.wxPAPER_FANFOLD_US
+wxPAPER_FANFOLD_STD_GERMAN = wxc.wxPAPER_FANFOLD_STD_GERMAN
+wxPAPER_FANFOLD_LGL_GERMAN = wxc.wxPAPER_FANFOLD_LGL_GERMAN
+wxPAPER_ISO_B4 = wxc.wxPAPER_ISO_B4
+wxPAPER_JAPANESE_POSTCARD = wxc.wxPAPER_JAPANESE_POSTCARD
+wxPAPER_9X11 = wxc.wxPAPER_9X11
+wxPAPER_10X11 = wxc.wxPAPER_10X11
+wxPAPER_15X11 = wxc.wxPAPER_15X11
+wxPAPER_ENV_INVITE = wxc.wxPAPER_ENV_INVITE
+wxPAPER_LETTER_EXTRA = wxc.wxPAPER_LETTER_EXTRA
+wxPAPER_LEGAL_EXTRA = wxc.wxPAPER_LEGAL_EXTRA
+wxPAPER_TABLOID_EXTRA = wxc.wxPAPER_TABLOID_EXTRA
+wxPAPER_A4_EXTRA = wxc.wxPAPER_A4_EXTRA
+wxPAPER_LETTER_TRANSVERSE = wxc.wxPAPER_LETTER_TRANSVERSE
+wxPAPER_A4_TRANSVERSE = wxc.wxPAPER_A4_TRANSVERSE
+wxPAPER_LETTER_EXTRA_TRANSVERSE = wxc.wxPAPER_LETTER_EXTRA_TRANSVERSE
+wxPAPER_A_PLUS = wxc.wxPAPER_A_PLUS
+wxPAPER_B_PLUS = wxc.wxPAPER_B_PLUS
+wxPAPER_LETTER_PLUS = wxc.wxPAPER_LETTER_PLUS
+wxPAPER_A4_PLUS = wxc.wxPAPER_A4_PLUS
+wxPAPER_A5_TRANSVERSE = wxc.wxPAPER_A5_TRANSVERSE
+wxPAPER_B5_TRANSVERSE = wxc.wxPAPER_B5_TRANSVERSE
+wxPAPER_A3_EXTRA = wxc.wxPAPER_A3_EXTRA
+wxPAPER_A5_EXTRA = wxc.wxPAPER_A5_EXTRA
+wxPAPER_B5_EXTRA = wxc.wxPAPER_B5_EXTRA
+wxPAPER_A2 = wxc.wxPAPER_A2
+wxPAPER_A3_TRANSVERSE = wxc.wxPAPER_A3_TRANSVERSE
+wxPAPER_A3_EXTRA_TRANSVERSE = wxc.wxPAPER_A3_EXTRA_TRANSVERSE
+wxDUPLEX_SIMPLEX = wxc.wxDUPLEX_SIMPLEX
+wxDUPLEX_HORIZONTAL = wxc.wxDUPLEX_HORIZONTAL
+wxDUPLEX_VERTICAL = wxc.wxDUPLEX_VERTICAL
 FALSE = wxc.FALSE
 false = wxc.false
 TRUE = wxc.TRUE
@@ -528,6 +655,9 @@ wxEVT_NC_LEFT_DCLICK = wxc.wxEVT_NC_LEFT_DCLICK
 wxEVT_NC_MIDDLE_DCLICK = wxc.wxEVT_NC_MIDDLE_DCLICK
 wxEVT_NC_RIGHT_DCLICK = wxc.wxEVT_NC_RIGHT_DCLICK
 wxEVT_CHAR = wxc.wxEVT_CHAR
+wxEVT_KEY_DOWN = wxc.wxEVT_KEY_DOWN
+wxEVT_KEY_UP = wxc.wxEVT_KEY_UP
+wxEVT_CHAR_HOOK = wxc.wxEVT_CHAR_HOOK
 wxEVT_SCROLL_TOP = wxc.wxEVT_SCROLL_TOP
 wxEVT_SCROLL_BOTTOM = wxc.wxEVT_SCROLL_BOTTOM
 wxEVT_SCROLL_LINEUP = wxc.wxEVT_SCROLL_LINEUP
@@ -535,6 +665,13 @@ wxEVT_SCROLL_LINEDOWN = wxc.wxEVT_SCROLL_LINEDOWN
 wxEVT_SCROLL_PAGEUP = wxc.wxEVT_SCROLL_PAGEUP
 wxEVT_SCROLL_PAGEDOWN = wxc.wxEVT_SCROLL_PAGEDOWN
 wxEVT_SCROLL_THUMBTRACK = wxc.wxEVT_SCROLL_THUMBTRACK
+wxEVT_SCROLLWIN_TOP = wxc.wxEVT_SCROLLWIN_TOP
+wxEVT_SCROLLWIN_BOTTOM = wxc.wxEVT_SCROLLWIN_BOTTOM
+wxEVT_SCROLLWIN_LINEUP = wxc.wxEVT_SCROLLWIN_LINEUP
+wxEVT_SCROLLWIN_LINEDOWN = wxc.wxEVT_SCROLLWIN_LINEDOWN
+wxEVT_SCROLLWIN_PAGEUP = wxc.wxEVT_SCROLLWIN_PAGEUP
+wxEVT_SCROLLWIN_PAGEDOWN = wxc.wxEVT_SCROLLWIN_PAGEDOWN
+wxEVT_SCROLLWIN_THUMBTRACK = wxc.wxEVT_SCROLLWIN_THUMBTRACK
 wxEVT_SIZE = wxc.wxEVT_SIZE
 wxEVT_MOVE = wxc.wxEVT_MOVE
 wxEVT_CLOSE_WINDOW = wxc.wxEVT_CLOSE_WINDOW
@@ -542,8 +679,6 @@ wxEVT_END_SESSION = wxc.wxEVT_END_SESSION
 wxEVT_QUERY_END_SESSION = wxc.wxEVT_QUERY_END_SESSION
 wxEVT_ACTIVATE_APP = wxc.wxEVT_ACTIVATE_APP
 wxEVT_POWER = wxc.wxEVT_POWER
-wxEVT_CHAR_HOOK = wxc.wxEVT_CHAR_HOOK
-wxEVT_KEY_UP = wxc.wxEVT_KEY_UP
 wxEVT_ACTIVATE = wxc.wxEVT_ACTIVATE
 wxEVT_CREATE = wxc.wxEVT_CREATE
 wxEVT_DESTROY = wxc.wxEVT_DESTROY
@@ -609,10 +744,15 @@ wxEVT_COMMAND_LIST_ITEM_DESELECTED = wxc.wxEVT_COMMAND_LIST_ITEM_DESELECTED
 wxEVT_COMMAND_LIST_KEY_DOWN = wxc.wxEVT_COMMAND_LIST_KEY_DOWN
 wxEVT_COMMAND_LIST_INSERT_ITEM = wxc.wxEVT_COMMAND_LIST_INSERT_ITEM
 wxEVT_COMMAND_LIST_COL_CLICK = wxc.wxEVT_COMMAND_LIST_COL_CLICK
+wxEVT_COMMAND_LIST_ITEM_ACTIVATED = wxc.wxEVT_COMMAND_LIST_ITEM_ACTIVATED
 wxEVT_COMMAND_TAB_SEL_CHANGED = wxc.wxEVT_COMMAND_TAB_SEL_CHANGED
 wxEVT_COMMAND_TAB_SEL_CHANGING = wxc.wxEVT_COMMAND_TAB_SEL_CHANGING
 wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED = wxc.wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED
 wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING = wxc.wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING
+wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGING = wxc.wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGING
+wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED = wxc.wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED
+wxEVT_COMMAND_SPLITTER_UNSPLIT = wxc.wxEVT_COMMAND_SPLITTER_UNSPLIT
+wxEVT_COMMAND_SPLITTER_DOUBLECLICKED = wxc.wxEVT_COMMAND_SPLITTER_DOUBLECLICKED
 __version__ = wxc.__version__
 cvar = wxc.cvar
 wxPyDefaultPosition = wxPointPtr(wxc.cvar.wxPyDefaultPosition)
@@ -652,14 +792,21 @@ def _checkForCallback(obj, name, event, theID=-1):
     except: pass
     else:   obj.Connect(theID, -1, event, cb)
 
+##  def _checkClassCallback(obj, name):
+##      try:    cb = getattr(obj, name)
+##      except: pass
+##      else:   obj._addCallback(name, cb)
+
+
 def _StdWindowCallbacks(win):
     _checkForCallback(win, "OnChar",               wxEVT_CHAR)
     _checkForCallback(win, "OnSize",               wxEVT_SIZE)
     _checkForCallback(win, "OnEraseBackground",    wxEVT_ERASE_BACKGROUND)
     _checkForCallback(win, "OnSysColourChanged",   wxEVT_SYS_COLOUR_CHANGED)
     _checkForCallback(win, "OnInitDialog",         wxEVT_INIT_DIALOG)
-    _checkForCallback(win, "OnIdle",               wxEVT_IDLE)
     _checkForCallback(win, "OnPaint",              wxEVT_PAINT)
+    _checkForCallback(win, "OnIdle",               wxEVT_IDLE)
+
 
 def _StdFrameCallbacks(win):
     _StdWindowCallbacks(win)
@@ -677,7 +824,7 @@ def _StdDialogCallbacks(win):
     _checkForCallback(win, "OnCharHook",    wxEVT_CHAR_HOOK)
 
 
-def _StdOnScrollCallback(win):
+def _StdOnScrollCallbacks(win):
     try:    cb = getattr(win, "OnScroll")
     except: pass
     else:   EVT_SCROLL(win, cb)
@@ -711,6 +858,12 @@ def EVT_CHAR(win, func):
 def EVT_CHAR_HOOK(win, func):
     win.Connect(-1, -1, wxEVT_CHAR_HOOK, func)
 
+def EVT_KEY_DOWN(win, func):
+    win.Connect(-1, -1, wxEVT_KEY_DOWN, func)
+
+def EVT_KEY_UP(win, func):
+    win.Connect(-1, -1, wxEVT_KEY_UP, func)
+
 def EVT_MENU_HIGHLIGHT(win, id, func):
     win.Connect(id, -1, wxEVT_MENU_HIGHLIGHT, func)
 
@@ -756,6 +909,12 @@ def EVT_ICONIZE(win, func):
 def EVT_NAVIGATION_KEY(win, func):
     win.Connect(-1, -1, wxEVT_NAVIGATION_KEY, func)
 
+def EVT_IDLE(win, func):
+    win.Connect(-1, -1, wxEVT_IDLE, func)
+
+def EVT_UPDATE_UI(win, id, func):
+    win.Connect(id, -1, wxEVT_UPDATE_UI, func)
+
 
 # Mouse Events
 def EVT_LEFT_DOWN(win, func):
@@ -1127,6 +1286,9 @@ def EVT_LIST_SET_INFO(win, id, func):
 def EVT_LIST_ITEM_SELECTED(win, id, func):
     win.Connect(id, -1,  wxEVT_COMMAND_LIST_ITEM_SELECTED, func)
 
+def EVT_LIST_ITEM_ACTIVATED(win, id, func):
+    win.Connect(id, -1,  wxEVT_COMMAND_LIST_ITEM_ACTIVATED, func)
+
 def EVT_LIST_ITEM_DESELECTED(win, id, func):
     win.Connect(id, -1, wxEVT_COMMAND_LIST_ITEM_DESELECTED, func)
 
@@ -1139,6 +1301,19 @@ def EVT_LIST_INSERT_ITEM(win, id, func):
 def EVT_LIST_COL_CLICK(win, id, func):
     win.Connect(id, -1, wxEVT_COMMAND_LIST_COL_CLICK, func)
 
+#wxSplitterWindow
+def EVT_SPLITTER_SASH_POS_CHANGING(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGING, func)
+
+def EVT_SPLITTER_SASH_POS_CHANGED(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED, func)
+
+def EVT_SPLITTER_UNSPLIT(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_SPLITTER_UNSPLIT, func)
+
+def EVT_SPLITTER_DOUBLECLICKED(win, id, func):
+    win.Connect(id, -1, wxEVT_COMMAND_SPLITTER_DOUBLECLICKED, func)
+
 
 #----------------------------------------------------------------------
 
@@ -1180,29 +1355,66 @@ class wxAcceleratorTable(wxAcceleratorTablePtr):
         self.this = miscc.new_wxAcceleratorTable(arg0)
         self.thisown = 1
 
+#----------------------------------------------------------------------
+# This helper function will take a wxPython object and convert it to
+# another wxPython object type.  This will not be able to create objects
+# that are derived from wxPython classes by the user, only those that are
+# actually part of wxPython and directly corespond to C++ objects.
+#
+# This is useful in situations where some method returns a generic
+# type such as wxWindow, but you know that it is actually some
+# derived type such as a wxTextCtrl.  You can't call wxTextCtrl specific
+# methods on a wxWindow object, but you can use this function to
+# create a wxTextCtrl object that will pass the same pointer to
+# the C++ code.  You use it like this:
+#
+#    textCtrl = wxPyTypeCast(window, "wxTextCtrl")
+#
+#
+# WARNING:  Using this function to type cast objects into types that
+#           they are not is not recommended and is likely to cause your
+#           program to crash...  Hard.
+#
+
+def wxPyTypeCast(obj, typeStr):
+    if hasattr(obj, "this"):
+        newPtr = ptrcast(obj.this, typeStr+"_p")
+    else:
+        newPtr = ptrcast(obj, typeStr+"_p")
+    theClass = globals()[typeStr+"Ptr"]
+    theObj = theClass(newPtr)
+    theObj.thisown = obj.thisown
+    return theObj
+
+
 #----------------------------------------------------------------------
 
-## class wxPyStdOutWindow(wxFrame):
-##     def __init__(self, title = "wxPython: stdout/stderr"):
-##         wxFrame.__init__(self, NULL, title)
-##         self.title = title
-##         self.text = wxTextWindow(self)
-##         self.text.SetFont(wxFont(10, wxMODERN, wxNORMAL, wxBOLD))
-##         self.SetSize(-1,-1,400,200)
-##         self.Show(false)
-##         self.isShown = false
+##  class wxPyStdOutWindow:
+##       def __init__(self, title = "wxPython: stdout/stderr"):
+##          self.frame = None
+##          self.title = title
 
-##     def write(self, str):  # with this method,
-##         if not self.isShown:
-##             self.Show(true)
-##             self.isShown = true
-##         self.text.WriteText(str)
+##      def write(self, str):
+##          if not self.frame:
+##              self.frame = wxFrame(NULL, -1, self.title)
+##              self.text  = wxTextCtrl(self.frame, -1, "", wxPoint(0,0), wxDefaultSize,
+##                                      wxTE_MULTILINE|wxTE_READONLY)
+##              self.frame.SetSize(wxSize(450, 300))
+##              self.frame.Show(true)
+##              EVT_CLOSE(self.frame, self.OnCloseWindow)
+##          self.text.AppendText(str)
 
-##     def OnCloseWindow(self, event): # doesn't allow the window to close, just hides it
-##         self.Show(false)
-##         self.isShown = false
+##      def OnCloseWindow(self, event):
+##          wxBell()
+##          self.frame.Destroy()
+##          self.frame = None
+##          self.text  = None
 
 
+##      def close(self):
+##          if self.frame:
+##              self.frame.Close(true)
+
 _defRedirect = (wxPlatform == '__WXMSW__')
 
 #----------------------------------------------------------------------
@@ -1239,72 +1451,14 @@ class wxApp(wxPyApp):
     def RestoreStdio(self):
         sys.stdout, sys.stderr = self.saveStdio
         if self.stdioWin != None:
-            self.stdioWin.Show(false)
-            self.stdioWin.Destroy()
-            self.stdioWin = None
+            self.stdioWin.close()
 
 
 #----------------------------------------------------------------------------
-#
-# $Log$
-# Revision 1.7  1999/02/25 07:18:52  RD
-# wxPython version 2.0b5
-#
-# Revision 1.11  1999/02/20 09:02:55  RD
-# Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a
-# window handle.  If you can get the window handle into the python code,
-# it should just work...  More news on this later.
-#
-# Added wxImageList, wxToolTip.
-#
-# Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the
-# wxRegConfig class.
-#
-# As usual, some bug fixes, tweaks, etc.
-#
-# Revision 1.10  1999/02/01 00:10:39  RD
-#
-# Added the missing EVT_LIST_ITEM_SELECTED and friends.
-#
-# Revision 1.9  1999/01/30 07:30:09  RD
-#
-# Added wxSashWindow, wxSashEvent, wxLayoutAlgorithm, etc.
-#
-# Various cleanup, tweaks, minor additions, etc. to maintain
-# compatibility with the current wxWindows.
-#
-# Revision 1.8  1999/01/29 21:13:42  HH
-# Added aliases for wxDefaultPosition and wxDefaultSize (from wxPy..) in _extras,
-# so that C++ documentation applies.
-#
-# Revision 1.7  1998/11/25 08:45:21  RD
-#
-# Added wxPalette, wxRegion, wxRegionIterator, wxTaskbarIcon
-# Added events for wxGrid
-# Other various fixes and additions
-#
-# Revision 1.6  1998/11/16 00:00:52  RD
-# Generic treectrl for wxPython/GTK compiles...
-#
-# Revision 1.5  1998/10/20 07:38:02  RD
-# bug fix
-#
-# Revision 1.4  1998/10/20 06:43:54  RD
-# New wxTreeCtrl wrappers (untested)
-# some changes in helpers
-# etc.
-#
-# Revision 1.3  1998/10/02 06:40:33  RD
-#
-# Version 0.4 of wxPython for MSW.
-#
-# Revision 1.2  1998/08/18 19:48:12  RD
-# more wxGTK compatibility things.
-#
-# It builds now but there are serious runtime problems...
-#
-# Revision 1.1  1998/08/09 08:25:49  RD
-# Initial version
-#
-#
+# DO NOT hold any other references to this object.  This is how we know when
+# to cleanup system resources that wxWin is holding...
+__cleanMeUp = __wxPyCleanup()
+#----------------------------------------------------------------------------
+
+