From b63d3bec09de23aa0d1353971268466881498ced Mon Sep 17 00:00:00 2001 From: Stefan Frederik Date: Sun, 3 Jan 2021 01:26:54 +0100 Subject: [PATCH] finalizing "select nets up to junctions" --- doc/xschem_man/symbol_property_syntax4.png | Bin 0 -> 24172 bytes doc/xschem_man/symbol_property_syntax5.png | Bin 0 -> 38891 bytes src/callback.c | 8 ++- src/move.c | 2 +- src/select.c | 62 ++++++++++---------- src/token.c | 2 +- src/xschem.tcl | 10 +++- xschem_library/examples/mos_power_ampli.sch | 6 -- 8 files changed, 48 insertions(+), 42 deletions(-) create mode 100644 doc/xschem_man/symbol_property_syntax4.png create mode 100644 doc/xschem_man/symbol_property_syntax5.png diff --git a/doc/xschem_man/symbol_property_syntax4.png b/doc/xschem_man/symbol_property_syntax4.png new file mode 100644 index 0000000000000000000000000000000000000000..5c26a8b50fc209641da103e38f775681bd9fd9e0 GIT binary patch literal 24172 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]); break; } - /* select connected nets/pins/lanels */ + /* select connected nets/pins/labels up to T junctions */ + if(key==XK_Delete && (xctx->ui_state & SELECTION) && state == ControlMask ) + { + if(xctx->semaphore >= 2) break; + select_connected_wires(1);break; + } + /* select connected nets/pins/labels */ if(key==XK_Delete && (xctx->ui_state & SELECTION) && state == ShiftMask ) { if(xctx->semaphore >= 2) break; diff --git a/src/move.c b/src/move.c index 39bec673..efc59646 100644 --- a/src/move.c +++ b/src/move.c @@ -27,7 +27,7 @@ void rebuild_selected_array() /* can be used only if new selected set is lower * { int i,c; - dbg(1, "rebuild selected array\n"); + dbg(2, "rebuild selected array\n"); if(!xctx->need_reb_sel_arr) return; xctx->lastsel=0; for(i=0;itexts;i++) diff --git a/src/select.c b/src/select.c index d9ed0997..f94b4907 100644 --- a/src/select.c +++ b/src/select.c @@ -108,38 +108,36 @@ void select_connected_wires(int stop_at_junction) if(xctx->wire[i].sel == SELECTED) check_connected_wire(stop_at_junction, i); break; case ELEMENT: - if(!stop_at_junction) { - type = (xctx->inst[i].ptr+ xctx->sym)->type; - if( type && (IS_LABEL_SH_OR_PIN(type) || !strcmp(type, "probe") || !strcmp(type, "ngprobe"))) { - double rx1, ry1, x0, y0; - int rot, flip, sqx, sqy; - xRect *rct; - struct wireentry *wptr; - rct = (xctx->inst[i].ptr+ xctx->sym)->rect[PINLAYER]; - if(rct) { - x0 = (rct[0].x1 + rct[0].x2) / 2; - y0 = (rct[0].y1 + rct[0].y2) / 2; - rot = xctx->inst[i].rot; - flip = xctx->inst[i].flip; - ROTATION(rot, flip, 0.0,0.0,x0,y0,rx1,ry1); - x0 = xctx->inst[i].x0+rx1; - y0 = xctx->inst[i].y0+ry1; - get_square(x0, y0, &sqx, &sqy); - wptr = xctx->wiretable[sqx][sqy]; - while (wptr) { - dbg(1, "select_connected_wires(): x0=%g y0=%g wire[%d]=%g %g %g %g\n", - x0, y0, wptr->n, xctx->wire[wptr->n].x1, xctx->wire[wptr->n].y1, - xctx->wire[wptr->n].x2, xctx->wire[wptr->n].y2); - if (touch(xctx->wire[wptr->n].x1, xctx->wire[wptr->n].y1, - xctx->wire[wptr->n].x2, xctx->wire[wptr->n].y2, x0,y0)) { - xctx->wire[wptr->n].sel = SELECTED; - check_connected_wire(stop_at_junction, wptr->n); - } - wptr=wptr->next; - } - } /* if(rct) */ - } /* if(type & ...) */ - } /* if(!stop_at_junction) */ + type = (xctx->inst[i].ptr+ xctx->sym)->type; + if( type && (IS_LABEL_SH_OR_PIN(type) || !strcmp(type, "probe") || !strcmp(type, "ngprobe"))) { + double rx1, ry1, x0, y0; + int rot, flip, sqx, sqy; + xRect *rct; + struct wireentry *wptr; + rct = (xctx->inst[i].ptr+ xctx->sym)->rect[PINLAYER]; + if(rct) { + x0 = (rct[0].x1 + rct[0].x2) / 2; + y0 = (rct[0].y1 + rct[0].y2) / 2; + rot = xctx->inst[i].rot; + flip = xctx->inst[i].flip; + ROTATION(rot, flip, 0.0,0.0,x0,y0,rx1,ry1); + x0 = xctx->inst[i].x0+rx1; + y0 = xctx->inst[i].y0+ry1; + get_square(x0, y0, &sqx, &sqy); + wptr = xctx->wiretable[sqx][sqy]; + while (wptr) { + dbg(1, "select_connected_wires(): x0=%g y0=%g wire[%d]=%g %g %g %g\n", + x0, y0, wptr->n, xctx->wire[wptr->n].x1, xctx->wire[wptr->n].y1, + xctx->wire[wptr->n].x2, xctx->wire[wptr->n].y2); + if (touch(xctx->wire[wptr->n].x1, xctx->wire[wptr->n].y1, + xctx->wire[wptr->n].x2, xctx->wire[wptr->n].y2, x0,y0)) { + xctx->wire[wptr->n].sel = SELECTED; + check_connected_wire(stop_at_junction, wptr->n); + } + wptr=wptr->next; + } + } /* if(rct) */ + } /* if(type & ...) */ break; default: break; diff --git a/src/token.c b/src/token.c index d42c5e89..56d12fdd 100644 --- a/src/token.c +++ b/src/token.c @@ -792,7 +792,7 @@ const char *subst_token(const char *s, const char *tok, const char *new_val) } else my_strdup(1212, &new_val_copy, new_val); } else new_val_copy = NULL; - dbg(1, "subst_token(): %s, %s, %s\n", s, tok, new_val); + dbg(1, "subst_token(): %s, %s, %s\n", s ? s : "", tok ? tok : "", new_val ? new_val : ""); sizetok = size = CADCHUNKALLOC; my_realloc(1152, &result, size); my_realloc(1153, &token, sizetok); diff --git a/src/xschem.tcl b/src/xschem.tcl index 99a28c68..2ba81c5c 100644 --- a/src/xschem.tcl +++ b/src/xschem.tcl @@ -4043,9 +4043,17 @@ if { ( $::OS== "Windows" || [string length [lindex [array get env DISPLAY] 1] ] -command "xschem break_wires" -accelerator {!} toolbar_create ToolBreak "xschem break_wires" "Break Wires" .menubar.tools.menu add checkbutton -label "Auto Join/Trim Wires" -variable autotrim_wires \ - -command { xschem set autotrim_wires $autotrim_wires} + -command { + xschem set autotrim_wires $autotrim_wires + if {$autotrim_wires == 1} { + xschem trim_wires + xschem redraw + } + } .menubar.tools.menu add command -label "Select all connected wires/labels/pins" -accelerator {Shift-Delete} \ -command { xschem connected_nets} + .menubar.tools.menu add command -label "Select conn. wires, stop at junctions" -accelerator {Ctrl-Delete} \ + -command { xschem connected_nets 1 } .menubar.hilight.menu add command -label {Highlight net-pin name mismatches on selected instancs} \ -command "xschem net_pin_mismatch" \ diff --git a/xschem_library/examples/mos_power_ampli.sch b/xschem_library/examples/mos_power_ampli.sch index 1da18731..9642c6c5 100644 --- a/xschem_library/examples/mos_power_ampli.sch +++ b/xschem_library/examples/mos_power_ampli.sch @@ -92,12 +92,6 @@ N 340 -1180 560 -1180 {lab=VPP} N 1110 -1180 1110 -790 { lab=VPP} N 560 -1180 1110 -1180 {lab=VPP} N 230 -950 800 -950 { lab=#net2} -N 1290 -370 1450 -370 { lab=#net8} -N 1450 -370 1570 -370 { lab=#net8} -N 1450 -490 1450 -370 { lab=#net8} -N 1300 -300 1450 -300 { lab=#net9} -N 1450 -300 1570 -240 { lab=#net9} -N 1450 -340 1450 -300 { lab=#net9} C {ipin.sym} 530 -160 0 0 {name=p0 lab=PLUS} C {ipin.sym} 530 -120 0 0 {name=p2 lab=VPP} C {ipin.sym} 530 -100 0 0 {name=p3 lab=VNN}