Commit Graph

3151 Commits

Author SHA1 Message Date
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 d47747965f updates in autozero_comp.sch 2025-01-21 03:45:42 +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 e17932d1e8 update hash for test_doublepin.sch netlist in xschemtest (bsource m param in netlist) 2025-01-20 03:27:39 +01:00
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
stefan schippers 17b09bc203 add pin net_name attributes to some devices/ symbols 2025-01-19 13:00:43 +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 c41a8c28c0 add devices/stop.sym 2025-01-18 22:19:35 +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 c96d5be7cd update bsource.sym (show m=@m) 2025-01-18 15:01:24 +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