X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c368d904fc27d35ae1e533155e2154dc496432e4..5fa4613c81c918b98da6cecfe332d0fbcee56319:/wxPython/src/msw/wx.py diff --git a/wxPython/src/msw/wx.py b/wxPython/src/msw/wx.py index be3ac2ec4f..9d3d2d20ee 100644 --- a/wxPython/src/msw/wx.py +++ b/wxPython/src/msw/wx.py @@ -15,6 +15,8 @@ from events import * from streams import * +from utils import * + from mdi import * from frames import * @@ -38,8 +40,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 +64,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) @@ -174,12 +173,14 @@ wxRAISED_BORDER = wxc.wxRAISED_BORDER wxBORDER = wxc.wxBORDER wxSIMPLE_BORDER = wxc.wxSIMPLE_BORDER wxSTATIC_BORDER = wxc.wxSTATIC_BORDER +wxBORDER_MASK = wxc.wxBORDER_MASK wxTRANSPARENT_WINDOW = wxc.wxTRANSPARENT_WINDOW wxNO_BORDER = wxc.wxNO_BORDER 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,17 +201,20 @@ 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 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 @@ -231,6 +235,7 @@ wxALIGN_TOP = wxc.wxALIGN_TOP wxALIGN_CENTER = wxc.wxALIGN_CENTER wxALIGN_CENTRE = wxc.wxALIGN_CENTRE wxSHAPED = wxc.wxSHAPED +wxADJUST_MINSIZE = wxc.wxADJUST_MINSIZE wxLB_NEEDED_SB = wxc.wxLB_NEEDED_SB wxLB_ALWAYS_SB = wxc.wxLB_ALWAYS_SB wxLB_SORT = wxc.wxLB_SORT @@ -249,6 +254,8 @@ wxTE_RICH = wxc.wxTE_RICH wxTE_MULTILINE = wxc.wxTE_MULTILINE wxTE_AUTO_SCROLL = wxc.wxTE_AUTO_SCROLL wxTE_NO_VSCROLL = wxc.wxTE_NO_VSCROLL +wxTE_AUTO_URL = wxc.wxTE_AUTO_URL +wxTE_NOHIDESEL = wxc.wxTE_NOHIDESEL wxCB_SIMPLE = wxc.wxCB_SIMPLE wxCB_DROPDOWN = wxc.wxCB_DROPDOWN wxCB_SORT = wxc.wxCB_SORT @@ -278,35 +285,15 @@ 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 wxSP_VERTICAL = wxc.wxSP_VERTICAL wxSP_HORIZONTAL = wxc.wxSP_HORIZONTAL wxSP_ARROW_KEYS = wxc.wxSP_ARROW_KEYS wxSP_WRAP = wxc.wxSP_WRAP wxSP_NOBORDER = wxc.wxSP_NOBORDER wxSP_3D = wxc.wxSP_3D +wxSP_3DSASH = wxc.wxSP_3DSASH +wxSP_3DBORDER = wxc.wxSP_3DBORDER +wxSP_FULLSASH = wxc.wxSP_FULLSASH wxSP_BORDER = wxc.wxSP_BORDER wxSP_LIVE_UPDATE = wxc.wxSP_LIVE_UPDATE wxSP_PERMIT_UNSPLIT = wxc.wxSP_PERMIT_UNSPLIT @@ -376,6 +363,8 @@ 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 @@ -392,32 +381,17 @@ 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_SETUP = wxc.wxID_SETUP +wxID_MORE = wxc.wxID_MORE wxOPEN = wxc.wxOPEN wxSAVE = wxc.wxSAVE wxHIDE_READONLY = wxc.wxHIDE_READONLY wxOVERWRITE_PROMPT = wxc.wxOVERWRITE_PROMPT wxFILE_MUST_EXIST = wxc.wxFILE_MUST_EXIST wxMULTIPLE = wxc.wxMULTIPLE +wxCHANGE_DIR = wxc.wxCHANGE_DIR wxACCEL_ALT = wxc.wxACCEL_ALT wxACCEL_CTRL = wxc.wxACCEL_CTRL wxACCEL_SHIFT = wxc.wxACCEL_SHIFT @@ -450,10 +424,30 @@ 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 +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 +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 wxDEFAULT = wxc.wxDEFAULT wxDECORATIVE = wxc.wxDECORATIVE wxROMAN = wxc.wxROMAN @@ -517,6 +511,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 @@ -579,6 +574,64 @@ 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_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_BULLSEYE = wxc.wxCURSOR_BULLSEYE @@ -605,6 +658,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,6 +747,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 @@ -703,6 +761,7 @@ 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_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 @@ -769,7 +828,6 @@ wxEVT_MENU_CHAR = wxc.wxEVT_MENU_CHAR wxEVT_MENU_INIT = wxc.wxEVT_MENU_INIT 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_SETTING_CHANGED = wxc.wxEVT_SETTING_CHANGED wxEVT_QUERY_NEW_PALETTE = wxc.wxEVT_QUERY_NEW_PALETTE @@ -792,54 +850,12 @@ wxEVT_COMMAND_RIGHT_DCLICK = wxc.wxEVT_COMMAND_RIGHT_DCLICK wxEVT_COMMAND_SET_FOCUS = wxc.wxEVT_COMMAND_SET_FOCUS wxEVT_COMMAND_KILL_FOCUS = wxc.wxEVT_COMMAND_KILL_FOCUS wxEVT_COMMAND_ENTER = wxc.wxEVT_COMMAND_ENTER -wxEVT_COMMAND_TREE_BEGIN_DRAG = wxc.wxEVT_COMMAND_TREE_BEGIN_DRAG -wxEVT_COMMAND_TREE_BEGIN_RDRAG = wxc.wxEVT_COMMAND_TREE_BEGIN_RDRAG -wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT = wxc.wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT -wxEVT_COMMAND_TREE_END_LABEL_EDIT = wxc.wxEVT_COMMAND_TREE_END_LABEL_EDIT -wxEVT_COMMAND_TREE_DELETE_ITEM = wxc.wxEVT_COMMAND_TREE_DELETE_ITEM -wxEVT_COMMAND_TREE_GET_INFO = wxc.wxEVT_COMMAND_TREE_GET_INFO -wxEVT_COMMAND_TREE_SET_INFO = wxc.wxEVT_COMMAND_TREE_SET_INFO -wxEVT_COMMAND_TREE_ITEM_EXPANDED = wxc.wxEVT_COMMAND_TREE_ITEM_EXPANDED -wxEVT_COMMAND_TREE_ITEM_EXPANDING = wxc.wxEVT_COMMAND_TREE_ITEM_EXPANDING -wxEVT_COMMAND_TREE_ITEM_COLLAPSED = wxc.wxEVT_COMMAND_TREE_ITEM_COLLAPSED -wxEVT_COMMAND_TREE_ITEM_COLLAPSING = wxc.wxEVT_COMMAND_TREE_ITEM_COLLAPSING -wxEVT_COMMAND_TREE_SEL_CHANGED = wxc.wxEVT_COMMAND_TREE_SEL_CHANGED -wxEVT_COMMAND_TREE_SEL_CHANGING = wxc.wxEVT_COMMAND_TREE_SEL_CHANGING -wxEVT_COMMAND_TREE_KEY_DOWN = wxc.wxEVT_COMMAND_TREE_KEY_DOWN -wxEVT_COMMAND_TREE_ITEM_ACTIVATED = wxc.wxEVT_COMMAND_TREE_ITEM_ACTIVATED -wxEVT_COMMAND_TREE_ITEM_RIGHT_CLICK = wxc.wxEVT_COMMAND_TREE_ITEM_RIGHT_CLICK -wxEVT_COMMAND_TREE_ITEM_MIDDLE_CLICK = wxc.wxEVT_COMMAND_TREE_ITEM_MIDDLE_CLICK -wxEVT_COMMAND_LIST_BEGIN_DRAG = wxc.wxEVT_COMMAND_LIST_BEGIN_DRAG -wxEVT_COMMAND_LIST_BEGIN_RDRAG = wxc.wxEVT_COMMAND_LIST_BEGIN_RDRAG -wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT = wxc.wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT -wxEVT_COMMAND_LIST_END_LABEL_EDIT = wxc.wxEVT_COMMAND_LIST_END_LABEL_EDIT -wxEVT_COMMAND_LIST_DELETE_ITEM = wxc.wxEVT_COMMAND_LIST_DELETE_ITEM -wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS = wxc.wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS -wxEVT_COMMAND_LIST_GET_INFO = wxc.wxEVT_COMMAND_LIST_GET_INFO -wxEVT_COMMAND_LIST_SET_INFO = wxc.wxEVT_COMMAND_LIST_SET_INFO -wxEVT_COMMAND_LIST_ITEM_SELECTED = wxc.wxEVT_COMMAND_LIST_ITEM_SELECTED -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_LIST_ITEM_RIGHT_CLICK = wxc.wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK -wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK = wxc.wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK -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 wxEVT_NAVIGATION_KEY = wxc.wxEVT_NAVIGATION_KEY wxEVT_TIMER = wxc.wxEVT_TIMER -wxEVT_END_PROCESS = wxc.wxEVT_END_PROCESS __version__ = wxc.__version__ cvar = wxc.cvar -wxPyDefaultPosition = wxPointPtr(wxc.cvar.wxPyDefaultPosition) -wxPyDefaultSize = wxSizePtr(wxc.cvar.wxPyDefaultSize) +wxDefaultPosition = wxPointPtr(wxc.cvar.wxDefaultPosition) +wxDefaultSize = wxSizePtr(wxc.cvar.wxDefaultSize) #-------------- USER INCLUDE ----------------------- @@ -875,38 +891,6 @@ def _checkForCallback(obj, name, event, theID=-1): except: pass else: obj.Connect(theID, -1, event, 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, "OnPaint", wxEVT_PAINT) -## _checkForCallback(win, "OnIdle", wxEVT_IDLE) - - -## def _StdFrameCallbacks(win): -## _StdWindowCallbacks(win) -## _checkForCallback(win, "OnActivate", wxEVT_ACTIVATE) -## _checkForCallback(win, "OnMenuHighlight", wxEVT_MENU_HIGHLIGHT) -## _checkForCallback(win, "OnCloseWindow", wxEVT_CLOSE_WINDOW) - - -## def _StdDialogCallbacks(win): -## _StdWindowCallbacks(win) -## _checkForCallback(win, "OnOk", wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK) -## _checkForCallback(win, "OnApply", wxEVT_COMMAND_BUTTON_CLICKED, wxID_APPLY) -## _checkForCallback(win, "OnCancel", wxEVT_COMMAND_BUTTON_CLICKED, wxID_CANCEL) -## _checkForCallback(win, "OnCloseWindow", wxEVT_CLOSE_WINDOW) -## _checkForCallback(win, "OnCharHook", wxEVT_CHAR_HOOK) - - -## def _StdOnScrollCallbacks(win): -## try: cb = getattr(win, "OnScroll") -## except: pass -## else: EVT_SCROLL(win, cb) - - #---------------------------------------------------------------------- #---------------------------------------------------------------------- @@ -1047,6 +1031,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): @@ -1238,6 +1224,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) @@ -1314,59 +1306,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) @@ -1378,8 +1317,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) @@ -1403,35 +1340,6 @@ def EVT_TASKBAR_RIGHT_DCLICK(win, func): win.Connect(-1, -1, wxEVT_TASKBAR_RIGHT_DCLICK, func) -## # wxGrid *** THE OLD ONE *** -## def EVT_GRID_SELECT_CELL(win, fn): -## win.Connect(-1, -1, wxEVT_GRID_SELECT_CELL, fn) - -## def EVT_GRID_CREATE_CELL(win, fn): -## win.Connect(-1, -1, wxEVT_GRID_CREATE_CELL, fn) - -## def EVT_GRID_CHANGE_LABELS(win, fn): -## win.Connect(-1, -1, wxEVT_GRID_CHANGE_LABELS, fn) - -## def EVT_GRID_CHANGE_SEL_LABEL(win, fn): -## win.Connect(-1, -1, wxEVT_GRID_CHANGE_SEL_LABEL, fn) - -## def EVT_GRID_CELL_CHANGE(win, fn): -## win.Connect(-1, -1, wxEVT_GRID_CELL_CHANGE, fn) - -## def EVT_GRID_CELL_LCLICK(win, fn): -## win.Connect(-1, -1, wxEVT_GRID_CELL_LCLICK, fn) - -## def EVT_GRID_CELL_RCLICK(win, fn): -## win.Connect(-1, -1, wxEVT_GRID_CELL_RCLICK, fn) - -## def EVT_GRID_LABEL_LCLICK(win, fn): -## win.Connect(-1, -1, wxEVT_GRID_LABEL_LCLICK, fn) - -## def EVT_GRID_LABEL_RCLICK(win, fn): -## win.Connect(-1, -1, wxEVT_GRID_LABEL_RCLICK, fn) - - # wxSashWindow def EVT_SASH_DRAGGED(win, id, func): win.Connect(id, -1, wxEVT_SASH_DRAGGED, func) @@ -1446,96 +1354,86 @@ 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) +#wxSplitterWindow +def EVT_SPLITTER_SASH_POS_CHANGING(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGING, func) -def EVT_LIST_END_LABEL_EDIT(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_LIST_END_LABEL_EDIT, func) +def EVT_SPLITTER_SASH_POS_CHANGED(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED, func) -def EVT_LIST_DELETE_ITEM(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_LIST_DELETE_ITEM, func) +def EVT_SPLITTER_UNSPLIT(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_SPLITTER_UNSPLIT, func) -def EVT_LIST_DELETE_ALL_ITEMS(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS, func) +def EVT_SPLITTER_DOUBLECLICKED(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_SPLITTER_DOUBLECLICKED, 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) +# wxTimer +def EVT_TIMER(win, id, func): + win.Connect(id, -1, wxEVT_TIMER, func) -def EVT_LIST_ITEM_SELECTED(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_LIST_ITEM_SELECTED, func) +# wxProcess +def EVT_END_PROCESS(eh, id, func): + eh.Connect(id, -1, wxEVT_END_PROCESS, 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) +# wxJoyStick +def EVT_JOY_DOWN(win, func): + win.Connect(-1, -1, wxEVT_JOY_BUTTON_DOWN, func) -def EVT_LIST_INSERT_ITEM(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_LIST_INSERT_ITEM, func) +def EVT_JOY_UP(win, func): + win.Connect(-1, -1, wxEVT_JOY_BUTTON_UP, func) -def EVT_LIST_COL_CLICK(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_LIST_COL_CLICK, func) +def EVT_JOY_MOVE(win, func): + win.Connect(-1, -1, wxEVT_JOY_MOVE, func) -def EVT_LIST_ITEM_RIGHT_CLICK(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK, func) +def EVT_JOY_ZMOVE(win, func): + win.Connect(-1, -1, wxEVT_JOY_ZMOVE, func) -def EVT_LIST_ITEM_MIDDLE_CLICK(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK, func) +def EVT_JOYSTICK_EVENTS(win, 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_LIST_ITEM_ACTIVATED(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_LIST_ITEM_ACTIVATED, func) +def EVT_TOGGLEBUTTON(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, func) -#wxSplitterWindow -def EVT_SPLITTER_SASH_POS_CHANGING(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGING, func) +# Help events +def EVT_HELP(win, id, func): + win.Connect(id, -1, wxEVT_HELP, func) -def EVT_SPLITTER_SASH_POS_CHANGED(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED, func) +def EVT_HELP_RANGE(win, id, id2, func): + win.Connect(id, id2, wxEVT_HELP, func) -def EVT_SPLITTER_UNSPLIT(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_SPLITTER_UNSPLIT, func) +def EVT_DETAILED_HELP(win, id, func): + win.Connect(id, -1, wxEVT_DETAILED_HELP, func) -def EVT_SPLITTER_DOUBLECLICKED(win, id, func): - win.Connect(id, -1, wxEVT_COMMAND_SPLITTER_DOUBLECLICKED, func) +def EVT_DETAILED_HELP_RANGE(win, id, id2, func): + win.Connect(id, id2, wxEVT_DETAILED_HELP, func) +def EVT_CONTEXT_MENU(win, func): + win.Connect(-1, -1, wxEVT_CONTEXT_MENU, func) -# wxTimer -def EVT_TIMER(win, id, func): - win.Connect(id, -1, wxEVT_TIMER, func) - -# wxProcess -def EVT_END_PROCESS(eh, id, func): - eh.Connect(id, -1, wxEVT_END_PROCESS, func) #---------------------------------------------------------------------- class wxTimer(wxPyTimer): - def __init__(self): - wxPyTimer.__init__(self, self.Notify) # derived class must provide - # Notify(self) method. + def __init__(self, evtHandler = None, id = -1): + if evtHandler is None: + wxPyTimer.__init__(self, self.Notify) # derived class must provide + # Notify(self) method. + else: + 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. - -class NullObj: - this = 'NULL' # SWIG converts this to (void*)0 -NULL = NullObj() +NULL = None # For backwards compatibility only. You should really be + # using None now. #---------------------------------------------------------------------- @@ -1543,16 +1441,36 @@ NULL = NullObj() wxColor = wxColour wxNamedColor = wxNamedColour +wxPen = wxPyPen -wxPyDefaultPosition.Set(-1,-1) -wxPyDefaultSize.Set(-1,-1) +# backwards compatibility +wxNoRefBitmap = wxBitmap +wxPyDefaultPosition = wxDefaultPosition +wxPyDefaultSize = wxDefaultSize + + +#---------------------------------------------------------------------- +# 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. +try: + import locale + locale.setlocale(locale.LC_ALL, "") +except: + pass -# aliases so that C++ documentation applies: -wxDefaultPosition = wxPyDefaultPosition -wxDefaultSize = wxPyDefaultSize -# backwards compatibility -wxNoRefBitmap = wxBitmap + +#---------------------------------------------------------------------- +# 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 @@ -1576,40 +1494,51 @@ wxNoRefBitmap = wxBitmap # 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 +#---------------------------------------------------------------------- #---------------------------------------------------------------------- class wxPyOnDemandOutputWindow: def __init__(self, title = "wxPython: stdout/stderr"): self.frame = None self.title = title - + self.parent = None def SetParent(self, parent): self.parent = parent - def OnCloseWindow(self, event): if self.frame != None: self.frame.Destroy() self.frame = None self.text = None - - # this provides the file-like behaviour + # These methods provide the file-like output behaviour. def write(self, str): + if not wxThread_IsMain(): + # Aquire the GUI mutex before making GUI calls. Mutex is released + # 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)) @@ -1617,13 +1546,11 @@ class wxPyOnDemandOutputWindow: EVT_CLOSE(self.frame, self.OnCloseWindow) self.text.AppendText(str) - def close(self): if self.frame != None: - self.frame.Destroy() - self.frame = None - self.text = None - + if not wxThread_IsMain(): + locker = wxMutexGuiLocker() + self.frame.Close() _defRedirect = (wxPlatform == '__WXMSW__') @@ -1656,7 +1583,6 @@ class wxApp(wxPyApp): def SetTopWindow(self, frame): if self.stdioWin: self.stdioWin.SetParent(frame) - sys.stderr = sys.stdout = self.stdioWin wxPyApp.SetTopWindow(self, frame) @@ -1670,18 +1596,18 @@ class wxApp(wxPyApp): sys.stdout = sys.stderr = open(filename, 'a') else: self.stdioWin = self.outputWindowClass() # wxPyOnDemandOutputWindow + sys.stdout = sys.stderr = self.stdioWin def RestoreStdio(self): sys.stdout, sys.stderr = self.saveStdio - if self.stdioWin != None: - self.stdioWin.close() + #---------------------------------------------------------------------------- class wxPySimpleApp(wxApp): - def __init__(self): - wxApp.__init__(self, 0) + def __init__(self, flag=0): + wxApp.__init__(self, flag) def OnInit(self): return true @@ -1713,7 +1639,6 @@ class __wxPyCleanup: self.cleanup() __cleanMeUp = __wxPyCleanup() -#---------------------------------------------------------------------------- - - +#---------------------------------------------------------------------------- +#----------------------------------------------------------------------------