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
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
#---------------------------------------------------------------------------
+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
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)"""
_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):
"""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)
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):
"""
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)
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):
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.)
# 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()
"""
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)
"""
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):
"""
"""
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
"""
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)
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.
"""
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)))
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`")
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)
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.
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
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.)
"""
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.
"""
def GetCount(*args, **kwargs):
"""
- GetCount(self) -> unsigned int
+ GetCount(self) -> int
Returns the number of items in the control.
"""
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.
"""
def SetString(*args, **kwargs):
"""
- SetString(self, unsigned int n, String s)
+ SetString(self, int n, String s)
Sets the label for the given item.
"""
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)"""
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
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()