Commit Graph

161 Commits

Author SHA1 Message Date
stefan schippers f903a018b2 removed partial select of arcs, will be replaced in the future by bound box resizing and ability to draw ellipses 2024-03-01 15:04:38 +01:00
stefan schippers e946a729f8 add ability to click and drag directly polygon/bezier points 2024-03-01 00:12:44 +01:00
stefan schippers 8515f25e25 fix regression in translate (check instances out of bound) affecting copy_objects() 2024-02-27 13:06:19 +01:00
stefan schippers 1e3ac96085 table_read(): read csv files 2024-02-27 10:24:21 +01:00
stefan schippers a0237b59b3 eliminated some redundant operations on instance flags (set_inst_flags() does the job) 2023-12-07 18:07:42 +01:00
stefan schippers 83c692caa9 copy between windows: allow to navigate between more than 2 windows 2023-11-28 18:41:38 +01:00
Stefan Schippers 8c29d0e812 fix error in capa-2.sym and missing check for null xctx->inst[].instname in get_pin_attr() 2023-11-11 20:03:20 +01:00
stefan schippers 2c26bfbaa9 fix some garbage while moving / copying and zooming. faster draw_selection(gctiled) if big selection (use a single XCopyArea), do not allow to descend/go_back if other UI action is pending, initial implementation of `xschem floaters_from_selected_inst` command, get_tok_val() allow quotes in tokens, like a"22"33=123 even if with_quotes unset (it is intended for token values not for tokens themselves) 2023-11-03 14:36:35 +01:00
stefan schippers a19020ed78 removed find_inst_to_be_redrawn() and related code (not worth doing) 2023-10-29 11:11:45 +01:00
stefan schippers 8b784d01d9 fix unrestored bbox coordinates in draw_selection() 2023-10-28 01:03:21 +02:00
stefan schippers b965fb0ba4 improvements in the `Fix for GPUs with broken tiled fill`, no more flickering in selections 2023-10-27 23:45:54 +02:00
stefan schippers b56ee2c998 use my_strdup2() in all text object copies(txt_ptr, prop_ptr, floater_ptr, ...) to better handle corrupted input data 2023-10-09 13:39:45 +02:00
stefan schippers 0204b7596b first selected instance is now always the master (instead of the first in the xschem array order) when doing an edit attribute on a group of selected elements 2023-10-04 17:15:52 +02:00
stefan schippers db1bf8818a cleanup in usage of new_prop_string() and hash_names() 2023-09-28 23:19:14 +02:00
stefan schippers e13922e94f simplify place_symbol(), hash newly placed component name, so successive placements will not clash instance name. hash_all_names() renamed to hash_names() 2023-09-28 13:28:16 +02:00
stefan schippers 5df9347533 removed tcl variable connect_by_kissing (to many options is a mess) 2023-09-28 12:34:10 +02:00
stefan schippers f3230ceb42 FIX_BROKEN_TILED_FILL can now be changed runtime (fix_broken_tiled_fill) 2023-09-27 01:28:31 +02:00
stefan schippers 576a7e329b improve stretch move operations when auto trim is enabled 2023-09-26 02:19:37 +02:00
stefan schippers 983f6d9d6b add tcl variable "unselect_partial_sel_wires" and related options menu entry to unselect partially selected wires attached to component pins after a stretch move command 2023-09-26 01:38:48 +02:00
stefan schippers a4b597cfc2 add Alt-c command for copy object and create nets to connected terminals 2023-09-25 23:23:08 +02:00
stefan schippers db9c014566 move "auto join/trim wires" to Options menu, "m" and "ctrl-m" move commands are swapped if enable_stretch is enabled. new_prop_string() now check for true uniqueness (all inst names are expanded with expandlabel() and all bits are hashed). Fixed regression in check_unique_names() 2023-09-25 15:28:40 +02:00
stefan schippers 03003ab7bf fix redraw of move operation abort when done with "connect by kissing" (adding new wires) 2023-09-25 00:03:02 +02:00
stefan schippers 6a0fcdae05 various optimizations (do not execute graphic ops with gctiled if FIX_BROKEN_TILED_FILL is defined, optimize XCopy Area blits 2023-09-23 01:46:39 +02:00
stefan schippers 426be0e68c add !defined(__unix__) in all #if defined(FIX_BROKEN_TILED_FILL) 2023-09-22 18:33:16 +02:00
stefan schippers 288c053ec6 various FIX_BROKEN_TILED_FILL fixes 2023-09-22 18:26:18 +02:00
stefan schippers eb91c8bbea draw crosshair at end of copy/move ops if enabled 2023-09-22 13:02:51 +02:00
stefan schippers 8f0d920a96 add draw_crosshair setting in xschemrc: draw a crosshair at mouse coordinates 2023-09-22 12:48:22 +02:00
stefan schippers 951a18cb24 draw_selection(): erase rubbers correctly during copy/move ops if FIX_BROKEN_TILED_FILL enabled 2023-09-22 09:40:59 +02:00
Stefan Schippers 3b3e723f8f add new command `Shift-M`, move selected instances adding wires when separating overlapping instance pins (Connect by kissing) 2023-06-10 18:57:32 +02:00
stefan schippers 245993f034 added attributes spice_ignore=short, verilog_ignore=short, .... that will transform the instance into a short in the current netlisting mode, shorting all pins to the same net. Works similarly as lvs_ignore=short, but does not need lvs_ignore global setting 2023-06-07 03:41:49 +02:00
stefan schippers b23d7518bb find_inst_to_be_redrawn(): add `lvs_ignore=short` devices to list, fix uninitialized xctx->inst_redraw_table 2023-06-06 18:40:27 +02:00
stefan schippers ff216e8187 function reset_flags() set flags on symbols and instances; call reset_flags before rebuilding connectivity to update cached values; add short.sym component that can be used to short two nets together (and remove the short using *_ignore=true); instcheck(): do not proces instances that have *_ignore=true set. 2023-06-06 08:42:43 +02:00
stefan schippers 637ada331e remove dbg message 2023-05-22 07:46:36 +02:00
stefan schippers b68dd8c099 when a bus label is edited correctly propagate list of instances to be redrawn if show net names on components is enabled (ie: propagate thru bus taps) 2023-05-22 07:28:12 +02:00
stefan schippers 5c22d26072 update copyright info to 2023 2023-05-21 12:52:19 +02:00
stefan schippers 96eea54894 some code refactoring, duplicate code replaced with set_inst_flags(), set_sym_flags(), various fixes/optimizations about floaters 2023-05-14 12:58:25 +02:00
stefan schippers 9fcde30a52 do not perform tcl substitution before displaying netlist_commands text into an editor. Correctly restore xctx->current_dirname after netlisting. get_generator_command(): quote command name (just in case its pathname contains spaces). floater example labels in solar_panel.sch. Various corrections and optimizations in new floater labels code. 2023-05-14 01:13:18 +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 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 baca559ffc refactor some code (use set_text_flags() to avoid repetitive code), add xschem setprop text and xschem getprop text commands to set/get text attributes 2023-02-01 00:23:33 +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 aa70d90c46 fix cairo font reference counting 2022-12-25 23:13:59 +01:00
Stefan Frederik ca8ffafe8a code refactoring (update_conn_cues()) 2022-11-07 14:23:57 +01:00
Stefan Frederik a6dc3d47c3 cache embed attribute of instances for faster lookup 2022-10-21 11:04:20 +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 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