Index: trunk/src/find_act.c =================================================================== --- trunk/src/find_act.c (revision 21221) +++ trunk/src/find_act.c (revision 21222) @@ -47,7 +47,7 @@ { int count = 0; #if 0 - pcb_drc_list_t lst; + pcb_view_list_t lst; if (pcb_gui->drc_gui == NULL || pcb_gui->drc_gui->log_drc_overview) { pcb_message(PCB_MSG_INFO, _("%m+Rules are minspace %$mS, minoverlap %$mS " @@ -67,7 +67,7 @@ pcb_message(PCB_MSG_INFO, _("Aborted DRC after %d design rule errors.\n"), -count); } - pcb_drc_list_free_fields(&lst); + pcb_view_list_free_fields(&lst); #endif pcb_message(PCB_MSG_ERROR, "drc() is disabled for the rewrite, please use drc2()\n"); Index: trunk/src/find_drc.c =================================================================== --- trunk/src/find_drc.c (revision 21221) +++ trunk/src/find_drc.c (revision 21222) @@ -39,16 +39,16 @@ #include "obj_pstk_draw.h" static void GotoError(void); -static pcb_bool DRCFind(pcb_drc_list_t *lst, int What, void *ptr1, void *ptr2, void *ptr3); +static pcb_bool DRCFind(pcb_view_list_t *lst, int What, void *ptr1, void *ptr2, void *ptr3); static unsigned long int pcb_drc_next_uid = 0; -static pcb_drc_violation_t *pcb_drc_violation_new( +static pcb_view_t *pcb_drc_violation_new( const char *type, const char *title, const char *explanation, pcb_bool have_measured, pcb_coord_t measured_value, pcb_coord_t required_value, pcb_idpath_list_t objs[2]) { - pcb_drc_violation_t *violation = calloc(sizeof(pcb_drc_violation_t), 1); + pcb_view_t *violation = calloc(sizeof(pcb_view_t), 1); pcb_drc_next_uid++; violation->uid = pcb_drc_next_uid; @@ -104,7 +104,7 @@ } } -static void append_drc_violation(pcb_drc_list_t *lst, pcb_drc_violation_t *violation) +static void append_drc_violation(pcb_view_list_t *lst, pcb_view_t *violation) { #if 0 if (pcb_gui->drc_gui != NULL) { @@ -123,10 +123,10 @@ } #endif - pcb_drc_list_append(lst, violation); + pcb_view_list_append(lst, violation); } -void drc_auto_loc(pcb_drc_violation_t *v) +void drc_auto_loc(pcb_view_t *v) { int g; pcb_box_t b; @@ -197,7 +197,7 @@ static pcb_r_dir_t drc_callback(pcb_data_t *data, pcb_layer_t *layer, pcb_poly_t *polygon, int type, void *ptr1, void *ptr2, void *user_data) { const char *message; - pcb_drc_violation_t *violation; + pcb_view_t *violation; pcb_line_t *line = (pcb_line_t *)ptr2; pcb_arc_t *arc = (pcb_arc_t *)ptr2; pcb_pstk_t *ps = (pcb_pstk_t *)ptr2; @@ -260,9 +260,9 @@ unsigned long pcb_obj_type2oldtype(pcb_objtype_t type); -static int drc_text(pcb_drc_list_t *lst, pcb_layer_t *layer, pcb_text_t *text, pcb_coord_t min_wid) +static int drc_text(pcb_view_list_t *lst, pcb_layer_t *layer, pcb_text_t *text, pcb_coord_t min_wid) { - pcb_drc_violation_t *violation; + pcb_view_t *violation; pcb_idpath_list_t objs[2]; memset(objs, 0, sizeof(objs)); @@ -293,9 +293,9 @@ } /* Check for DRC violations see if the connectivity changes when everything is bloated, or shrunk */ -int pcb_drc_all(pcb_drc_list_t *lst) +int pcb_drc_all(pcb_view_list_t *lst) { - pcb_drc_violation_t *violation; + pcb_view_t *violation; int nopastecnt = 0; pcb_idpath_list_t objs[2]; @@ -520,9 +520,9 @@ /* Check for DRC violations on a single net starting from the pad or pin sees if the connectivity changes when everything is bloated, or shrunk */ -static pcb_bool DRCFind(pcb_drc_list_t *lst, int What, void *ptr1, void *ptr2, void *ptr3) +static pcb_bool DRCFind(pcb_view_list_t *lst, int What, void *ptr1, void *ptr2, void *ptr3) { - pcb_drc_violation_t *violation; + pcb_view_t *violation; pcb_idpath_list_t objs[2]; memset(objs, 0, sizeof(objs)); Index: trunk/src/view.c =================================================================== --- trunk/src/view.c (revision 21221) +++ trunk/src/view.c (revision 21222) @@ -37,9 +37,9 @@ #include "actions.h" -void pcb_drc_free(pcb_drc_violation_t *item) +void pcb_view_free(pcb_view_t *item) { - pcb_drc_list_remove(item); + pcb_view_list_remove(item); pcb_idpath_list_clear(&item->objs[0]); pcb_idpath_list_clear(&item->objs[1]); free(item->title); @@ -47,27 +47,27 @@ free(item); } -void pcb_drc_list_free_fields(pcb_drc_list_t *lst) +void pcb_view_list_free_fields(pcb_view_list_t *lst) { for(;;) { - pcb_drc_violation_t *item = pcb_drc_list_first(lst); + pcb_view_t *item = pcb_view_list_first(lst); if (item == NULL) break; - pcb_drc_free(item); + pcb_view_free(item); } } -void pcb_drc_list_free(pcb_drc_list_t *lst) +void pcb_view_list_free(pcb_view_list_t *lst) { - pcb_drc_list_free_fields(lst); + pcb_view_list_free_fields(lst); free(lst); } -pcb_drc_violation_t *pcb_drc_by_uid(const pcb_drc_list_t *lst, unsigned long int uid) +pcb_view_t *pcb_view_by_uid(const pcb_view_list_t *lst, unsigned long int uid) { - pcb_drc_violation_t *v; + pcb_view_t *v; - for(v = pcb_drc_list_first((pcb_drc_list_t *)lst); v != NULL; v = pcb_drc_list_next(v)) + for(v = pcb_view_list_first((pcb_view_list_t *)lst); v != NULL; v = pcb_view_list_next(v)) if (v->uid == uid) return v; @@ -74,7 +74,7 @@ return NULL; } -void pcb_drc_goto(pcb_drc_violation_t *item) +void pcb_view_goto(pcb_view_t *item) { if (item->have_coord) { fgw_arg_t res, argv[5]; Index: trunk/src/view.h =================================================================== --- trunk/src/view.h (revision 21221) +++ trunk/src/view.h (revision 21222) @@ -26,8 +26,8 @@ * mailing list: pcb-rnd (at) list.repo.hu (send "subscribe") * */ -#ifndef PCB_DRC_H -#define PCB_DRC_H +#ifndef PCB_VIEW_H +#define PCB_VIEW_H #include #include "unit.h" @@ -34,8 +34,8 @@ #include "idpath.h" #include "box.h" -typedef struct drc_violation_s pcb_drc_violation_t; -struct drc_violation_s { +typedef struct pcb_view_s pcb_view_t; +struct pcb_view_s { unsigned long int uid; /* ID unique for each violation within the drc subsystem (for GUI identification of violations) */ char *type; @@ -56,30 +56,33 @@ }; /* List of drc violations */ -#define TDL(x) pcb_drc_list_ ## x -#define TDL_LIST_T pcb_drc_list_t -#define TDL_ITEM_T pcb_drc_violation_t +#define TDL(x) pcb_view_list_ ## x +#define TDL_LIST_T pcb_view_list_t +#define TDL_ITEM_T pcb_view_t #define TDL_FIELD link #define TDL_SIZE_T size_t #define TDL_FUNC -#define pcb_drc_list_foreach(list, iterator, loop_elem) \ +#define pcb_view_list_foreach(list, iterator, loop_elem) \ gdl_foreach_((&((list)->lst)), (iterator), (loop_elem)) #include #include -void pcb_drc_free(pcb_drc_violation_t *item); +void pcb_view_free(pcb_view_t *item); -void pcb_drc_list_free_fields(pcb_drc_list_t *lst); -void pcb_drc_list_free(pcb_drc_list_t *lst); +void pcb_view_list_free_fields(pcb_view_list_t *lst); +void pcb_view_list_free(pcb_view_list_t *lst); -int pcb_drc_all(pcb_drc_list_t *lst); /* Slow, linear search for an UID in a list; returns NULL if not found */ -pcb_drc_violation_t *pcb_drc_by_uid(const pcb_drc_list_t *lst, unsigned long int uid); +pcb_view_t *pcb_view_by_uid(const pcb_view_list_t *lst, unsigned long int uid); /* Zoom the drawing area to the drc error */ -void pcb_drc_goto(pcb_drc_violation_t *item); +void pcb_view_goto(pcb_view_t *item); + +/*** temporary, until moved out to a plugin ***/ +int pcb_drc_all(pcb_view_list_t *lst); + #endif Index: trunk/src_plugins/dialogs/dlg_view.c =================================================================== --- trunk/src_plugins/dialogs/dlg_view.c (revision 21221) +++ trunk/src_plugins/dialogs/dlg_view.c (revision 21222) @@ -45,7 +45,7 @@ typedef struct { PCB_DAD_DECL_NOINIT(dlg) pcb_board_t *pcb; - pcb_drc_list_t drc; + pcb_view_list_t drc; int alloced, active; unsigned long int selected; @@ -68,13 +68,13 @@ void view2dlg(view_ctx_t *ctx) { char tmp[32]; - pcb_drc_violation_t *v; + pcb_view_t *v; pcb_hid_attribute_t *attr; pcb_hid_tree_t *tree; pcb_hid_row_t *r; char *cell[3], *cursor_path = NULL; - sprintf(tmp, "%d", pcb_drc_list_length(&ctx->drc)); + sprintf(tmp, "%d", pcb_view_list_length(&ctx->drc)); PCB_DAD_SET_VALUE(ctx->dlg_hid_ctx, ctx->wcount, str_value, tmp); attr = &ctx->dlg[ctx->wlist]; @@ -91,7 +91,7 @@ /* add all items */ cell[2] = NULL; - for(v = pcb_drc_list_first(&ctx->drc); v != NULL; v = pcb_drc_list_next(v)) { + for(v = pcb_view_list_first(&ctx->drc); v != NULL; v = pcb_view_list_next(v)) { pcb_hid_row_t *r, *rt; rt = htsp_get(&tree->paths, v->type); if (rt == NULL) { @@ -138,13 +138,13 @@ { pcb_hid_tree_t *tree = (pcb_hid_tree_t *)attrib->enumerations; view_ctx_t *ctx = tree->user_ctx; - pcb_drc_violation_t *v = NULL; + pcb_view_t *v = NULL; if (row != NULL) { ctx->selected = row->user_data2.lng; - v = pcb_drc_by_uid(&ctx->drc, ctx->selected); + v = pcb_view_by_uid(&ctx->drc, ctx->selected); if (v != NULL) { - pcb_drc_goto(v); + pcb_view_goto(v); PCB_DAD_SET_VALUE(ctx->dlg_hid_ctx, ctx->wexplanation, str_value, re_wrap(pcb_strdup(v->explanation), 32)); if (v->have_measured) PCB_DAD_SET_VALUE(ctx->dlg_hid_ctx, ctx->wmeasure, str_value, pcb_strdup_printf("%m+required: %$ms\nmeasured: %$ms\n", conf_core.editor.grid_unit->allow, v->required_value, v->measured_value)); @@ -170,7 +170,7 @@ pcb_xform_t xform; int old_termlab, g; static const char *offend_color[] = {"#ff0000", "#0000ff"}; - pcb_drc_violation_t *v = pcb_drc_by_uid(&ctx->drc, ctx->selected); + pcb_view_t *v = pcb_view_by_uid(&ctx->drc, ctx->selected); size_t n; void **p;