← Back to team overview

kicad-developers team mailing list archive

Re: Layers visibility [1 Attachment]

 

Fist of all I apologize for the late reply, I was on vacation till today
and so you will forgive me if I'm still in brainstorm-mode.

I red all the replays and comments and I think they are all useful.

Ok, let me summarize:

- everyone agrees that Kicad needs a more powerful and modeless(floating) layer properties editor (from now on called *LPE*)
- this will suffice to power users and/or users with dual head configurations, but
- will be unfriendly to users with small screen and to new users
- so a second and simpler interface (from which the LPE can be displayed) is advisable
- this could be an enhanced version of the current drop down selection box (let's call it *EDD*) with layers properties managed by clickable icons (like proposed by Wayne)
http://groups.yahoo.com/group/kicad-devel/attachments/folder/1787503967/item/420545235/view
- or a new (microwave like) layers toolbar (let's call it *LT*).
For the LT, two layouts are possible (or better, two were proposed):
one really thin with small one-letter buttons, with properties encoded with colors
and/or different borders width, like the one proposed by Werner:
http://www.almesberger.net/misc/kicad/layers.png
and one with large buttons with layers name like proposed by me:
http://groups.yahoo.com/group/kicad-devel/attachments/folder/55037520/item/1371988748/view
Both will have a right-click popup menu with advanced options which could be all the options available in the LPE or a subset of them.

Please fell free to correct/enhance/be-upset-with this, because I surely missed something.

Now some considerations:

I like the EDD solutions but I think this approach will have two shortcomings:
- you always need +1 click for every action
- the dropdown box will (even more than now) cover the PCB area, so the advantage of hiding a layer to better see a label will be voided if the drop down covers the area of interest. (Maybe it is possible to minimize this by placing the dropdown on the rightmost possible position of the windows.)

It could be tempting to use wxAUI to make the LPE dockable, but I think this not feasible
because there isn't an easy way to use a single, floating and dockable window with at the same time a thin layout and all the options of a modless advanced option dialog. Developing two separate interfaces (EDD/LT and LPE) to set the layers properties has several advantages: - we will make happy the power user with a dual head configuration and also the non-power user (like me) with a single display - implementing a alternative really thin version of the LT (like suggested by Werner) will make netbook users happy too :-) (and this thin version would be easy to rotate like an horizontal toolbar if someones needs it that way) - the development of the two interfaces can go ahead in an independent way because all proprieties modified by the two interfaces are global properties, so there is no risk of being out of sync because the two interfaces are dynamically generated from this global properties set. (Please tell me if I'm wrong presuming this) The only thing to assure is that when one interface is displayed, the other is hidden. But I guess this is acceptable because there will be no need to use them at the same time.

I think everything discussed here is independent of wxAUI and the (cool) proof of concepts Marco has recently implemented.

Speaking about coding, even if I'm new to Kicad development I'll be happy to code this.
I must say that I'll feel more comfortable with the LT way than the EDD way because I'm not much into custom drawn dropdown boxes. That said, there are a lot of examples out there and I think I could work it out. I'm mainly a C embedded developer, but I'm fine with C++. I've used wxWidgets with python and wxFormBuilder (witch xrc) in the past (firmware loader interfaces and a multiplatform serial terminal). I wrote a nice widget toolkit (not publicly available) for MCU with very small memory and its SDL based simulator for PC. I develop only on Linux (Ubuntu 9.04), using gVim and Code::Blocks, using wine for the various MCU ide (Fujitsu workbench, Keil uVison, etc) and Virtualbox+Xp when needed (sigh!)

Obviously, since I'm not a Kicad developer nor a power user, I'm the last person who can decide about this subjects. I only wish to help with a great project.
That said, this would be the path I'll follow in case:

1- complete the proposed LT adding a small colored box on the left which reflects the layer color. Add popup menus with advanced options like changing layers names and colors, etc (we can discuss the details on a separate thread)

2- develop the LPE, renewing the color dialog making it modeless and adding all the advanced functions of the LT popup menu or more

3- create an alternative version of the layer toolbar with very small buttons and a color code like suggested by Werner wich will be interchangeable with the large buttons one

I think I can start with 1, but for 2 and 3 we need more discussing.
(for example: is it worth to modify the current layer colors dialog or is better to develop a new one with wxFormBuilder? In that case, is wxFormBuilder suitable? Bacuse as far ad I can see, the current dialog is dynamically generated and using wxFormBuilder will force us to set the number of buttons/layers/options... Or not?
Etc...)

Ciao, Gabriele.



















Follow ups

References