← Back to team overview

kicad-developers team mailing list archive

Re: Question about kifaced globals

 

>>
>> I encourage someone to fix Blair's bug report about new project logic.  Just implement the
>> logic in the bottom of kiway_player.h into pcbnew's OpenProjectFiles() and in eeschema's
>> OpenProjectFiles().
>>
>> Tom, is this something you can do please?
> 
> Hi Dick,
> 
> I've been away for a while (Easter break), could you point me to that 
> bug report?
> 
> Cheers,
> Tom


Hi Tom,

Recently, I have begun to feel uneasy about the pseudo code meeting the needs of all three
milestones, and I don't have good enough visibility yet into all the needs.  So let's
consider it as something that can wait a little while longer.  I know about the rogue
noname.pro files being created, I suppose that little bit could get earlier attention.


I hope to have the lion's share of milestone B) done early next week.  I have a large body
of uncommitted work now, Friday 2nd-May.


Here is what I can do in short order for milestone B):

1) Footprint Picker.  I am thinking of making the "Show in Browser" button that you see in
the Part and Component editors turn into a "Pick Footprint" button when the current text
field is the footprint one.  Others can take this further later, I am mostly concerned
about bringing cross-KIFACE capabilities, not find the best utilization in every situation.

2) Footprint Editor.  We can simply have an icon on the top toolbar within eeschema for
that, if !Kiface().IsSingle().  Click on it, and you find yourself in the stock footprint
editor.  Yes, that code is in a different KIFACE, but the function KIWAY::Player() makes
this possible, and easy now.

3) Cvpcb assignment/choices.  Is there a reason not to have these flow directly into
eeschema via KIWAY::ExpressMail(), arriving at KIWAY_PLAYER::KiwayMailIn() in the
FRAME_SCH player, where they can be stuffed directly into the component footprint fields?


Immediately after that, class KIWAY and KIWAY_MGR get SWIG-ed at the start of milestone
C).  Then we can play around with various uses of KIWAY.Player() invocations from python
that will stress the design in ways we have not done yet.  It is at this point when we
will be in a position to know most of the needs regarding OpenProjectFiles() and PROJECT
support in general, and how the pseudo code needs to be enhanced.

Then I will need Jean-Samuel's code if that is the best starting point for a python
project manager.

Today I am removing the constraints that the pcbnew and eeschema KIWAY_PLAYERs must be
children of the FRAME_PCB and FRAME_SCH players.  Instead, the KIWAY_PLAYERs will all be
direct children of the top frame, be that one from single_top, kicad.exe, or python.

I have not forgotten about the bug, but have chosen to delay fixing it pending a better
understanding of all the needs.

Thanks for your offer to help.


Dick





Follow ups

References