Index: trunk/src_plugins/show_netnames/show_netnames.c =================================================================== --- trunk/src_plugins/show_netnames/show_netnames.c (revision 33920) +++ trunk/src_plugins/show_netnames/show_netnames.c (revision 33921) @@ -79,6 +79,9 @@ pcb_net_t *net; pcb_net_it_t it; pcb_text_t t = {0}; + rnd_conf_listitem_t *ci; + vtp0_t omit_netnames = {0}; + int n; if (shn_cache_inited) htshn_clear(&shn_cache); @@ -85,9 +88,13 @@ else htshn_init(&shn_cache, ptrhash, ptrkeyeq); + for(ci = rnd_conflist_first((rnd_conflist_t *)&conf_show_netnames.plugins.show_netnames.omit_netnames); ci != NULL; ci = rnd_conflist_next(ci)) + vtp0_append(&omit_netnames, re_se_comp(ci->val.string[0])); + t.Scale = 100; for(net = pcb_net_first(&it, &pcb->netlist[PCB_NETLIST_EDITED]); net != NULL; net = pcb_net_next(&it)) { shn_net_t shn; + t.TextString = net->name; pcb_text_bbox(pcb_font(pcb, 0, 1), &t); @@ -94,6 +101,14 @@ shn.w = t.BoundingBox.X2 - t.BoundingBox.X1; shn.h = t.BoundingBox.Y2 - t.BoundingBox.Y1; shn.show = 1; + + for(n = 0; n < omit_netnames.used; n++) { + if (re_se_exec(omit_netnames.array[n], net->name)) { + shn.show = 0; + break; + } + } + htshn_set(&shn_cache, net, shn); } @@ -103,7 +118,11 @@ shn_nonet.h = t.BoundingBox.Y2 - t.BoundingBox.Y1; shn_nonet.show = 1; + for(n = 0; n < omit_netnames.used; n++) + re_se_free(omit_netnames.array[n]); + vtp0_uninit(&omit_netnames); + shn_cache_uptodate = 1; } @@ -165,7 +184,7 @@ netname = net->name; } - if (shn == NULL) + if ((shn == NULL) || !shn->show) return; pcb_obj_center(obj, &x, &y); Index: trunk/src_plugins/show_netnames/show_netnames.conf =================================================================== --- trunk/src_plugins/show_netnames/show_netnames.conf (revision 33920) +++ trunk/src_plugins/show_netnames/show_netnames.conf (revision 33921) @@ -5,6 +5,9 @@ enable=0 zoom_level=0.02mm omit_nonets=0 + li:omit_netnames={ + {^unnamed} + } } } } Index: trunk/src_plugins/show_netnames/show_netnames_conf.h =================================================================== --- trunk/src_plugins/show_netnames/show_netnames_conf.h (revision 33920) +++ trunk/src_plugins/show_netnames/show_netnames_conf.h (revision 33921) @@ -9,6 +9,7 @@ RND_CFT_BOOLEAN enable; /* Enable displaying netnames */ RND_CFT_COORD zoom_level; /* Display netnames only if current zoom coords_per_pixel is smaller than this value */ RND_CFT_BOOLEAN omit_nonets; /* do not print 'nonet' labels on the objects not belonging to any network */ + RND_CFT_LIST omit_netnames; /* list of regular expressions; if a netname matches any of these, it is not shown */ } show_netnames; } plugins; } conf_show_netnames_t;