Commit Graph

634 Commits

Author SHA1 Message Date
Chayan Deb 333dc91b48 [ANSI-C Compatibilty Update + Remove Redundant TCL Menu Entries]: Made changes to conform to ANSI-C standard and removed some redundant code in 'src/xschem.tcl'. 2025-03-14 20:02:49 +05:30
Chayan Deb afaa38e81d [Resolve Merge Conflicts - 3]: Third (Final) stage of changes. All upstream changes are now merged. 2025-03-13 13:17:21 +05:30
Chayan Deb 3a9b478a8d [Resolve Merge Conflicts - 2]: Second stage of changes. 2025-03-13 13:08:49 +05:30
Chayan Deb 1bc1897136 [Resolve Merge Conflicts - 1]: First stage of changes. 2025-03-13 13:07:15 +05:30
stefan schippers 2a4ebe4b77 new (optional) symbol placement browser 2025-03-12 16:59:45 +01:00
Chayan Deb d9ed2f0e09
Merge branch 'StefanSchippers:master' into master 2025-03-12 04:10:20 +00:00
stefan schippers e1488da407 add `xschem rect gui`, `xschem line gui`, `xschem polygon gui`, `xschem wire gui` to start placement of these objects with 1st point set to mouse coordinates 2025-03-11 20:47:00 +01:00
Chayan Deb 57a9348cf1 [Major Refactor]: The 'handle_key_press()' function responsible for processing keyboard inputs has been refactored to use switch-case statements intead of an excessively long chain of if-else statements. Due to huge number of possible inputs, this approach should improve performance (jump-tables) of the application, while increasing readability and maintainability of the codebase in the future. Custom keybinds can also be easily worked on and implemented in the near future thanks to this approach. 2025-03-11 11:51:17 +05:30
Chayan Deb 937e8b2f7b [Resolved Merge Conflicts]: All upstream updates to the codebase has been integrated into the fork. 2025-03-11 11:12:25 +05:30
stefan schippers c69c1b2687 better handling of snap cursor and snap wire creation (no cadence emulation) 2025-03-10 01:03:15 +01:00
stefan schippers de6434c941 allow multi-selections when loading a file; limit max line width in change_linewidth() to avoid strange artifacts at extreme zoom-ins 2025-03-09 02:46:58 +01:00
stefan schippers be1a0deb89 fix typo in draw_graph() 2025-02-28 18:04:56 +01:00
stefan schippers f9ccf878c2 differential scope2.sym, current mwasure scope_ammeter.sym 2025-02-24 15:23:35 +01:00
stefan schippers b205b4a496 fix ui problem when ctrl-clicking a launcher (drag_elements remained set) 2025-02-23 23:49:31 +01:00
stefan schippers c604a1f033 higher priority of `unlocked` sub-attribute in rect `graph` attribute. Do not propagate zoom / pan to any other graphs even if they are locked. 2025-02-23 12:39:59 +01:00
stefan schippers e266642c2c lock attribute extended to all objects 2025-02-22 12:47:54 +01:00
stefan schippers 0e438829c6 allow locked attached rectangles, so they can not be selected accidentally. Small resize of x/y graph axis labels 2025-02-22 10:33:13 +01:00
stefan schippers a592216c19 update solar_panel.sch (grouped aka attached floaters, scope meter object), better selection of left-y axis in small graphs 2025-02-22 02:18:27 +01:00
stefan schippers 935ec27772 floater objects: add command ctrl-u to unselect attached (so some instance with the attach=.. attribute) objects, that is objects (not element instances) with a non empty name=... atttribute. Extend upcate references of attached floaters to change instance name property and `xschem setprop instance name` command 2025-02-22 01:30:38 +01:00
stefan schippers 62a2e6a367 refactored draw_crosshair() into smaller pieces. draw_snap_cursor executed much less frequently (only on snapped ouse change). Zooming with mouse wheel will not clear MENUSTART ui_state 2025-02-20 13:56:53 +01:00
stefan schippers f15520d01a start snapped wires in manhattan mode as done woth normal wires 2025-02-20 11:52:22 +01:00
stefan schippers 9dff3e1e3e refactor and fix small graphic glitches in draw_snap_cursor() 2025-02-20 11:42:26 +01:00
Chayan Deb 2462ec04b9 [After Merge Modification]: Removed references to the 'str' variable from all handle_* functions - as per upstream requirements. Removed redundant LOCs from 'src/xschemrc'. 2025-02-20 13:50:05 +05:30
Chayan Deb 2519567cc7 [Merge Conflict Resolution]: Resolved merge conflicts in a way that preserves all previous work done on the system, as well as mitigate possible bugs from last upstream refactor. 2025-02-20 13:14:31 +05:30
Chayan Deb 2bb0c10bd9 [Refactor]: Manually added the refactoring changes introduced into upstream repository. 2025-02-19 17:00:34 +05:30
Chayan Deb 7cd980cf42
Merge pull request #11 from TheSUPERCD/upstream-un-refactored
Merge commits made before callback.c refactor
2025-02-19 15:49:16 +05:30
stefan schippers 936b72c7fc Escape pressed while drawing polygon will cancel last segment instead of the whole poly 2025-02-18 11:49:32 +01:00
stefan schippers 25db8b8f9a ellipses rendered in ps/pdf export. Do not allow to select objects with mouse button press if a poligon insertion is ongoing. my_fopen() for read mode open, check for regular file. More checks for failed fopen()s. 2025-02-18 02:25:55 +01:00
stefan schippers e9c927d882 default orientation for wire creation is manhattan (H-V). Lines still start oblique by default 2025-02-14 02:55:47 +01:00
Chayan Deb 5487575d81 Lock old behavior of 'Esc'-keypress during persistent_command is active, behind the newly added TCL-option 'cadence_compat'. Wire drawing mode will now take two 'Esc' keypresses to clear, but if 'cadence_compat' is enabled, it will only take one. 2025-02-13 13:46:00 +05:30
stefan schippers ed3190c9b1 complete previous fix 2025-02-13 02:44:26 +01:00
stefan schippers 7087ae5a2a fix graphical artifacts when inserting objects and pressing Button3 2025-02-13 02:38:19 +01:00
stefan schippers 95cbd80767 merged in TheSUperChayan feature for displaying `Draw Wire` in status bar when in wiring mode. 2025-02-12 16:25:46 +01:00
stefan schippers bc293a1d8f fix some warnings (-Wdeprecated-non-prototype, -Wparentheses-equality) 2025-02-12 03:14:45 +01:00
stefan schippers ffe0aba12e indentation and spacing in callback.c 2025-02-12 01:22:36 +01:00
stefan schippers 1e23beabd3 c89 compliance and fix some double to int assignments, removed stdbool 2025-02-12 01:08:52 +01:00
Ananth 3adcf40bf7 added remaining edits from CD's repo. Tests ok. 2025-02-11 12:44:14 -07:00
Ananth 66ec47ccfb only vars and fn defs (not calls) and inits added for ortho routing and snap cursor 2025-02-11 11:49:50 -07:00
Ananth bf10a025d7 added CD's vars - ortho wiring, snap_cursor, snap_cur size, cadence_compat - all not yet used; use_cursor_for_selection - used; updated xschem.tcl to include in global list and set defaults; callback updated to use use_cursor_for_sel when mouse clicked 2025-02-11 10:55:29 -07:00
stefan schippers 8cad7daed5 removed `str` parameter to all handle_* functions in callback.c (write-only) 2025-02-11 11:11:20 +01:00
stefan schippers a4e0471fcc minor changes to callback() refactoring to remove compiler warnings 2025-02-11 00:16:06 +01:00
Ananth b7515c9715 add handle_enter_notify for readability 2025-02-10 14:52:19 -07:00
Ananth 1753dc6723 add handle_double_click 2025-02-10 14:43:26 -07:00
Ananth 899e7f93d2 add handle_button_press/release 2025-02-10 14:34:20 -07:00
Ananth 04e7300f48 correct type for mx,my in handle_motion_notify; added handle_key_press 2025-02-10 13:52:57 -07:00
Ananth bef19b7057 refactored : handle_motion_notify for readability 2025-02-10 13:42:28 -07:00
stefan schippers 6b090273fb lock graphs only if they have the same simulation type loaded. So zooming/panning a tran plot will not affect dc or ac plots. 2025-02-10 15:18:01 +01:00
stefan schippers b5eb81c107 updates in proc cellview 2025-02-10 13:44:12 +01:00
stefan schippers a4ce2d1b64 subst_token(): better token removal (remove space or newline to avoid having many remaining blanks); `netlist_postprocess` xschemrc tcl variable to insert commands after netlist is created 2025-02-06 12:45:21 +01:00
stefan schippers 7926a833be added `d` to unselect object under the mouse, `Shift-D` to unselect by area, both work with or without infix_interface, moved delete files to `Ctrl-d`, update keybinding docs 2025-02-06 04:20:57 +01:00