kicad-developers team mailing list archive
Mailing list archive
Re: Layers visibility [1 Attachment]
Gabriele Oberhammer <gabriele@...>
Sun, 07 Jun 2009 12:32:46 +0200
Thunderbird 188.8.131.52 (X11/20090409)
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)
- 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:
and one with large buttons with layers name like proposed by me:
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
- 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?