[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gEDA-dev: Re: [pcb] DRC error handling
Hello,
I replaced dialog guided DRC by quickfix and restored CenterDisplay
functionality (as an action calling the existing ghid_port_range_pan).
Using quickfix I was able to fix my DRC problems within minutes.
The patch is too alpha to merge it into the main tree, but as I am
working under a strict deadline right now, I probably won't have time
to polish things up until later (see below). But in the spirit of
"Release early", you'll find a usable version attached.
Problems:
* quickfix shortkeys (#,>,<,-) only defined in GTK HID
* "CenterDisplay" HID action only implemented in GTK HID
* I'm not too sure how Undo works at the moment, so the Undo
functionality for quickfix is certain to be wrong.
Someone who knows how Undo works might have a look at the
quickfix functions at the end of find.c - GotoErrorFromList()
* CenterDisplay (and accordingly the panning to errors in quick-
fix) does not work correctly when the board is switched to the
bottom view. Somebody who knows might correct this in
ghid_center_display() in hid/gtk/gui-output-events.c. This is
probably only a matter of changing two or three calculations.
I am not really sure how coordinate systems change when
switching the view (maybe SIDE_X has to be removed?)
* CenterDisplay only accepts absolute coordinates
The attached patch was created in the base directory of pcb using:
cvs diff -u -p src/ > pcb-quickfix-center.patch
Usage:
New HID-action: CenterDisplay(x,y)
New action: DRCError([Next|Prev|First|Last])
Keys added to GTK HID:
# - Start DRC (No dialog is opened, error list created)
& jump to first error if DRC errors exist
> - Jump to next error in error list (when zoomed in!)
< - Jump to previous error in error list
- - Both unselect all and reset connections (all high-
lighting of pads and lines is removed, so you can
see which layers the problematic objects belong to)
CTRL > and CTRL <: Jump to last/first error respectively
Greetings.
Toby
On Mon, 14 Aug 2006 23:19:54 +0200, DJ Delorie <dj@delorie.com> wrote:
>
>> - Previous PCB versions used to center the display on the problem
>> spot. With the new CVS functions I get color highlighting, but the
>> display is not moved to the error location.
>
> It does if you zoom in beforehand.
>
> The CenterDisplay functionality was lost when we did the HID thing; a
> patch to add it to the two GUIs, most likely as an action
> CenterDisplay(), and re-add support for restoring zoom and position,
> would be greatly appreciated.
>
>> I don't have time for a full GUI implementation right now, so I
>> might go for the vim quickfix method of jumping between
>> registered error spots using a hotkey.
>
> Alternately, create a new layer and add a mark (via, line, circle,
> whatever) to this new "DRC results" layer. Then, a hotkey that's
> "find a mark on the DRC results layer" would add the vim jumping to
> that.
>
>
> _______________________________________________
> geda-dev mailing list
> geda-dev@moria.seul.org
> http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev
>
pcb-quickfix-center.patch
_______________________________________________
geda-dev mailing list
geda-dev@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev