From b680f5da200c20f4730da2ed924658b42399fc83 Mon Sep 17 00:00:00 2001 From: stefan schippers Date: Sun, 29 Oct 2023 12:54:55 +0100 Subject: [PATCH] redraw screen if executing `xschem raw_read` (and raw file already loaded, thus unloading waves) --- src/save.c | 12 ++++++------ src/xschem.tcl | 12 ++++++------ xschem_library/devices/short.sym | 4 ++-- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/save.c b/src/save.c index 36d804cf..cc538486 100644 --- a/src/save.c +++ b/src/save.c @@ -674,12 +674,13 @@ void free_rawfile(Raw **rawptr, int dr) int i; Raw *raw; - int deleted = 0; - if(!rawptr || !*rawptr) return; + if(!rawptr || !*rawptr) { + if(dr) draw(); + return; + } raw = *rawptr; - dbg(1, "free_rawfile(): clearing data\n"); + dbg(0, "free_rawfile(): clearing data\n"); if(raw->names) { - deleted = 1; for(i = 0 ; i < raw->nvars; ++i) { my_free(_ALLOC_ID_, &raw->names[i]); } @@ -687,7 +688,6 @@ void free_rawfile(Raw **rawptr, int dr) my_free(_ALLOC_ID_, &raw->cursor_b_val); } if(raw->values) { - deleted = 1; /* free also extra column for custom data plots */ for(i = 0 ; i <= raw->nvars; ++i) { my_free(_ALLOC_ID_, &raw->values[i]); @@ -700,7 +700,7 @@ void free_rawfile(Raw **rawptr, int dr) if(raw->schname) my_free(_ALLOC_ID_, &raw->schname); if(raw->table.table) int_hash_free(&raw->table); my_free(_ALLOC_ID_, rawptr); - if(deleted && dr) draw(); + if(dr) draw(); } /* caller must free returned pointer */ diff --git a/src/xschem.tcl b/src/xschem.tcl index 82dbb2d8..d6437bab 100644 --- a/src/xschem.tcl +++ b/src/xschem.tcl @@ -6791,6 +6791,12 @@ proc build_widgets { {topwin {} } } { -command {xschem update_all_sym_bboxes; xschem redraw} $topwin.menubar.view.menu.show add checkbutton -label "Draw grid axes" -variable draw_grid_axes \ -command {xschem redraw} + $topwin.menubar.view.menu.show add checkbutton -label "Show net names on symbol pins/floaters" \ + -variable show_pin_net_names \ + -command { + xschem update_all_sym_bboxes + xschem redraw + } $topwin.menubar.prop.menu add command -label "Edit" -command "xschem edit_prop" -accelerator Q $topwin.menubar.prop.menu add command -label "Edit with editor" -command "xschem edit_vi_prop" -accelerator Shift+Q @@ -6810,12 +6816,6 @@ proc build_widgets { {topwin {} } } { $topwin.menubar.sym.menu add radiobutton -label "Show instance Bounding boxes for all symbols" \ -variable hide_symbols -value 2 \ -command {xschem set hide_symbols $hide_symbols; xschem redraw} -accelerator Alt+B - $topwin.menubar.sym.menu add checkbutton -label "Show net names on symbol pins/floaters" \ - -variable show_pin_net_names \ - -command { - xschem update_all_sym_bboxes - xschem redraw - } $topwin.menubar.sym.menu add command -label "Set symbol width" \ -command { input_line "Enter Symbol width ($symbol_width)" "set symbol_width" $symbol_width diff --git a/xschem_library/devices/short.sym b/xschem_library/devices/short.sym index 7a3cce58..1545a727 100644 --- a/xschem_library/devices/short.sym +++ b/xschem_library/devices/short.sym @@ -1,4 +1,4 @@ -v {xschem version=3.4.4 file_version=1.2 +v {xschem version=3.4.5 file_version=1.2 * * This file is part of XSCHEM, * a schematic capture and Spice/Vhdl/Verilog netlisting tool for circuit @@ -20,7 +20,7 @@ v {xschem version=3.4.4 file_version=1.2 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA } G {} -K {type=show_label +K {type=short template="name=x1 value=0.1" format="* short @name : @#0:net_name <--> @#1:net_name" highlight=true}