Commit Graph

3388 Commits

Author SHA1 Message Date
Chayan Deb b4eec4f48a
Merge branch 'StefanSchippers:master' into master 2025-03-15 06:31:48 +00:00
Chayan Deb 4441b48693 [Fixed Potential Bug]: The manhatan_line swap-fix for orthogonal wire-stretching is now only applied when 'orthogonal_wiring' is active. 2025-03-15 11:50:29 +05:30
stefan schippers 313acc8e29 further improvements to new_symbol_browser 2025-03-15 03:20:01 +01:00
stefan schippers 73a920ea41 xinit.c: eval user_startup_commands after sourcong tcl_files 2025-03-14 18:28:19 +01:00
Chayan Deb f89135e46d Re-introduced some changes to make orthogonal wire-stretching work properly. 2025-03-14 20:44:12 +05:30
Chayan Deb ab00028935
Merge pull request #16 from TheSUPERCD/upstream-clone
Resolve merge conflicts
2025-03-14 15:06:59 +00:00
Chayan Deb 743266eb61 [Resolve Merge Conflicts With Upstream]: Resolved all merge conflicts with upstream branch and updated the forked repo to be compatible with future patches/updates from upstream. 2025-03-14 20:35:51 +05:30
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
stefan schippers 08397f7038 merge Chayan Deb changes for manhattan-style move objects and handle_key_press() refactor 2025-03-14 15:25:57 +01:00
Chayan Deb a3eb1b0c17 [Experimental Feature Update]: Orthogonal wiring feature is now applicable to wires connected to objects, when those objects are moved to a different position by the user. This requires 'enable_stretching' to be enabled, which will stretch the connected wires orthogonally when the user drags/moves objects around in the canvas. 2025-03-14 16:16:29 +05:30
Chayan Deb 5d48446d42
Merge branch 'StefanSchippers:master' into master 2025-03-14 08:31:24 +00:00
Chayan Deb 5c44fec506 [Experimental Feature Update]: Orthogonal wiring feature is now applicable to wires connected to objects, when those objects are moved to a different position by the user. This requires 'enable_stretching' to be enabled, which will stretch the connected wires orthogonally when the user drags/moves objects around in the canvas. 2025-03-14 14:00:36 +05:30
stefan schippers 588ee1b8f4 do not call place_symbol() with relative symbol names. Initial draft fof proc get_list_of_dirs_with_symbols 2025-03-14 03:29:05 +01:00
stefan schippers 9cb435c43c remove implicit [pwd] prepending to relative paths given to rel_sym_path. this assumption is incorrect in some cases 2025-03-13 21:51:06 +01:00
stefan schippers e789988b05 add `user_startup_commands` variable that may contain tcl code to be executed after any new window creation. Useful to have custom bindings / menu / buttons in all windows. 2025-03-13 20:11:18 +01:00
stefan schippers 84ca35e6f5 add menu option Simulation->LVS->Upper case .SUBCKT and .ENDS 2025-03-13 11:57:09 +01:00
stefan schippers ac1f618030 clean up a bit the load_file_dialog pack order 2025-03-13 11:26:07 +01:00
Chayan Deb e897e8fe0e
Merge pull request #15 from TheSUPERCD/upstream-clone
Merge resolved upstream changes into fork
2025-03-13 07:48:35 +00:00
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
Chayan Deb 9808dd14cc [Minor Addition to .gitignore]: Added an entry to ignore locally used config file for auto-formatting C-code. This helps reduce confusion when reading existing code and makes future contributions easier for newcomer developers. 2025-03-13 12:54:56 +05:30
stefan schippers 514b1f3789 insert_symbol: keep selected listbox item when leaving/entering the widget 2025-03-13 01:45:40 +01:00
stefan schippers 0c4c8f4d9f proc insert_symbol: select active listbox cell so symbol placement can start right away 2025-03-13 00:48:38 +01:00
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 0f5c554e33 add command `xschem get ui_state`, improvements in proc insert_symbol 2025-03-12 02:00:45 +01: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 244fc59672
Merge pull request #14 from TheSUPERCD/upstream-clone
Integrate upstream changes
2025-03-11 05:54:54 +00:00
Chayan Deb 68c55f7b54
Merge branch 'StefanSchippers:master' into upstream-clone 2025-03-11 05:43:27 +00:00
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 5e6ce2dce8 fix xschem.tcl proc traversal 2025-03-10 17:02:46 +01:00
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 d582fc98d8 proc load_file_dialog: allow multi selection (extended) only for load file, not for place instance 2025-03-09 13:53:18 +01:00
stefan schippers 7e5a36531b reduce max zoom in/out factors 2025-03-09 10:15:50 +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 2f1643368e add command `xschem raw rename old_node new_node` 2025-03-08 21:14:46 +01:00
stefan schippers f1901e055c clip graph point[].x values to prevent aliasing at absurdly deep zoom in values 2025-03-08 10:53:21 +01:00
stefan schippers d7d812c023 square grid points if grid_point_size is specified 2025-03-07 15:59:43 +01:00
stefan schippers 96eeef5a95 raw_read(): cleanup allocated `rawptr` if nothing loaded due to missing file 2025-03-07 15:34:19 +01:00
stefan schippers fafd48eb31 new tcl variable grid_point_size to set size of grid points (for 4K+ displays) 2025-03-07 14:45:13 +01:00
stefan schippers eb99123a49 `xschem load` command: allow multiple files to be loaded 2025-03-06 20:47:49 +01:00
stefan schippers 72527804e0 revert res.sym 2025-03-04 10:01:29 +01:00
stefan schippers fb9189018d avoid strdup on value in print_spice_element() 2025-03-04 09:58:56 +01:00
stefan schippers 56e0410047 fix a bug in eval_expr() usage in token.c (duplicate return string to avoid double free) 2025-03-04 09:43:26 +01:00
stefan schippers b449bb2728 revert: better detection of expr() in netlister functions 2025-03-04 09:07:55 +01:00
stefan schippers 0ea6af2c99 better detection of expr() in netlister functions (print_spice_element(), ...) 2025-03-04 00:33:27 +01:00
stefan schippers efdd45f414 revert wrong fix (fix typo in draw_graph()) not a typo... 2025-02-28 19:19:06 +01:00
stefan schippers aa68a3a0d2 fix spurious overwrite of xctx->graph_struct done in raw_read() called from draw_graph() which uses xctx->graph_struct 2025-02-28 18:51:35 +01:00