kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #07486
Re: rev 3419
On 02/19/2012 12:09 PM, Miguel Angel Ajo Pelayo wrote:
> I think I followed the coding standards, but after reading your suggestions,
> may be I was too fast making my patch. Not sure now if it will be the best
> implementation.
>
> Could you review it please? :-)
>
>
>
> 2012/2/19 Dick Hollenbeck <dick@xxxxxxxxxxx <mailto:dick@xxxxxxxxxxx>>
>
> 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".
>
I would benefit from a description of what you want the user experience to be like.
Comments in my last email were assuming you had something like your 1) in mind:
1) Single layer view while routing: (some hot key) that would enable a special view mode
where the current routing layer is show in its own color, but all other layers go gray.
I've used
this in other tools and it's very helpful, and I suppose it's not hard to implement (if
not already done).
(Except I missed the part about going gray. Gray is not invisible, which is what I was
thinking. No preference for me.)
So perhaps we should focus on the UI experience for a few emails, agree on what would be
nice, inclusive of how the layer widget reacts to the various modes. Then talk about how
to code it after we something concrete described.
Thanks,
Dick
Follow ups
References