← Back to team overview

kicad-developers team mailing list archive

Re: Patch to fix pcbnew example scripts and SWIG interface

 

Using 'XXX()' instead of 'GetXXX()' makes more sense if you're replacing a pair of Get/Set routines, but this is really only a consistency issue with Python.

- Cirilo

PS. Sorry for the top post; goddamned Yahoo doesn't allow a user to create messages in a sensible fashion anymore.  Stinking google's screwing things up too.  Is there anyone out there who still gives you good old plain text and quoting/indentation?



>________________________________
> From: Miguel Angel Ajo <miguelangel@xxxxxxx>
>To: Matthew Beckler <matthew.beckler@xxxxxxxxx> 
>Cc: KiCad Developers <kicad-developers@xxxxxxxxxxxxxxxxxxx> 
>Sent: Tuesday, April 9, 2013 6:27 AM
>Subject: Re: [Kicad-developers] Patch to fix pcbnew example scripts and SWIG interface
> 
>
>Hey, thanks a lot Matthew, 
>
>
>    This happened because of the ongoing class interface cleanup Wayne is working on, 
>    I will apply the patch as soon as I check it,
>
>
>    I put the GetValue / GetPads, etc in place, to be ready for those changes,
>but then It seems that later I forgot while writing the examples..
>
>
>     I think that it could make sense to change the GetXXX() to XXX() directly, just
>removing the wrappers, and keeping everything else the same way.
>
>
>     What do you think?
>
>
>Greetings,
>Mike.
>
>
>     
>
>
>Miguel Angel Ajo
>http://www.nbee.es/
>+34911407752
>skype: ajoajoajo
>
>
>On Monday, 8 de April de 2013 at 21:43, Matthew Beckler wrote:
>Hello,
>>
>>
>>I've been trying to explore the python scripting interface for pcbnew. I see that some changes have been made to the pcbnew/class_module.h file, such that GetReference() returns a wxString& and Reference() returns the TEXTE_MODULE& itself.
>>
>>
>>To get the scripting examples to work again, I made a few small changes in pcbnew/scripting/module.i :
>>
>>
>>=== modified file 'pcbnew/scripting/module.i'
>>--- pcbnew/scripting/module.i2012-05-16 09:35:18 +0000
>>+++ pcbnew/scripting/module.i2013-04-08 19:27:00 +0000
>>@@ -33,10 +33,10 @@
>>   %pythoncode
>>   {
>>      
>>-    def GetPads(self):      return self.m_Pads
>>-    def GetDrawings(self):            return self.m_Drawings
>>-    def GetReferenceObj(self):      return self.m_Reference
>>-    def GetValueObj(self):      return self.m_Value
>>+    def GetPads(self):                return self.Pads()
>>+    def GetDrawings(self):            return self.GraphicalItems()
>>+    def GetReferenceObj(self):        return self.Reference()
>>+    def GetValueObj(self):            return self.Value()
>>      
>>     #def SaveToLibrary(self,filename):
>>     #  return SaveModuleToLibrary(filename,self)
>>@@ -52,10 +52,10 @@
>>     
>>     if type(itemC) is D_PAD:
>>     item.thisown=0
>>-    self.m_Pads.PushBack(itemC)
>>+    self.GetPads().PushBack(itemC)
>>     elif type(itemC) in [ TEXTE_PCB, DIMENSION, TEXTE_MODULE, DRAWSEGMENT,EDGE_MODULE]:
>>     item.thisown = 0
>>-    self.m_Drawings.PushBack(item)
>>+    self.GetDrawings().PushBack(item)
>>   }
>>   
>> }
>>
>>
>>I also made some changes to two of the example scripts in pcbnew/scripting/examples/ to work with these new functions instead of accessing e.g. m_Reference directly (as that member is now Private).
>>
>>
>>Hopefully I have prepared the patch correctly and followed all coding standards. Please let me know if I need to fix the patch in any way.
>>
>>
>>Thanks much,
>>Matthew Beckler
>>
>>Wayne and Layne, LLC
>>_______________________________________________
>>Mailing list: https://launchpad.net/~kicad-developers
>>Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>Unsubscribe : https://launchpad.net/~kicad-developers
>>More help   : https://help.launchpad.net/ListHelp 
>>
>>Attachments:
>>- mbeckler_patch_pcbnew_scripting_module_createPcb_createFPC40.py
>
>
>_______________________________________________
>Mailing list: https://launchpad.net/~kicad-developers
>Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>Unsubscribe : https://launchpad.net/~kicad-developers
>More help   : https://help.launchpad.net/ListHelp
>
>
>


Follow ups

References