← Back to team overview

kicad-developers team mailing list archive

Re: Grid Support



I am currently working on getting rid of all of the redundant places
were Kicad keeps a copy of the application pointer and the top level
application window pointer to simplify the code. I want to clean up the
underlying wxWidgets code so that moving forward will be much easier.
You can see from my grid commit how many different files I had to change
just to change something as simple as the grid handling. I thought it
might be a better utilization of time to drop down a level an do some
housekeeping before trying fix things further up the stack. That being
said, I am have almost completed the application pointer clean up. I
hope to finish that by the weekend. I will take a look at the zoom code
after I make that commit.

Dick Hollenbeck wrote:
> Wayne,
> While the grid/zoom support is fresh in your mind, I ask you a question 
> below.
> First, as a user, I have been frustrated a little about zooming support 
> in Kicad. I have two little complaints:
> 1) I would like a little more zoom range on the top end, especially 
> within PCBNEW. Another power of 1.5 or 2.0 larger.
Agreed. I was thinking more linear steps sizes. I was thinking in
terms of percentage rather than powers of two.
> 2) I think the magnification steps are just barely too large. Meaning 
> I think there should be a smaller zoom step than a power of 2 at each 
> click along the way. Note that I am not asking for a super general 
> solution here, just a minor tweak that would give us something less than 
> 2 times magnification at each click, and this factor (step) can remain 
> fixed. I just think 1.5 might be nice to try if it can be made into a 
> compile time option.
I could initially implement it as a compile time option. In the future
it might be nice to be add user definable zoom levels. If you really
wanted to be slick, you could vary the zoom rate relative to the rate of
change of the mouse wheel. I don't see that happening anytime soon.
> How hard it this? Do you agree these would be improvements? If so, it 
> would be very very nice if you can tackle this, especially if it is in a 
> way where we can back out of it if it does not feel right as a user.
I don't know that it would be any more difficult than the grid changes I
just made. I think I could get something done over Christmas break. I
can keep the existing zoom levels as CMake build option. You could turn
it on and off at build time with a CMake option.
> Thanks,
> Dick
Your welcome. Hopefully, I can be contributing on a regular basis. By
the way. Nice work on the doubly linked list code.

While I'm at it I have some questions of my own.

1) Since the addition of wxAboutDlg, Kicad cannot build against versions
of Kicad prior to 2.8. There are quite a few wxWidgets version tests
version well before 2.8. Does anyone object to me removing them from
the source as I find them? They only clutter up the source code and
serve no purpose anymore.

2) The current user defined grid setting is actually saved in the .brd
file of the project that you are working. In other words, your custom
grid is no longer defined when you create a new project or open a
different one. Shouldn't this setting be saved at the application level?

3) Will anyone be terribly upset if I figure out a clean way to load and
save configuration (both project and application) settings without
having to use global variables? It is widely accepted that using global
variables is a frowned upon software development practice. I personally
would like to see them all go away. If no one strongly objects, I will
start chipping away at them.


> ------------------------------------
> Yahoo! Groups Links


Follow ups