X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6e18ca6cf434f1bd7245a3bf03d5a9cfe41393b6..be13a6af904a58515dc8ff22c2f07fcc1fc60696:/wxPython/src/msw/wx.py diff --git a/wxPython/src/msw/wx.py b/wxPython/src/msw/wx.py index fc3390761e..148ac8b3ee 100644 --- a/wxPython/src/msw/wx.py +++ b/wxPython/src/msw/wx.py @@ -9,12 +9,16 @@ from windows import * from gdi import * +from fonts import * + from clip_dnd import * from events import * from streams import * +from utils import * + from mdi import * from frames import * @@ -38,8 +42,6 @@ from printfw import * from sizers import * from filesys import * - -from utils import * class wxPyAppPtr(wxEvtHandlerPtr): def __init__(self,this): self.this = this @@ -64,7 +66,6 @@ class wxPyAppPtr(wxEvtHandlerPtr): return val def GetTopWindow(self, *_args, **_kwargs): val = apply(wxc.wxPyApp_GetTopWindow,(self,) + _args, _kwargs) - if val: val = wxWindowPtr(val) return val def GetVendorName(self, *_args, **_kwargs): val = apply(wxc.wxPyApp_GetVendorName,(self,) + _args, _kwargs) @@ -114,10 +115,6 @@ class wxPyAppPtr(wxEvtHandlerPtr): def SetUseBestVisual(self, *_args, **_kwargs): val = apply(wxc.wxPyApp_SetUseBestVisual,(self,) + _args, _kwargs) return val - 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 "" % (self.this,) class wxPyApp(wxPyAppPtr): @@ -180,6 +177,7 @@ wxUSER_COLOURS = wxc.wxUSER_COLOURS wxNO_3D = wxc.wxNO_3D wxTAB_TRAVERSAL = wxc.wxTAB_TRAVERSAL wxWANTS_CHARS = wxc.wxWANTS_CHARS +wxPOPUP_WINDOW = wxc.wxPOPUP_WINDOW wxHORIZONTAL = wxc.wxHORIZONTAL wxVERTICAL = wxc.wxVERTICAL wxBOTH = wxc.wxBOTH @@ -200,26 +198,31 @@ wxRESIZE_BOX = wxc.wxRESIZE_BOX wxRESIZE_BORDER = wxc.wxRESIZE_BORDER wxDIALOG_MODAL = wxc.wxDIALOG_MODAL wxDIALOG_MODELESS = wxc.wxDIALOG_MODELESS +wxDIALOG_NO_PARENT = wxc.wxDIALOG_NO_PARENT 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 wxFRAME_NO_WINDOW_MENU = wxc.wxFRAME_NO_WINDOW_MENU wxFRAME_NO_TASKBAR = wxc.wxFRAME_NO_TASKBAR -wxFRAME_EX_CONTEXTHELP = wxc.wxFRAME_EX_CONTEXTHELP wxED_CLIENT_MARGIN = wxc.wxED_CLIENT_MARGIN wxED_BUTTONS_BOTTOM = wxc.wxED_BUTTONS_BOTTOM wxED_BUTTONS_RIGHT = wxc.wxED_BUTTONS_RIGHT wxED_STATIC_LINE = wxc.wxED_STATIC_LINE wxEXT_DIALOG_STYLE = wxc.wxEXT_DIALOG_STYLE wxCLIP_CHILDREN = wxc.wxCLIP_CHILDREN +wxCLIP_SIBLINGS = wxc.wxCLIP_SIBLINGS wxRETAINED = wxc.wxRETAINED wxBACKINGSTORE = wxc.wxBACKINGSTORE -wxTB_3DBUTTONS = wxc.wxTB_3DBUTTONS wxTB_HORIZONTAL = wxc.wxTB_HORIZONTAL wxTB_VERTICAL = wxc.wxTB_VERTICAL +wxTB_3DBUTTONS = wxc.wxTB_3DBUTTONS wxTB_FLAT = wxc.wxTB_FLAT wxTB_DOCKABLE = wxc.wxTB_DOCKABLE +wxTB_NOICONS = wxc.wxTB_NOICONS +wxTB_TEXT = wxc.wxTB_TEXT +wxTB_NODIVIDER = wxc.wxTB_NODIVIDER +wxTB_NOALIGN = wxc.wxTB_NOALIGN wxCOLOURED = wxc.wxCOLOURED wxFIXED_LENGTH = wxc.wxFIXED_LENGTH wxALIGN_LEFT = wxc.wxALIGN_LEFT @@ -244,14 +247,20 @@ wxLB_OWNERDRAW = wxc.wxLB_OWNERDRAW wxLB_HSCROLL = wxc.wxLB_HSCROLL wxPROCESS_ENTER = wxc.wxPROCESS_ENTER wxPASSWORD = wxc.wxPASSWORD -wxTE_PROCESS_ENTER = wxc.wxTE_PROCESS_ENTER -wxTE_PROCESS_TAB = wxc.wxTE_PROCESS_TAB -wxTE_PASSWORD = wxc.wxTE_PASSWORD wxTE_READONLY = wxc.wxTE_READONLY -wxTE_RICH = wxc.wxTE_RICH wxTE_MULTILINE = wxc.wxTE_MULTILINE -wxTE_AUTO_SCROLL = wxc.wxTE_AUTO_SCROLL +wxTE_PROCESS_TAB = wxc.wxTE_PROCESS_TAB +wxTE_RICH = wxc.wxTE_RICH +wxTE_RICH2 = wxc.wxTE_RICH2 wxTE_NO_VSCROLL = wxc.wxTE_NO_VSCROLL +wxTE_AUTO_SCROLL = wxc.wxTE_AUTO_SCROLL +wxTE_PROCESS_ENTER = wxc.wxTE_PROCESS_ENTER +wxTE_PASSWORD = wxc.wxTE_PASSWORD +wxTE_AUTO_URL = wxc.wxTE_AUTO_URL +wxTE_NOHIDESEL = wxc.wxTE_NOHIDESEL +wxTE_DONTWRAP = wxc.wxTE_DONTWRAP +wxTE_LINEWRAP = wxc.wxTE_LINEWRAP +wxTE_WORDWRAP = wxc.wxTE_WORDWRAP wxCB_SIMPLE = wxc.wxCB_SIMPLE wxCB_DROPDOWN = wxc.wxCB_DROPDOWN wxCB_SORT = wxc.wxCB_SORT @@ -279,33 +288,13 @@ wxSB_HORIZONTAL = wxc.wxSB_HORIZONTAL wxSB_VERTICAL = wxc.wxSB_VERTICAL wxST_SIZEGRIP = wxc.wxST_SIZEGRIP wxST_NO_AUTORESIZE = wxc.wxST_NO_AUTORESIZE -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_SINGLE = wxc.wxTR_SINGLE -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 -wxLC_REPORT = wxc.wxLC_REPORT -wxLC_ALIGN_TOP = wxc.wxLC_ALIGN_TOP -wxLC_ALIGN_LEFT = wxc.wxLC_ALIGN_LEFT -wxLC_AUTOARRANGE = wxc.wxLC_AUTOARRANGE -wxLC_USER_TEXT = wxc.wxLC_USER_TEXT -wxLC_EDIT_LABELS = wxc.wxLC_EDIT_LABELS -wxLC_NO_HEADER = wxc.wxLC_NO_HEADER -wxLC_NO_SORT_HEADER = wxc.wxLC_NO_SORT_HEADER -wxLC_SINGLE_SEL = wxc.wxLC_SINGLE_SEL -wxLC_SORT_ASCENDING = wxc.wxLC_SORT_ASCENDING -wxLC_SORT_DESCENDING = wxc.wxLC_SORT_DESCENDING -wxLC_MASK_TYPE = wxc.wxLC_MASK_TYPE -wxLC_MASK_ALIGN = wxc.wxLC_MASK_ALIGN -wxLC_MASK_SORT = wxc.wxLC_MASK_SORT -wxLC_HRULES = wxc.wxLC_HRULES -wxLC_VRULES = wxc.wxLC_VRULES +wxBU_AUTODRAW = wxc.wxBU_AUTODRAW +wxBU_LEFT = wxc.wxBU_LEFT +wxBU_TOP = wxc.wxBU_TOP +wxBU_RIGHT = wxc.wxBU_RIGHT +wxBU_BOTTOM = wxc.wxBU_BOTTOM +wxBU_EXACTFIT = wxc.wxBU_EXACTFIT wxSP_VERTICAL = wxc.wxSP_VERTICAL wxSP_HORIZONTAL = wxc.wxSP_HORIZONTAL wxSP_ARROW_KEYS = wxc.wxSP_ARROW_KEYS @@ -379,11 +368,14 @@ wxID_HELP_CONTENTS = wxc.wxID_HELP_CONTENTS wxID_HELP_COMMANDS = wxc.wxID_HELP_COMMANDS wxID_HELP_PROCEDURES = wxc.wxID_HELP_PROCEDURES wxID_HELP_CONTEXT = wxc.wxID_HELP_CONTEXT +wxID_CLOSE_ALL = wxc.wxID_CLOSE_ALL wxID_CUT = wxc.wxID_CUT wxID_COPY = wxc.wxID_COPY wxID_PASTE = wxc.wxID_PASTE wxID_CLEAR = wxc.wxID_CLEAR wxID_FIND = wxc.wxID_FIND +wxID_DUPLICATE = wxc.wxID_DUPLICATE +wxID_SELECTALL = wxc.wxID_SELECTALL wxID_FILE1 = wxc.wxID_FILE1 wxID_FILE2 = wxc.wxID_FILE2 wxID_FILE3 = wxc.wxID_FILE3 @@ -399,27 +391,18 @@ wxID_APPLY = wxc.wxID_APPLY wxID_YES = wxc.wxID_YES wxID_NO = wxc.wxID_NO wxID_STATIC = wxc.wxID_STATIC -wxID_SEPARATOR = wxc.wxID_SEPARATOR -wxBITMAP_TYPE_BMP = wxc.wxBITMAP_TYPE_BMP -wxBITMAP_TYPE_BMP_RESOURCE = wxc.wxBITMAP_TYPE_BMP_RESOURCE -wxBITMAP_TYPE_ICO = wxc.wxBITMAP_TYPE_ICO -wxBITMAP_TYPE_ICO_RESOURCE = wxc.wxBITMAP_TYPE_ICO_RESOURCE -wxBITMAP_TYPE_CUR = wxc.wxBITMAP_TYPE_CUR -wxBITMAP_TYPE_CUR_RESOURCE = wxc.wxBITMAP_TYPE_CUR_RESOURCE -wxBITMAP_TYPE_XBM = wxc.wxBITMAP_TYPE_XBM -wxBITMAP_TYPE_XBM_DATA = wxc.wxBITMAP_TYPE_XBM_DATA -wxBITMAP_TYPE_XPM = wxc.wxBITMAP_TYPE_XPM -wxBITMAP_TYPE_XPM_DATA = wxc.wxBITMAP_TYPE_XPM_DATA -wxBITMAP_TYPE_TIF = wxc.wxBITMAP_TYPE_TIF -wxBITMAP_TYPE_TIF_RESOURCE = wxc.wxBITMAP_TYPE_TIF_RESOURCE -wxBITMAP_TYPE_GIF = wxc.wxBITMAP_TYPE_GIF -wxBITMAP_TYPE_GIF_RESOURCE = wxc.wxBITMAP_TYPE_GIF_RESOURCE -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 -wxBITMAP_TYPE_PCX = wxc.wxBITMAP_TYPE_PCX +wxID_FORWARD = wxc.wxID_FORWARD +wxID_BACKWARD = wxc.wxID_BACKWARD +wxID_DEFAULT = wxc.wxID_DEFAULT +wxID_MORE = wxc.wxID_MORE +wxID_SETUP = wxc.wxID_SETUP +wxID_RESET = wxc.wxID_RESET +wxID_CONTEXT_HELP = wxc.wxID_CONTEXT_HELP +wxID_YESTOALL = wxc.wxID_YESTOALL +wxID_NOTOALL = wxc.wxID_NOTOALL +wxID_ABORT = wxc.wxID_ABORT +wxID_RETRY = wxc.wxID_RETRY +wxID_IGNORE = wxc.wxID_IGNORE wxOPEN = wxc.wxOPEN wxSAVE = wxc.wxSAVE wxHIDE_READONLY = wxc.wxHIDE_READONLY @@ -437,6 +420,8 @@ 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 +wxDD_NEW_DIR_BUTTON = wxc.wxDD_NEW_DIR_BUTTON +wxDD_DEFAULT_STYLE = wxc.wxDD_DEFAULT_STYLE wxMENU_TEAROFF = wxc.wxMENU_TEAROFF wxMB_DOCKABLE = wxc.wxMB_DOCKABLE wxNO_FULL_REPAINT_ON_RESIZE = wxc.wxNO_FULL_REPAINT_ON_RESIZE @@ -459,10 +444,9 @@ wxNB_FIXEDWIDTH = wxc.wxNB_FIXEDWIDTH wxNB_LEFT = wxc.wxNB_LEFT wxNB_RIGHT = wxc.wxNB_RIGHT wxNB_BOTTOM = wxc.wxNB_BOTTOM +wxNB_MULTILINE = wxc.wxNB_MULTILINE wxLI_HORIZONTAL = wxc.wxLI_HORIZONTAL wxLI_VERTICAL = wxc.wxLI_VERTICAL -wxHW_SCROLLBAR_NEVER = wxc.wxHW_SCROLLBAR_NEVER -wxHW_SCROLLBAR_AUTO = wxc.wxHW_SCROLLBAR_AUTO wxJOYSTICK1 = wxc.wxJOYSTICK1 wxJOYSTICK2 = wxc.wxJOYSTICK2 wxJOY_BUTTON1 = wxc.wxJOY_BUTTON1 @@ -470,6 +454,29 @@ wxJOY_BUTTON2 = wxc.wxJOY_BUTTON2 wxJOY_BUTTON3 = wxc.wxJOY_BUTTON3 wxJOY_BUTTON4 = wxc.wxJOY_BUTTON4 wxJOY_BUTTON_ANY = wxc.wxJOY_BUTTON_ANY +wxWS_EX_VALIDATE_RECURSIVELY = wxc.wxWS_EX_VALIDATE_RECURSIVELY +wxWS_EX_BLOCK_EVENTS = wxc.wxWS_EX_BLOCK_EVENTS +wxWS_EX_TRANSIENT = wxc.wxWS_EX_TRANSIENT +wxMM_TEXT = wxc.wxMM_TEXT +wxMM_LOMETRIC = wxc.wxMM_LOMETRIC +wxMM_HIMETRIC = wxc.wxMM_HIMETRIC +wxMM_LOENGLISH = wxc.wxMM_LOENGLISH +wxMM_HIENGLISH = wxc.wxMM_HIENGLISH +wxMM_TWIPS = wxc.wxMM_TWIPS +wxMM_ISOTROPIC = wxc.wxMM_ISOTROPIC +wxMM_ANISOTROPIC = wxc.wxMM_ANISOTROPIC +wxMM_POINTS = wxc.wxMM_POINTS +wxMM_METRIC = wxc.wxMM_METRIC +wxTIMER_CONTINUOUS = wxc.wxTIMER_CONTINUOUS +wxTIMER_ONE_SHOT = wxc.wxTIMER_ONE_SHOT +wxBORDER_DEFAULT = wxc.wxBORDER_DEFAULT +wxBORDER_NONE = wxc.wxBORDER_NONE +wxBORDER_STATIC = wxc.wxBORDER_STATIC +wxBORDER_SIMPLE = wxc.wxBORDER_SIMPLE +wxBORDER_RAISED = wxc.wxBORDER_RAISED +wxBORDER_SUNKEN = wxc.wxBORDER_SUNKEN +wxBORDER_DOUBLE = wxc.wxBORDER_DOUBLE +wxBORDER_MASK = wxc.wxBORDER_MASK wxDEFAULT = wxc.wxDEFAULT wxDECORATIVE = wxc.wxDECORATIVE wxROMAN = wxc.wxROMAN @@ -533,6 +540,7 @@ WXK_CANCEL = wxc.WXK_CANCEL WXK_MBUTTON = wxc.WXK_MBUTTON WXK_CLEAR = wxc.WXK_CLEAR WXK_SHIFT = wxc.WXK_SHIFT +WXK_ALT = wxc.WXK_ALT WXK_CONTROL = wxc.WXK_CONTROL WXK_MENU = wxc.WXK_MENU WXK_PAUSE = wxc.WXK_PAUSE @@ -595,8 +603,69 @@ WXK_NUMLOCK = wxc.WXK_NUMLOCK WXK_SCROLL = wxc.WXK_SCROLL WXK_PAGEUP = wxc.WXK_PAGEUP WXK_PAGEDOWN = wxc.WXK_PAGEDOWN +WXK_NUMPAD_SPACE = wxc.WXK_NUMPAD_SPACE +WXK_NUMPAD_TAB = wxc.WXK_NUMPAD_TAB +WXK_NUMPAD_ENTER = wxc.WXK_NUMPAD_ENTER +WXK_NUMPAD_F1 = wxc.WXK_NUMPAD_F1 +WXK_NUMPAD_F2 = wxc.WXK_NUMPAD_F2 +WXK_NUMPAD_F3 = wxc.WXK_NUMPAD_F3 +WXK_NUMPAD_F4 = wxc.WXK_NUMPAD_F4 +WXK_NUMPAD_HOME = wxc.WXK_NUMPAD_HOME +WXK_NUMPAD_LEFT = wxc.WXK_NUMPAD_LEFT +WXK_NUMPAD_UP = wxc.WXK_NUMPAD_UP +WXK_NUMPAD_RIGHT = wxc.WXK_NUMPAD_RIGHT +WXK_NUMPAD_DOWN = wxc.WXK_NUMPAD_DOWN +WXK_NUMPAD_PRIOR = wxc.WXK_NUMPAD_PRIOR +WXK_NUMPAD_PAGEUP = wxc.WXK_NUMPAD_PAGEUP +WXK_NUMPAD_NEXT = wxc.WXK_NUMPAD_NEXT +WXK_NUMPAD_PAGEDOWN = wxc.WXK_NUMPAD_PAGEDOWN +WXK_NUMPAD_END = wxc.WXK_NUMPAD_END +WXK_NUMPAD_BEGIN = wxc.WXK_NUMPAD_BEGIN +WXK_NUMPAD_INSERT = wxc.WXK_NUMPAD_INSERT +WXK_NUMPAD_DELETE = wxc.WXK_NUMPAD_DELETE +WXK_NUMPAD_EQUAL = wxc.WXK_NUMPAD_EQUAL +WXK_NUMPAD_MULTIPLY = wxc.WXK_NUMPAD_MULTIPLY +WXK_NUMPAD_ADD = wxc.WXK_NUMPAD_ADD +WXK_NUMPAD_SEPARATOR = wxc.WXK_NUMPAD_SEPARATOR +WXK_NUMPAD_SUBTRACT = wxc.WXK_NUMPAD_SUBTRACT +WXK_NUMPAD_DECIMAL = wxc.WXK_NUMPAD_DECIMAL +WXK_NUMPAD_DIVIDE = wxc.WXK_NUMPAD_DIVIDE +wxBITMAP_TYPE_INVALID = wxc.wxBITMAP_TYPE_INVALID +wxBITMAP_TYPE_BMP = wxc.wxBITMAP_TYPE_BMP +wxBITMAP_TYPE_BMP_RESOURCE = wxc.wxBITMAP_TYPE_BMP_RESOURCE +wxBITMAP_TYPE_RESOURCE = wxc.wxBITMAP_TYPE_RESOURCE +wxBITMAP_TYPE_ICO = wxc.wxBITMAP_TYPE_ICO +wxBITMAP_TYPE_ICO_RESOURCE = wxc.wxBITMAP_TYPE_ICO_RESOURCE +wxBITMAP_TYPE_CUR = wxc.wxBITMAP_TYPE_CUR +wxBITMAP_TYPE_CUR_RESOURCE = wxc.wxBITMAP_TYPE_CUR_RESOURCE +wxBITMAP_TYPE_XBM = wxc.wxBITMAP_TYPE_XBM +wxBITMAP_TYPE_XBM_DATA = wxc.wxBITMAP_TYPE_XBM_DATA +wxBITMAP_TYPE_XPM = wxc.wxBITMAP_TYPE_XPM +wxBITMAP_TYPE_XPM_DATA = wxc.wxBITMAP_TYPE_XPM_DATA +wxBITMAP_TYPE_TIF = wxc.wxBITMAP_TYPE_TIF +wxBITMAP_TYPE_TIF_RESOURCE = wxc.wxBITMAP_TYPE_TIF_RESOURCE +wxBITMAP_TYPE_GIF = wxc.wxBITMAP_TYPE_GIF +wxBITMAP_TYPE_GIF_RESOURCE = wxc.wxBITMAP_TYPE_GIF_RESOURCE +wxBITMAP_TYPE_PNG = wxc.wxBITMAP_TYPE_PNG +wxBITMAP_TYPE_PNG_RESOURCE = wxc.wxBITMAP_TYPE_PNG_RESOURCE +wxBITMAP_TYPE_JPEG = wxc.wxBITMAP_TYPE_JPEG +wxBITMAP_TYPE_JPEG_RESOURCE = wxc.wxBITMAP_TYPE_JPEG_RESOURCE +wxBITMAP_TYPE_PNM = wxc.wxBITMAP_TYPE_PNM +wxBITMAP_TYPE_PNM_RESOURCE = wxc.wxBITMAP_TYPE_PNM_RESOURCE +wxBITMAP_TYPE_PCX = wxc.wxBITMAP_TYPE_PCX +wxBITMAP_TYPE_PCX_RESOURCE = wxc.wxBITMAP_TYPE_PCX_RESOURCE +wxBITMAP_TYPE_PICT = wxc.wxBITMAP_TYPE_PICT +wxBITMAP_TYPE_PICT_RESOURCE = wxc.wxBITMAP_TYPE_PICT_RESOURCE +wxBITMAP_TYPE_ICON = wxc.wxBITMAP_TYPE_ICON +wxBITMAP_TYPE_ICON_RESOURCE = wxc.wxBITMAP_TYPE_ICON_RESOURCE +wxBITMAP_TYPE_ANI = wxc.wxBITMAP_TYPE_ANI +wxBITMAP_TYPE_IFF = wxc.wxBITMAP_TYPE_IFF +wxBITMAP_TYPE_MACCURSOR = wxc.wxBITMAP_TYPE_MACCURSOR +wxBITMAP_TYPE_MACCURSOR_RESOURCE = wxc.wxBITMAP_TYPE_MACCURSOR_RESOURCE +wxBITMAP_TYPE_ANY = wxc.wxBITMAP_TYPE_ANY wxCURSOR_NONE = wxc.wxCURSOR_NONE wxCURSOR_ARROW = wxc.wxCURSOR_ARROW +wxCURSOR_RIGHT_ARROW = wxc.wxCURSOR_RIGHT_ARROW wxCURSOR_BULLSEYE = wxc.wxCURSOR_BULLSEYE wxCURSOR_CHAR = wxc.wxCURSOR_CHAR wxCURSOR_CROSS = wxc.wxCURSOR_CROSS @@ -621,6 +690,9 @@ wxCURSOR_SPRAYCAN = wxc.wxCURSOR_SPRAYCAN wxCURSOR_WAIT = wxc.wxCURSOR_WAIT wxCURSOR_WATCH = wxc.wxCURSOR_WATCH wxCURSOR_BLANK = wxc.wxCURSOR_BLANK +wxCURSOR_DEFAULT = wxc.wxCURSOR_DEFAULT +wxCURSOR_ARROWWAIT = wxc.wxCURSOR_ARROWWAIT +wxCURSOR_MAX = wxc.wxCURSOR_MAX wxPAPER_NONE = wxc.wxPAPER_NONE wxPAPER_LETTER = wxc.wxPAPER_LETTER wxPAPER_LEGAL = wxc.wxPAPER_LEGAL @@ -691,11 +763,31 @@ wxPAPER_A3_EXTRA_TRANSVERSE = wxc.wxPAPER_A3_EXTRA_TRANSVERSE wxDUPLEX_SIMPLEX = wxc.wxDUPLEX_SIMPLEX wxDUPLEX_HORIZONTAL = wxc.wxDUPLEX_HORIZONTAL wxDUPLEX_VERTICAL = wxc.wxDUPLEX_VERTICAL +wxITEM_SEPARATOR = wxc.wxITEM_SEPARATOR +wxITEM_NORMAL = wxc.wxITEM_NORMAL +wxITEM_CHECK = wxc.wxITEM_CHECK +wxITEM_RADIO = wxc.wxITEM_RADIO +wxITEM_MAX = wxc.wxITEM_MAX +wxHT_NOWHERE = wxc.wxHT_NOWHERE +wxHT_SCROLLBAR_FIRST = wxc.wxHT_SCROLLBAR_FIRST +wxHT_SCROLLBAR_ARROW_LINE_1 = wxc.wxHT_SCROLLBAR_ARROW_LINE_1 +wxHT_SCROLLBAR_ARROW_LINE_2 = wxc.wxHT_SCROLLBAR_ARROW_LINE_2 +wxHT_SCROLLBAR_ARROW_PAGE_1 = wxc.wxHT_SCROLLBAR_ARROW_PAGE_1 +wxHT_SCROLLBAR_ARROW_PAGE_2 = wxc.wxHT_SCROLLBAR_ARROW_PAGE_2 +wxHT_SCROLLBAR_THUMB = wxc.wxHT_SCROLLBAR_THUMB +wxHT_SCROLLBAR_BAR_1 = wxc.wxHT_SCROLLBAR_BAR_1 +wxHT_SCROLLBAR_BAR_2 = wxc.wxHT_SCROLLBAR_BAR_2 +wxHT_SCROLLBAR_LAST = wxc.wxHT_SCROLLBAR_LAST +wxHT_WINDOW_OUTSIDE = wxc.wxHT_WINDOW_OUTSIDE +wxHT_WINDOW_INSIDE = wxc.wxHT_WINDOW_INSIDE +wxHT_WINDOW_VERT_SCROLLBAR = wxc.wxHT_WINDOW_VERT_SCROLLBAR +wxHT_WINDOW_HORZ_SCROLLBAR = wxc.wxHT_WINDOW_HORZ_SCROLLBAR +wxHT_WINDOW_CORNER = wxc.wxHT_WINDOW_CORNER +wxHT_MAX = wxc.wxHT_MAX FALSE = wxc.FALSE false = wxc.false TRUE = wxc.TRUE true = wxc.true -wxVERSION_STRING = wxc.wxVERSION_STRING wxEVT_NULL = wxc.wxEVT_NULL wxEVT_FIRST = wxc.wxEVT_FIRST wxEVT_COMMAND_BUTTON_CLICKED = wxc.wxEVT_COMMAND_BUTTON_CLICKED @@ -707,6 +799,8 @@ wxEVT_COMMAND_CHECKLISTBOX_TOGGLED = wxc.wxEVT_COMMAND_CHECKLISTBOX_TOGGLED wxEVT_COMMAND_SPINCTRL_UPDATED = wxc.wxEVT_COMMAND_SPINCTRL_UPDATED wxEVT_COMMAND_TEXT_UPDATED = wxc.wxEVT_COMMAND_TEXT_UPDATED wxEVT_COMMAND_TEXT_ENTER = wxc.wxEVT_COMMAND_TEXT_ENTER +wxEVT_COMMAND_TEXT_URL = wxc.wxEVT_COMMAND_TEXT_URL +wxEVT_COMMAND_TEXT_MAXLEN = wxc.wxEVT_COMMAND_TEXT_MAXLEN wxEVT_COMMAND_MENU_SELECTED = wxc.wxEVT_COMMAND_MENU_SELECTED wxEVT_COMMAND_SLIDER_UPDATED = wxc.wxEVT_COMMAND_SLIDER_UPDATED wxEVT_COMMAND_RADIOBOX_SELECTED = wxc.wxEVT_COMMAND_RADIOBOX_SELECTED @@ -719,6 +813,8 @@ wxEVT_COMMAND_TOOL_RCLICKED = wxc.wxEVT_COMMAND_TOOL_RCLICKED wxEVT_COMMAND_TOOL_ENTER = wxc.wxEVT_COMMAND_TOOL_ENTER wxEVT_SET_FOCUS = wxc.wxEVT_SET_FOCUS wxEVT_KILL_FOCUS = wxc.wxEVT_KILL_FOCUS +wxEVT_CHILD_FOCUS = wxc.wxEVT_CHILD_FOCUS +wxEVT_MOUSEWHEEL = wxc.wxEVT_MOUSEWHEEL wxEVT_LEFT_DOWN = wxc.wxEVT_LEFT_DOWN wxEVT_LEFT_UP = wxc.wxEVT_LEFT_UP wxEVT_MIDDLE_DOWN = wxc.wxEVT_MIDDLE_DOWN @@ -731,6 +827,7 @@ wxEVT_LEAVE_WINDOW = wxc.wxEVT_LEAVE_WINDOW wxEVT_LEFT_DCLICK = wxc.wxEVT_LEFT_DCLICK wxEVT_MIDDLE_DCLICK = wxc.wxEVT_MIDDLE_DCLICK wxEVT_RIGHT_DCLICK = wxc.wxEVT_RIGHT_DCLICK +wxEVT_MOUSE_CAPTURE_CHANGED = wxc.wxEVT_MOUSE_CAPTURE_CHANGED wxEVT_NC_LEFT_DOWN = wxc.wxEVT_NC_LEFT_DOWN wxEVT_NC_LEFT_UP = wxc.wxEVT_NC_LEFT_UP wxEVT_NC_MIDDLE_DOWN = wxc.wxEVT_NC_MIDDLE_DOWN @@ -743,6 +840,7 @@ wxEVT_NC_LEAVE_WINDOW = wxc.wxEVT_NC_LEAVE_WINDOW 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_SET_CURSOR = wxc.wxEVT_SET_CURSOR wxEVT_CHAR = wxc.wxEVT_CHAR wxEVT_KEY_DOWN = wxc.wxEVT_KEY_DOWN wxEVT_KEY_UP = wxc.wxEVT_KEY_UP @@ -776,17 +874,16 @@ wxEVT_DESTROY = wxc.wxEVT_DESTROY wxEVT_SHOW = wxc.wxEVT_SHOW wxEVT_ICONIZE = wxc.wxEVT_ICONIZE wxEVT_MAXIMIZE = wxc.wxEVT_MAXIMIZE -wxEVT_MOUSE_CAPTURE_CHANGED = wxc.wxEVT_MOUSE_CAPTURE_CHANGED wxEVT_PAINT = wxc.wxEVT_PAINT wxEVT_ERASE_BACKGROUND = wxc.wxEVT_ERASE_BACKGROUND wxEVT_NC_PAINT = wxc.wxEVT_NC_PAINT wxEVT_PAINT_ICON = wxc.wxEVT_PAINT_ICON -wxEVT_MENU_CHAR = wxc.wxEVT_MENU_CHAR -wxEVT_MENU_INIT = wxc.wxEVT_MENU_INIT +wxEVT_MENU_OPEN = wxc.wxEVT_MENU_OPEN +wxEVT_MENU_CLOSE = wxc.wxEVT_MENU_CLOSE wxEVT_MENU_HIGHLIGHT = wxc.wxEVT_MENU_HIGHLIGHT -wxEVT_POPUP_MENU_INIT = wxc.wxEVT_POPUP_MENU_INIT wxEVT_CONTEXT_MENU = wxc.wxEVT_CONTEXT_MENU wxEVT_SYS_COLOUR_CHANGED = wxc.wxEVT_SYS_COLOUR_CHANGED +wxEVT_DISPLAY_CHANGED = wxc.wxEVT_DISPLAY_CHANGED wxEVT_SETTING_CHANGED = wxc.wxEVT_SETTING_CHANGED wxEVT_QUERY_NEW_PALETTE = wxc.wxEVT_QUERY_NEW_PALETTE wxEVT_PALETTE_CHANGED = wxc.wxEVT_PALETTE_CHANGED @@ -810,7 +907,6 @@ wxEVT_COMMAND_KILL_FOCUS = wxc.wxEVT_COMMAND_KILL_FOCUS wxEVT_COMMAND_ENTER = wxc.wxEVT_COMMAND_ENTER wxEVT_NAVIGATION_KEY = wxc.wxEVT_NAVIGATION_KEY wxEVT_TIMER = wxc.wxEVT_TIMER -wxWS_EX_VALIDATE_RECURSIVELY = wxc.wxWS_EX_VALIDATE_RECURSIVELY __version__ = wxc.__version__ cvar = wxc.cvar wxDefaultPosition = wxPointPtr(wxc.cvar.wxDefaultPosition) @@ -827,7 +923,6 @@ wxDefaultSize = wxSizePtr(wxc.cvar.wxDefaultSize) # Author: Robin Dunn # # Created: 6/30/97 -# RCS-ID: $Id$ # Copyright: (c) 1998 by Total Control Software # Licence: wxWindows license #---------------------------------------------------------------------------- @@ -884,6 +979,12 @@ def EVT_KEY_DOWN(win, func): def EVT_KEY_UP(win, func): win.Connect(-1, -1, wxEVT_KEY_UP, func) +def EVT_MENU_OPEN(win, func): + win.Connect(-1, -1, wxEVT_MENU_OPEN, func) + +def EVT_MENU_CLOSE(win, func): + win.Connect(-1, -1, wxEVT_MENU_CLOSE, func) + def EVT_MENU_HIGHLIGHT(win, id, func): win.Connect(id, -1, wxEVT_MENU_HIGHLIGHT, func) @@ -896,6 +997,9 @@ def EVT_SET_FOCUS(win, func): def EVT_KILL_FOCUS(win, func): win.Connect(-1, -1, wxEVT_KILL_FOCUS, func) +def EVT_CHILD_FOCUS(win, func): + win.Connect(-1, -1, wxEVT_CHILD_FOCUS, func) + def EVT_ACTIVATE(win, func): win.Connect(-1, -1, wxEVT_ACTIVATE, func) @@ -917,6 +1021,9 @@ def EVT_INIT_DIALOG(win, func): def EVT_SYS_COLOUR_CHANGED(win, func): win.Connect(-1, -1, wxEVT_SYS_COLOUR_CHANGED, func) +def EVT_DISPLAY_CHANGED(win, func): + win.Connect(-1, -1, wxEVT_DISPLAY_CHANGED, func) + def EVT_SHOW(win, func): win.Connect(-1, -1, wxEVT_SHOW, func) @@ -941,6 +1048,9 @@ def EVT_WINDOW_CREATE(win, func): def EVT_WINDOW_DESTROY(win, func): win.Connect(-1, -1, wxEVT_DESTROY, func) +def EVT_SET_CURSOR(win, func): + win.Connect(-1, -1, wxEVT_SET_CURSOR, func) + def EVT_IDLE(win, func): @@ -990,6 +1100,8 @@ def EVT_LEAVE_WINDOW(win, func): def EVT_ENTER_WINDOW(win, func): win.Connect(-1, -1, wxEVT_ENTER_WINDOW, func) +def EVT_MOUSEWHEEL(win, func): + win.Connect(-1, -1, wxEVT_MOUSEWHEEL, func) # all mouse events def EVT_MOUSE_EVENTS(win, func): @@ -1006,6 +1118,9 @@ def EVT_MOUSE_EVENTS(win, func): win.Connect(-1, -1, wxEVT_LEAVE_WINDOW, func) win.Connect(-1, -1, wxEVT_ENTER_WINDOW, func) +def EVT_MOUSE_CAPTURE_CHANGED(win, func): + win.Connect(-1, -1, wxEVT_MOUSE_CAPTURE_CHANGED, func) + # EVT_COMMAND def EVT_COMMAND(win, id, cmd, func): win.Connect(id, -1, cmd, func) @@ -1181,6 +1296,12 @@ def EVT_TEXT(win, id, func): def EVT_TEXT_ENTER(win, id, func): win.Connect(id, -1, wxEVT_COMMAND_TEXT_ENTER, func) +def EVT_TEXT_URL(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_TEXT_URL, func) + +def EVT_TEXT_MAXLEN(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_TEXT_MAXLEN, func) + def EVT_MENU(win, id, func): win.Connect(id, -1, wxEVT_COMMAND_MENU_SELECTED, func) @@ -1257,59 +1378,6 @@ def EVT_NOTEBOOK_PAGE_CHANGING(win, id, func): win.Connect(id, -1, wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, func) -# wxTreeCtrl events -def EVT_TREE_BEGIN_DRAG(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_TREE_BEGIN_DRAG, func) - -def EVT_TREE_BEGIN_RDRAG(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_TREE_BEGIN_RDRAG, func) - -def EVT_TREE_BEGIN_LABEL_EDIT(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT, func) - -def EVT_TREE_END_LABEL_EDIT(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_TREE_END_LABEL_EDIT, func) - -def EVT_TREE_GET_INFO(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_TREE_GET_INFO, func) - -def EVT_TREE_SET_INFO(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_TREE_SET_INFO, func) - -def EVT_TREE_ITEM_EXPANDED(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_TREE_ITEM_EXPANDED, func) - -def EVT_TREE_ITEM_EXPANDING(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_TREE_ITEM_EXPANDING, func) - -def EVT_TREE_ITEM_COLLAPSED(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_TREE_ITEM_COLLAPSED, func) - -def EVT_TREE_ITEM_COLLAPSING(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_TREE_ITEM_COLLAPSING, func) - -def EVT_TREE_SEL_CHANGED(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_TREE_SEL_CHANGED, func) - -def EVT_TREE_SEL_CHANGING(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_TREE_SEL_CHANGING, func) - -def EVT_TREE_KEY_DOWN(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_TREE_KEY_DOWN, func) - -def EVT_TREE_DELETE_ITEM(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_TREE_DELETE_ITEM, func) - -def EVT_TREE_ITEM_ACTIVATED(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_TREE_ITEM_ACTIVATED, func) - -def EVT_TREE_ITEM_RIGHT_CLICK(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_TREE_ITEM_RIGHT_CLICK, func) - -def EVT_TREE_ITEM_MIDDLE_CLICK(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_TREE_ITEM_MIDDLE_CLICK, func) - - # wxSpinButton def EVT_SPIN_UP(win, id, func): win.Connect(id, -1, wxEVT_SCROLL_LINEUP, func) @@ -1321,8 +1389,6 @@ def EVT_SPIN(win, id, func): win.Connect(id, -1, wxEVT_SCROLL_THUMBTRACK,func) - - # wxTaskBarIcon def EVT_TASKBAR_MOVE(win, func): win.Connect(-1, -1, wxEVT_TASKBAR_MOVE, func) @@ -1360,58 +1426,6 @@ def EVT_CALCULATE_LAYOUT(win, func): win.Connect(-1, -1, wxEVT_EVT_CALCULATE_LAYOUT, func) -# wxListCtrl -def EVT_LIST_BEGIN_DRAG(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_LIST_BEGIN_DRAG, func) - -def EVT_LIST_BEGIN_RDRAG(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_LIST_BEGIN_RDRAG, func) - -def EVT_LIST_BEGIN_LABEL_EDIT(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT, func) - -def EVT_LIST_END_LABEL_EDIT(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_LIST_END_LABEL_EDIT, func) - -def EVT_LIST_DELETE_ITEM(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_LIST_DELETE_ITEM, func) - -def EVT_LIST_DELETE_ALL_ITEMS(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS, func) - -def EVT_LIST_GET_INFO(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_LIST_GET_INFO, func) - -def EVT_LIST_SET_INFO(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_LIST_SET_INFO, func) - -def EVT_LIST_ITEM_SELECTED(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_LIST_ITEM_SELECTED, func) - -def EVT_LIST_ITEM_DESELECTED(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_LIST_ITEM_DESELECTED, func) - -def EVT_LIST_KEY_DOWN(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_LIST_KEY_DOWN, func) - -def EVT_LIST_INSERT_ITEM(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_LIST_INSERT_ITEM, func) - -def EVT_LIST_COL_CLICK(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_LIST_COL_CLICK, func) - -def EVT_LIST_ITEM_RIGHT_CLICK(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK, func) - -def EVT_LIST_ITEM_MIDDLE_CLICK(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK, func) - -def EVT_LIST_ITEM_ACTIVATED(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_LIST_ITEM_ACTIVATED, func) - - - - #wxSplitterWindow def EVT_SPLITTER_SASH_POS_CHANGING(win, id, func): win.Connect(id, -1, wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGING, func) @@ -1437,10 +1451,10 @@ def EVT_END_PROCESS(eh, id, func): # wxJoyStick def EVT_JOY_DOWN(win, func): - win.Connect(-1, -1, wxEVT_JOY_DOWN, func) + win.Connect(-1, -1, wxEVT_JOY_BUTTON_DOWN, func) def EVT_JOY_UP(win, func): - win.Connect(-1, -1, wxEVT_JOY_UP, func) + win.Connect(-1, -1, wxEVT_JOY_BUTTON_UP, func) def EVT_JOY_MOVE(win, func): win.Connect(-1, -1, wxEVT_JOY_MOVE, func) @@ -1449,11 +1463,21 @@ def EVT_JOY_ZMOVE(win, func): win.Connect(-1, -1, wxEVT_JOY_ZMOVE, func) def EVT_JOYSTICK_EVENTS(win, func): - win.Connect(-1, -1, wxEVT_JOY_DOWN, func) - win.Connect(-1, -1, wxEVT_JOY_UP, func) + win.Connect(-1, -1, wxEVT_JOY_BUTTON_DOWN, func) + win.Connect(-1, -1, wxEVT_JOY_BUTTON_UP, func) win.Connect(-1, -1, wxEVT_JOY_MOVE, func) win.Connect(-1, -1, wxEVT_JOY_ZMOVE, func) + +def EVT_TOGGLEBUTTON(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, func) + + + +def EVT_CONTEXT_MENU(win, func): + win.Connect(-1, -1, wxEVT_CONTEXT_MENU, func) + + #---------------------------------------------------------------------- class wxTimer(wxPyTimer): @@ -1465,31 +1489,47 @@ class wxTimer(wxPyTimer): wxPyTimer.__init__(self, None) self.SetOwner(evtHandler, id) -#---------------------------------------------------------------------- -# Some wxWin methods can take "NULL" as parameters, but the shadow classes -# expect an object with the SWIG pointer as a 'this' member. This class -# and instance fools the shadow into passing the NULL pointer. - -## NOTE: This is not needed anymore as None can be passed instead and -# will be interpreted as NULL. - -class _NullObj: - this = 'NULL' # SWIG converts this to (void*)0 - -NULL = _NullObj() - - #---------------------------------------------------------------------- # aliases wxColor = wxColour wxNamedColor = wxNamedColour +wxPen = wxPyPen +wxScrollbar = wxScrollBar # backwards compatibility wxNoRefBitmap = wxBitmap wxPyDefaultPosition = wxDefaultPosition wxPyDefaultSize = wxDefaultSize +NULL = None +wxSystemSettings_GetSystemColour = wxSystemSettings_GetColour +wxSystemSettings_GetSystemFont = wxSystemSettings_GetFont +wxSystemSettings_GetSystemMetric = wxSystemSettings_GetMetric + +#---------------------------------------------------------------------- +# wxGTK sets the locale when initialized. Doing this at the Python +# level should set it up to match what GTK is doing at the C level. +if wxPlatform == "__WXGTK__": + try: + import locale + locale.setlocale(locale.LC_ALL, "") + except: + pass + + + +#---------------------------------------------------------------------- +# wxWindows version numbers. wxPython version is in __version__. + +wxMAJOR_VERSION = wxc.wxMAJOR_VERSION +wxMINOR_VERSION = wxc.wxMINOR_VERSION +wxRELEASE_NUMBER = wxc.wxRELEASE_NUMBER +wxVERSION_STRING = wxc.wxVERSION_STRING +wxVERSION_NUMBER = wxc.wxVERSION_NUMBER + +wxVERSION = (wxMAJOR_VERSION, wxMINOR_VERSION, wxRELEASE_NUMBER) + #---------------------------------------------------------------------- # This helper function will take a wxPython object and convert it to @@ -1515,17 +1555,72 @@ wxPyDefaultSize = wxDefaultSize def wxPyTypeCast(obj, typeStr): if obj is None: return None + theClass = globals()[typeStr+"Ptr"] + typeStr = __wxPyPtrTypeMap.get(typeStr, typeStr) if hasattr(obj, "this"): + # if already the right type then just return it + if isinstance(obj, theClass) or obj.__class__ is theClass: + return obj newPtr = ptrcast(obj.this, typeStr+"_p") else: newPtr = ptrcast(obj, typeStr+"_p") - theClass = globals()[typeStr+"Ptr"] theObj = theClass(newPtr) if hasattr(obj, "this"): theObj.thisown = obj.thisown return theObj +#---------------------------------------------------------------------------- +_wxCallAfterId = None + +def wxCallAfter(callable, *args, **kw): + """ + Call the specified function after the current and pending event + handlers have been completed. + """ + app = wxGetApp() + assert app, 'No wxApp created yet' + + global _wxCallAfterId + if _wxCallAfterId is None: + _wxCallAfterId = wxNewId() + app.Connect(-1, -1, _wxCallAfterId, + lambda event: apply(event.callable, event.args, event.kw) ) + evt = wxPyEvent() + evt.SetEventType(_wxCallAfterId) + evt.callable = callable + evt.args = args + evt.kw = kw + wxPostEvent(app, evt) + +#---------------------------------------------------------------------- + +class wxPyDeadObjectError(AttributeError): + pass + +class _wxPyDeadObject: + """ + Instances of wx objects that are OOR capable will have their __class__ + changed to this class when the C++ object is deleted. This should help + prevent crashes due to referencing a bogus C++ pointer. + """ + reprStr = "wxPython wrapper for DELETED %s object! (The C++ object no longer exists.)" + attrStr = "The C++ part of the %s object has been deleted, attribute access no longer allowed." + + def __repr__( self ): + if not hasattr(self, "_name"): + self._name = "[unknown]" + return self.reprStr % self._name + + def __getattr__( self, *args ): + if not hasattr(self, "_name"): + self._name = "[unknown]" + raise wxPyDeadObjectError( self.attrStr % self._name ) + + def __nonzero__(self): + return 0 + + #---------------------------------------------------------------------- #---------------------------------------------------------------------- @@ -1548,11 +1643,12 @@ class wxPyOnDemandOutputWindow: def write(self, str): if not wxThread_IsMain(): # Aquire the GUI mutex before making GUI calls. Mutex is released - # when locker is deleted a the end of this function. + # when locker is deleted at the end of this function. locker = wxMutexGuiLocker() if not self.frame: - self.frame = wxFrame(self.parent, -1, self.title) + self.frame = wxFrame(self.parent, -1, self.title, + style=wxDEFAULT_FRAME_STYLE|wxNO_FULL_REPAINT_ON_RESIZE) self.text = wxTextCtrl(self.frame, -1, "", style = wxTE_MULTILINE|wxTE_READONLY) self.frame.SetSize(wxSize(450, 300)) @@ -1567,7 +1663,7 @@ class wxPyOnDemandOutputWindow: self.frame.Close() -_defRedirect = (wxPlatform == '__WXMSW__') +_defRedirect = (wxPlatform == '__WXMSW__' or wxPlatform == '__WXMAC__') #---------------------------------------------------------------------- # The main application class. Derive from this and implement an OnInit @@ -1641,10 +1737,10 @@ class wxPyWidgetTester(wxApp): self.frame.Show(true) #---------------------------------------------------------------------------- -# DO NOT hold any other references to this object. This is how we know when -# to cleanup system resources that wxWin is holding. When this module is -# unloaded, the refcount on __cleanMeUp goes to zero and it calls the -# wxApp_CleanUp function. +# DO NOT hold any other references to this object. This is how we +# know when to cleanup system resources that wxWin is holding. When +# the sys module is unloaded, the refcount on sys.__wxPythonCleanup +# goes to zero and it calls the wxApp_CleanUp function. class __wxPyCleanup: def __init__(self): @@ -1652,5 +1748,15 @@ class __wxPyCleanup: def __del__(self): self.cleanup() -__cleanMeUp = __wxPyCleanup() +sys.__wxPythonCleanup = __wxPyCleanup() + +## # another possible solution, but it gets called too early... +## if sys.version[0] == '2': +## import atexit +## atexit.register(wxc.wxApp_CleanUp) +## else: +## sys.exitfunc = wxc.wxApp_CleanUp + + +#---------------------------------------------------------------------------- #----------------------------------------------------------------------------