diff --git a/etg/app.py b/etg/app.py index 0d77cd09..af633a1e 100644 --- a/etg/app.py +++ b/etg/app.py @@ -473,7 +473,7 @@ def run(): - module.addPyClass('PySimpleApp', ['App'], deprecated=True, + module.addPyClass('PySimpleApp', ['App'], deprecated="Use wx.App.", doc="""This class is deprecated. Please use wx.App instead.""", items=[ PyFunctionDef('__init__', '(self, *args, **kw)', diff --git a/etg/bitmap.py b/etg/bitmap.py index 2dae4b51..27c42119 100644 --- a/etg/bitmap.py +++ b/etg/bitmap.py @@ -233,7 +233,7 @@ def run(): """) module.addPyFunction('BitmapFromBuffer', '(width, height, dataBuffer, alphaBuffer=None)', - deprecated=True, + deprecated="Use Bitmap.FromBuffer or Bitmap.FromBufferAndAlpha.", doc='A compatibility wrapper for Bitmap.FromBuffer and Bitmap.FromBufferAndAlpha', body="""\ if alphaBuffer is not None: @@ -275,7 +275,7 @@ def run(): """) module.addPyFunction('BitmapFromBufferRGBA', '(width, height, dataBuffer)', - deprecated=True, + deprecated="Use Bitmap.FromBufferRGBA.", doc='A compatibility wrapper for Bitmap.FromBufferRGBA', body='return Bitmap.FromBufferRGBA(width, height, dataBuffer)') @@ -320,7 +320,7 @@ def run(): """) module.addPyFunction('EmptyBitmapRGBA', '(width, height, red=0, green=0, blue=0, alpha=0)', - deprecated=True, + deprecated="Use Bitmap.FromRGBA.", doc='A compatibility wrapper for Bitmap.FromRGBA', body='return Bitmap.FromRGBA(width, height, red, green, blue, alpha)') @@ -328,7 +328,7 @@ def run(): # For compatibility: module.addPyFunction('EmptyBitmap', '(width, height, depth=BITMAP_SCREEN_DEPTH)', - deprecated=True, + deprecated="Use wx.Bitmap instead", doc='A compatibility wrapper for the wx.Bitmap(width, height, depth) constructor', body='return Bitmap(width, height, depth)') diff --git a/etg/calctrl.py b/etg/calctrl.py index c3c09510..5643f326 100644 --- a/etg/calctrl.py +++ b/etg/calctrl.py @@ -64,9 +64,9 @@ def run(): c.find('SetAttr.attr').transfer = True c.addPyCode("""\ - {name}.PyGetDate = wx.deprecated({name}.GetDate) - {name}.PySetDate = wx.deprecated({name}.SetDate) - {name}.PySetDateRange = wx.deprecated({name}.SetDateRange) + {name}.PyGetDate = wx.deprecated({name}.GetDate, 'Use GetDate.') + {name}.PySetDate = wx.deprecated({name}.SetDate, 'Use SetDate.') + {name}.PySetDateRange = wx.deprecated({name}.SetDateRange, 'Use SetDateRange.') """.format(name=c.name[2:])) cc.find('EnableYearChange').ignore() diff --git a/etg/colour.py b/etg/colour.py index 3a262a8c..1cc38498 100644 --- a/etg/colour.py +++ b/etg/colour.py @@ -270,8 +270,7 @@ def run(): return 0; // not a new instance """ - - module.addPyCode('NamedColour = wx.deprecated(Colour)') + module.addPyCode('NamedColour = wx.deprecated(Colour, "Use Colour.")') # Just for TESTING, remove it later diff --git a/etg/control.py b/etg/control.py index 156b49e1..49cea377 100644 --- a/etg/control.py +++ b/etg/control.py @@ -36,7 +36,7 @@ def run(): tools.fixWindowClass(c) - module.addPyCode("PyControl = wx.deprecated(Control)") + module.addPyCode("PyControl = wx.deprecated(Control, 'Use Control.')") #----------------------------------------------------------------- tools.doCommonTweaks(module) diff --git a/etg/cursor.py b/etg/cursor.py index ef556805..2030fd2f 100644 --- a/etg/cursor.py +++ b/etg/cursor.py @@ -77,8 +77,8 @@ def run(): module.addPyCode(pycode) # former renamed constructors - module.addPyCode('StockCursor = wx.deprecated(Cursor)') - module.addPyCode('CursorFromImage = wx.deprecated(Cursor)') + module.addPyCode('StockCursor = wx.deprecated(Cursor, "Use Cursor instead")') + module.addPyCode('CursorFromImage = wx.deprecated(Cursor, "Use Cursor instead")') #----------------------------------------------------------------- tools.doCommonTweaks(module) diff --git a/etg/dataobj.py b/etg/dataobj.py index b09d9b02..173da01e 100644 --- a/etg/dataobj.py +++ b/etg/dataobj.py @@ -356,9 +356,9 @@ def run(): #------------------------------------------------------------ - module.addPyCode("PyDataObjectSimple = wx.deprecated(DataObjectSimple)") - module.addPyCode("PyTextDataObject = wx.deprecated(TextDataObject)") - module.addPyCode("PyBitmapDataObject = wx.deprecated(BitmapDataObject)") + module.addPyCode("PyDataObjectSimple = wx.deprecated(DataObjectSimple), 'Use DataObjectSimple.'") + module.addPyCode("PyTextDataObject = wx.deprecated(TextDataObject, 'Use TextDataObject.')") + module.addPyCode("PyBitmapDataObject = wx.deprecated(BitmapDataObject, 'Use TextDataObject.')") #----------------------------------------------------------------- tools.doCommonTweaks(module) diff --git a/etg/dateevt.py b/etg/dateevt.py index d4132afc..69ba653f 100644 --- a/etg/dateevt.py +++ b/etg/dateevt.py @@ -43,8 +43,8 @@ def run(): """) c.addPyCode("""\ - DateEvent.PyGetDate = wx.deprecated(DateEvent.GetDate) - DateEvent.PySetDate = wx.deprecated(DateEvent.SetDate) + DateEvent.PyGetDate = wx.deprecated(DateEvent.GetDate, 'Use GetDate.') + DateEvent.PySetDate = wx.deprecated(DateEvent.SetDate, 'Use GetDate.') """) #----------------------------------------------------------------- diff --git a/etg/dc.py b/etg/dc.py index e08753ab..a5aff775 100644 --- a/etg/dc.py +++ b/etg/dc.py @@ -118,7 +118,7 @@ def run(): self->DrawLabel(*text, *bitmap, *rect, alignment, indexAccel, &rv); return new wxRect(rv); """) - c.addPyCode('DC.DrawImageLabel = wx.deprecated(DC.DrawLabel)') + c.addPyCode('DC.DrawImageLabel = wx.deprecated(DC.DrawLabel, "Use DrawLabel.")') # Return the array instead of using an output parameter m = c.find('GetPartialTextExtents') diff --git a/etg/dnd.py b/etg/dnd.py index c490f417..df633268 100644 --- a/etg/dnd.py +++ b/etg/dnd.py @@ -79,7 +79,7 @@ def run(): c.find('wxDropTarget.data').transfer = True c.find('SetDataObject.data').transfer = True - module.addPyCode("PyDropTarget = wx.deprecated(DropTarget)") + module.addPyCode("PyDropTarget = wx.deprecated(DropTarget, 'Use DropTarget.')") diff --git a/etg/event.py b/etg/event.py index ba0e4d7c..75b9297b 100644 --- a/etg/event.py +++ b/etg/event.py @@ -296,7 +296,7 @@ def run(): return event.Unbind(self, id, id2, handler) """) - module.addPyCode('PyEvtHandler = wx.deprecated(EvtHandler)') + module.addPyCode('PyEvtHandler = wx.deprecated(EvtHandler, "Use EvtHandler.")') #--------------------------------------- diff --git a/etg/evtloop.py b/etg/evtloop.py index d14736f3..0f8e8619 100644 --- a/etg/evtloop.py +++ b/etg/evtloop.py @@ -73,7 +73,7 @@ def run(): """)) module.addPyCode("""\ - @wx.deprecated + @wx.deprecatedMsg('Use GUIEventLoop.') class EventLoop(GUIEventLoop): '''Class using the old name for compatibility.''' def __init__(self): diff --git a/etg/filesys.py b/etg/filesys.py index 51f29272..745bb28c 100644 --- a/etg/filesys.py +++ b/etg/filesys.py @@ -55,7 +55,7 @@ def run(): c = module.find('wxArchiveFSHandler') c.addPrivateCopyCtor(); - module.addPyCode('ZipFSHandler = wx.deprecated(ArchiveFSHandler)') + module.addPyCode('ZipFSHandler = wx.deprecated(ArchiveFSHandler, "Use ArchiveFSHandler.")') c = module.find('wxFSFile') c.addPrivateCopyCtor(); diff --git a/etg/graphics.py b/etg/graphics.py index db876fb8..61e4142a 100644 --- a/etg/graphics.py +++ b/etg/graphics.py @@ -102,7 +102,7 @@ def run(): return sipBuildResult(0, "(dd)", width, height); """) - c.addPyCode("GraphicsContext.DrawRotatedText = wx.deprecated(GraphicsContext.DrawText)") + c.addPyCode("GraphicsContext.DrawRotatedText = wx.deprecated(GraphicsContext.DrawText, 'Use DrawText.')") c.addCppCode(tools.ObjArrayHelperTemplate('wxPoint2D', 'sipType_wxPoint2DDouble', diff --git a/etg/image.py b/etg/image.py index 093de01c..f3664afd 100644 --- a/etg/image.py +++ b/etg/image.py @@ -483,27 +483,27 @@ def run(): # For compatibility: module.addPyFunction('EmptyImage', '(width=0, height=0, clear=True)', - deprecated=True, + deprecated="Use wx.Image.", doc='A compatibility wrapper for the wx.Image(width, height) constructor', body='return Image(width, height, clear)') module.addPyFunction('ImageFromBitmap', '(bitmap)', - deprecated=True, + deprecated="Use wx.Image.", doc='Create a wx.Image from a wx.Bitmap', body='return bitmap.ConvertToImage()') module.addPyFunction('ImageFromData', '(width, height, data)', - deprecated=True, + deprecated="Use wx.Image.", doc='Compatibility wrapper for creating an image from RGB data', body='return Image(width, height, data)') module.addPyFunction('ImageFromDataWithAlpha', '(width, height, data, alpha)', - deprecated=True, + deprecated="Use wx.Image.", doc='Compatibility wrapper for creating an image from RGB and Alpha data', body='return Image(width, height, data, alpha)') - + module.addPyFunction('ImageFromBuffer', '(width, height, dataBuffer, alphaBuffer=None)', doc="""\ Creates a `wx.Image` from the data in dataBuffer. The dataBuffer diff --git a/etg/kbdstate.py b/etg/kbdstate.py index c5432147..ffcae404 100644 --- a/etg/kbdstate.py +++ b/etg/kbdstate.py @@ -43,10 +43,10 @@ def run(): c.addPyCode("""\ # For 2.8 compatibility - KeyboardState.m_controlDown = wx.deprecated(KeyboardState.controlDown) - KeyboardState.m_shiftDown = wx.deprecated(KeyboardState.shiftDown) - KeyboardState.m_altDown = wx.deprecated(KeyboardState.altDown) - KeyboardState.m_metaDown = wx.deprecated(KeyboardState.metaDown) + KeyboardState.m_controlDown = wx.deprecated(KeyboardState.controlDown, "Use controlDown.") + KeyboardState.m_shiftDown = wx.deprecated(KeyboardState.shiftDown, "Use shiftDown.") + KeyboardState.m_altDown = wx.deprecated(KeyboardState.altDown, "Use altDown.") + KeyboardState.m_metaDown = wx.deprecated(KeyboardState.metaDown, "Use metaDown.") """) #----------------------------------------------------------------- diff --git a/etg/listctrl.py b/etg/listctrl.py index 93173646..5ba45a2f 100644 --- a/etg/listctrl.py +++ b/etg/listctrl.py @@ -183,12 +183,12 @@ def run(): # Some deprecated aliases for Classic renames - c.addPyCode('ListCtrl.FindItemData = wx.deprecated(ListCtrl.FindItem)') - c.addPyCode('ListCtrl.FindItemAtPos = wx.deprecated(ListCtrl.FindItem)') - c.addPyCode('ListCtrl.InsertStringItem = wx.deprecated(ListCtrl.InsertItem)') - c.addPyCode('ListCtrl.InsertImageItem = wx.deprecated(ListCtrl.InsertItem)') - c.addPyCode('ListCtrl.InsertImageStringItem = wx.deprecated(ListCtrl.InsertItem)') - c.addPyCode('ListCtrl.SetStringItem = wx.deprecated(ListCtrl.SetItem)') + c.addPyCode('ListCtrl.FindItemData = wx.deprecated(ListCtrl.FindItem, "Use FindItem.")') + c.addPyCode('ListCtrl.FindItemAtPos = wx.deprecated(ListCtrl.FindItem, "Use FindItem.")') + c.addPyCode('ListCtrl.InsertStringItem = wx.deprecated(ListCtrl.InsertItem, "Use InsertItem.")') + c.addPyCode('ListCtrl.InsertImageItem = wx.deprecated(ListCtrl.InsertItem, "Use InsertItem.")') + c.addPyCode('ListCtrl.InsertImageStringItem = wx.deprecated(ListCtrl.InsertItem, "Use InsertItem.")') + c.addPyCode('ListCtrl.SetStringItem = wx.deprecated(ListCtrl.SetItem, "Use SetItem.")') # Provide a way to determine if column ordering is possble diff --git a/etg/menu.py b/etg/menu.py index 3aae04a2..f69a2781 100644 --- a/etg/menu.py +++ b/etg/menu.py @@ -50,19 +50,19 @@ def run(): c.find('AppendSubMenu.submenu').transfer = True c.find('GetMenuItems').ignore() # keep the overload, but not the first one. - c.addPyMethod('AppendMenu', '(self, id, item, subMenu, help="")', deprecated=True, + c.addPyMethod('AppendMenu', '(self, id, item, subMenu, help="")', deprecated='Use Append.', body='return self.Append(id, item, subMenu, help)') - c.addPyMethod('AppendItem', '(self, menuItem)', deprecated=True, + c.addPyMethod('AppendItem', '(self, menuItem)', deprecated='Use Append.', body='return self.Append(menuItem)') - c.addPyMethod('InsertMenu', '(self, pos, id, item, subMenu, help="")', deprecated=True, + c.addPyMethod('InsertMenu', '(self, pos, id, item, subMenu, help="")', deprecated='Use Insert.', body='return self.Insert(pos, id, item, subMenu, help)') - c.addPyMethod('InsertItem', '(self, pos, menuItem)', deprecated=True, + c.addPyMethod('InsertItem', '(self, pos, menuItem)', deprecated='Use Insert.', body='return self.Insert(pos, menuItem)') - c.addPyMethod('PrependMenu', '(self, id, item, subMenu, help="")', deprecated=True, + c.addPyMethod('PrependMenu', '(self, id, item, subMenu, help="")', deprecated='Use Prepend.', body='return self.Prepend(id, item, subMenu, help)') - c.addPyMethod('PrependItem', '(self, menuItem)', deprecated=True, + c.addPyMethod('PrependItem', '(self, menuItem)', deprecated='Use Prepend.', body='return self.Prepend(menuItem)') # Don't hide the Destroy inherited from wxObject diff --git a/etg/panel.py b/etg/panel.py index 5e6b864c..fa45fc6d 100644 --- a/etg/panel.py +++ b/etg/panel.py @@ -35,7 +35,7 @@ def run(): c.find('OnSysColourChanged').ignore() tools.fixWindowClass(c) - module.addPyCode("PyPanel = wx.deprecated(Panel)") + module.addPyCode("PyPanel = wx.deprecated(Panel, 'Use Panel.')") #----------------------------------------------------------------- tools.doCommonTweaks(module) diff --git a/etg/printfw.py b/etg/printfw.py index 75e221a2..7eebc486 100644 --- a/etg/printfw.py +++ b/etg/printfw.py @@ -73,7 +73,7 @@ def run(): c.addCppMethod('int', '__nonzero__', '()', """\ return self->IsOk(); """) - c.addPyCode("PrintPreview.Ok = wx.deprecated(PrintPreview.IsOk)") + c.addPyCode("PrintPreview.Ok = wx.deprecated(PrintPreview.IsOk, 'Use IsOk.')") c = module.find('wxPrinter') c.addPrivateCopyCtor() @@ -98,10 +98,10 @@ def run(): # deprecated classes - module.addPyCode("PyPrintPreview = wx.deprecated(PrintPreview)") - module.addPyCode("PyPreviewFrame = wx.deprecated(PreviewFrame)") - module.addPyCode("PyPreviewControlBar = wx.deprecated(PreviewControlBar)") - module.addPyCode("PyPrintout = wx.deprecated(Printout)") + module.addPyCode("PyPrintPreview = wx.deprecated(PrintPreview, 'Use PrintPreview.')") + module.addPyCode("PyPreviewFrame = wx.deprecated(PreviewFrame, 'Use PreviewFrame.')") + module.addPyCode("PyPreviewControlBar = wx.deprecated(PreviewControlBar, 'Use PreviewControlBar.')") + module.addPyCode("PyPrintout = wx.deprecated(Printout, 'Use Printout.')") #----------------------------------------------------------------- tools.doCommonTweaks(module) diff --git a/etg/scrolwin.py b/etg/scrolwin.py index 46ca8e9d..21cc0e24 100644 --- a/etg/scrolwin.py +++ b/etg/scrolwin.py @@ -146,7 +146,7 @@ def run(): scrolled.ignore() - module.addPyCode("PyScrolledWindow = wx.deprecated(ScrolledWindow)") + module.addPyCode("PyScrolledWindow = wx.deprecated(ScrolledWindow, 'Use ScrolledWindow.')") #----------------------------------------------------------------- tools.doCommonTweaks(module) diff --git a/etg/sizer.py b/etg/sizer.py index 390cfc5d..857057fa 100644 --- a/etg/sizer.py +++ b/etg/sizer.py @@ -154,7 +154,7 @@ def run(): - module.addPyCode("PySizer = wx.deprecated(Sizer)") + module.addPyCode("PySizer = wx.deprecated(Sizer, 'Use Sizer.')") module.addItem(tools.wxListWrapperTemplate('wxSizerItemList', 'wxSizerItem', module)) diff --git a/etg/toolbar.py b/etg/toolbar.py index ec4c4693..d91d24cf 100644 --- a/etg/toolbar.py +++ b/etg/toolbar.py @@ -81,7 +81,7 @@ def run(): # TODO: Which others are commonly enough used that they should be here too? c.addPyMethod('AddSimpleTool', '(self, toolId, bitmap, shortHelpString="", longHelpString="", isToggle=0)', doc='Old style method to add a tool to the toolbar.', - deprecated=True, + deprecated='Use AddTool.', body="""\ kind = wx.ITEM_NORMAL if isToggle: kind = wx.ITEM_CHECK @@ -92,7 +92,7 @@ def run(): '(self, id, label, bitmap, bmpDisabled=wx.NullBitmap, kind=wx.ITEM_NORMAL,' ' shortHelp="", longHelp="", clientData=None)', doc='Old style method to add a tool in the toolbar.', - deprecated=True, + deprecated='Use AddTool.', body="""\ return self.AddTool(id, label, bitmap, bmpDisabled, kind, shortHelp, longHelp, clientData) @@ -100,7 +100,7 @@ def run(): c.addPyMethod('InsertSimpleTool', '(self, pos, toolId, bitmap, shortHelpString="", longHelpString="", isToggle=0)', doc='Old style method to insert a tool in the toolbar.', - deprecated=True, + deprecated='Use InsertTool.', body="""\ kind = wx.ITEM_NORMAL if isToggle: kind = wx.ITEM_CHECK @@ -111,7 +111,7 @@ def run(): '(self, pos, id, label, bitmap, bmpDisabled=wx.NullBitmap, kind=wx.ITEM_NORMAL,' ' shortHelp="", longHelp="", clientData=None)', doc='Old style method to insert a tool in the toolbar.', - deprecated=True, + deprecated='Use InsertTool.', body="""\ return self.InsertTool(pos, id, label, bitmap, bmpDisabled, kind, shortHelp, longHelp, clientData) diff --git a/etg/treectrl.py b/etg/treectrl.py index 1f839762..e944b14c 100644 --- a/etg/treectrl.py +++ b/etg/treectrl.py @@ -59,8 +59,8 @@ def run(): item.transfer = True c.addPyCode("""\ - TreeCtrl.GetItemPyData = wx.deprecated(TreeCtrl.GetItemData) - TreeCtrl.SetItemPyData = wx.deprecated(TreeCtrl.SetItemData) + TreeCtrl.GetItemPyData = wx.deprecated(TreeCtrl.GetItemData, 'Use GetItemData.') + TreeCtrl.SetItemPyData = wx.deprecated(TreeCtrl.SetItemData, 'Use SetItemData.') """) diff --git a/etg/validate.py b/etg/validate.py index 5735203e..79a26fa0 100644 --- a/etg/validate.py +++ b/etg/validate.py @@ -34,7 +34,7 @@ def run(): assert isinstance(c, etgtools.ClassDef) c.find('Clone').factory = True - module.addPyCode("PyValidator = wx.deprecated(Validator)") + module.addPyCode("PyValidator = wx.deprecated(Validator, 'Use Validator.')") #----------------------------------------------------------------- tools.doCommonTweaks(module) diff --git a/etg/window.py b/etg/window.py index e734e79d..98c81d05 100644 --- a/etg/window.py +++ b/etg/window.py @@ -132,7 +132,7 @@ def run(): body="""\ self->SetSize(x, y, width, height, sizeFlags); """) - c.addPyCode("Window.SetDimensions = wx.deprecated(Window.SetDimensions)") + c.addPyCode("Window.SetDimensions = wx.deprecated(Window.SetDimensions, 'Use SetSize.')") # Make the Register/UnregisterHotKey functions be available on Windows, # and empty stubs otherwise @@ -180,7 +180,7 @@ def run(): c.find('SendDestroyEvent').ignore(False) c.find('Destroy').transferThis=True - c.addPyMethod('PostCreate', '(self, pre)', 'pass', deprecated=True) + c.addPyMethod('PostCreate', '(self, pre)', 'pass', deprecated='PostCreate is no longer necessary.') # transfer ownership of these parameters to the C++ object c.find('SetCaret.caret').transfer = True @@ -254,14 +254,14 @@ def run(): tools.addSipConvertToSubClassCode(c) # for compatibility with Classic - c.addPyMethod('GetPositionTuple', '(self)', 'return self.GetPosition()', deprecated=True) - c.addPyMethod('MoveXY', '(self, x, y)', 'return self.Move(x, y)', deprecated=True) - c.addPyMethod('SetSizeWH', '(self, w, h)', 'return self.SetSize(w,h)', deprecated=True) - c.addPyMethod('SetVirtualSizeWH', '(self, w, h)', 'return self.SetVirtualSize(w,h)', deprecated=True) - c.addPyMethod('GetVirtualSizeTuple', '(self)', 'return self.GetVirtualSize()', deprecated=True) - c.addPyMethod('SetToolTipString', '(self, string)', 'return self.SetToolTip(string)', deprecated=True) - c.addPyMethod('ConvertDialogPointToPixels', '(self, point)', 'return self.ConvertDialogToPixels(point)', deprecated=True) - c.addPyMethod('ConvertDialogSizeToPixels', '(self, size)', 'return self.ConvertDialogToPixels(point)', deprecated=True) + c.addPyMethod('GetPositionTuple', '(self)', 'return self.GetPosition()', deprecated='Use GetPosition') + c.addPyMethod('MoveXY', '(self, x, y)', 'return self.Move(x, y)', deprecated='Use Move.') + c.addPyMethod('SetSizeWH', '(self, w, h)', 'return self.SetSize(w,h)', deprecated='Use SetSize.') + c.addPyMethod('SetVirtualSizeWH', '(self, w, h)', 'return self.SetVirtualSize(w,h)', deprecated='Use SetVirtualSize.') + c.addPyMethod('GetVirtualSizeTuple', '(self)', 'return self.GetVirtualSize()', deprecated='Use GetVirtualSize.') + c.addPyMethod('SetToolTipString', '(self, string)', 'return self.SetToolTip(string)', deprecated='Use SetToolTip') + c.addPyMethod('ConvertDialogPointToPixels', '(self, point)', 'return self.ConvertDialogToPixels(point)', deprecated='Use ConvertDialogToPixels.') + c.addPyMethod('ConvertDialogSizeToPixels', '(self, size)', 'return self.ConvertDialogToPixels(point)', deprecated='Use ConvertDialogToPixels.') #----------------------------------------------------------------------- # Other stuff @@ -291,7 +291,7 @@ def run(): briefDoc="Returns a list-like object of the the application's top-level windows, (frames,dialogs, etc.)", body="return &wxTopLevelWindows;") - module.addPyCode("PyWindow = wx.deprecated(Window)") + module.addPyCode("PyWindow = wx.deprecated(Window, 'Use Window.')") #----------------------------------------------------------------- tools.doCommonTweaks(module) diff --git a/etg/wxdatetime.py b/etg/wxdatetime.py index 5b327d2d..4f20a1cb 100644 --- a/etg/wxdatetime.py +++ b/etg/wxdatetime.py @@ -115,19 +115,19 @@ def run(): module.addPyFunction('DateTimeFromTimeT', '(timet)', doc="Compatibility wrapper for DateTime.FromTimeT", body="return DateTime.FromTimeT(timet)", - deprecated=True) + deprecated='Use DateTime.FromTimeT.') module.addPyFunction('DateTimeFromJDN', '(jdn)', doc="Compatibility wrapper for DateTime.FromJDN", body="return DateTime.FromJDN(jdn)", - deprecated=True) + deprecated='Use DateTime.FromJDN') module.addPyFunction('DateTimeFromHMS', '(hour, minute=0, second=0, millisecond=0)', doc="Compatibility wrapper for DateTime.FromHMS", body="return DateTime.FromHMS(hour, minute, second, millisecond)", - deprecated=True) + deprecated='DateTime.FromHMS') module.addPyFunction('DateTimeFromDMY', '(day, month, year=DateTime.Inv_Year, hour=0, minute=0, second=0, millisecond=0)', doc="Compatibility wrapper for DateTime.FromDMY", body="return DateTime.FromDMY(day, month, year, hour, minute, second, millisecond)", - deprecated=True) + deprecated='Use DateTime.FromDMY') # Fixup similar conflicts in the Set method overloads diff --git a/etgtools/sip_generator.py b/etgtools/sip_generator.py index 30bfef65..d511dd9f 100644 --- a/etgtools/sip_generator.py +++ b/etgtools/sip_generator.py @@ -340,7 +340,10 @@ from .%s import * stream.write(', order=%d' % pf.order) stream.write(')\n') if pf.deprecated: - stream.write('%s@wx.deprecated\n' % indent) + if isinstance(pf.deprecated, int): + stream.write('%s@wx.deprecated\n' % indent) + else: + stream.write('%s@wx.deprecatedMsg(%s)\n' % (indent, pf.deprecated)) if pf.isStatic: stream.write('%s@staticmethod\n' % indent) stream.write('%sdef %s%s:\n' % (indent, pf.name, pf.argsString)) @@ -366,7 +369,10 @@ from .%s import * # write the class declaration and docstring if pc.deprecated: - stream.write('%s@wx.deprecated\n' % indent) + if isinstance(pc.deprecated, int): + stream.write('%s@wx.deprecated\n' % indent) + else: + stream.write('%s@wx.deprecatedMsg(%s)\n' % (indent, pc.deprecated)) stream.write('%sclass %s' % (indent, pc.name)) if pc.bases: stream.write('(%s):\n' % ', '.join(pc.bases)) @@ -847,7 +853,10 @@ from .%s import * stream.write(nci('"""\n%s"""\n' % doc, 4)) stream.write(nci(pm.body, 4)) if pm.deprecated: - stream.write('%s.%s = wx.deprecated(_%s_%s)\n' % (klassName, pm.name, klassName, pm.name)) + if isinstance(pm.deprecated, int): + stream.write('%s.%s = wx.deprecated(_%s_%s)\n' % (klassName, pm.name, klassName, pm.name)) + else: + stream.write('%s.%s = wx.deprecated(_%s_%s, "%s")\n' % (klassName, pm.name, klassName, pm.name, pm.deprecated)) else: stream.write('%s.%s = _%s_%s\n' % (klassName, pm.name, klassName, pm.name)) stream.write('del _%s_%s\n' % (klassName, pm.name)) diff --git a/src/core_ex.py b/src/core_ex.py index 4f798331..8ea5c456 100644 --- a/src/core_ex.py +++ b/src/core_ex.py @@ -30,18 +30,26 @@ warnings.simplefilter('default', wxPyDeprecationWarning) del warnings -def deprecated(item, msg=''): +def deprecated(item, msg='', useName=False): """ Create a delegating wrapper that raises a deprecation warning. Can be used with callable objects (functions, methods, classes) or with properties. """ import warnings + + name = '' + if useName: + try: + name = ' ' + item.__name__ + except AttributeError: + pass + if isinstance(item, type): # It is a class. Make a subclass that raises a warning. class DeprecatedClassProxy(item): def __init__(*args, **kw): - warnings.warn("Using deprecated class %s. %s" % (item.__name__, msg), + warnings.warn("Using deprecated class%s. %s" % (name, msg), wxPyDeprecationWarning, stacklevel=2) item.__init__(*args, **kw) DeprecatedClassProxy.__name__ = item.__name__ @@ -50,7 +58,7 @@ def deprecated(item, msg=''): elif callable(item): # wrap a new function around the callable def deprecated_func(*args, **kw): - warnings.warn("Call to deprecated item '%s'. %s" % (item.__name__, msg), + warnings.warn("Call to deprecated item%s. %s" % (name, msg), wxPyDeprecationWarning, stacklevel=2) return item(*args, **kw) deprecated_func.__name__ = item.__name__ @@ -90,6 +98,16 @@ def deprecated(item, msg=''): raise TypeError("unsupported type %s" % type(item)) +def deprecatedMsg(msg): + """ + A wrapper for the deprecated decorator that makes it easier to attach a + custom message to the warning that is raised if the item is used. This + can also be used in the @decorator role since it returns the real + decorator when called. + """ + import functools + return functools.partial(deprecated, msg=msg, useName=True) + #---------------------------------------------------------------------------- EmptyString = ""