X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/48a0c02123fe4f3744856ad4857d1268f1f88377..88f67c2242209b8a752b515fdec30fd6ef858a18:/wxPython/src/msw/_core.py diff --git a/wxPython/src/msw/_core.py b/wxPython/src/msw/_core.py index 472238e0d9..2756e8b96b 100644 --- a/wxPython/src/msw/_core.py +++ b/wxPython/src/msw/_core.py @@ -2070,7 +2070,7 @@ class FileSystemHandler(CPPFileSystemHandler): def __init__(self, *args, **kwargs): """__init__(self) -> FileSystemHandler""" _core_.FileSystemHandler_swiginit(self,_core_.new_FileSystemHandler(*args, **kwargs)) - self._setCallbackInfo(self, FileSystemHandler) + FileSystemHandler._setCallbackInfo(self, self, FileSystemHandler) def _setCallbackInfo(*args, **kwargs): """_setCallbackInfo(self, PyObject self, PyObject _class)""" @@ -3769,7 +3769,7 @@ class EvtHandler(Object): def _setOORInfo(*args, **kwargs): """_setOORInfo(self, PyObject _self, bool incref=True)""" val = _core_.EvtHandler__setOORInfo(*args, **kwargs) - args[0].thisown = 0 + args[0].this.own(False) return val def Bind(self, event, handler, source=None, id=wx.ID_ANY, id2=wx.ID_ANY): @@ -3847,6 +3847,15 @@ class PyEventBinder(object): success += target.Disconnect(id1, id2, et) return success != 0 + def _getEvtType(self): + """ + Make it easy to get to the default wxEventType typeID for this + event binder. + """ + return self.evtType[0] + + typeId = property(_getEvtType) + def __call__(self, *args): """ @@ -3891,6 +3900,7 @@ EVENT_PROPAGATE_MAX = _core_.EVENT_PROPAGATE_MAX def NewEventType(*args): """NewEventType() -> EventType""" return _core_.NewEventType(*args) +wxEVT_ANY = _core_.wxEVT_ANY wxEVT_NULL = _core_.wxEVT_NULL wxEVT_FIRST = _core_.wxEVT_FIRST wxEVT_USER_FIRST = _core_.wxEVT_USER_FIRST @@ -5042,6 +5052,16 @@ class MouseEvent(Event): """ return _core_.MouseEvent_GetWheelDelta(*args, **kwargs) + def GetWheelAxis(*args, **kwargs): + """ + GetWheelAxis(self) -> int + + Gets the axis the wheel operation concerns, 0 being the y axis as on + most mouse wheels, 1 is the x axis for things like MightyMouse scrolls + or horizontal trackpad scrolling. + """ + return _core_.MouseEvent_GetWheelAxis(*args, **kwargs) + def GetLinesPerAction(*args, **kwargs): """ GetLinesPerAction(self) -> int @@ -6985,6 +7005,25 @@ _core_.DateEvent_swigregister(DateEvent) wxEVT_DATE_CHANGED = _core_.wxEVT_DATE_CHANGED EVT_DATE_CHANGED = wx.PyEventBinder( wxEVT_DATE_CHANGED, 1 ) +class EventBlocker(EvtHandler): + """Helper class to temporarily disable event handling for a window.""" + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args, **kwargs): + """ + __init__(self, Window win, EventType type=wxEVT_ANY) -> EventBlocker + + Helper class to temporarily disable event handling for a window. + """ + _core_.EventBlocker_swiginit(self,_core_.new_EventBlocker(*args, **kwargs)) + __swig_destroy__ = _core_.delete_EventBlocker + __del__ = lambda self : None; + def Block(*args, **kwargs): + """Block(self, EventType type)""" + return _core_.EventBlocker_Block(*args, **kwargs) + +_core_.EventBlocker_swigregister(EventBlocker) + #--------------------------------------------------------------------------- PYAPP_ASSERT_SUPPRESS = _core_.PYAPP_ASSERT_SUPPRESS @@ -7007,13 +7046,12 @@ class PyApp(EvtHandler): Create a new application object, starting the bootstrap process. """ _core_.PyApp_swiginit(self,_core_.new_PyApp(*args, **kwargs)) - self._setCallbackInfo(self, PyApp, False) - self._setOORInfo(self, False) + self._setOORInfo(self, False);PyApp._setCallbackInfo(self, self, PyApp) __swig_destroy__ = _core_.delete_PyApp __del__ = lambda self : None; def _setCallbackInfo(*args, **kwargs): - """_setCallbackInfo(self, PyObject self, PyObject _class, bool incref)""" + """_setCallbackInfo(self, PyObject self, PyObject _class, bool incref=False)""" return _core_.PyApp__setCallbackInfo(*args, **kwargs) def GetAppName(*args, **kwargs): @@ -7248,7 +7286,7 @@ class PyApp(EvtHandler): def SetUseBestVisual(*args, **kwargs): """ - SetUseBestVisual(self, bool flag) + SetUseBestVisual(self, bool flag, bool forceTrueColour=False) Set whether the app should try to use the best available visual on systems where more than one is available, (Sun, SGI, XFree86 4, etc.) @@ -8397,7 +8435,7 @@ class Window(EvtHandler): Raise(self) Raises the window to the top of the window hierarchy. In current - version of wxWidgets this works both for manage and child windows. + version of wxWidgets this works both for managed and child windows. """ return _core_.Window_Raise(*args, **kwargs) @@ -8406,7 +8444,7 @@ class Window(EvtHandler): Lower(self) Lowers the window to the bottom of the window hierarchy. In current - version of wxWidgets this works both for manage and child windows. + version of wxWidgets this works both for managed and child windows. """ return _core_.Window_Lower(*args, **kwargs) @@ -8801,6 +8839,14 @@ class Window(EvtHandler): """ return _core_.Window_GetVirtualSizeTuple(*args, **kwargs) + def GetWindowBorderSize(*args, **kwargs): + """ + GetWindowBorderSize(self) -> Size + + Return the size of the left/right and top/bottom borders. + """ + return _core_.Window_GetWindowBorderSize(*args, **kwargs) + def GetBestVirtualSize(*args, **kwargs): """ GetBestVirtualSize(self) -> Size @@ -8914,6 +8960,15 @@ class Window(EvtHandler): """ return _core_.Window_IsRetained(*args, **kwargs) + def ToggleWindowStyle(*args, **kwargs): + """ + ToggleWindowStyle(self, int flag) -> bool + + Turn the flag on if it had been turned off before and vice versa, + returns True if the flag is turned on by this function call. + """ + return _core_.Window_ToggleWindowStyle(*args, **kwargs) + def SetExtraStyle(*args, **kwargs): """ SetExtraStyle(self, long exStyle) @@ -10334,15 +10389,20 @@ class Window(EvtHandler): self.thisown = pre.thisown pre.thisown = 0 if hasattr(self, '_setOORInfo'): - self._setOORInfo(self) + try: + self._setOORInfo(self) + except TypeError: + pass if hasattr(self, '_setCallbackInfo'): - self._setCallbackInfo(self, self.__class__) + try: + self._setCallbackInfo(self, pre.__class__) + except TypeError: + pass def SendSizeEvent(self): self.GetEventHandler().ProcessEvent(wx.SizeEvent((-1,-1))) AcceleratorTable = property(GetAcceleratorTable,SetAcceleratorTable,doc="See `GetAcceleratorTable` and `SetAcceleratorTable`") - AdjustedBestSize = property(GetAdjustedBestSize,doc="See `GetAdjustedBestSize`") AutoLayout = property(GetAutoLayout,SetAutoLayout,doc="See `GetAutoLayout` and `SetAutoLayout`") BackgroundColour = property(GetBackgroundColour,SetBackgroundColour,doc="See `GetBackgroundColour` and `SetBackgroundColour`") BackgroundStyle = property(GetBackgroundStyle,SetBackgroundStyle,doc="See `GetBackgroundStyle` and `SetBackgroundStyle`") @@ -10605,12 +10665,10 @@ class PyValidator(Validator): def __init__(self, *args, **kwargs): """__init__(self) -> PyValidator""" _core_.PyValidator_swiginit(self,_core_.new_PyValidator(*args, **kwargs)) - - self._setCallbackInfo(self, PyValidator, 1) - self._setOORInfo(self) + self._setOORInfo(self);PyValidator._setCallbackInfo(self, self, PyValidator) def _setCallbackInfo(*args, **kwargs): - """_setCallbackInfo(self, PyObject self, PyObject _class, int incref=True)""" + """_setCallbackInfo(self, PyObject self, PyObject _class, int incref=1)""" return _core_.PyValidator__setCallbackInfo(*args, **kwargs) _core_.PyValidator_swigregister(PyValidator) @@ -10719,9 +10777,15 @@ class Menu(EvtHandler): """Remove(self, int id) -> MenuItem""" return _core_.Menu_Remove(*args, **kwargs) - def RemoveItem(*args, **kwargs): + def RemoveItem(self, item): """RemoveItem(self, MenuItem item) -> MenuItem""" - return _core_.Menu_RemoveItem(*args, **kwargs) + #// The return object is always the parameter, so return that + #// proxy instead of the new one + val = _core_.Menu_RemoveItem(self, item) + item.this.own(val.this.own()) + val.this.disown() + return item + def Delete(*args, **kwargs): """Delete(self, int id) -> bool""" @@ -11027,13 +11091,14 @@ class MenuItem(Object): __repr__ = _swig_repr def __init__(self, *args, **kwargs): """ - __init__(self, Menu parentMenu=None, int id=ID_ANY, String text=EmptyString, + __init__(self, Menu parentMenu=None, int id=ID_SEPARATOR, String text=EmptyString, String help=EmptyString, int kind=ITEM_NORMAL, Menu subMenu=None) -> MenuItem """ _core_.MenuItem_swiginit(self,_core_.new_MenuItem(*args, **kwargs)) __swig_destroy__ = _core_.delete_MenuItem __del__ = lambda self : None; + def Destroy(self): pass def GetMenu(*args, **kwargs): """GetMenu(self) -> Menu""" return _core_.MenuItem_GetMenu(*args, **kwargs) @@ -11381,7 +11446,7 @@ class ItemContainer(object): def Insert(*args, **kwargs): """ - Insert(self, String item, unsigned int pos, PyObject clientData=None) -> int + Insert(self, String item, int pos, PyObject clientData=None) -> int Insert an item into the control before the item at the ``pos`` index, optionally associating some data object with the item. @@ -11398,7 +11463,7 @@ class ItemContainer(object): def Delete(*args, **kwargs): """ - Delete(self, unsigned int n) + Delete(self, int n) Deletes the item at the zero-based index 'n' from the control. Note that it is an error (signalled by a `wx.PyAssertionError` exception if @@ -11409,7 +11474,7 @@ class ItemContainer(object): def GetClientData(*args, **kwargs): """ - GetClientData(self, unsigned int n) -> PyObject + GetClientData(self, int n) -> PyObject Returns the client data associated with the given item, (if any.) """ @@ -11417,7 +11482,7 @@ class ItemContainer(object): def SetClientData(*args, **kwargs): """ - SetClientData(self, unsigned int n, PyObject clientData) + SetClientData(self, int n, PyObject clientData) Associate the given client data with the item at position n. """ @@ -11425,7 +11490,7 @@ class ItemContainer(object): def GetCount(*args, **kwargs): """ - GetCount(self) -> unsigned int + GetCount(self) -> int Returns the number of items in the control. """ @@ -11441,7 +11506,7 @@ class ItemContainer(object): def GetString(*args, **kwargs): """ - GetString(self, unsigned int n) -> String + GetString(self, int n) -> String Returns the label of the item with the given index. """ @@ -11453,7 +11518,7 @@ class ItemContainer(object): def SetString(*args, **kwargs): """ - SetString(self, unsigned int n, String s) + SetString(self, int n, String s) Sets the label for the given item. """ @@ -12436,7 +12501,7 @@ class PySizer(Sizer): class. """ _core_.PySizer_swiginit(self,_core_.new_PySizer(*args, **kwargs)) - self._setCallbackInfo(self, PySizer);self._setOORInfo(self) + self._setOORInfo(self);PySizer._setCallbackInfo(self, self, PySizer) def _setCallbackInfo(*args, **kwargs): """_setCallbackInfo(self, PyObject self, PyObject _class)""" @@ -13309,6 +13374,16 @@ class GridBagSizer(FlexGridSizer): """ return _core_.GridBagSizer_FindItem(*args) + def GetItem(self, item): + gbsi = None + si = wx.FlexGridSizer.GetItem(self, item) + if not si: + return None + if type(item) is not int: + gbsi = self.FindItem(item) + if gbsi: return gbsi + return si + def FindItemAtPosition(*args, **kwargs): """ FindItemAtPosition(self, GBPosition pos) -> GBSizerItem @@ -13662,6 +13737,24 @@ if RELEASE_VERSION != _core_.RELEASE_VERSION: import warnings warnings.warn("wxPython/wxWidgets release number mismatch") + +def version(): + """Returns a string containing version and port info""" + ctype = wx.USE_UNICODE and 'unicode' or 'ansi' + if wx.Platform == '__WXMSW__': + port = 'msw' + elif wx.Platform == '__WXMAC__': + port = 'mac' + elif wx.Platform == '__WXGTK__': + port = 'gtk' + if 'gtk2' in wx.PlatformInfo: + port = 'gtk2' + else: + port = '?' + + return "%s (%s-%s)" % (wx.VERSION_STRING, port, ctype) + + #---------------------------------------------------------------------------- # Set wxPython's default string<-->unicode conversion encoding from @@ -13681,7 +13774,10 @@ if default == 'ascii': import locale import codecs try: - default = locale.getdefaultlocale()[1] + if hasattr(locale, 'getpreferredencoding'): + default = locale.getpreferredencoding() + else: + default = locale.getdefaultlocale()[1] codecs.lookup(default) except (ValueError, LookupError, TypeError): default = _sys.getdefaultencoding()