Commit Graph

3228 Commits

Author SHA1 Message Date
stefan schippers 1bee3d766f included TheSUPERCD commit 260beff, if (full and only full) crosshair is displayed use snap mouse coordinates since mouse pointer is turned off; fixed an issue when selecting ridicolously small rectangles in find_closest_box() 2025-01-25 23:41:39 +01:00
stefan schippers dad3b78931 Add a line number in error report if failed sourced tcl scripts 2025-01-25 19:39:53 +01:00
stefan schippers 6cc7883e51 reduce overlap area when clearing crosshair, add return value to find_closest_net_or_symbol_pin() 2025-01-25 14:33:01 +01:00
Chayan Deb 260beffe71 [Selection Using Crosshair]: Added new functionality of using the crosshair to select objects in the schematic, instead of the default mouse-pointer based selection. This functionality will only take effect if the crosshair feature is enabled by the user. 2025-01-25 12:47:23 +05:30
Chayan Deb 2137fa0aef [Graphical Bugfix]: Fixed a small graphical bug that occurred when drawing multi-segment wires in persistent_command mode and suddenly exiting using 'Esc'-key while the snap-cursor is active. 2025-01-25 12:26:52 +05:30
Chayan Deb ec8ba527e3
Merge pull request #3 from TheSUPERCD/upstream-clone
Resolved merge conflicts and integrated upstream changes into this fork. Future merge conflicts will be resolved this way (using local upstream-clone to resolve merge-conflicts).
2025-01-25 12:17:30 +05:30
Chayan Deb d2ee983318
Merge branch 'master' into upstream-clone 2025-01-25 12:15:55 +05:30
stefan schippers 71aa4339bd add comment 2025-01-25 02:46:54 +01:00
stefan schippers 4700483fa4 draw_crosshair(): more logical what parameter values 2025-01-25 02:13:59 +01:00
stefan schippers 26bfe7691b add `xschem draw_hilight_net [on_window]` for quick draw or hilighted objects; add `xschem get_sim_sch` to get the current schematic hierarchy path, stripping off levels above the level the raw file was loaded. Strip off also leading dot; `xschem hilight_instname`: move fast option as -fast option; list_nets(): expand vector ports ; optimize update_op() for speed 2025-01-24 18:57:35 +01:00
Chayan Deb 7e9132ff3b [Manual Upstream Merge]: Manually reintroduced the changes from commit a361505 without breaking functionalities. This fork is now effectively up-to-date with upstream. 2025-01-24 16:48:42 +05:30
Chayan Deb b276fcffcb
Merge branch 'StefanSchippers:master' into master 2025-01-24 14:56:46 +05:30
Chayan Deb fefbd922d5 [Bugfix - Snap Cursor]: Fully removed the bug from commit 0a0ef22. Solved by introducing breaking change in 'find_closest_net_or_symbol_pin()' function defined in 'src/xschem.h' and implemented in 'src/findnet.c'. The function now returns a boolean value indicating if the search yielded any valid results, instead of returning nothing (void). 2025-01-24 14:40:29 +05:30
stefan schippers 48264c0399 allow `xschem translate -1 string` to translate tokens that do not depend on specific instances; yet another change in wrap detection in graphs, always use simulator sweep-var instead of user specified sweep variable; simulated data will never wrap exactly to first value due to roundoff errors; -fast optionto `xschem hilight_netname` command 2025-01-24 03:52:20 +01:00
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