← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH] Github plugin. FP_LIB_TABLE

 

On 10/04/2013 08:51 PM, Dick Hollenbeck wrote:
> On 10/04/2013 03:41 PM, Dick Hollenbeck wrote:
>> On 10/04/2013 03:30 PM, Dick Hollenbeck wrote:
>>> On 10/04/2013 03:15 PM, Wayne Stambaugh wrote:
>>>> On 10/4/2013 3:22 PM, Dick Hollenbeck wrote:
>>>>>
>>>>>>
>>>>>> Thank you for your amazing effort on the GitHub plugin.  I am looking
>>>>>> forward to taking it for a test drive.  I hope to finish up the
>>>>>> FP_LIB_TABLE code and documentation by the end of the weekend.  With all
>>>>>> of the pieces in place, KiCad should have a really good footprint
>>>>>> library management system.
>>>>>>
>>>>>> Wayne
>>>>>
>>>>>
>>>>> Thank you Wayne!
>>>>>
>>>>> I gave you bug https://bugs.launchpad.net/bugs/1235317   :)
>>>>
>>>> I noticed that :)  I took a quick look at the module editor and saving a
>>>> library may not be the only place where this will be a problem.  The
>>>> current code attempts to determine the correct plugin by the library
>>>> path using IO_MGR::GuessPluginTypeFromLibPath().
>>
>> Probably no environment substitution on lib path, if you want a quick hack.
>>
>> The GITHUB plugin is not useable until the stuff below is complete however, and it will
>> get done in any case:  The library browser needs to be based on the nickname now, for
>> reasons I've mentioned in the last week.
> 
> 
> Wayne,
> 
> Attached is the full implementation of the new API functions.  We just have to hook them
> into the UI now.
> 
> The PLUGIN is instantiated in line 465 of the patched source.
> 
> There was no need to support PLUGIN::RELEASER::operator=(), I made it private to get the
> compiler to whine.  Plugins are instantiated lazily, at line 465.
> 
> This is what we need to keep from destroying the PLUGINs between API calls and destroying
> our CACHE work.
> 
> Dick
> 
> 
> This one fixes a comment which is important to the understanding of the wxASSERT() in each
> API function.  FP_LIB_TABLE::FindRow() does not ever return NULL, so the comment is was
> wrong.  If it returns at all, the result is not NULL.
> 
> It also fully kills off FP_LIB_TABLE::PluginFind()
> 

I saw you just committed a bunch of changes to FP_LIB_TABLE.  Did you
include this patch or did you want me to apply it?  I figured out the
library save problem.  What was happening is the library path was being
converted to a wxFileName which was stripping off the extra '/' which
converted:

https://github.com/liftoff-sr/pretty_footprints

to:

https:/github.com/liftoff-sr/pretty_footprints

which in turn caused wxUri to choke.  I fixed it but if we are going to
implement the lazy caching scheme, does it make sense to continue to
deal with footprint libraries in this manner?

I should get this fix committed today and get back to finishing up the
rest of the footprint library table implementation.

Thanks,

Wayne


Follow ups

References