← Back to team overview

kicad-developers team mailing list archive

Re: rev 3419

 

On 02/19/2012 10:58 AM, Miguel Angel Ajo Pelayo wrote:
> Wow, I the bzr log today, and I was surprised. Good work mr Dick.
>
> I compiled and started using this version, I will let you know (even try to fix,
> -probably that's too early for me-) if I find something.

Thanks for the testing.  If you find anything new that you suspect is a result of this
massive edit, I will try and fix the code ASAP.  But I need to be informed to do this.


> I will also try to branch, and add some hotkey to enter/exit the high contrast mode
> while routing, which seems a
> reasonable task for my current knowledge about kicad's internal design .


Several tips I might offer:

*) Please read the coding standards document in Documentation/coding_style_policy.pdf

*) Jean-Pierre recently added a right click popup menu choice to "hide all copper layers
except the current one".  The origins of this are obviously in PCB_LAYER_WIDGET, but I am
uncertain that you want to call a function in this class to do the same thing.  I doubt it.

We do want to keep the layer widget and the layer combo box in synchronization with what
is actually in play.
So that is one of your challenges. 

Normally the layer widget drives the settings in the data model "UI drives model". 
However there are a couple of exceptions.  One is immediately after loading a new BOARD. 
Here we set the layer widget in response to the data model, i.e. backwards  "model drives
UI".  See function PCB_EDIT_FRAME::syncRenderStates() which works backwards "model drives
UI", not "UI drives model".

We do not have a function syncVisibleLayers() which would likewise work backwards.  Such a
function may be needed, and would need to be used in conjunction with
PCB_EDIT_FRAME::syncLayerWidget() which probably needs a better name that focuses on the
"selected layer".





Follow ups

References