Commit Graph

435 Commits

Author SHA1 Message Date
stefan schippers 31a0712109 remove some redundant operations (housekeeping_ctx) when switching windows contexts for redraw_only 2025-03-23 12:16:01 +01:00
stefan schippers 73a920ea41 xinit.c: eval user_startup_commands after sourcong tcl_files 2025-03-14 18:28:19 +01:00
stefan schippers e789988b05 add `user_startup_commands` variable that may contain tcl code to be executed after any new window creation. Useful to have custom bindings / menu / buttons in all windows. 2025-03-13 20:11:18 +01:00
stefan schippers e1488da407 add `xschem rect gui`, `xschem line gui`, `xschem polygon gui`, `xschem wire gui` to start placement of these objects with 1st point set to mouse coordinates 2025-03-11 20:47:00 +01:00
stefan schippers de6434c941 allow multi-selections when loading a file; limit max line width in change_linewidth() to avoid strange artifacts at extreme zoom-ins 2025-03-09 02:46:58 +01:00
stefan schippers 25db8b8f9a ellipses rendered in ps/pdf export. Do not allow to select objects with mouse button press if a poligon insertion is ongoing. my_fopen() for read mode open, check for regular file. More checks for failed fopen()s. 2025-02-18 02:25:55 +01:00
stefan schippers 1d1ff164fb Merge branch 'master' into ananthchellappa 2025-02-12 00:37:49 +01:00
stefan schippers 2a7a461ace update verilogA example tb_diff_amp.sch 2025-02-11 20:38:17 +01:00
Ananth 66ec47ccfb only vars and fn defs (not calls) and inits added for ortho routing and snap cursor 2025-02-11 11:49:50 -07:00
stefan schippers 2eeeebf715 avoid calling Tcl_GetErrorLine() if tcl version < 8.6 2025-02-11 18:52:24 +01:00
stefan schippers 724869638e fix max size of graph bitmap calculation in svg_embedded_graph() and ps_embedded_graph() 2025-02-10 01:21:22 +01:00
stefan schippers 0b3db90f19 one more argument to translate3() 2025-02-07 14:39:21 +01:00
stefan schippers 0c4cdb3ea1 propagate changed key bindings to new opened windows (in no-tabs mode) 2025-02-06 01:11:11 +01:00
stefan schippers 4db384a671 add eval_expr.y for evaluation of generic math expressions in infix notation 2025-02-05 16:33:23 +01:00
stefan schippers 31a3a00c46 clean up translate() deallocation 2025-01-30 23:33:51 +01:00
stefan schippers eadd991651 reduce calls to find_closest_net_or_symbol_pin() in draw_crosshair() 2025-01-30 03:47:13 +01:00
stefan schippers bce1e652c6 refactored xctx->y_[12] to xctx->y[12] 2025-01-26 17:49:47 +01:00
stefan schippers 8086b5581e redraw_w_a_l_r_p_z_rubbers(): include zoom_rectangle(RUBBER), only execute if (snapped) coordinates changed, draw_crosshair(): only execute if (snapped) coordinates changed, find_closest_net_or_symbol_pin() is moved into draw_crosshair() so its calls are also minimized, do not allow z (zoom rectangle) if pending STARTWIRE, STARTLINE etc are in progress. 2025-01-26 15:19:22 +01:00
stefan schippers dad3b78931 Add a line number in error report if failed sourced tcl scripts 2025-01-25 19:39:53 +01:00
stefan schippers 99b0bba5b8 if big_grid_points is not set draw always thin axes and mouse crosshairs; dashed axes 2025-01-21 12:34:14 +01:00
stefan schippers 4f31c024c8 add option -noalert to `xschem netlist` command, update `proc cellview` 2025-01-19 23:29:41 +01:00
stefan schippers 7d6c3f4764 destroy_all_tabs() do a final redraw to avoid inconsistent screen after some tab removals 2025-01-15 03:11:12 +01:00
stefan schippers ef5d0e1b96 str_replace(): add parameter to specify number of substituitions (or all); replaced atof_spice() with atof_eng() in various parts related to numbers that do not come from spice netlists; fix numerical setting of cursors if log scale is set (wrong preset was shown); make wave labels in graph scale with gr->magx as X-axis labels; fix scaling roundoff issues in dtoa_eng(); add new `@spice_get_node <spice_node> ` token (where spice_node may contain @variables) in symbol texts to display indicated spice node value. Does not use TCL, thus faster and less "quoting hell" problems 2025-01-10 01:52:54 +01:00
stefan schippers 15738bbf51 better drag waves in x direction (continue even if dragging outside of graph) 2025-01-07 12:03:49 +01:00
stefan schippers fd5fec64aa make uninstall: remove empty directories (share/xschem and share/doc/xschem); make command `xschem help` work also if running in src/ directory; use XSCHEM_SHAREDIR shell variable (if defined and directory existing), else set XCSCHEM_SHAREDIR to `pwd` if started from src/ dir, else set compile set XSCHEM_SHAREDIR. xschemrc can override this XSCHEM_SHAREDIR setting. 2025-01-05 01:29:04 +01:00
stefan schippers 69a23355fb refactor some debug print messages for NULL strings 2025-01-04 11:33:58 +01:00
stefan schippers b23b162f2c rewritten the menu system using a menubar vs the menubuttons 2024-12-31 03:51:05 +01:00
stefan schippers 724c67435c updates in traversal proc, fix searching for xschem_man.html if clicking the link into the About dialog and running xschem from the src/ dir. 2024-12-30 01:04:40 +01:00
stefan schippers 6b75aa62aa avoid a redundant set_modify(-1) in review_window("destroy"...) 2024-12-17 01:07:36 +01:00
stefan schippers 5bc194f3a5 separated undo_initialized and mem_undo_initialized, so they can be used more interchangeably 2024-12-16 12:14:11 +01:00
stefan schippers f73cf30452 added a fix in draw_graph_points() to avoid waves to be drawn outside of the graph box container on Windows, where there is no working XSetCLipRectangles() 2024-12-07 00:56:04 +01:00
stefan schippers 20359ed43e update license info. Remove unneeded newline saving in version line of .sch/.sym files, remove c89 flag based on lib versions 2024-11-12 20:23:18 +01:00
stefan schippers b7e39700d4 add ability to read ASCII raw files 2024-11-06 11:59:00 +01:00
stefan schippers 92c99c10f9 get_additional_symbols(): some sanity checks, descend_schematic() more options in set_title argument (avoid set title, avoid processing pins/nets, avoid descending into i-th xdec[3] instance, descend as a whole xdec[3:0], add `xschem get_additional_symbols what` command, allow `xschem get_sch_from_sym -1 inv.sym` to get schematic associated with symbol. hier_psprint(): avoid printing / listing duplicate schematics, improved traversal.tcl 2024-11-05 13:59:37 +01:00
stefan schippers a79e4304d9 draw_image(): do RECTORDER() before taking *x1, *y1 2024-09-23 15:57:32 +02:00
stefan schippers 1dd3e28b32 remove memory tracking alloc IDs 2024-09-06 22:27:05 +02:00
stefan schippers 391464bab9 fix another small memory leak due to tclvareval("xschem exit...")--> use tcleval() 2024-09-06 22:19:36 +02:00
stefan schippers 882f7f7434 fix memory leaks introduced since introduction of my_expand() 2024-09-06 18:33:09 +02:00
stefan schippers d40a17df64 correctly set top_path and current_win_path in preview_window() when calling alloc_xschem_data(), don`t use fake window paths (alert_ proc uses parent win path) 2024-08-31 09:00:48 +02:00
stefan schippers 2b94e845c0 fix a bug in preview symbol displaying when inserting components. Toplevel .load widget was destroyed before cleaning preview data in preview_window(), so after some insertion preview was no more displayed. 2024-08-31 08:07:17 +02:00
stefan schippers 89eb02f188 add autoload checkbutton in graph properties to automatically load or not custom graph-specified raw files 2024-06-23 15:59:22 +02:00
stefan schippers efdb6b64ce removed previously added use_pwd_instead_of_current_dirname tcl variable: now a `.` in search path is always assumed to be [pwd] and not the directory of the currently opened schematic. This will hopefully fix an endless list of user complains when using symbols from dirs not listed in XSCHEM_LIBRARY_PATH. 2024-06-11 00:24:30 +02:00
stefan schippers 087aa8c3b9 if a full path is given with -N set netlist file name as well as destination path; allow right click waveforms to set to bold even if cursors are drawn 2024-05-27 08:03:52 +02:00
stefan schippers 8067f58b43 uniquify /tmp/xschem_web (--> /tmp/xschem_web_xxxxxx), also handle like /tmp/xschem_undo_xxxxx, create on startup and remove on exit. 2024-05-20 19:00:33 +02:00
stefan schippers be06ed50cb if top level schematic has an associated symbol (.sym) file ensure their ports match, otherwise issue an error. if netlisting fails return non zero exit code if netlisting from command line 2024-05-09 02:10:45 +02:00
stefan schippers c544c5bd6e xinit.c: test for tcl_interactive existence before testing value 2024-05-02 17:33:43 +02:00
stefan schippers c7bf1300c1 some better code formatting 2024-05-02 17:24:31 +02:00
stefan schippers 6f9ddff72f revert change `do not load XSCHEM_LIBRARY_PATH if options are given on cmdline`. if no file to load is given $XSCHEM_LIBRARY_PATH will be loaded regardless of command line switches 2024-04-30 11:00:37 +02:00
stefan schippers b525252612 preview_window() : BUG 2: test for NULL tkpre_window[i] 2024-04-19 19:17:18 +02:00
stefan schippers c485bcd8a2 preview_window() : BUG: fix order of statements 2024-04-19 19:12:23 +02:00