]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/msw/_core.py
A little cleanup
[wxWidgets.git] / wxPython / src / msw / _core.py
index c119ea25f1b6aae4236c68efe2b49fcef001bef3..f3eef317dd2cfba2e8feb6984d80f941d88a013d 100644 (file)
@@ -1160,7 +1160,7 @@ class Rect(object):
         Inflate(self, int dx, int dy) -> Rect
 
         Increase the rectangle size by dx in x direction and dy in y
-        direction. Both or one of) parameters may be negative to decrease the
+        direction. Both (or one of) parameters may be negative to decrease the
         rectangle size.
         """
         return _core_.Rect_Inflate(*args, **kwargs)
@@ -1170,7 +1170,7 @@ class Rect(object):
         Deflate(self, int dx, int dy) -> Rect
 
         Decrease the rectangle size by dx in x direction and dy in y
-        direction. Both or one of) parameters may be negative to increase the
+        direction. Both (or one of) parameters may be negative to increase the
         rectngle size. This method is the opposite of Inflate.
         """
         return _core_.Rect_Deflate(*args, **kwargs)
@@ -1197,10 +1197,18 @@ class Rect(object):
         """
         Intersect(self, Rect rect) -> Rect
 
-        Return the intersectsion of this rectangle and rect.
+        Returns the intersectsion of this rectangle and rect.
         """
         return _core_.Rect_Intersect(*args, **kwargs)
 
+    def Union(*args, **kwargs):
+        """
+        Union(self, Rect rect) -> Rect
+
+        Returns the union of this rectangle and rect.
+        """
+        return _core_.Rect_Union(*args, **kwargs)
+
     def __add__(*args, **kwargs):
         """
         __add__(self, Rect rect) -> Rect
@@ -1520,6 +1528,12 @@ class InputStream(object):
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
+    def __del__(self, destroy=_core_.delete_InputStream):
+        """__del__(self)"""
+        try:
+            if self.thisown: destroy(self)
+        except: pass
+
     def close(*args, **kwargs):
         """close(self)"""
         return _core_.InputStream_close(*args, **kwargs)
@@ -2125,6 +2139,20 @@ class Image(Object):
         """
         return _core_.Image_ConvertAlphaToMask(*args, **kwargs)
 
+    def ConvertColourToAlpha(*args, **kwargs):
+        """
+        ConvertColourToAlpha(self, unsigned char r, unsigned char g, unsigned char b) -> bool
+
+        This method converts an image where the original alpha information is
+        only available as a shades of a colour (actually shades of grey)
+        typically when you draw anti-aliased text into a bitmap. The DC
+        drawing routines draw grey values on the black background although
+        they actually mean to draw white with differnt alpha values.  This
+        method reverses it, assuming a black (!) background and white text.
+        The method will then fill up the whole image with the colour given.
+        """
+        return _core_.Image_ConvertColourToAlpha(*args, **kwargs)
+
     def SetMaskFromImage(*args, **kwargs):
         """SetMaskFromImage(self, Image mask, byte mr, byte mg, byte mb) -> bool"""
         return _core_.Image_SetMaskFromImage(*args, **kwargs)
@@ -2379,6 +2407,12 @@ def ImageFromData(*args, **kwargs):
     val.thisown = 1
     return val
 
+def ImageFromDataWithAlpha(*args, **kwargs):
+    """ImageFromDataWithAlpha(int width, int height, unsigned char data, unsigned char alpha) -> Image"""
+    val = _core_.new_ImageFromDataWithAlpha(*args, **kwargs)
+    val.thisown = 1
+    return val
+
 def Image_CanRead(*args, **kwargs):
     """Image_CanRead(String name) -> bool"""
     return _core_.Image_CanRead(*args, **kwargs)
@@ -5140,6 +5174,24 @@ def GetApp(*args, **kwargs):
     Return a reference to the current wx.App object.
     """
     return _core_.GetApp(*args, **kwargs)
+
+def SetDefaultPyEncoding(*args, **kwargs):
+    """
+    SetDefaultPyEncoding(string encoding)
+
+    Sets the encoding that wxPython will use when it needs to convert a
+    Python string or unicode object to or from a wxString.
+    """
+    return _core_.SetDefaultPyEncoding(*args, **kwargs)
+
+def GetDefaultPyEncoding(*args, **kwargs):
+    """
+    GetDefaultPyEncoding() -> string
+
+    Gets the current encoding that wxPython will use when it needs to
+    convert a Python string or unicode object to or from a wxString.
+    """
+    return _core_.GetDefaultPyEncoding(*args, **kwargs)
 #----------------------------------------------------------------------
 
 class PyOnDemandOutputWindow:
@@ -5306,6 +5358,9 @@ your Mac."""
         if redirect:
             self.RedirectStdio(filename)
 
+        # Use Python's install prefix as the default  
+        wx.StandardPaths.Get().SetInstallPrefix(_sys.prefix)
+
         # This finishes the initialization of wxWindows and then calls
         # the OnInit that should be present in the derived class
         self._BootstrapApp()
@@ -10334,6 +10389,8 @@ class GridBagSizer(FlexGridSizer):
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
+        self._setOORInfo(self)
+
     def Add(*args, **kwargs):
         """
         Add(self, item, GBPosition pos, GBSpan span=DefaultSpan, int flag=0,
@@ -10802,6 +10859,16 @@ if RELEASE_VERSION != _core_.RELEASE_VERSION:
 
 #----------------------------------------------------------------------------
 
+# Set the default string conversion encoding from the locale
+import locale
+default = locale.getdefaultlocale()[1]
+if default:
+    wx.SetDefaultPyEncoding(default)
+del default
+del locale
+
+#----------------------------------------------------------------------------
+
 class PyDeadObjectError(AttributeError):
     pass
 
@@ -10860,7 +10927,6 @@ class _wxPyUnbornObject(object):
 
 
 #----------------------------------------------------------------------------
-_wxPyCallAfterId = None
 
 def CallAfter(callable, *args, **kw):
     """
@@ -10874,25 +10940,23 @@ def CallAfter(callable, *args, **kw):
     app = wx.GetApp()
     assert app is not None, 'No wx.App created yet'
 
-    global _wxPyCallAfterId
-    if _wxPyCallAfterId is None:
-        _wxPyCallAfterId = wx.NewEventType()
-        app.Connect(-1, -1, _wxPyCallAfterId,
-              lambda event: event.callable(*event.args, **event.kw) )
+    if not hasattr(app, "_CallAfterId"):
+        app._CallAfterId = wx.NewEventType()
+        app.Connect(-1, -1, app._CallAfterId,
+                    lambda event: event.callable(*event.args, **event.kw) )
     evt = wx.PyEvent()
-    evt.SetEventType(_wxPyCallAfterId)
+    evt.SetEventType(app._CallAfterId)
     evt.callable = callable
     evt.args = args
     evt.kw = kw
     wx.PostEvent(app, evt)
 
-
 #----------------------------------------------------------------------------
 
 
 class FutureCall:
     """
-    A convenience class for wx.Timer, that calls the given callable
+    A convenience class for `wx.Timer`, that calls the given callable
     object once after the given amount of milliseconds, passing any
     positional or keyword args.  The return value of the callable is
     availbale after it has been run with the `GetResult` method.