Commit Graph

2930 Commits

Author SHA1 Message Date
Chayan Deb ea7d0d94c5 [Snap Cursor Update (WIP)]: Added dynamically scaling snap cursor. 2025-01-23 22:58:35 +05:30
Chayan Deb 0a0ef228fe [Bugfix]: Fixed a bug where drawing a wire in an empty canvas caused the snap-cursor to detect it's own endpoint as a snap-point and incorrectly terminate wire-drawing mode 2025-01-23 20:26:20 +05:30
Chayan Deb 935696ef81 [Revert changes] 2025-01-23 20:04:27 +05:30
Chayan Deb 3556f3599c [Revert changes] 2025-01-23 20:03:12 +05:30
Chayan Deb 8c1bfc93f6 [Revert changes] 2025-01-23 20:00:59 +05:30
Chayan Deb ffcbeaec66 [After merge-changes]: Re-introduced temporary bugfix and altered snap-cursor keybind to match pre-merge state of this fork. 2025-01-23 19:46:16 +05:30
Chayan Deb a36150541d
Merge pull request #2 from StefanSchippers/master
Resolve merge conflicts and integrate upstream changes
2025-01-23 19:15:27 +05:30
Chayan Deb 783bccf8cf Added changes to resolve merge conflicts 2025-01-23 19:14:58 +05:30
Chayan Deb 710f857765 [Snap Cursor Update (WIP)]: Added keybind to activate snap_cursor + new tcl-command to adjust 'snap_cursor_size'. Added grid-coordinate checks for better performance using the 'find_closest_net_or_symbol_pin()' function (by only running the search when the grid-snap position changes). Fixed xctx->prev_crossx and xctx->prev_crossy conflict between draw_crosshair() and draw_snap_cursor() by using the new globally accesible variables 'xctx->prev_gridx' and 'xctx->prev_gridy' in draw_snap_cursor(). 2025-01-23 17:45:49 +05:30
stefan schippers 7553222461 remove a piece of useless code in new_wire(), fix some MENUSTARTSNAPWIRE issues with crosshair drawing, enable no infix_interface operation for `W` command 2025-01-23 11:38:32 +01:00
Chayan Deb 39e6999eeb
Merge branch 'StefanSchippers:master' into master 2025-01-23 15:15:06 +05:30
stefan schippers 096eb126c1 comment in the code 2025-01-22 17:29:17 +01:00
stefan schippers 0824c1b9b8 fix garbage on screen due to crosshair cursor if copying by drag (Shift-click-drag) in intuitive interface (collision with snapped crosshair position) 2025-01-22 17:00:03 +01:00
Chayan Deb 4b8a3c653b [New Experimental Functionality]: Added the functionality of terminating the wire-draw mode when the user clicks a component endpoint. This feature is currently on by default (if the user has the 'Display snap cursor' option enabled. 2025-01-22 19:01:48 +05:30
Chayan Deb 248596f81c [Refactoring]: Renamed variables and added inline code-comments for better code readability. 2025-01-22 17:30:14 +05:30
Chayan Deb 4c5421fdda [Bugfix]: Fixed a bug where the non-persistent wire-draw mode didn't put down a new anchor-point when 'w'-key was pressed by user. This bug was introduced in the upstream-merge (commit 8ce32b7) after incorrectly adopting the upstream way of handling 'infix_interface' mode. 2025-01-22 17:08:16 +05:30
Chayan Deb dc544f81fd [Grid-Snap Cursor Update (WIP)]: The grid snap cursor is now drawn with constant-pixel-size, regardless of the schematic editor's zoom level. This behavior will be interchangeble with the upstream version's behavior via a menu-option or a custom tcl-command in the future. 2025-01-22 17:02:04 +05:30
Chayan Deb 4944279700 Some refactoring and cleanup to standardize the previously added code 2025-01-22 15:58:28 +05:30
Chayan Deb 196e0d737b [After-Merge Modifications]: Changed default behavior for grid-snapping cursor, returning it to pre-merge state. Can be undone by the user if necessary from the 'src/xschemrc' file 2025-01-22 15:11:17 +05:30
Chayan Deb c0f1d54d55
Merge branch 'StefanSchippers:master' into master 2025-01-22 14:59:38 +05:30
Chayan Deb 2a97ca5716 [Prepare For Upstream Integration]: Changes made to integrate upstream adoption of default yellow-colored grid-snapping cursor. 2025-01-22 14:58:59 +05:30
stefan schippers 4e821586c2 replaced find_closest_net_or_symbol_pin() with new function that uses spatial hash table iterators for searching 2025-01-22 03:59:49 +01:00
stefan schippers 0c8631a101 MotionNotify events with Shift key down (and draw_crosshair enabled) will position the crosshair to the closest available landing point (inst pin or wire endpoint) 2025-01-22 01:57:09 +01:00
stefan schippers ed2a4f61c8 code formatting cleanups 2025-01-22 00:22:02 +01:00
Chayan Deb 634213d3c9 [Integrated Upstream + Temporary Bugfix]: Integrated the upstream changes for adding a custom rectangular grid-snap cursor, and re-implemented the temporary bugfix from commit ed1a471 2025-01-21 22:18:19 +05:30
Chayan Deb ad89151100
Merge branch 'StefanSchippers:master' into master 2025-01-21 21:37:30 +05:30
Chayan Deb ea7341742a [Undo Temporary Bugfix]: Discarded the temporary bugfix for commit ed1a471 2025-01-21 21:37:04 +05:30
stefan schippers 1015a9d71e added command `xschem set crosshair_layer` to change layer used for crosshair drawing 2025-01-21 16:50:31 +01:00
stefan schippers 7ee11e8dbc various fixes related to crosshair mouse display 2025-01-21 16:07:23 +01:00
stefan schippers 49aab703b4 set default value for crosshair_size tcl var to 0 2025-01-21 15:40:59 +01:00
stefan schippers 72d961aacd fix a regression where a mouse wheel zoom or schematic pan unexpectedly end an ongoing wire placement. Add xschemrc variable crosshair_size; if set to 0 draw full crosshair, if set to a small integer draw a small square around the mouse snapped coordinate 2025-01-21 15:38:19 +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
Chayan Deb 1a7c9e11d1 [Snap Cursor (WIP)]: Experimental feature 'snap_cursor' is updated. Yellow cursor that snaps to the nearest grid point is now available (always active, unless user activates crosshair using ALT+X). 2025-01-21 16:37:26 +05:30
Chayan Deb 7f613294f4 [Snap Cursor (WIP)]: Experimental feature 'snap_cursor' is updated. It can be selected from the Options menu (disabled by default) and will take effect when the wire-drawing mode is active. This is a work in progress and needs a lot more polishing to be properly usable. Currently only supports snapping to nearest component-endpoint. Cursor to snap to nearest grid point is pending. 2025-01-21 15:49:52 +05:30
Chayan Deb 73789df48c
Merge branch 'StefanSchippers:master' into master 2025-01-21 12:10:40 +05:30
stefan schippers 2b05b365e5 If opening a non existing xxxx.sym file euristically set netlist_type to symbol --> better implementation 2025-01-21 04:09:08 +01:00
stefan schippers 5d52d322b5 symbol_in_new_window(): if no symbol selected build file name for symbol of current schematic and open it in a new tab. If opening a non existing xxxx.sym file euristically set netlist_type to symbol. proc open_sub_schematic: if no symbol selected for subcircuit to open, open the corresponsing schematic of the symbol we are editing 2025-01-21 02:57:46 +01:00
stefan schippers 6adee35b89 update make_sym.awk to use a polyline instead of segments for the symbol box 2025-01-20 23:03:33 +01:00
Chayan Deb 4a5f31983b
Merge branch 'StefanSchippers:master' into master 2025-01-20 23:23:04 +05:30
Chayan Deb 320b8efc4b [Snap Cursor (WIP)]: Experimental feature 'snap_cursor' is now available to be selected from the Options menu (disabled by default). This is a work in progress and needs a lot more polishing to be properly usable. Currently only supports snapping to nearest component-endpoint. 2025-01-20 23:20:53 +05:30
stefan schippers c9f60ce1c8 clanup / better implementation of previous fix 2025-01-20 18:39:46 +01:00
stefan schippers c52ded63b0 complete previous fix 2025-01-20 18:21:12 +01:00
stefan schippers 7523c0015c correctly mangle generator calls with parameters containing forbidden characters. Transliterate to get valid SPICE identifiers 2025-01-20 17:54:06 +01:00
stefan schippers 724c264c9d allow Shift-T command (toggle spice_ignore attribute) to cycle through ignore-shorted-unset on selected elements 2025-01-20 16:48:31 +01:00
stefan schippers 0e53359ee0 update proc cellview 2025-01-20 14:52:30 +01:00
Chayan Deb ed1a471f5d [Fixed Upstream Bug]: While the schematic editor is in intuitive-interface mode, drawing a wire would immediately terminate the endpoint of it when the LMB button is released (i.e. user click drew a point - when persistent_command was disabled). This behavior is now corrected, but a non-essential feature introduced in the last set of upstream commits had to be broken (end wire creation when dragging in intuitive interface mode). The broken feature will be fixed in a future commit. 2025-01-20 14:12:33 +05:30
Chayan Deb a1a598cf21
Merge branch 'StefanSchippers:master' into master 2025-01-20 13:43:15 +05:30
stefan schippers cb38deffa6 add -keep_symbols to `xschem load command`, options changed to have a leading dash, and moved at beginning of command arg list; `xschem netlist` command: add -keep_symbols option; `xschem setprop` command: move fast and fastundo to beginning of arg list with a leading dash; update proc cellview 2025-01-20 02:30:46 +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 16121b6e07 keep selection if aborting a move operation. This was probably a regression 2025-01-19 14:13:57 +01:00
stefan schippers 2bd1c79cd5 enhance drawing wires in intuitive_interface by dragging away from an instance pin or wire endpoint. Allow set manhattan/oblique direction as with w keybind 2025-01-19 13:59:18 +01:00
Chayan Deb eee26c9f3e
Merge branch 'StefanSchippers:master' into master 2025-01-19 15:35:42 +05:30
stefan schippers 4759d58ad5 add a prepare_netlist_structs() in get_pin_attr() to update net names for @#pin tokens 2025-01-19 02:31:58 +01:00
stefan schippers 6dcc9fd7c5 allow Shift-Click to terminate snapped wire placement (in addition to Shift-W) 2025-01-18 23:50:04 +01:00
stefan schippers ca1035eca1 add no-infix (set infix_interface 0) operation to move and copy operations 2025-01-18 21:59:04 +01:00
stefan schippers cfb491adb3 draw_crosshair(): parameter del renamed to what; @spice_get_current: special handling for resistors that are converted to b-sources: i(@r.x4.r1[i]) --> i(@b.x4.br1[i]) 2025-01-18 12:38:12 +01:00
Chayan Deb 92428e4409 [Code Refactoring]: Modified the source code for compatibility with the upstream repo (due to 'infix_wire' feature integration with new name 'infix_interface') 2025-01-18 15:52:17 +05:30
Chayan Deb 26df8d7d21 [Code Refactoring]: Modified the source code for compatibility with the upstream repo (due to 'infix_wire' feature integration with new name 'infix_interface') 2025-01-18 15:50:36 +05:30
Chayan Deb 3480d9767d [Code Refactoring]: Modified the source code for compatibility with the upstream repo (due to 'infix_wire' feature integration with new name 'infix_interface') 2025-01-18 15:42:43 +05:30
Chayan Deb 7fe267842a [Code Refactoring]: Modified the source code for compatibility with the upstream repo (due to 'infix_wire' feature integration with new name 'infix_interface') 2025-01-18 14:08:44 +05:30
Chayan Deb 8ce32b73b7 [Code Refactoring]: Modified the source code for compatibility with the upstream repo (due to 'infix_wire' feature integration with new name 'infix_interface') 2025-01-18 14:05:29 +05:30
stefan schippers 025823f14c `xschem go_back 0` allows to go up in hierarchy *NOT* saving a modified schematic 2025-01-17 18:11:35 +01:00
stefan schippers 151241afc7 add new command `xschem get modified` (returns 1 if circuit needs to be saved) 2025-01-17 17:48:02 +01:00
stefan schippers ac8db614c0 infix_interface xschemrc variable (default=1) can be set to 0 to disable infix (need to click a point after bindkey); disable warnings from graphs with autoload=1 if no raw file or matching analysis found; add m parameter (multiplicity) to bsource.sym, cmos_example.sch; remove dependency on external model file, use ngspice provided mos model 8 bsim3 models. 2025-01-17 17:15:48 +01:00
Chayan Deb 24bfb5b363 [Bugfix]: Fixed an issue where the bottom statusbar showed the green zsh: command not found: Draw indicatior when the user enters and exits wire-drawing mode without actually drawing a wire. 2025-01-17 11:42:59 +05:30
Chayan Deb 378c2ea115
Merge branch 'StefanSchippers:master' into master 2025-01-17 11:37:48 +05:30
stefan schippers c57c49fde8 Hiding the TEXT layer will disable only symbol texts on that layer, not all texts, `proc select_layers` make the widget non-modal 2025-01-16 20:37:19 +01:00
stefan schippers ca6b8fe85b end_shape_point_edit(): fix erroneous set_modify because comparing unsmapped mouse saved coords with snapped actual mouse coords 2025-01-16 17:19:42 +01:00
stefan schippers f2225677cc fix regression in (V) cursor movement when multiple side-by-side graphs are present 2025-01-16 16:03:34 +01:00
stefan schippers bcca65da90 translate(), @spice_get_current, typo led to missing argument in printf() 2025-01-16 15:35:11 +01:00
stefan schippers 315c5bd600 added symbol attributes @spice_get_current_<param>, @spice_get_modelparam_<param>, @spice_get_modelvoltage_<param> 2025-01-16 02:52:52 +01:00
stefan schippers f79f9ecf1d removed dbg mesages 2025-01-15 19:12:30 +01:00
stefan schippers f2b9d0c6f3 added attribute @spice_get_current<n> for retrieving current through terminal <n> of primitive device; example: @spice_get_current2 to get base current of BJT device 2025-01-15 17:39:59 +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 10991e662c added `xschem symbol_base_name` command to get the base symbol a symbol defined by instance `schematic` attribute comes from; updated `celview` procedure 2025-01-15 00:44:39 +01:00
Chayan Deb 3081714ebf
Merge branch 'StefanSchippers:master' into master 2025-01-14 18:08:10 +05:30
stefan schippers a24145c16c revert change `LCC symbols: make 1st LCC level pins display spice_get_voltage annotation data` (not working as expected) 2025-01-14 01:13:14 +01:00
stefan schippers b0973ae8c0 add_pinlayer_boxes(): fix uninitialized bb[PINLAYER][i].fill, LCC symbols: make 1st LCC level pins display spice_get_voltage annotation data 2025-01-13 17:30:11 +01:00
stefan schippers 6cca3fefc4 add debug line in load_sym_def() 2025-01-13 13:30:15 +01:00
stefan schippers 0920c6804d comments and indentation in save.c 2025-01-13 11:58:16 +01:00
stefan schippers d05b7fa389 update schematic backannotation on cursor2 position if setting it numerically (Right button click on cursor) 2025-01-12 17:06:44 +01:00
Chayan Deb 05a376e678
Merge branch 'StefanSchippers:master' into master 2025-01-12 12:59:02 +05:30
stefan schippers 8da888a119 fix uninitialized `raw` pointer in graph_fullxzoom() and graph_fullxzoom() 2025-01-12 00:08:41 +01:00
stefan schippers 66a6c913e3 removed warning msg 2025-01-11 22:45:42 +01:00
stefan schippers 7d0a0e82bf name_unlabeled_instances() commented out redundant (never happens) check 2025-01-11 20:24:16 +01:00
stefan schippers a7d5865ab8 fix erroneous `all pins disconnected` warning when netlisting pin-to-pin connected element chains 2025-01-11 20:16:01 +01:00
stefan schippers bca1110282 add option -nohier to `xschem netlist` command, correctly restore netlist_dir at end 2025-01-11 17:55:46 +01:00
stefan schippers 7484a6363c interpret `xschem symbols {}` as `xschem symbols` (simpler for scripts), update proc cellview 2025-01-11 15:30:22 +01:00
stefan schippers 172ab4081d changed `xschem is_symgen` to `xschem is_generator` as name is more appropriate 2025-01-11 14:17:30 +01:00
stefan schippers 02d992d2a6 fix error checks in get_sch_from_sym() 2025-01-11 14:10:02 +01:00
stefan schippers 5161f3dc0a some doc updates and comments, error checks in get_sch_from_sym() 2025-01-11 14:08:23 +01:00
Chayan Deb 8b6f5c1b9d
Merge branch 'StefanSchippers:master' into master 2025-01-11 11:33:44 +05:30
stefan schippers 9d54269d25 doc updates (@spice_get_node) 2025-01-11 01:34:41 +01:00
stefan schippers 69ddd2966c get_sym_name(): use with_quotes=6 in extraction of schematic attribute as done in get_additional_symbols() and get_sch_from_sym() 2025-01-10 17:40:16 +01:00
stefan schippers be76009a3c remove dbg msg 2025-01-10 17:15:53 +01:00
stefan schippers a0da5c7b51 fix resolution of symbol references like: symbolgen.tcl(buf), when descending into symbol correctly recognize generator and descend into generated symbol 2025-01-10 17:14:13 +01:00
stefan schippers 1d5ff21130 get_sch_from_sym() fix detection of empty instance `schematic` attribute 2025-01-10 16:51:20 +01:00
stefan schippers aeb57781a8 fix some c89 violations (warnings) 2025-01-10 16:14:24 +01:00
stefan schippers 59e7872f67 reduce some pointer indirections to array subscripts (readability) 2025-01-10 16:00:47 +01:00
stefan schippers 0a3fd95e06 code formatting 2025-01-10 14:58:10 +01:00
stefan schippers 882e20397d get_additional_symbols(), get_sch_from_sym(): allow to resolve schematic calls like: schematic=generator.tcl(@n\) --> let get_tok_value() return backslashes and remove surrounding "..." quotes 2025-01-10 14:12:05 +01:00
Chayan Deb 48b561b72c
Merge branch 'StefanSchippers:master' into master 2025-01-10 17:08:28 +05:30
stefan schippers a29814d728 get_additional_symbols(), get_sch_from_sym(): allow to resolve schematic calls like: schematic=generator.tcl( @n ) where n=11 is defined in instance attrs. some fixes in cursor movement in waves_callback() 2025-01-10 06:03:52 +01:00
stefan schippers 2c1e1c1fe7 refactoring and cleanup of wave_callback() -8- 2025-01-10 02:35:50 +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
Chayan Deb 3746564468
Merge branch 'StefanSchippers:master' into master 2025-01-09 21:13:37 +05:30
stefan schippers aa36cbb897 @path expansion in translate(): remove path components above the level where raw file (if any) was loaded; added @spice_get_current in bsource.sym 2025-01-09 15:35:35 +01:00
Chayan Deb a184d38007
Merge branch 'StefanSchippers:master' into master 2025-01-09 17:21:52 +05:30
Chayan Deb 21d4abcfc0 [Experimental Feature Update (orthogonal_wiring)]: Modified the last added orthogonal wiring mode to only FINALIZE either a horizontal, or a vertical component when a user-click event is detected. HOWEVER, the full orthogonal wire is drawn on the canvas anyways. A double-click using LMB causes both the horizontal and vertical components to get finalized, and the wire-drawing mode is simultaneously terminated. To get the best experience with this feature, 'persistent_commands' should also be enabled from the 'Options' menu. 2025-01-09 15:56:29 +05:30
stefan schippers c6a4e8b942 refactoring and cleanup of wave_callback() -7- 2025-01-09 04:23:23 +01:00
stefan schippers cd3eaf23ea refactoring and cleanup of wave_callback() -6- 2025-01-09 04:11:30 +01:00
stefan schippers 52b9cc1ee6 refactoring and cleanup of wave_callback() -5- 2025-01-09 00:46:42 +01:00
stefan schippers ff7c767c4d propagate drawing graph Hcursor functions to SVG/PDF exports 2025-01-09 00:31:11 +01:00
stefan schippers 7d7b381b7b refactoring and cleanup of wave_callback() -4- 2025-01-09 00:17:55 +01:00
stefan schippers ed9dc9b211 disable debug msg 2025-01-09 00:12:07 +01:00
stefan schippers 45a0af8005 fix unwanted clear of GRAPHPAN bit in button3 operations in wave_callback() 2025-01-09 00:11:04 +01:00
stefan schippers 444eb47eb5 refactoring and cleanup of wave_callback() -3- 2025-01-08 22:19:58 +01:00
stefan schippers d1e2328eb3 refactoring and cleanup of wave_callback() -2- 2025-01-08 21:12:59 +01:00
stefan schippers bbdfd3c61a refactoring and cleanup of wave_callback() 2025-01-08 16:36:45 +01:00
stefan schippers 0d7d1f5364 implemented drag with right-button pressed on left of Y axis to do a Y area zoom 2025-01-08 15:05:11 +01:00
stefan schippers 12a9276ee0 optimization in plotting routines: skip unwanted datasets, if no dc simulation there is no need to detect sweep variable wraps 2025-01-08 13:27:07 +01:00
stefan schippers 182b55adf8 fix some issues when setting numerical position of cursors (spurious activation of `GRAPHPAN`); proc input_line: return `preset` argument on Cancel 2025-01-08 01:21:05 +01:00
stefan schippers 149ee5fdc0 further refactoring of waves_callback() (reduce first loop over graphs to single iteration on graph_master) 2025-01-07 14:31:26 +01:00
stefan schippers d2321f1eeb cleanup code in waves_callback() 2025-01-07 13:04:41 +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 a3e7610d83 horizontal cursors in graphs 2025-01-07 04:20:32 +01:00
stefan schippers 9fda7e2f96 wip: put code in place for horiz cursors in graphs 2025-01-06 13:14:12 +01:00
Chayan Deb be202219a0 [Experimental Feature Update (orthogonal_wiring)]: Modified the last added orthogonal wiring mode to only draw either a horizontal, or a vertical component when a user-click event is detected. To get the best experience with this feature, 'persistent_commands' should also be enabled from the 'Options' menu. 2025-01-06 15:58:38 +05:30
Chayan Deb f020e45364 [Experimental Feature Update (orthogonal_wiring)]: Modified the last added orthogonal wiring mode to only draw either a horizontal, or a vertical component when a user-click event is detected. To get the best experience with this feature, 'persistent_commands' should also be enabled from the 'Options' menu. 2025-01-06 15:57:37 +05:30
stefan schippers 783fa04eb6 `xschem save` --> save_schematic(): added `fast` argument (do not update window/tab/sim button states for speed); `xschem select instance` --> select_element(): added `nodraw` argument in addition to existing `fast` (avoid drawing selected item for speed) 2025-01-05 13:27:49 +01:00
stefan schippers 4d76708534 save_schematic(): remove set_modify(2) if same name. need to add a dedicated parameter for save without title update 2025-01-05 11:27:18 +01:00
Chayan Deb 3a19d8c8ec
Merge branch 'StefanSchippers:master' into master 2025-01-05 13:23:03 +05:30
Chayan Deb 3b55410709 [Added New Feature]: New menu option 'Enable orthogonal wiring' is now accessible through the 'Options' menu. This option is kept ON-BY-DEFAULT and can be disabled through the menu, 'Shift+L'-keyboard-shortcut, or by editing the 'xschemrc' file to make xschem-editor revert back to it's old behavior - which was drawing wires in free-form mode (Unconstrained move). The functionality of the 'h' and 'v' keys are preserved, and they can still be used to force the editor to only draw horizontal or vertical wires respectively. 2025-01-05 13:20:52 +05:30
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
Chayan Deb 4e084d8cae
Merge branch 'StefanSchippers:master' into master 2025-01-04 17:35:16 +05:30
stefan schippers 09813f8e1e restrict `menu unpost by click` hack to 8.6+ tcl versions. the hack works on tcl8.4, but lets avoid potential problems on jurassic systems 2025-01-04 12:47:13 +01:00
stefan schippers f824f26c4f click on posted menu will unpost it. Now no more Motion event is needed to repost again the menu by another click 2025-01-04 12:39:22 +01:00
stefan schippers ee0de61220 add `2` and `3` argument to set_modify (do only clear/set modified flag), save() -> save_schematic(): do not update title/tab names if saving with same name. 2025-01-04 12:24:22 +01:00
stefan schippers 69a23355fb refactor some debug print messages for NULL strings 2025-01-04 11:33:58 +01:00
stefan schippers 4e2584341c updates on cellview and traversal; hack on Menu Button event handler to allow a click on a posted menu to unpost it. 2025-01-04 04:16:43 +01:00
Chayan Deb 8981b47ed3 [Fixed an issue]: The bottom-statusbar now correctly indicates if the schematic editor is currently in wire-drawing-mode or not. The color of the indicator has been changed to a more visible and non-alerting green, and the text has been shortened to only display 'DRAW WIRE! ' instead of the previous message. 2025-01-03 18:35:15 +05:30
Chayan Deb 9aff371ffe
Merge branch 'StefanSchippers:master' into master 2025-01-03 18:19:54 +05:30
stefan schippers 0e63e1bfff remove commented dirty hack 2025-01-03 13:48:23 +01:00
Chayan Deb b1e4d14a80 [Changed behavior of a workflow action]: While the 'persistent-wire-draw' checkbox is ticked in the 'Options'-menu, pressing 'Esc' will immediately eject the user from wire-drawing-mode and end any multi-segment wire being drawn. Double click behavior remains the same as before. 2025-01-03 18:08:33 +05:30
stefan schippers abc88e8819 Revert dirty hack to make a click on an open menu close it, still some issues 2025-01-03 13:15:30 +01:00
stefan schippers ed1149edb2 dirty hack to make a click on an open menu close it 2025-01-03 13:09:18 +01:00
stefan schippers e77cc334f4 has_included_subcircuit() and proc has_included_subcircuit: compare and reorder only ports with associated symbol pin. do not consider `extra` ports assigned via attributes 2025-01-03 00:49:54 +01:00
stefan schippers 294a10bd5a go_back(): if a write of modified schematic is requested before going up but write fails (for example due to permission issues) then issue a warning and go ahead anyway. Previously xschem got stuck in the lower hierarchy with no way to escape. If xschem load is done with `noundoreset` option do not change some context data (xctx->currsch, xctx->sch_path, xctx->portmap, xctx->sch_inst_number, ...). Various fixes/enhancements in cellview and traversal procedures. 2025-01-02 22:38:40 +01:00
Chayan Deb 052d7e8793 [Added New Feature]: New menu option 'Enable infix wire' is now accessible through the 'Options' menu. This option is turned-off by default and can be enabled anytime through the menu or the 'xschemrc' file to make xschem-editor revert back to it's old behavior, prior to commit 96c3dde250 2025-01-02 20:03:42 +05:30
Chayan Deb 6e886ff448
Merge branch 'StefanSchippers:master' into master 2025-01-02 18:55:36 +05:30
Chayan Deb 1ef5445353 Repo Merge 2025-01-02 18:54:37 +05:30
Chayan Deb 76e106563b [UI/UX Enhancement]: When the 'w'-key is pressed to enter wire-drawing mode, until drawing begins with an LMB-click - a new bottom status-bar entry will appear in deep blue color along with the text {WIRE READY TO DRAW! } - indicating the current editor mode. Either pressing 'Esc'-key, or starting the wire-drawing process with an LMB-click will cause this new status-bar entry to disappear. 2025-01-02 18:46:46 +05:30
stefan schippers 45382d1b1d fix `s` command (simulate) to work with new menu system 2025-01-02 13:22:34 +01:00
stefan schippers 2bd205427d load_schematic(): do not set xctx->time_last_modify if called with reset_undo == 0; fix persistent command mode when started from menu; update traversal procedures 2025-01-02 12:52:51 +01:00
Chayan Deb 724f8e834e
Merge branch 'StefanSchippers:master' into master 2025-01-02 13:42:56 +05:30
Chayan Deb 96c3dde250 [Feature enhancement]: Pressing the 'w'-key now sets the schematic editor to wire-drawing mode, instead of immediately placing down the wire. Press LMB in this state to start drawing the wire. 2025-01-02 12:32:35 +05:30
stefan schippers 8fa2c9c22a add all_hierarchy parameter to proc traversal 2025-01-01 11:48:33 +01:00
stefan schippers 041d90548d xschem.tcl toolbar procs reordering 2024-12-31 22:57:28 +01:00
stefan schippers 3a8d36d0fe update add_custom_menu.tcl to new menu system, some refactoring in xschem.tcl for toolbar (add_toolbuttons procedure) 2024-12-31 21:00:09 +01:00
stefan schippers 05dc1a4772 update add_custom_menu.tcl for new menu system 2024-12-31 13:05:48 +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 2c8468ee1c add custom binding to MenuButton Button-1 events so clicking on a posted menubutton will unpost it 2024-12-30 19:03:06 +01:00
stefan schippers 1a14adaade Hovering other menu titles while one is open will drop down the other menus, even wihout holding down mouse button1 2024-12-30 15:31:59 +01:00
stefan schippers 1e75d69dfe remove unused variable mbg in menu system 2024-12-30 11:20:07 +01:00
stefan schippers c45ae9248b slightly bigger font for traversal 2024-12-30 01:11:37 +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 0ba037894f update keys.help 2024-12-29 21:37:17 +01:00
stefan schippers 135022a39d removed src/traversal.tcl 2024-12-29 19:39:29 +01:00
stefan schippers 0b4cedbf05 add Button3 drag for rectangle zoom, move ctx menu to Button3Release, updates in traversal and cellview 2024-12-29 19:35:49 +01:00
stefan schippers b68731481c updated cellview and traversal procedures 2024-12-29 14:47:27 +01:00
stefan schippers be39ce970b remove traversal.tcl from src/Makefile.in 2024-12-29 12:52:28 +01:00
stefan schippers 0ffd327b85 do not do a rectangle zoom (`z` key) if no minimum area is given; added `xschem get symbols` command; added `derived_symbols` in `xschem symbols` command; added menu `simulations->Keep symbols when traversing hierarchy`; created `proc cellview` and integrated `traversal.tcl` into xschem.tcl 2024-12-29 12:38:26 +01:00
stefan schippers 61c4f72c15 some `xschem test` benchmarks added 2024-12-24 03:15:50 +01:00
stefan schippers b16a5ef927 code comments 2024-12-23 12:24:06 +01:00
stefan schippers 3fecba878c fix double push_undo() call when adding a wire in intuitive_interface (by click and drag from a wire endpoint or symbol pin). This led to inconsistencies (spurious connecting dots on wires) when doing an Undo operation 2024-12-23 02:22:40 +01:00
stefan schippers 712b985333 proc edit_prop: better selection of value=".... \" .... \" ...": dont get confused by escaped quotes 2024-12-23 00:51:52 +01:00
stefan schippers 7a8ab78d11 restore rotten intuitive interface command ctrl-shift-click-drag to move a component creating wires if pins attached to components or wires 2024-12-22 18:49:58 +01:00
stefan schippers c4ebc92aa2 update xschem go_back command (pas integer notitle to go_back() function; simplify wrap handling vs sweep variable in draw_graph(), graph_fullyzoom(), calc_custom_data_yrange(), find_closest_wave() 2024-12-21 13:05:33 +01:00
stefan schippers 6682965dba make @spice_get_current work for pnp and npn symbols 2024-12-21 00:49:44 +01:00
stefan schippers b892ad8ac7 Make @spice_get_current report Id (drain current) for mos devices (defined as plain mosfets in model (ngspice syntax), may be to extend for Xyce) 2024-12-20 22:25:19 +01:00
stefan schippers 1ddafe3276 updated autozero_comp.sch to show saout histogram; xschem raw switch: do not call update_op() if not switching into a 1-point OP or DC sim 2024-12-20 11:56:53 +01:00
stefan schippers 47f0d2d57c improvements in raw_get_pos(), fix test_backannotated_subckt.sch (was not simulating anymore) 2024-12-20 02:28:38 +01:00
stefan schippers d9d75de337 remove dbg message 2024-12-20 01:19:02 +01:00
stefan schippers d03f3b52e1 bars for hystograms use squared lines, not rounded lines, added command `xschem raw pos_at node value` to find position (in raw file) where node = value 2024-12-19 23:53:11 +01:00
stefan schippers 7402385a82 fix regression from commit `graphs: always plot one point before x1 and one point after x2 of simulation`: 2-dimensional dc-sweeps did miss first or last point 2024-12-18 01:55:05 +01:00
stefan schippers da6532d8d8 doc updates (xschem image command) 2024-12-17 09:27:01 +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 158ed8decc load_schematic(): do not invoke trim_wires (if enabled) if called non interactively with reset_undo == 0 (it will change name of top schematic in tab and window title while netlisting) 2024-12-16 16:44:56 +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 b4423126ea add (disabled) debug message in proc set_tab_names 2024-12-16 09:09:39 +01:00
stefan schippers 8c4d5cb7b8 push_undo() correctly handle case when tmpdir can not be created (init_undo() fails) 2024-12-16 02:18:32 +01:00
stefan schippers cac5392a45 proc set_tab_names: call [xschem get schname] only once 2024-12-16 01:24:36 +01:00
stefan schippers 538d3bf2ad xschem raw values now returns full precision, no more 8 digit rounding, as this is undesirable for transient noise sims 2024-12-15 12:24:51 +01:00
stefan schippers 5eea0728c7 update in_memory_undo.c to be in sync with pop_undo(4, ...) 2024-12-14 22:39:13 +01:00
stefan schippers e8e217591d add verilator in addition to icarus verilog simulator 2024-12-12 12:45:24 +01:00
stefan schippers a97b47623f annotate_op: delete current raw file (to replace with new OP raw) ONLY if current loaded raw file is an OP simulation (npoints==1) 2024-12-11 01:54:31 +01:00
stefan schippers 13e38b803d annotate_op command only deletes loaded OP raw file (if any), does no more delete all loaded raw files. 2024-12-10 23:31:09 +01:00
stefan schippers 4bdfa44575 use ttk::combobox instead of spinbox where available (tcl > 8.4) for graph Line/HistoH/HistoV selection 2024-12-10 11:41:35 +01:00
stefan schippers 48d7522a8c remove debug messages 2024-12-10 00:37:26 +01:00
stefan schippers 893c48d7dd fix some HistH graph draw artifacts when panning/zooming the graph 2024-12-10 00:07:33 +01:00
stefan schippers 8bb69b65e9 HistogramH and HistogramV graph modes 2024-12-09 17:25:40 +01:00
stefan schippers 2a7ee749ba xschem raw add: add optional sweep_var parameter 2024-12-09 00:00:27 +01:00
stefan schippers 2ec8c61757 fix previous commit for digital graphs 2024-12-07 11:40:49 +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 963e877497 Allow wave expressions with spaces on a single line without quotes ("...."). Quotes can be used for wave expression on multiple lines. Side effect: multiple nodes can no more be specified on a single line separated with spaces. Use newlines 2024-12-05 02:54:08 +01:00
stefan schippers 75b5cc13f4 added `-undo 1` to all text widgets. If text_replace_selection is enabled replace selection when pasting also in entry widgets as done with text widgets 2024-12-04 16:38:35 +01:00
stefan schippers 0734414bd7 simplify some regsub pattern substitutions in xschem.tcl 2024-12-04 13:41:52 +01:00
stefan schippers ce99d093c4 screen grab: if draw crosshair is enabled and a screen grab is done show default mouse pointer 2024-12-01 11:55:46 +01:00
stefan schippers 5ae730a5fb waves_selected(): do not check sch_waves_loaded() to return is_inside 2024-11-30 10:57:06 +01:00
stefan schippers 17a564062c graphs: always plot one point before x1 and one point after x2 of simulation waves so they will extend to full graph area even if there are few simulation points. 2024-11-30 01:16:37 +01:00
stefan schippers ebc4babdd4 add graph_use_ctrl_key variable (default 0) to force holding Control key to interact with graphs. This avoid graphs "stealing" events that are expected to work on the schematic 2024-11-29 22:52:36 +01:00
stefan schippers 7ca8857302 starting a move (m) or copy (c) operation when nothing is selected does not change ui_state. Clearly a bug 2024-11-29 01:30:38 +01:00
stefan schippers 8eb60ae32b allow full specification of file selector window geometry and pane sizes. examples in xschemrc 2024-11-28 11:37:21 +01:00
stefan schippers 471675ad49 fully remember panedwindow (vertical and horizontal) sash positions in load_file_dialog 2024-11-28 10:06:37 +01:00
stefan schippers e2f19d8b7c better implementation of previous fix. if read_dataset() does not find a matching dataset, delete only current raw structure, not all loaded raw files. 2024-11-28 03:51:27 +01:00
stefan schippers 9c48617e4e xschem annotate_op command: if no OP analysis is found in raw file try to load a DC sweep and use first point for schematic annotation. This is done because Xyce stores OP data as a 1-point DC sweep 2024-11-28 03:18:32 +01:00
stefan schippers f9b341ef98 revert last changes in draw_graph_points(). Optimization was already done. 2024-11-28 00:51:38 +01:00
stefan schippers b642d63215 avoid unneeded calls to draw_crosshair(1) if crosshair is not enabled. Double performance of draw_graph_points() (do not draw on xctx->window if XCopyArea drawing model (now the default) is enabled 2024-11-27 16:13:48 +01:00
stefan schippers ca6fb60ce7 added `legend` checkbutton in graph dialog box to switch off signal legend in analog graphs 2024-11-25 14:29:19 +01:00
stefan schippers cf7933b99d save.c: do not assume complex data for `constants` raw file sections, deduce data type from Flags line (both complex and real constants sections exist) 2024-11-25 12:48:25 +01:00
stefan schippers 7fccc2eed1 better xschem bbox command 2024-11-22 03:12:57 +01:00
stefan schippers 4fff388f99 add `constants` plot type in graph sim type drop down menu 2024-11-22 00:11:37 +01:00
stefan schippers 893bd20901 remove a clipping condition in draw_graph_points() as graph-area clip is set in draw_graph() 2024-11-21 10:58:15 +01:00
stefan schippers 67a4407952 fix typo in condition (draw_pixmap instead of save_pixmap) 2024-11-16 10:19:34 +01:00
stefan schippers 7e699d94e5 indentations in xschem.tcl 2024-11-14 20:41:54 +01:00
stefan schippers 1c69848325 correctly handle `set_title & 2` in descend_schematic() 2024-11-14 00:35:21 +01:00
stefan schippers 819e2f0969 limit precision of (now unsnapped) selection rectangle dimensions in status line 2024-11-13 23:05:46 +01:00
stefan schippers de9c40af65 allow file extension spec in tmpfile creation, update index.html 2024-11-13 12:04:56 +01:00
stefan schippers 4fca204e8d improvement of previous commit. Sanitize paths ending with ////, like /aa/bb/cc/// 2024-11-12 22:48:21 +01:00
stefan schippers 169d743b33 insert symbols should tolerate paths in XSCHEM_LIBRARY_PATH ending with `/` 2024-11-12 20:58:09 +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 aa95f0ff9d Small changes to allow build with tcl-tk 9.0 2024-11-12 01:16:43 +01:00
stefan schippers 127a2a0221 add needed include <stdarg.h> in scheduler.c (needed, probably some library or other include file was sourcing it). 2024-11-11 20:59:29 +01:00
stefan schippers 63ac9ccbb9 update Changelog for 3.4.6 2024-11-11 17:17:42 +01:00
stefan schippers dd33a067de select rectangles are unsnapped. much easier to select small objects 2024-11-10 09:53:37 +01:00
stefan schippers 346666e13d draw_graph_grid(): handle NaN in y-data , avoid infinite loop 2024-11-07 00:39:53 +01:00
stefan schippers b7e39700d4 add ability to read ASCII raw files 2024-11-06 11:59:00 +01:00
Stefan Schippers bb49cc9b26 fix incomplete line in actions.c 2024-11-05 20:09:04 +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 0bd6ccef86 select_element(): do not draw selection if fast argument given 2024-11-03 10:33:11 +01:00
stefan schippers e26e03ff0b comments on top of change_sch_path() 2024-11-03 00:23:49 +01:00
stefan schippers 94d5c44599 xschem change_sch_path command for changing the current path we are descended in; set_title parameter for xschem descend and xschem go_back (optimization for faster scripts). optimized utility procedure traversal.tcl. Catch glob pattern errors in proc setglob 2024-11-03 00:22:40 +01:00
stefan schippers f3abdf2eb8 avoid another crash in case of malformed raw files (if raw->npoints not allocated return without attempting to read raw file) 2024-11-01 00:27:29 +01:00
stefan schippers 65bd4ce766 fix is_quoted() (reported "aaa\\\"bbb" as unquoted) 2024-10-31 11:06:19 +01:00
stefan schippers 71d5481dc8 move definition of my_memmem() outside of an #ifdef 2024-10-28 19:15:13 +01:00
stefan schippers c342a1c41f update svgdraw and psprint to recognize svg embedded images. svgdraw exports it as embedded svg 2024-10-28 18:55:13 +01:00
stefan schippers 76c1425180 get_surface_from_file(): better error checking 2024-10-28 12:45:50 +01:00
stefan schippers 17146a7cf7 get_surface_from_b64data() for svg images: create cairo surface only if filter_data() went successfully 2024-10-28 12:12:11 +01:00
stefan schippers 9894d31437 when inserting a svg image automatically set the filter attribute to rasterize svg to png (if tcl variable svg_to_png is set in xschemrc), "rsvg-convert" or "inkscape" or imagemagick "convert" can be used. see template xschemrc in src/ 2024-10-27 13:06:49 +01:00
stefan schippers 2c82e26dcb when importing svg images with a svg->png filter (like rsvg-convert) keep source svg data in the image_data attribute instead of the rasterized data. This will make these images scalable and schematics will be smaller (if using small vector SVGs) 2024-10-27 03:04:55 +01:00
Stefan Schippers 426cf9c33a revert change "draw_image(): do RECTORDER() before taking *x1, *y1", as it messes up images in rotated /flipped symbols 2024-10-26 18:09:12 +02:00
stefan schippers a7cded9f19 fix crash if multiple raw files are loaded and last one fails loading due to corrupt raw file 2024-10-24 22:16:46 +02:00
stefan schippers f8a676aebf avoid rasiing an error when typing a raw file with some tcl variables (like $netlist_dir/...) in Raw file textbox in graph dialog 2024-10-24 19:47:28 +02:00
stefan schippers 8de9004468 added operator "cph()" to transform discontinuous phase ph(xxx) in AC analyses to aontinuous phase, like ngspice cph() function. Usage: instead of ph(out) use "ph(out) cph()" 2024-10-16 17:02:36 +02:00
stefan schippers fa699fe2f1 change_elem_order(): use input_line instead of text_line dialog 2024-10-14 21:59:39 +02:00
stefan schippers 30e407b743 add "Properties" menu for "Change selected object insertion order" (Shift-S) 2024-10-14 21:41:07 +02:00
stefan schippers 02a891b173 further streamlined hash lookup functions 2024-10-14 15:35:53 +02:00
stefan schippers c0474a139d simplified hash table lookup functions (indirect pointer) 2024-10-14 14:39:22 +02:00
stefan schippers e4d9594065 small cosmetic changes in hash tables (initialization of next pointer) 2024-10-14 12:13:19 +02:00
stefan schippers 98475e328b avoid triggering tclcommand -> launcher() when dragging mouse with ctrl key around objects with such attribute 2024-10-12 20:47:34 +02:00
stefan schippers d387bb911d add commented example for custom radiobutton menu entries in add_custom_menu.tcl 2024-10-10 14:28:36 +02:00
stefan schippers baad052431 fix a potential crash (premature free() of pointer) when editing graph node names with % (dataset) specifier 2024-10-10 01:45:50 +02:00
stefan schippers 1b734d5202 fix refression (color of highlighted texts in only_probes view mode) 2024-10-07 15:50:29 +02:00
stefan schippers 835b05ce9f subst_token(): if s is empty and tok, new_val are gien just set return string to tok=new_val (no newlines whatsoever) 2024-10-05 11:43:57 +02:00
stefan schippers 4311ac424a handle NULL analysis type in debug messages (extra_rawfile()), recursive value substitution in symbol displayed strings: if translated text begins with @ search for recursive upper level definitions for text following @, example: @model symbol text, instance has model=@modeln, upper instance has modeln=nfet: resolve symbol text and display "@model" as "nfet", proc inutile: add optional wait argument to block xschem while dialog displayed 2024-10-03 13:08:32 +02:00
stefan schippers 95c7a68c92 enhance xschem print command (allow to specify bitmap size while using selection to indicate the boundbox to export) 2024-09-29 00:16:05 +02:00
stefan schippers bb1a1557bc svg and ps/pdf export: do not include data for offscreen graphs or images to reduce file size 2024-09-24 11:10:30 +02:00
stefan schippers 2372828c22 svgdraw and psprint: draw text after images as done in draw.c. Correct postscript / pdf image zoom factor from 0.97 to 1.0 to match scaling with other xschem elements. 2024-09-24 00:50:10 +02:00
stefan schippers aaac47720f draw_image(): add cairo_flush() to flush pending paints. In some cases a black square was exported instead of the image... Update Changelog for upcoming 3.4.6 2024-09-23 23:17:19 +02:00
stefan schippers a79e4304d9 draw_image(): do RECTORDER() before taking *x1, *y1 2024-09-23 15:57:32 +02:00
Stefan Schippers adb855db0b do not reset xctx->netlist_name after doing `Netlist` from gui (xschem netlist -erc) 2024-09-17 20:31:28 +02:00
stefan schippers f92dcfc49b add "proc ev7" (same as "proc ev", 7 significant digits) 2024-09-17 16:55:26 +02:00
stefan schippers 0afa12c3fb proc edit_prop: correctly set editprop_sympath when tcleval(...) is used 2024-09-16 16:55:09 +02:00
stefan schippers 2ef4b88146 sym_vs_sch_pins(): do tcl substitution on symbol references found in schematic being compared with symbol 2024-09-15 22:08:39 +02:00
stefan schippers 4ff7d0e2f8 load_sym_def(): process tcleval(....) (if present) in `name` argument (use tcl_hook2()) 2024-09-14 23:31:26 +02:00
stefan schippers 88b44db333 node_hash.c optimization: use inst[].lab instead of get_tok_value(..., "lab"...) 2024-09-14 09:52:06 +02:00
stefan schippers dfe2e05603 let symbol name entry box in component edit property dialog box expand in X direction if dialog box is enlarged 2024-09-12 00:36:52 +02:00
stefan schippers ba7e50ccc1 update hash calculation in xschemtest.tcl for LCC_instances netlist (due to changes in schematic) 2024-09-10 22:38:44 +02:00
stefan schippers 1108a71263 replace "UNDEF" with "-" in backannotated nodes that have no value in raw file. 2024-09-09 23:15:05 +02:00
stefan schippers a065fb93cc draw node names in graphs even if specified file / analysis (graph rawfile or sim_type attributes) is not loaded 2024-09-09 13:20:02 +02:00
stefan schippers ad96e222f1 if autoload is set in graph and a filename is given (rawfile graph attr) load raw file immediately when drawing graph. Don`t wait for user to load an intiial raw file to trigger auto loading 2024-09-08 13:43:29 +02:00
stefan schippers e5015488f3 double clicking in the center of a graph will now bring up the graph edit attributes dialog box even if no raw file is loaded 2024-09-07 10:11:52 +02:00
stefan schippers 3f4004fdca set verison to 3.4.6RC (Release Candidate) to avoid confusion 2024-09-07 00:01:39 +02:00
stefan schippers 1b6612669d bump version to 3.4.6, will be next release when fully tested 2024-09-06 23:39:16 +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 fddc4650d1 graphs will autoload (if autoload checked) raw data even if no raw file is specified in graph dialog box (use current loaded raw file, usually a different analysis) 2024-09-06 16:57:13 +02:00
stefan schippers 291ba02339 save 4 vars ( node, ph(node), re(node, im(node) ) instead of 2 ( node, ph(node )for ac plots 2024-09-06 10:24:12 +02:00
stefan schippers 27c0fd1622 use atof_spice() instead of atof() to read cursor position data from graph attributes 2024-09-05 14:53:36 +02:00
stefan schippers a94e0363fd Add "private cursor" check box in graph dialog box. This allow the related graph to have separate "a" and "b" cursors. These cursor positions are saved with the schematic and are thus persistent when reloading the schematic. 2024-09-05 00:51:15 +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 0e44462227 resolved_net(): correctly handle subschematic nets attached via port to upper global node. (return VCC instead of x1.VCC) 2024-08-29 22:10:06 +02:00
stefan schippers 1a2a925fbf remove backslashes in translate3() call in draw_temp_symbol(), as done in draw_symbol() 2024-08-29 08:13:06 +02:00
stefan schippers eb7b9ae018 removed pointless my_strcat() in translate3() 2024-08-29 07:56:22 +02:00
stefan schippers d06e999daf better backslash handling in translate3() 2024-08-28 23:37:43 +02:00
stefan schippers a725838850 fix escape recognition in translate3(), so in symbol texts it is possible to write \\@name to an instance attribute to get literal @name in displayed text instead of the instance name. fix typo in tutorial_use_existing_subckt.html. some schematic updates (no more enable show_pin_net_names tcl variable) 2024-08-28 09:39:43 +02:00
stefan schippers 4f0c3afa23 port ordering for a schematic .subckt line will always be deduced from the symbol if it exists, even if the symbol type is not "subcircuit" (so it will be used for also "primitive" type symbols). 2024-08-24 08:21:08 +02:00
Stefan Schippers 652268c4d0 add tcl xschemrc variable "select_touch" that enables selecting objects touched by the selection rectangle if dragging to the left. Previously this behavior was enabled by "incremental_select" that shows selected elements while dragging. These two optional behaviors are now enabled/disabled by separate variables 2024-08-14 20:43:47 +02:00