X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f8eb59b90fb74063130b8ea42fa291e7982fdcad..9e477492e29e03c02827b1e42a16cb09a13f5149:/wxPython/src/msw/_core.py diff --git a/wxPython/src/msw/_core.py b/wxPython/src/msw/_core.py index 7bf5545486..f9cf4a8438 100644 --- a/wxPython/src/msw/_core.py +++ b/wxPython/src/msw/_core.py @@ -708,6 +708,16 @@ class Object(object): args[0].this.own(False) return _core_.Object_Destroy(*args, **kwargs) + def IsSameAs(*args, **kwargs): + """ + IsSameAs(self, Object p) -> bool + + For wx.Objects that use C++ reference counting internally, this method + can be used to determine if two objects are referencing the same data + object. + """ + return _core_.Object_IsSameAs(*args, **kwargs) + ClassName = property(GetClassName,doc="See `GetClassName`") _core_.Object_swigregister(Object) _wxPySetDictionary = _core_._wxPySetDictionary @@ -734,6 +744,7 @@ BITMAP_TYPE_PICT = _core_.BITMAP_TYPE_PICT BITMAP_TYPE_ICON = _core_.BITMAP_TYPE_ICON BITMAP_TYPE_ANI = _core_.BITMAP_TYPE_ANI BITMAP_TYPE_IFF = _core_.BITMAP_TYPE_IFF +BITMAP_TYPE_TGA = _core_.BITMAP_TYPE_TGA BITMAP_TYPE_MACCURSOR = _core_.BITMAP_TYPE_MACCURSOR BITMAP_TYPE_ANY = _core_.BITMAP_TYPE_ANY CURSOR_NONE = _core_.CURSOR_NONE @@ -1649,6 +1660,260 @@ def Point2DFromPoint(*args, **kwargs): #--------------------------------------------------------------------------- +Inside = _core_.Inside +OutLeft = _core_.OutLeft +OutRight = _core_.OutRight +OutTop = _core_.OutTop +OutBottom = _core_.OutBottom +class Rect2D(object): + """ + wx.Rect2D is a rectangle, with position and size, in a 2D coordinate system + with floating point component values. + """ + 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, wxDouble x=0.0, wxDouble y=0.0, wxDouble w=0.0, wxDouble h=0.0) -> Rect2D + + wx.Rect2D is a rectangle, with position and size, in a 2D coordinate system + with floating point component values. + """ + _core_.Rect2D_swiginit(self,_core_.new_Rect2D(*args, **kwargs)) + __swig_destroy__ = _core_.delete_Rect2D + __del__ = lambda self : None; + def GetPosition(*args, **kwargs): + """GetPosition(self) -> Point2D""" + return _core_.Rect2D_GetPosition(*args, **kwargs) + + def GetSize(*args, **kwargs): + """GetSize(self) -> Size""" + return _core_.Rect2D_GetSize(*args, **kwargs) + + def GetLeft(*args, **kwargs): + """GetLeft(self) -> wxDouble""" + return _core_.Rect2D_GetLeft(*args, **kwargs) + + def SetLeft(*args, **kwargs): + """SetLeft(self, wxDouble n)""" + return _core_.Rect2D_SetLeft(*args, **kwargs) + + def MoveLeftTo(*args, **kwargs): + """MoveLeftTo(self, wxDouble n)""" + return _core_.Rect2D_MoveLeftTo(*args, **kwargs) + + def GetTop(*args, **kwargs): + """GetTop(self) -> wxDouble""" + return _core_.Rect2D_GetTop(*args, **kwargs) + + def SetTop(*args, **kwargs): + """SetTop(self, wxDouble n)""" + return _core_.Rect2D_SetTop(*args, **kwargs) + + def MoveTopTo(*args, **kwargs): + """MoveTopTo(self, wxDouble n)""" + return _core_.Rect2D_MoveTopTo(*args, **kwargs) + + def GetBottom(*args, **kwargs): + """GetBottom(self) -> wxDouble""" + return _core_.Rect2D_GetBottom(*args, **kwargs) + + def SetBottom(*args, **kwargs): + """SetBottom(self, wxDouble n)""" + return _core_.Rect2D_SetBottom(*args, **kwargs) + + def MoveBottomTo(*args, **kwargs): + """MoveBottomTo(self, wxDouble n)""" + return _core_.Rect2D_MoveBottomTo(*args, **kwargs) + + def GetRight(*args, **kwargs): + """GetRight(self) -> wxDouble""" + return _core_.Rect2D_GetRight(*args, **kwargs) + + def SetRight(*args, **kwargs): + """SetRight(self, wxDouble n)""" + return _core_.Rect2D_SetRight(*args, **kwargs) + + def MoveRightTo(*args, **kwargs): + """MoveRightTo(self, wxDouble n)""" + return _core_.Rect2D_MoveRightTo(*args, **kwargs) + + def GetLeftTop(*args, **kwargs): + """GetLeftTop(self) -> Point2D""" + return _core_.Rect2D_GetLeftTop(*args, **kwargs) + + def SetLeftTop(*args, **kwargs): + """SetLeftTop(self, Point2D pt)""" + return _core_.Rect2D_SetLeftTop(*args, **kwargs) + + def MoveLeftTopTo(*args, **kwargs): + """MoveLeftTopTo(self, Point2D pt)""" + return _core_.Rect2D_MoveLeftTopTo(*args, **kwargs) + + def GetLeftBottom(*args, **kwargs): + """GetLeftBottom(self) -> Point2D""" + return _core_.Rect2D_GetLeftBottom(*args, **kwargs) + + def SetLeftBottom(*args, **kwargs): + """SetLeftBottom(self, Point2D pt)""" + return _core_.Rect2D_SetLeftBottom(*args, **kwargs) + + def MoveLeftBottomTo(*args, **kwargs): + """MoveLeftBottomTo(self, Point2D pt)""" + return _core_.Rect2D_MoveLeftBottomTo(*args, **kwargs) + + def GetRightTop(*args, **kwargs): + """GetRightTop(self) -> Point2D""" + return _core_.Rect2D_GetRightTop(*args, **kwargs) + + def SetRightTop(*args, **kwargs): + """SetRightTop(self, Point2D pt)""" + return _core_.Rect2D_SetRightTop(*args, **kwargs) + + def MoveRightTopTo(*args, **kwargs): + """MoveRightTopTo(self, Point2D pt)""" + return _core_.Rect2D_MoveRightTopTo(*args, **kwargs) + + def GetRightBottom(*args, **kwargs): + """GetRightBottom(self) -> Point2D""" + return _core_.Rect2D_GetRightBottom(*args, **kwargs) + + def SetRightBottom(*args, **kwargs): + """SetRightBottom(self, Point2D pt)""" + return _core_.Rect2D_SetRightBottom(*args, **kwargs) + + def MoveRightBottomTo(*args, **kwargs): + """MoveRightBottomTo(self, Point2D pt)""" + return _core_.Rect2D_MoveRightBottomTo(*args, **kwargs) + + def GetCentre(*args, **kwargs): + """GetCentre(self) -> Point2D""" + return _core_.Rect2D_GetCentre(*args, **kwargs) + + def SetCentre(*args, **kwargs): + """SetCentre(self, Point2D pt)""" + return _core_.Rect2D_SetCentre(*args, **kwargs) + + def MoveCentreTo(*args, **kwargs): + """MoveCentreTo(self, Point2D pt)""" + return _core_.Rect2D_MoveCentreTo(*args, **kwargs) + + def GetOutcode(*args, **kwargs): + """GetOutcode(self, Point2D pt) -> int""" + return _core_.Rect2D_GetOutcode(*args, **kwargs) + + def Contains(*args, **kwargs): + """Contains(self, Point2D pt) -> bool""" + return _core_.Rect2D_Contains(*args, **kwargs) + + def ContainsRect(*args, **kwargs): + """ContainsRect(self, Rect2D rect) -> bool""" + return _core_.Rect2D_ContainsRect(*args, **kwargs) + + def IsEmpty(*args, **kwargs): + """IsEmpty(self) -> bool""" + return _core_.Rect2D_IsEmpty(*args, **kwargs) + + def HaveEqualSize(*args, **kwargs): + """HaveEqualSize(self, Rect2D rect) -> bool""" + return _core_.Rect2D_HaveEqualSize(*args, **kwargs) + + def Inset(*args): + """ + Inset(self, wxDouble x, wxDouble y) + Inset(self, wxDouble left, wxDouble top, wxDouble right, wxDouble bottom) + """ + return _core_.Rect2D_Inset(*args) + + def Offset(*args, **kwargs): + """Offset(self, Point2D pt)""" + return _core_.Rect2D_Offset(*args, **kwargs) + + def ConstrainTo(*args, **kwargs): + """ConstrainTo(self, Rect2D rect)""" + return _core_.Rect2D_ConstrainTo(*args, **kwargs) + + def Interpolate(*args, **kwargs): + """Interpolate(self, int widthfactor, int heightfactor) -> Point2D""" + return _core_.Rect2D_Interpolate(*args, **kwargs) + + def Intersect(*args, **kwargs): + """Intersect(self, Rect2D otherRect)""" + return _core_.Rect2D_Intersect(*args, **kwargs) + + def CreateIntersection(*args, **kwargs): + """CreateIntersection(self, Rect2D otherRect) -> Rect2D""" + return _core_.Rect2D_CreateIntersection(*args, **kwargs) + + def Intersects(*args, **kwargs): + """Intersects(self, Rect2D rect) -> bool""" + return _core_.Rect2D_Intersects(*args, **kwargs) + + def Union(*args, **kwargs): + """Union(self, Rect2D otherRect)""" + return _core_.Rect2D_Union(*args, **kwargs) + + def CreateUnion(*args, **kwargs): + """CreateUnion(self, Rect2D otherRect) -> Rect2D""" + return _core_.Rect2D_CreateUnion(*args, **kwargs) + + def Scale(*args): + """ + Scale(self, wxDouble f) + Scale(self, int num, int denum) + """ + return _core_.Rect2D_Scale(*args) + + def __eq__(*args, **kwargs): + """ + __eq__(self, PyObject other) -> bool + + Test for equality of wx.Rect2D objects. + """ + return _core_.Rect2D___eq__(*args, **kwargs) + + def __ne__(*args, **kwargs): + """ + __ne__(self, PyObject other) -> bool + + Test for inequality of wx.Rect2D objects. + """ + return _core_.Rect2D___ne__(*args, **kwargs) + + x = property(_core_.Rect2D_x_get, _core_.Rect2D_x_set) + y = property(_core_.Rect2D_y_get, _core_.Rect2D_y_set) + width = property(_core_.Rect2D_width_get, _core_.Rect2D_width_set) + height = property(_core_.Rect2D_height_get, _core_.Rect2D_height_set) + def Set(*args, **kwargs): + """Set(self, wxDouble x=0, wxDouble y=0, wxDouble width=0, wxDouble height=0)""" + return _core_.Rect2D_Set(*args, **kwargs) + + def Get(*args, **kwargs): + """ + Get() -> (x,y, width, height) + + Return x, y, width and height y properties as a tuple. + """ + return _core_.Rect2D_Get(*args, **kwargs) + + def __str__(self): return str(self.Get()) + def __repr__(self): return 'wx.Rect2D'+str(self.Get()) + def __len__(self): return len(self.Get()) + def __getitem__(self, index): return self.Get()[index] + def __setitem__(self, index, val): + if index == 0: self.x = val + elif index == 1: self.y = val + elif index == 2: self.width = val + elif index == 3: self.height = val + else: raise IndexError + def __nonzero__(self): return self.Get() != (0.0, 0.0, 0.0, 0.0) + __safe_for_unpickling__ = True + def __reduce__(self): return (wx.Rect2D, self.Get()) + +_core_.Rect2D_swigregister(Rect2D) + +#--------------------------------------------------------------------------- + FromStart = _core_.FromStart FromCurrent = _core_.FromCurrent FromEnd = _core_.FromEnd @@ -1805,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)""" @@ -3403,6 +3668,19 @@ class TIFFHandler(ImageHandler): _core_.TIFFHandler_swiginit(self,_core_.new_TIFFHandler(*args, **kwargs)) _core_.TIFFHandler_swigregister(TIFFHandler) +class TGAHandler(ImageHandler): + """A `wx.ImageHandler` for TGA image files.""" + 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) -> TGAHandler + + A `wx.ImageHandler` for TGA image files. + """ + _core_.TGAHandler_swiginit(self,_core_.new_TGAHandler(*args, **kwargs)) +_core_.TGAHandler_swigregister(TGAHandler) + QUANTIZE_INCLUDE_WINDOWS_COLOURS = _core_.QUANTIZE_INCLUDE_WINDOWS_COLOURS QUANTIZE_FILL_DESTINATION_IMAGE = _core_.QUANTIZE_FILL_DESTINATION_IMAGE class Quantize(object): @@ -3480,18 +3758,6 @@ class EvtHandler(Object): """ProcessPendingEvents(self)""" return _core_.EvtHandler_ProcessPendingEvents(*args, **kwargs) - def AllowReentrance(*args, **kwargs): - """AllowReentrance(self, bool allow=True)""" - return _core_.EvtHandler_AllowReentrance(*args, **kwargs) - - def IsReentranceAllowed(*args, **kwargs): - """IsReentranceAllowed(self) -> bool""" - return _core_.EvtHandler_IsReentranceAllowed(*args, **kwargs) - - def IsEventHandlingInProgress(*args, **kwargs): - """IsEventHandlingInProgress(self) -> bool""" - return _core_.EvtHandler_IsEventHandlingInProgress(*args, **kwargs) - def Connect(*args, **kwargs): """Connect(self, int id, int lastId, int eventType, PyObject func)""" return _core_.EvtHandler_Connect(*args, **kwargs) @@ -3503,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): @@ -4015,14 +4281,13 @@ class Event(Object): """ Skip(self, bool skip=True) - Called by an event handler, it controls whether additional event - handlers bound to this event will be called after the current event - handler returns. Skip(false) (the default setting) will prevent - additional event handlers from being called and control will be - returned to the sender of the event immediately after the current - handler has finished. Skip(True) will cause the event processing - system to continue searching for a handler function for this event. - + This method can be used inside an event handler to control whether + further event handlers bound to this event will be called after the + current one returns. Without Skip() (or equivalently if Skip(False) is + used), the event will not be processed any more. If Skip(True) is + called, the event processing system continues searching for a further + handler function for this event, even though it has been processed + already in the current handler. """ return _core_.Event_Skip(*args, **kwargs) @@ -6742,13 +7007,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): @@ -6983,7 +7247,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.) @@ -7476,6 +7740,9 @@ in on the main display of your Mac.""" # Use Python's install prefix as the default wx.StandardPaths.Get().SetInstallPrefix(_sys.prefix) + # Until the new native control for wxMac is up to par, still use the generic one. + wx.SystemOptions.SetOptionInt("mac.listctrl.always_use_generic", 1) + # This finishes the initialization of wxWindows and then calls # the OnInit that should be present in the derived class self._BootstrapApp() @@ -8114,15 +8381,16 @@ class Window(EvtHandler): """ return _core_.Window_MoveXY(*args, **kwargs) - def SetBestFittingSize(*args, **kwargs): + def SetInitialSize(*args, **kwargs): """ - SetBestFittingSize(self, Size size=DefaultSize) + SetInitialSize(self, Size size=DefaultSize) A 'Smart' SetSize that will fill in default size components with the window's *best size* values. Also set's the minsize for use with sizers. """ - return _core_.Window_SetBestFittingSize(*args, **kwargs) + return _core_.Window_SetInitialSize(*args, **kwargs) + SetBestFittingSize = wx._deprecated(SetInitialSize, 'Use `SetInitialSize`') def Raise(*args, **kwargs): """ Raise(self) @@ -8330,29 +8598,23 @@ class Window(EvtHandler): """ return _core_.Window_CacheBestSize(*args, **kwargs) - def GetBestFittingSize(*args, **kwargs): + def GetEffectiveMinSize(*args, **kwargs): """ - GetBestFittingSize(self) -> Size + GetEffectiveMinSize(self) -> Size This function will merge the window's best size into the window's minimum size, giving priority to the min size components, and returns the results. """ - return _core_.Window_GetBestFittingSize(*args, **kwargs) + return _core_.Window_GetEffectiveMinSize(*args, **kwargs) - def GetAdjustedBestSize(*args, **kwargs): - """ - GetAdjustedBestSize(self) -> Size - - This method is similar to GetBestSize, except in one - thing. GetBestSize should return the minimum untruncated size of the - window, while this method will return the largest of BestSize and any - user specified minimum size. ie. it is the minimum size the window - should currently be drawn at, not the minimal size it can possibly - tolerate. - """ - return _core_.Window_GetAdjustedBestSize(*args, **kwargs) + GetBestFittingSize = wx._deprecated(GetEffectiveMinSize, 'Use `GetEffectiveMinSize` instead.') + def GetAdjustedBestSize(self): + s = self.GetBestSize() + return wx.Size(max(s.width, self.GetMinWidth()), + max(s.height, self.GetMinHeight())) + GetAdjustedBestSize = wx._deprecated(GetAdjustedBestSize, 'Use `GetEffectiveMinSize` instead.') def Center(*args, **kwargs): """ @@ -8538,6 +8800,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 @@ -8651,6 +8921,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) @@ -9188,7 +9467,7 @@ class Window(EvtHandler): window instead of waiting for the EVT_PAINT event to happen, (normally this would usually only happen when the flow of control returns to the event loop.) Notice that this function doesn't refresh the window and - does nothing if the window has been already repainted. Use Refresh + does nothing if the window has been already repainted. Use `Refresh` first if you want to immediately redraw the window (or some portion of it) unconditionally. """ @@ -10073,7 +10352,7 @@ class Window(EvtHandler): if hasattr(self, '_setOORInfo'): self._setOORInfo(self) if hasattr(self, '_setCallbackInfo'): - self._setCallbackInfo(self, self.__class__) + self._setCallbackInfo(self, pre.__class__) def SendSizeEvent(self): self.GetEventHandler().ProcessEvent(wx.SizeEvent((-1,-1))) @@ -10083,7 +10362,7 @@ class Window(EvtHandler): 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`") - BestFittingSize = property(GetBestFittingSize,SetBestFittingSize,doc="See `GetBestFittingSize` and `SetBestFittingSize`") + EffectiveMinSize = property(GetEffectiveMinSize,doc="See `GetEffectiveMinSize`") BestSize = property(GetBestSize,doc="See `GetBestSize`") BestVirtualSize = property(GetBestVirtualSize,doc="See `GetBestVirtualSize`") Border = property(GetBorder,doc="See `GetBorder`") @@ -10342,12 +10621,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) @@ -11118,7 +11395,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. @@ -11135,7 +11412,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 @@ -11146,7 +11423,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.) """ @@ -11154,7 +11431,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. """ @@ -11162,7 +11439,7 @@ class ItemContainer(object): def GetCount(*args, **kwargs): """ - GetCount(self) -> unsigned int + GetCount(self) -> int Returns the number of items in the control. """ @@ -11178,7 +11455,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. """ @@ -11190,7 +11467,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. """ @@ -12173,7 +12450,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)""" @@ -13399,6 +13676,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 @@ -13418,7 +13713,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()