Commit Graph

3159 Commits

Author SHA1 Message Date
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 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