do not show ERC info window if netlisting invoked via CLI; global variable show_infowindow_after_netlist can now take 3 values: always, onerror, never, to decide when showing the ERC info window after netlisting. Old values (1, 0) still accepted as aliases for always and onerror
This commit is contained in:
parent
519fb2fbf2
commit
1c3c9ff889
|
|
@ -279,7 +279,7 @@ static int hash_inst_pin(int what, int i, int j)
|
|||
xctx->inst[i].name, j, prop_ptr);
|
||||
statusmsg(str,2);
|
||||
err |= 1;
|
||||
tcleval("show_infotext"); /* critical error: force ERC window showing */
|
||||
tclvareval("show_infotext ", my_itoa(err), NULL); /* critical error: force ERC window showing */
|
||||
if(!xctx->netlist_count) {
|
||||
xctx->inst[i].color = -PINLAYER;
|
||||
xctx->hilight_nets=1;
|
||||
|
|
@ -655,7 +655,7 @@ static int signal_short( const char *tag, const char *n1, const char *n2)
|
|||
my_snprintf(str, S(str), "Error: %s shorted: %s - %s", tag, n1, n2);
|
||||
dbg(1, "signal_short(): signal_short: shorted: %s - %s", n1, n2);
|
||||
statusmsg(str,2);
|
||||
tcleval("show_infotext"); /* critical error: force ERC window showing */
|
||||
tclvareval("show_infotext ", my_itoa(err), NULL); /* critical error: force ERC window showing */
|
||||
if(!xctx->netlist_count) {
|
||||
bus_hilight_hash_lookup(n1, xctx->hilight_color, XINSERT);
|
||||
if(tclgetboolvar("incr_hilight")) incr_hilight_color();
|
||||
|
|
@ -1359,7 +1359,7 @@ int warning_overlapped_symbols(int sel)
|
|||
xctx->inst[i].instname, xctx->inst[i].name, xctx->inst[found->value].instname);
|
||||
statusmsg(str,2);
|
||||
err |= 1;
|
||||
tcleval("show_infotext"); /* critical error: force ERC window showing */
|
||||
tclvareval("show_infotext ", my_itoa(err), NULL); /* critical error: force ERC window showing */
|
||||
}
|
||||
}
|
||||
int_hash_free(&table);
|
||||
|
|
@ -1528,7 +1528,7 @@ int sym_vs_sch_pins()
|
|||
my_snprintf(str, S(str), " %s <--> %s", type, pin_dir);
|
||||
statusmsg(str,2);
|
||||
err |= 1;
|
||||
tcleval("show_infotext"); /* critical error: force ERC window showing */
|
||||
tclvareval("show_infotext ", my_itoa(err), NULL); /* critical error: force ERC window showing */
|
||||
for(j = 0; j < xctx->instances; ++j) {
|
||||
if(!xctx->x_strcmp(get_sym_name(j, 9999, 1), xctx->sym[i].name)) {
|
||||
xctx->inst[j].color = -PINLAYER;
|
||||
|
|
@ -1547,7 +1547,7 @@ int sym_vs_sch_pins()
|
|||
xctx->sym[i].name, lab);
|
||||
statusmsg(str,2);
|
||||
err |= 1;
|
||||
tcleval("show_infotext"); /* critical error: force ERC window showing */
|
||||
tclvareval("show_infotext ", my_itoa(err), NULL); /* critical error: force ERC window showing */
|
||||
for(j = 0; j < xctx->instances; ++j) {
|
||||
dbg(1, "inst.name=%s, sym.name=%s\n", tcl_hook2(xctx->inst[j].name), xctx->sym[i].name);
|
||||
if(!xctx->x_strcmp(get_sym_name(j, 9999, 1), xctx->sym[i].name)) {
|
||||
|
|
@ -1583,7 +1583,7 @@ int sym_vs_sch_pins()
|
|||
xctx->sym[i].name, rects, pin_cnt);
|
||||
statusmsg(str,2);
|
||||
err |= 1;
|
||||
tcleval("show_infotext"); /* critical error: force ERC window showing */
|
||||
tclvareval("show_infotext ", my_itoa(err), NULL); /* critical error: force ERC window showing */
|
||||
for(j = 0; j < xctx->instances; ++j) {
|
||||
if(!xctx->x_strcmp(get_sym_name(j, 9999, 1), xctx->sym[i].name)) {
|
||||
xctx->inst[j].color = -PINLAYER;
|
||||
|
|
@ -1608,7 +1608,7 @@ int sym_vs_sch_pins()
|
|||
xctx->sym[i].name, pin_name ? pin_name : "<NULL>");
|
||||
statusmsg(str,2);
|
||||
err |= 1;
|
||||
tcleval("show_infotext"); /* critical error: force ERC window showing */
|
||||
tclvareval("show_infotext ", my_itoa(err), NULL); /* critical error: force ERC window showing */
|
||||
for(k = 0; k < xctx->instances; ++k) {
|
||||
if(!xctx->x_strcmp(get_sym_name(k, 9999, 1), xctx->sym[i].name)) {
|
||||
xctx->inst[k].color = -PINLAYER;
|
||||
|
|
|
|||
|
|
@ -214,7 +214,7 @@ int traverse_node_hash()
|
|||
if(incr_hi) incr_hilight_color();
|
||||
statusmsg(str, 2);
|
||||
err |= 1;
|
||||
tcleval("show_infotext"); /* critical error: force ERC window showing */
|
||||
tclvareval("show_infotext ", my_itoa(err), NULL); /* critical error: force ERC window showing */
|
||||
}
|
||||
else if(entry->d.out + entry->d.inout + entry->d.in == 1)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2280,12 +2280,15 @@ int xschem(ClientData clientdata, Tcl_Interp *interp, int argc, const char * arg
|
|||
* or no fail (0) code. */
|
||||
else if(!strcmp(argv[1], "netlist") )
|
||||
{
|
||||
char *saveshow = NULL;
|
||||
int err = 0;
|
||||
int messages = 0;
|
||||
char save[PATH_MAX];
|
||||
const char *fname = NULL;
|
||||
const char *path;
|
||||
yyparse_error = 0;
|
||||
my_strdup(_ALLOC_ID_, &saveshow, tclgetvar("show_infowindow_after_netlist"));
|
||||
tclsetvar("show_infowindow_after_netlist", "never");
|
||||
my_strncpy(save, tclgetvar("netlist_dir"), S(save));
|
||||
if(argc > 2) {
|
||||
if(!strcmp(argv[2], "-messages")) {
|
||||
|
|
@ -2325,6 +2328,8 @@ int xschem(ClientData clientdata, Tcl_Interp *interp, int argc, const char * arg
|
|||
Tcl_SetResult(interp, my_itoa(err), TCL_VOLATILE);
|
||||
}
|
||||
}
|
||||
tclsetvar("show_infowindow_after_netlist", saveshow);
|
||||
my_free(_ALLOC_ID_, &saveshow);
|
||||
}
|
||||
|
||||
/* new_process [f]
|
||||
|
|
|
|||
|
|
@ -519,7 +519,7 @@ int global_spice_netlist(int global) /* netlister driver */
|
|||
my_free(_ALLOC_ID_, &type);
|
||||
my_free(_ALLOC_ID_, &place);
|
||||
xctx->netlist_count = 0;
|
||||
if(tclgetboolvar("show_infowindow_after_netlist")) tcleval("show_infotext");
|
||||
tclvareval("show_infotext ", my_itoa(err), NULL); /* critical error: force ERC window showing */
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -271,7 +271,7 @@ int global_tedax_netlist(int global) /* netlister driver */
|
|||
}
|
||||
if(!debug_var) xunlink(netl_filename);
|
||||
xctx->netlist_count = 0;
|
||||
if(tclgetboolvar("show_infowindow_after_netlist")) tcleval("show_infotext");
|
||||
tclvareval("show_infotext ", my_itoa(err), NULL); /* critical error: force ERC window showing */
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3081,7 +3081,6 @@ const char *net_name(int i, int j, int *multip, int hash_prefix_unnamed_net, int
|
|||
my_snprintf(errstr, S(errstr), "Warning: unconnected pin, Inst idx: %d, Pin idx: %d Inst:%s\n",
|
||||
i, j, xctx->inst[i].instname ) ;
|
||||
statusmsg(errstr,2);
|
||||
tcleval("show_infotext"); /* critical error: force ERC window showing */
|
||||
if(!xctx->netlist_count && xctx->netlist_type != CAD_TEDAX_NETLIST) {
|
||||
xctx->inst[i].color = -PINLAYER;
|
||||
xctx->hilight_nets=1;
|
||||
|
|
|
|||
|
|
@ -399,7 +399,7 @@ int global_verilog_netlist(int global) /* netlister driver */
|
|||
my_free(_ALLOC_ID_, &tmp_string);
|
||||
my_free(_ALLOC_ID_, &type);
|
||||
xctx->netlist_count = 0;
|
||||
if(tclgetboolvar("show_infowindow_after_netlist")) tcleval("show_infotext");
|
||||
tclvareval("show_infotext ", my_itoa(err), NULL); /* critical error: force ERC window showing */
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -486,7 +486,7 @@ int global_vhdl_netlist(int global) /* netlister driver */
|
|||
my_free(_ALLOC_ID_, &type);
|
||||
my_free(_ALLOC_ID_, &port_value);
|
||||
xctx->netlist_count = 0;
|
||||
if(tclgetboolvar("show_infowindow_after_netlist")) tcleval("show_infotext");
|
||||
tclvareval("show_infotext ", my_itoa(err), NULL); /* critical error: force ERC window showing */
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4406,10 +4406,15 @@ proc alert_ {txtlabel {position +200+300} {nowait {0}} {yesno 0}} {
|
|||
return $rcode
|
||||
}
|
||||
|
||||
proc show_infotext {} {
|
||||
global has_x infowindow_text
|
||||
proc show_infotext {{err 0}} {
|
||||
global has_x infowindow_text show_infowindow_after_netlist
|
||||
set s $show_infowindow_after_netlist
|
||||
if {$s == 1} { set s always}
|
||||
if {$s == 0} { set s onerror}
|
||||
if {[info exists has_x]} {
|
||||
wm deiconify .infotext
|
||||
if {($s eq {always}) || ($err != 0 && $s eq {onerror})} {
|
||||
wm deiconify .infotext
|
||||
}
|
||||
} else {
|
||||
puts stderr $infowindow_text
|
||||
}
|
||||
|
|
@ -6659,7 +6664,7 @@ set_ne compare_sch 0
|
|||
set_ne disable_unique_names 0
|
||||
set_ne sym_txt 1
|
||||
set_ne show_infowindow 0
|
||||
set_ne show_infowindow_after_netlist 0
|
||||
set_ne show_infowindow_after_netlist onerror
|
||||
set_ne symbol_width 150
|
||||
set_ne editor {gvim -f}
|
||||
set_ne rainbow_colors 0
|
||||
|
|
|
|||
|
|
@ -346,10 +346,11 @@
|
|||
# set show_infowindow 0
|
||||
|
||||
###########################################################################
|
||||
#### ALWAYS SHOW ERC INFO WINDOW AFTER NETLIST
|
||||
#### SHOW ERC INFO WINDOW AFTER NETLIST
|
||||
###########################################################################
|
||||
#### default: 0
|
||||
# set show_infowindow_after_netlist 0
|
||||
#### allowed values: never onerror always
|
||||
#### default: onerror
|
||||
# set show_infowindow_after_netlist onerror
|
||||
|
||||
###########################################################################
|
||||
#### TCP CONNECTION WITH GAW
|
||||
|
|
|
|||
Loading…
Reference in New Issue