X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5acb46e0cde04773273611029a3b439d74c67bec..365271b573e3d0ab7512471358f98a589f18c104:/wxPython/src/gtk/_core.py diff --git a/wxPython/src/gtk/_core.py b/wxPython/src/gtk/_core.py index 1138962a0b..bcdab6ff04 100644 --- a/wxPython/src/gtk/_core.py +++ b/wxPython/src/gtk/_core.py @@ -705,9 +705,18 @@ class Object(object): Deletes the C++ object this Python object is a proxy for. """ - val = _core_.Object_Destroy(*args, **kwargs) - args[0].thisown = 0 - return val + 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) @@ -735,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 @@ -841,6 +851,14 @@ class Size(object): """ return _core_.Size_DecTo(*args, **kwargs) + def IncBy(*args, **kwargs): + """IncBy(self, int dx, int dy)""" + return _core_.Size_IncBy(*args, **kwargs) + + def DecBy(*args, **kwargs): + """DecBy(self, int dx, int dy)""" + return _core_.Size_DecBy(*args, **kwargs) + def Scale(*args, **kwargs): """ Scale(self, float xscale, float yscale) @@ -1365,9 +1383,12 @@ class Rect(object): """ return _core_.Rect_ContainsRect(*args, **kwargs) - Inside = wx._deprecated(Contains, "Use `Contains` instead.") - InsideXY = wx._deprecated(ContainsXY, "Use `ContainsXY` instead.") - InsideRect = wx._deprecated(ContainsRect, "Use `ContainsRect` instead.") + #Inside = wx._deprecated(Contains, "Use `Contains` instead.") + #InsideXY = wx._deprecated(ContainsXY, "Use `ContainsXY` instead.") + #InsideRect = wx._deprecated(ContainsRect, "Use `ContainsRect` instead.") + Inside = Contains + InsideXY = ContainsXY + InsideRect = ContainsRect def Intersects(*args, **kwargs): """ @@ -1490,6 +1511,8 @@ class Point2D(object): Create a w.Point2D object. """ _core_.Point2D_swiginit(self,_core_.new_Point2D(*args, **kwargs)) + __swig_destroy__ = _core_.delete_Point2D + __del__ = lambda self : None; def GetFloor(*args, **kwargs): """ GetFloor() -> (x,y) @@ -1637,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 @@ -1793,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)""" @@ -2028,6 +2305,8 @@ def MemoryFSHandler_RemoveFile(*args, **kwargs): IMAGE_ALPHA_TRANSPARENT = _core_.IMAGE_ALPHA_TRANSPARENT IMAGE_ALPHA_THRESHOLD = _core_.IMAGE_ALPHA_THRESHOLD IMAGE_ALPHA_OPAQUE = _core_.IMAGE_ALPHA_OPAQUE +IMAGE_QUALITY_NORMAL = _core_.IMAGE_QUALITY_NORMAL +IMAGE_QUALITY_HIGH = _core_.IMAGE_QUALITY_HIGH #--------------------------------------------------------------------------- class ImageHandler(Object): @@ -2306,20 +2585,61 @@ class Image(Object): Destroys the image data. """ - val = _core_.Image_Destroy(*args, **kwargs) - args[0].thisown = 0 - return val + args[0].this.own(False) + return _core_.Image_Destroy(*args, **kwargs) def Scale(*args, **kwargs): """ - Scale(self, int width, int height) -> Image + Scale(self, int width, int height, int quality=IMAGE_QUALITY_NORMAL) -> Image Returns a scaled version of the image. This is also useful for scaling bitmaps in general as the only other way to scale bitmaps is to blit a - `wx.MemoryDC` into another `wx.MemoryDC`. + `wx.MemoryDC` into another `wx.MemoryDC`. The ``quality`` parameter + specifies what method to use for resampling the image. It can be + either wx.IMAGE_QUALITY_NORMAL, which uses the normal default scaling + method of pixel replication, or wx.IMAGE_QUALITY_HIGH which uses + bicubic and box averaging resampling methods for upsampling and + downsampling respectively. """ return _core_.Image_Scale(*args, **kwargs) + def ResampleBox(*args, **kwargs): + """ResampleBox(self, int width, int height) -> Image""" + return _core_.Image_ResampleBox(*args, **kwargs) + + def ResampleBicubic(*args, **kwargs): + """ResampleBicubic(self, int width, int height) -> Image""" + return _core_.Image_ResampleBicubic(*args, **kwargs) + + def Blur(*args, **kwargs): + """ + Blur(self, int radius) -> Image + + Blurs the image in both horizontal and vertical directions by the + specified pixel ``radius``. This should not be used when using a + single mask colour for transparency. + """ + return _core_.Image_Blur(*args, **kwargs) + + def BlurHorizontal(*args, **kwargs): + """ + BlurHorizontal(self, int radius) -> Image + + Blurs the image in the horizontal direction only. This should not be + used when using a single mask colour for transparency. + + """ + return _core_.Image_BlurHorizontal(*args, **kwargs) + + def BlurVertical(*args, **kwargs): + """ + BlurVertical(self, int radius) -> Image + + Blurs the image in the vertical direction only. This should not be + used when using a single mask colour for transparency. + """ + return _core_.Image_BlurVertical(*args, **kwargs) + def ShrinkBy(*args, **kwargs): """ ShrinkBy(self, int xFactor, int yFactor) -> Image @@ -2330,7 +2650,7 @@ class Image(Object): def Rescale(*args, **kwargs): """ - Rescale(self, int width, int height) -> Image + Rescale(self, int width, int height, int quality=IMAGE_QUALITY_NORMAL) -> Image Changes the size of the image in-place by scaling it: after a call to this function, the image will have the given width and height. @@ -2594,14 +2914,15 @@ class Image(Object): """ return _core_.Image_LoadMimeStream(*args, **kwargs) - def Ok(*args, **kwargs): + def IsOk(*args, **kwargs): """ - Ok(self) -> bool + IsOk(self) -> bool Returns true if image data is present. """ - return _core_.Image_Ok(*args, **kwargs) + return _core_.Image_IsOk(*args, **kwargs) + Ok = IsOk def GetWidth(*args, **kwargs): """ GetWidth(self) -> int @@ -2979,7 +3300,7 @@ class Image(Object): return _core_.Image_HSVtoRGB(*args, **kwargs) HSVtoRGB = staticmethod(HSVtoRGB) - def __nonzero__(self): return self.Ok() + def __nonzero__(self): return self.IsOk() AlphaBuffer = property(GetAlphaBuffer,SetAlphaBuffer,doc="See `GetAlphaBuffer` and `SetAlphaBuffer`") AlphaData = property(GetAlphaData,SetAlphaData,doc="See `GetAlphaData` and `SetAlphaData`") Data = property(GetData,SetData,doc="See `GetData` and `SetData`") @@ -2988,7 +3309,6 @@ class Image(Object): MaskBlue = property(GetMaskBlue,doc="See `GetMaskBlue`") MaskGreen = property(GetMaskGreen,doc="See `GetMaskGreen`") MaskRed = property(GetMaskRed,doc="See `GetMaskRed`") - Size = property(GetSize,doc="See `GetSize`") Width = property(GetWidth,doc="See `GetWidth`") _core_.Image_swigregister(Image) @@ -3348,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): @@ -3436,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): @@ -3514,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): """ @@ -3948,14 +4290,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) @@ -6675,13 +7016,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): @@ -6916,7 +7256,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.) @@ -7409,6 +7749,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() @@ -7428,8 +7771,8 @@ in on the main display of your Mac.""" destroy(self) def Destroy(self): + self.this.own(False) wx.PyApp.Destroy(self) - self.thisown = 0 def SetTopWindow(self, frame): """Set the \"main\" top level window""" @@ -7744,10 +8087,11 @@ class AcceleratorTable(Object): _core_.AcceleratorTable_swiginit(self,_core_.new_AcceleratorTable(*args, **kwargs)) __swig_destroy__ = _core_.delete_AcceleratorTable __del__ = lambda self : None; - def Ok(*args, **kwargs): - """Ok(self) -> bool""" - return _core_.AcceleratorTable_Ok(*args, **kwargs) + def IsOk(*args, **kwargs): + """IsOk(self) -> bool""" + return _core_.AcceleratorTable_IsOk(*args, **kwargs) + Ok = IsOk _core_.AcceleratorTable_swigregister(AcceleratorTable) @@ -7834,9 +8178,8 @@ class Window(EvtHandler): Returns True if the window has either been successfully deleted, or it has been added to the list of windows pending real deletion. """ - val = _core_.Window_Destroy(*args, **kwargs) - args[0].thisown = 0 - return val + args[0].this.own(False) + return _core_.Window_Destroy(*args, **kwargs) def DestroyChildren(*args, **kwargs): """ @@ -8047,21 +8390,22 @@ 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) 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) @@ -8070,7 +8414,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) @@ -8263,29 +8607,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) - - def GetAdjustedBestSize(*args, **kwargs): - """ - GetAdjustedBestSize(self) -> Size + return _core_.Window_GetEffectiveMinSize(*args, **kwargs) - 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): """ @@ -8471,6 +8809,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 @@ -8584,6 +8930,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) @@ -9121,7 +9476,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. """ @@ -9184,6 +9539,17 @@ class Window(EvtHandler): """ return _core_.Window_PrepareDC(*args, **kwargs) + def IsDoubleBuffered(*args, **kwargs): + """ + IsDoubleBuffered(self) -> bool + + Returns ``True`` if the window contents is double-buffered by the + system, i.e. if any drawing done on the window is really done on a + temporary backing surface and transferred to the screen all at once + later. + """ + return _core_.Window_IsDoubleBuffered(*args, **kwargs) + def GetUpdateRegion(*args, **kwargs): """ GetUpdateRegion(self) -> Region @@ -9991,17 +10357,16 @@ 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))) 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`") - 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`") @@ -10260,12 +10625,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) @@ -10374,9 +10737,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""" @@ -10392,29 +10761,16 @@ class Menu(EvtHandler): Deletes the C++ object this Python object is a proxy for. """ - val = _core_.Menu_Destroy(*args, **kwargs) - args[0].thisown = 0 - return val + args[0].this.own(False) + return _core_.Menu_Destroy(*args, **kwargs) def DestroyId(*args, **kwargs): - """ - DestroyId(self, int id) -> bool - - Deletes the C++ object this Python object is a proxy for. - """ - val = _core_.Menu_DestroyId(*args, **kwargs) - args[0].thisown = 0 - return val + """DestroyId(self, int id) -> bool""" + return _core_.Menu_DestroyId(*args, **kwargs) def DestroyItem(*args, **kwargs): - """ - DestroyItem(self, MenuItem item) -> bool - - Deletes the C++ object this Python object is a proxy for. - """ - val = _core_.Menu_DestroyItem(*args, **kwargs) - args[0].thisown = 0 - return val + """DestroyItem(self, MenuItem item) -> bool""" + return _core_.Menu_DestroyItem(*args, **kwargs) def GetMenuItemCount(*args, **kwargs): """GetMenuItemCount(self) -> size_t""" @@ -10695,13 +11051,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) @@ -10956,14 +11313,6 @@ class Control(Window): """ return _core_.Control_Command(*args, **kwargs) - def GetLabel(*args, **kwargs): - """ - GetLabel(self) -> String - - Return a control's text. - """ - return _core_.Control_GetLabel(*args, **kwargs) - def GetClassDefaultAttributes(*args, **kwargs): """ GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes @@ -10983,7 +11332,6 @@ class Control(Window): GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes) Alignment = property(GetAlignment,doc="See `GetAlignment`") - Label = property(GetLabel,doc="See `GetLabel`") LabelText = property(GetLabelText,doc="See `GetLabelText`") _core_.Control_swigregister(Control) ControlNameStr = cvar.ControlNameStr @@ -11058,7 +11406,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. @@ -11075,7 +11423,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 @@ -11086,7 +11434,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.) """ @@ -11094,7 +11442,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. """ @@ -11102,7 +11450,7 @@ class ItemContainer(object): def GetCount(*args, **kwargs): """ - GetCount(self) -> unsigned int + GetCount(self) -> int Returns the number of items in the control. """ @@ -11118,7 +11466,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. """ @@ -11130,7 +11478,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. """ @@ -12113,7 +12461,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)""" @@ -12986,6 +13334,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 @@ -13339,6 +13697,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 @@ -13358,7 +13734,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() @@ -13436,7 +13815,7 @@ def CallAfter(callable, *args, **kw): method calls from non-GUI threads. Any extra positional or keyword args are passed on to the callable when it is called. - :see: `wx.FutureCall` + :see: `wx.CallLater` """ app = wx.GetApp() assert app is not None, 'No wx.App created yet' @@ -13455,7 +13834,7 @@ def CallAfter(callable, *args, **kw): #---------------------------------------------------------------------------- -class FutureCall: +class CallLater: """ A convenience class for `wx.Timer`, that calls the given callable object once after the given amount of milliseconds, passing any @@ -13466,7 +13845,7 @@ class FutureCall: then there is no need to hold a reference to this object. It will hold a reference to itself while the timer is running (the timer has a reference to self.Notify) but the cycle will be broken when - the timer completes, automatically cleaning up the wx.FutureCall + the timer completes, automatically cleaning up the wx.CallLater object. :see: `wx.CallAfter` @@ -13556,6 +13935,9 @@ class FutureCall: Result = property(GetResult) +class FutureCall(CallLater): + """A compatibility alias for `CallLater`.""" + #---------------------------------------------------------------------------- # Control which items in this module should be documented by epydoc. # We allow only classes and functions, which will help reduce the size