[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