Commit Graph

356 Commits

Author SHA1 Message Date
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 b2aad10650 changed attribute text_n_size to text_size_n (for efficienty reasons), improved get_tok_val() (use strstr for quick return "" if no token found) 2023-12-03 23:11:36 +01:00
stefan schippers b2965f4c3d attribute default_schematic=ignore: if set in a symbol xschem will not descend into the default schematic associated to symbol. Instances MUST specify a schematic attribute 2023-12-02 13:17:32 +01:00
stefan schippers aafe94822a save_file_dialog: file filter by default set to `*` (show all files) 2023-11-22 01:41:16 +01:00
stefan schippers 8d155af82f `Alt-e` does a true descend sub-schematic and opens it in another window 2023-11-20 17:53:28 +01:00
stefan schippers d4cde62870 add draw option in schematic_in_new_window(), create_new_tab(), create_new_window() 2023-11-20 00:12:13 +01:00
stefan schippers 48a9a94ab2 offloaded proc graph_tag_nodes from proc graph_update_nodelist, moved rcode and colors into tctx:: context 2023-11-17 14:05:49 +01:00
stefan schippers f4df48813f copy_hierarchy_data() initial implementation for future hierarchy cloning. Alt-Shift-E and Alt-Shift-I to edit schematic / symbol in a new xschem process. `xschem raw switch`: allow also integer index (as returned by `xschem raw info`) instead of `file type` to switch raw file 2023-11-13 18:00:30 +01:00
stefan schippers 6360fc1700 refactor reset_flags() to reset_caches(). scripts that set tcl variables that go into attributes via tcleval() should call `xschem reset_caches` to get all things updated. 2023-11-12 20:53:37 +01:00
stefan schippers ccc5dab228 better wire connection dot sizing at small smap values 2023-11-10 17:43:41 +01:00
stefan schippers 1991b409e0 fix small memory leak 2023-11-10 15:43:36 +01:00
stefan schippers 87f9a4e09b reset floater caches on save(As) schematic - better done 2023-11-09 19:20:17 +01:00
stefan schippers 769c7d4663 Add incremental_select tcl variable. It is normally set. If set show selected objects while dragging a selection rectangle. If unset show selection at end of drag operation. Fix possible endless loop whiel zooming on X axis if raw file has only one point (OP). Also if graph specifies custom plot switch to that raw file to get correct x range. 2023-11-09 16:41:53 +01:00
stefan schippers 75c8376a04 fix draw_crosshair when xctx->semaphore not zero, fix tabs context menu issues with `open schematc/symbol`; set_modify: do not attempt to reconfigure menu buttons (Simulate-Netlist-Waves) if invoked from preview dialog 2023-11-08 22:45:31 +01:00
stefan schippers eb7ad4cd8e cleanup set_netlist_dir tcl proc 2023-11-08 00:44:29 +01:00
stefan schippers 98def78164 simulation button will go yellow while sim is running.Clicking a yellow simulate button will kill simulation. 2023-11-06 16:47:14 +01:00
stefan schippers e5431d86c5 fix setting netlist button color code statwe variable (tctx::...._netlist) 2023-11-06 01:44:25 +01:00
stefan schippers 881d8a4ed9 various fixes for Simulator/Netlist button color codes 2023-11-05 14:13:20 +01:00
stefan schippers 27114408ec reset simulate and netlist button colors on load new file 2023-11-05 02:42:06 +01:00
stefan schippers a6fa6135c9 remove debug msg 2023-11-05 01:51:34 +01:00
stefan schippers 4a0c007540 fix yet another issue with set_modify() 2023-11-05 01:42:25 +01:00
stefan schippers 3bd3956042 Netlist and Simulate buttons will be colored in red or green depending on the outcome of the associated operation 2023-11-05 00:14:55 +01:00
stefan schippers 88e7f4fea4 fix a problem in set_modify() (inconsistent prev_set_modify state after netlist of modified circuit) 2023-11-04 22:50:57 +01:00
stefan schippers a5ee182d59 add some Symbol menu entries (place net label / change instance texts to floaters) 2023-11-03 15:10:22 +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 7842890f0c select_rect(): no more direct usage of fix_restore_rect() (now done in drawtemprect(xctx->gctiled,...). Some dialogs no more transient (having always on top is a hassle for some). The fix_broken_tiled_fill is now set to 1, make this alternate drawing method the default 2023-10-30 22:47:25 +01:00
stefan schippers 8f2af6803a remove some dead code, fix redrawing in `xschem move_instance` command 2023-10-30 00:57:28 +01:00
Stefan Schippers 958c5a1525 set_modify() returns now # of floaters, use this info to redraw all viewport in `xschn setprop` commands 2023-10-29 20:02:23 +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 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 6362ebb214 add tanh() function in wave expression evaluator 2023-10-27 10:48:53 +02:00
stefan schippers 3d4113ad26 tabs bar context menu 2023-10-25 11:43:43 +02:00
stefan schippers 2aeafac85c if selecting a waweform dataset with `t` key update text floaters that might contain the dataset information. When closing the process list dialog also close the process status sub-dialog. 2023-10-23 16:03:27 +02:00
stefan schippers 6e776262e6 remove debug msg 2023-10-23 00:05:34 +02:00
Stefan Schippers 73c4a17c2c dragging to the right a selection rectangle will select objects fully enclosed. Dragging to the left will select all objects intersected by the select rectangle. 2023-10-21 19:09:17 +02:00
stefan schippers 9b4bd44fd0 merged in fast_raw_read branch 2023-10-11 14:05:27 +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 3ed97b3df2 some code refactoring, more usage of tclgetboolvar() 2023-10-03 10:27:29 +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 ff2f0477a6 remove dbg message 2023-09-28 13:34:47 +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 f3230ceb42 FIX_BROKEN_TILED_FILL can now be changed runtime (fix_broken_tiled_fill) 2023-09-27 01:28:31 +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 6c7d7080b9 some code refactoring (inst_table -> inst_name_table) 2023-09-25 09:05:10 +02:00
stefan schippers 75526cacbe add "xschem create_text" command for placing text objects with CLI 2023-09-24 03:16:53 +02:00
stefan schippers 112a12a87b add tcl variable no_ask_save: if set to 1 xschem will not ask to save modified schematics 2023-09-23 11:47:11 +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