Commit Graph

281 Commits

Author SHA1 Message Date
stefan schippers e68ca0a0cc Place polygon bind key is now `p`, ctrl-w is now `Close current schematic`, while ctrl-q is `Quit xschem`. Reorganized File menu, added more orthogonal `Create new schematic/tab` removed some largely unused entries. Ctrl-w does not close the last window, just leaves it blank. Use ctrl-q to close xschem 2023-06-03 23:57:35 +02:00
stefan schippers 57ea120a33 removed some direct exit() calls in editprop.c 2023-06-03 12:19:34 +02:00
stefan schippers f9610851e8 cleanup exit procedures: tcl exit command will cleanly delete additional tabs/windows data structures before closing 2023-06-03 11:37:37 +02:00
stefan schippers 6e2754020b added function swap_tabs() (wip) 2023-06-03 09:37:43 +02:00
stefan schippers 0244dc5e69 add command xschem tab_list, returns window pathname and associated filename loaded 2023-06-03 00:21:55 +02:00
stefan schippers 09a373954f initial implementation of portmap feature: from sub-schematics resolve hierarchic name of schematic nets connected to I/O pins (go to the upper level recursively until resolved) 2023-05-26 11:56:52 +02:00
Stefan Schippers ba402e65c0 remove unneeded variable in create_new_tab() 2023-05-24 18:20:18 +02:00
stefan schippers 5c22d26072 update copyright info to 2023 2023-05-21 12:52:19 +02:00
stefan schippers 014ebf0477 is_from_web() function to avoid code repetitions, more heuristics when trying to descend into web hierarchies 2023-05-18 20:55:14 +02:00
stefan schippers 70ea2bb7f1 for better consistency floater=... attribute for text floaters changed to name=... so token name matches instance refdes (name=...). Documentation added for netlist_dir (netlisting.html) and local_netlist_dir 2023-05-14 23:43:16 +02:00
stefan schippers ee1979b8b2 low level functions for floaters and floater text caches is implemented 2023-05-13 13:13:35 +02:00
stefan schippers 4c3b4d0321 various tcl_hook2() additions on instance names to handle procedures, fix bbox calculation in xschem replace_symbol command 2023-05-01 14:37:10 +02:00
stefan schippers 10441ef901 allow tcl procedures to generate generator script and parameters, update vhdl and verilog netlisters to handle generator schematic/symbol references 2023-04-26 09:54:35 +02:00
stefan schippers 3142279d02 Add inst_sch_select/ example directory (instance based implementation selection) 2023-04-25 09:15:17 +02:00
stefan schippers cd6ef78841 schematic generator netlisting seems to work. renamed is_symgen() -> is_generator() 2023-04-24 13:26:04 +02:00
stefan schippers a2de3cd787 unified copy_symbol() and copy_symbol1(), better new symbol allocation policy 2023-04-22 00:21:53 +02:00
stefan schippers 9eb4e9440c handle symbol_ref(param1,param2,...) symbol generator scripts, added some utility functions str_chars_replace(), is_symgen(), fix some quoting/backslash subst issues in get_sym_template() 2023-04-21 11:41:20 +02:00
stefan schippers 631fedb11b enabled escape_chars convenience function, added "embedded" parameter to load_sym_def() to better distinguish loading an embedded symbol from loading a regular symbol with a provided file descriptor 2023-04-20 10:44:31 +02:00
stefan schippers a5492be752 print_spice_subckt_nodes(): use (improved to handle escape chars) str_replace() to substitute @symname, added xschem str_replace, improved xschem symbols 2023-04-18 00:20:40 +02:00
stefan schippers 69277c1066 add use_tclreadline variable that can be set to 0 in xschemrc to avoid using the tclreadline package 2023-03-27 18:25:12 +02:00
stefan schippers e4e2ba37cc xschem load from script: no alert box warning if new file given 2023-03-25 09:41:53 +01:00
stefan schippers bf6b20a1ce In source Documentation (scheduler.c) of xschem commands, html docs updated 2023-03-03 18:29:17 +01:00
stefan schippers a8aaf996e7 use pre-increment where expression is not used 2023-02-18 09:44:11 +01:00
stefan schippers 42c3024eda remove debug allocation IDs 2023-02-09 21:06:27 +01:00
stefan schippers 3be9a66aed fix memory leak in table_read() 2023-02-09 21:04:22 +01:00
stefan schippers 29ef08e84b better memory tracking reporting (my_strcat and my_strncat allocations) 2023-02-01 11:38:28 +01:00
stefan schippers 1da5e47d4a remove my*() allocation routines unique IDs and replace with _ALLOC_ID_ macro, to be substituted in debug sessions with create_alloc_ids.awk 2023-01-23 15:42:15 +01:00
stefan schippers d7ddb17a50 revert and fix regression (graphical artifacts due to wrong change_linewidth() 2023-01-22 00:21:46 +01:00
stefan schippers 249fdd69a2 temporary fix for building xschem. Some warnings due to rev >c89 to be fixed, and proper detection of libjpeg must be added 2023-01-16 12:21:35 +01:00
stefan schippers 115f0fdf0c improve cairo draw options 2023-01-11 12:02:21 +01:00
stefan schippers 4c0d5023f5 allow 0 width lines (faster device dependent implementation) if user defined line width is set (to 0), add devices/title-3.sym 2023-01-07 11:28:28 +01:00
stefan schippers 19757ddd8a add menu properties -> Edit header/License text, to allow inserting header or license metadata into the sch/sym file. 2023-01-02 03:04:35 +01:00
stefan schippers aa70d90c46 fix cairo font reference counting 2022-12-25 23:13:59 +01:00
stefan schippers 75fbb76543 optimization: split cairo font creation into create + set 2022-12-25 10:42:07 +01:00
stefan schippers 2cb58c5c5c added generators/ dir, removed redundant variable in load_schematic() 2022-12-19 23:05:09 +01:00
stefan schippers 1a76f89464 added xschem_library/generators directory for future schematic/symbol generator scripts. Handle empty XSCHEM_LIBRARY_PATH (use [pwd]). 2022-12-18 13:03:38 +01:00
stefan schippers e01f545567 --diff option to visually compare two different (versions of) schematics 2022-12-13 13:51:33 +01:00
stefan schippers e54c604087 better recognize unknown commands in scheduler.c, re-enabed XCB detection in scconfig (although not used). 2022-12-07 11:32:40 +01:00
stefan schippers b23988ccdf added commented lines for antialiasing; JL:cairo_set_line_width should only be called with has_x as xctx->cairo_ctx and xctx->cairo_save_ctx is NULL when run with -x; JL:XCopyArea must be called to draw correctly with Cairo on Windows 2022-12-02 16:43:01 +01:00
stefan schippers fabace7505 cosmetic code formatting 2022-12-01 14:57:48 +01:00
stefan schippers 7ae10bd7da add macro DRAW_ALL_CAIRO: if set to 1 graphics primitives will use cairo instead of Xlib. Currently work in progress, as of now only the grid and the final XCopyArea done in draw() will use Cairo if macro is set 2022-11-30 00:59:45 +01:00
Stefan Frederik 349bebda20 more on recognizing web urls 2022-11-13 10:59:36 +01:00
Stefan Frederik faaa79d35a dim schematic to grey if showing only probes, instead of hiding it completely 2022-11-07 13:34:48 +01:00
Stefan Frederik 2c9151ea92 set up a tcl event handler if xschem is run without other event loops (no tk event loop, -x option, no tclreadline event loop, -r option) so xschem will respond to tcp connections 2022-10-25 01:00:51 +02:00
Stefan Frederik 0f25befe31 recursive attribute substitution. use also template attribute of parents if not found in instance prop_ptr 2022-10-20 10:30:48 +02:00
Stefan Frederik a820cc2e3f removed (now) duplicated inst_hash_lookup: use int_hash_lookup. Search function does not highlight nets if searching for something that is not "lab" 2022-10-12 13:14:48 +02:00
Stefan Frederik 7a1fbb4809 better check_unique_names() and hash_all_names() implementation (do not skip label instances or instances with no format attr). Button click focuses main drawing window even if autofocus_mainwindow is set to 0, to avoid losing keyboard focus forever if TAB is pressed. 2022-10-12 11:56:02 +02:00
Stefan Frederik 137ca971d3 add cmdline option --preinit <commands> to execute given commands before executing xschemrc file. This can be used to switch library search paths depending on a variable setting. 2022-10-11 00:26:06 +02:00
Stefan Frederik 5fe2f1586b refactor str_hash_* and int_hash_* functions 2022-10-05 01:18:45 +02:00
Stefan Frederik 9c29324c8a allow nets with no label pass thru symbols with duplicated pins. named nets will propagate through duplicated pins 2022-10-04 12:34:09 +02:00