Commit Graph

129 Commits

Author SHA1 Message Date
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 fafd48eb31 new tcl variable grid_point_size to set size of grid points (for 4K+ displays) 2025-03-07 14:45:13 +01:00
Chayan Deb 18884d6960 [After Merge Modification]: Fixed description for 'orthogonal_wiring' option in 'src/xschemrc'. 2025-02-20 13:59:46 +05:30
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 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 2c703aa12d backport previous fix to print_verilog_primitive and print_vhdl_primitive 2025-02-13 00:46:39 +01: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 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
Chayan Deb d4b388186d [Upstream Compatibily Fixes]: Added a new TCL-variable 'cadence_compat', which can be enabled from either the TCL-command execution prompt inside xschem, or by uncommenting the corresponding option in 'src/xschemrc' - used for enabling Cadence-friendly keybinds (simulate and snap-wire). Additionally, reset the default behavior of xschem to the upstream-version's behavior. All the disabled options can be re-enabled by uncommenting the correct options in 'src/xschemrc'. Added ANSI-C compatibility fixes suggested by @StefanSchippers in issue #292 in upstream repo. 2025-02-01 16:22:03 +05:30
Chayan Deb 808f89c4c6 Fix typo 2025-01-29 13:44:24 +05:30
Chayan Deb 4022d0ec10 [Graphical Bugfix]: Fixed a small graphical bug that occurred when drawing a wire while simutaneously zooming in/out in the schematic editor. 2025-01-26 14:39:48 +05:30
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 999503a26a [Fixed Typo]: Fixed a small typo that would create a bug in TCL. 2025-01-26 12:17:29 +05:30
Chayan Deb d2ee983318
Merge branch 'master' into upstream-clone 2025-01-25 12:15:55 +05:30
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 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
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 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
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
Chayan Deb 3480d9767d [Code Refactoring]: Modified the source code for compatibility with the upstream repo (due to 'infix_wire' feature integration with new name 'infix_interface') 2025-01-18 15:42:43 +05:30
Chayan Deb 7fe267842a [Code Refactoring]: Modified the source code for compatibility with the upstream repo (due to 'infix_wire' feature integration with new name 'infix_interface') 2025-01-18 14:08:44 +05:30
stefan schippers ac8db614c0 infix_interface xschemrc variable (default=1) can be set to 0 to disable infix (need to click a point after bindkey); disable warnings from graphs with autoload=1 if no raw file or matching analysis found; add m parameter (multiplicity) to bsource.sym, cmos_example.sch; remove dependency on external model file, use ngspice provided mos model 8 bsim3 models. 2025-01-17 17:15:48 +01:00
Chayan Deb 3b55410709 [Added New Feature]: New menu option 'Enable orthogonal wiring' is now accessible through the 'Options' menu. This option is kept ON-BY-DEFAULT and can be disabled through the menu, 'Shift+L'-keyboard-shortcut, or by editing the 'xschemrc' file to make xschem-editor revert back to it's old behavior - which was drawing wires in free-form mode (Unconstrained move). The functionality of the 'h' and 'v' keys are preserved, and they can still be used to force the editor to only draw horizontal or vertical wires respectively. 2025-01-05 13:20:52 +05:30
Chayan Deb 052d7e8793 [Added New Feature]: New menu option 'Enable infix wire' is now accessible through the 'Options' menu. This option is turned-off by default and can be enabled anytime through the menu or the 'xschemrc' file to make xschem-editor revert back to it's old behavior, prior to commit 96c3dde250 2025-01-02 20:03:42 +05:30
stefan schippers ebc4babdd4 add graph_use_ctrl_key variable (default 0) to force holding Control key to interact with graphs. This avoid graphs "stealing" events that are expected to work on the schematic 2024-11-29 22:52:36 +01:00
stefan schippers 8eb60ae32b allow full specification of file selector window geometry and pane sizes. examples in xschemrc 2024-11-28 11:37:21 +01:00
stefan schippers 92c99c10f9 get_additional_symbols(): some sanity checks, descend_schematic() more options in set_title argument (avoid set title, avoid processing pins/nets, avoid descending into i-th xdec[3] instance, descend as a whole xdec[3:0], add `xschem get_additional_symbols what` command, allow `xschem get_sch_from_sym -1 inv.sym` to get schematic associated with symbol. hier_psprint(): avoid printing / listing duplicate schematics, improved traversal.tcl 2024-11-05 13:59:37 +01:00
stefan schippers 9894d31437 when inserting a svg image automatically set the filter attribute to rasterize svg to png (if tcl variable svg_to_png is set in xschemrc), "rsvg-convert" or "inkscape" or imagemagick "convert" can be used. see template xschemrc in src/ 2024-10-27 13:06:49 +01:00
Stefan Schippers 652268c4d0 add tcl xschemrc variable "select_touch" that enables selecting objects touched by the selection rectangle if dragging to the left. Previously this behavior was enabled by "incremental_select" that shows selected elements while dragging. These two optional behaviors are now enabled/disabled by separate variables 2024-08-14 20:43:47 +02:00
stefan schippers efdb6b64ce removed previously added use_pwd_instead_of_current_dirname tcl variable: now a `.` in search path is always assumed to be [pwd] and not the directory of the currently opened schematic. This will hopefully fix an endless list of user complains when using symbols from dirs not listed in XSCHEM_LIBRARY_PATH. 2024-06-11 00:24:30 +02:00
stefan schippers 5e93182f26 add use_pwd_instead_of_current_dirname xschemrc variable to replace curr_dirname in `proc abs_sym_path` and `proc rel_sym_path` with [pwd] instead of [xschem get current_dirname] (the path of currently loaded schematic) 2024-06-10 18:19:58 +02:00
stefan schippers fc19e646c7 set default live_cursor2_backannotate to 1 (enabled) 2024-03-26 15:39:16 +01:00
stefan schippers aa6182c65f initial support for auto_hilight_graph_nodes 2024-03-25 11:39:57 +01:00
stefan schippers b675e94333 intuitive_interface by default is now enabled 2024-03-11 02:09:28 +01:00
stefan schippers 414274f4a3 add an example for postinit_commands in xschemrc 2024-03-08 23:13:02 +01:00
stefan schippers ddcac8c69c fix some race conditions and execution order of callbacks given in simulate commands inside postinit_commands at startup 2024-03-08 19:19:30 +01:00
stefan schippers 904526408b some (commented) postinit_commands examples in xschemrc 2024-03-08 16:47:43 +01:00
stefan schippers 48e93c4e37 added dark_gui_colorscheme (default: 0) for dark widget colorscheme configuration. Enabled again partial select (resize) of arcs 2024-03-03 00:40:51 +01:00
Stefan Schippers 96f6336234 set some black fg colors where bg is specified as white 2024-03-02 18:34:54 +01:00
stefan schippers 77cd3eec56 added intuitive_interface xschemrc and menu option: click and drag to quickly move objects without keyboard commands 2024-03-02 14:15:30 +01:00
stefan schippers 203cf38e1e add option `keep_symbols in xschemrc to avoid purging symbols when netlisting /descending hierarchy. Add functions atan, asin,acos, cosh, sinh, atanh,acosh,asinh in wave processor 2024-02-24 13:15:43 +01:00
stefan schippers 8f3e0be4fe load_file_dialog: checkbutton for displaying only name / full path of component directories 2024-01-30 19:15:08 +01:00
stefan schippers 38ff460694 added `xschem fill_reset` command to reset fill patterns defined via tcl array pixdata(n) 2024-01-15 15:53:49 +01:00
stefan schippers f042b940c2 add xschemrc option ps_page_title (default: enabled, 1) to set or hide page title in ps/pdf exports, more precise graph exports in svg and ps/pdf 2023-12-11 10:43:09 +01:00
stefan schippers a797bc593f when in `persistent command` wire or line placement mode, a first escape clear the ongoing placement, a second escape clears the wiring or line-ing command 2023-12-01 23:05:07 +01:00