Commit Graph

565 Commits

Author SHA1 Message Date
Chayan Deb 18fb977c68 [Refactor + Minor Changes]: Refactored to fix a small code-readablity issue from last upstream merge. Added the snap_cursor option to be enabled from 'src/xschemrc' config file. 2025-01-26 12:33:21 +05:30
Chayan Deb 9056da92a6 [After merge-changes]: Changes made to match pre-merge state of 'snap-cursor select' in this fork. 2025-01-26 11:39:04 +05:30
Chayan Deb ed328a8bd0
Merge branch 'master' into upstream-clone 2025-01-26 11:31:47 +05:30
stefan schippers bbe8782bc0 more comments in callback(), add_wire_from_inst_pin() separated into add_wire_from_inst() and add_wire_from_wire(), changed the distance measurement for closest instance, works better with ituitive i/f, some edit shape point functions restricted to intuitive_interface only, to avoid too many combinations 2025-01-26 06:40:00 +01:00
stefan schippers ea5609dd0b more comments in callback() 2025-01-26 02:35:00 +01:00
stefan schippers 34f9ae73a0 more comments in callback() 2025-01-26 02:32:43 +01:00
stefan schippers 7e697672ce more comments in callback() 2025-01-26 02:00:07 +01:00
stefan schippers 70156a3bda intuitive interface, directly drag elements: default to wire stretch if enable_stretch is activated and normal move if using ctrl key and the other way around if enable_stretch is unset 2025-01-26 01:06:48 +01:00
stefan schippers 01989bba0c fix issue with previous fix, add enable_stretch parameter to select_inside() and select_rect() 2025-01-26 00:26:56 +01:00
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 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 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 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
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 c0f1d54d55
Merge branch 'StefanSchippers:master' into master 2025-01-22 14:59:38 +05:30
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
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 7ee11e8dbc various fixes related to crosshair mouse display 2025-01-21 16:07:23 +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 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
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