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 |
stefan schippers
|
0c4cdb3ea1
|
propagate changed key bindings to new opened windows (in no-tabs mode)
|
2025-02-06 01:11:11 +01:00 |
Chayan Deb
|
aa1c038f5c
|
Small correction
|
2025-02-01 16:23:56 +05:30 |
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
|
275dd580a1
|
Merge branch 'master' into upstream-clone
|
2025-02-01 15:12:49 +05:30 |
stefan schippers
|
752f794c96
|
remove dbg message
|
2025-01-31 15:59:23 +01:00 |
stefan schippers
|
eadd991651
|
reduce calls to find_closest_net_or_symbol_pin() in draw_crosshair()
|
2025-01-30 03:47:13 +01:00 |
Chayan Deb
|
bf53f99d28
|
Merge branch 'StefanSchippers:master' into master
|
2025-01-29 11:46:39 +05:30 |
Stefan Schippers
|
56777a2944
|
fix mouse cursor restore when exiting graph and crosshair (not full-size) enabled
|
2025-01-27 13:10:53 +01:00 |
stefan schippers
|
8df1aa9996
|
some comments, removed redundant modifier key checks in callback()
|
2025-01-27 12:51:32 +01:00 |
Chayan Deb
|
6f20174c42
|
[Compatibility + Graphical Bugfix]: Fixed compatibility issue resulting from a breaking change in the function 'redraw_w_a_l_p_z_rubber(int force)', and also fixed (partially) a graphical bug resulting from this change. The bug shouldn't affect user workflow at the current version.
|
2025-01-27 12:52:20 +05:30 |
Chayan Deb
|
9fc955aa1f
|
Merge branch 'master' into upstream-clone
|
2025-01-27 12:11:25 +05:30 |
stefan schippers
|
500d2e2bed
|
some commentd added
|
2025-01-27 02:07:38 +01:00 |
stefan schippers
|
0d325f6957
|
force a crosshair draw at end of draw() (draw_crosshair(7,...)), intuitive interface direct drag of instances: fix some non-working combinations when stretch mode (y) is enabled.
|
2025-01-27 01:49:06 +01:00 |
stefan schippers
|
bfd7895d4c
|
edit_line_point() and edit_wire_point(): use mouse[xy]_snap instead of mouse[xy] for checking line/wire endpoint selection
|
2025-01-27 00:48:26 +01:00 |
stefan schippers
|
6669b4f177
|
renamed find_closest_net() to find_closest_wire()
|
2025-01-27 00:14:29 +01:00 |
stefan schippers
|
80a22c78a8
|
comments
|
2025-01-26 17:44:00 +01:00 |
stefan schippers
|
8086b5581e
|
redraw_w_a_l_r_p_z_rubbers(): include zoom_rectangle(RUBBER), only execute if (snapped) coordinates changed, draw_crosshair(): only execute if (snapped) coordinates changed, find_closest_net_or_symbol_pin() is moved into draw_crosshair() so its calls are also minimized, do not allow z (zoom rectangle) if pending STARTWIRE, STARTLINE etc are in progress.
|
2025-01-26 15:19:22 +01:00 |
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
|
15fc4b9bb4
|
[Refactor + Minor Changes]: Refactored to fix a small code-readablity issue.
|
2025-01-26 13:31:33 +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
|
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 |
stefan schippers
|
cb38deffa6
|
add -keep_symbols to `xschem load command`, options changed to have a leading dash, and moved at beginning of command arg list; `xschem netlist` command: add -keep_symbols option; `xschem setprop` command: move fast and fastundo to beginning of arg list with a leading dash; update proc cellview
|
2025-01-20 02:30:46 +01:00 |
stefan schippers
|
4f31c024c8
|
add option -noalert to `xschem netlist` command, update `proc cellview`
|
2025-01-19 23:29:41 +01:00 |
stefan schippers
|
16121b6e07
|
keep selection if aborting a move operation. This was probably a regression
|
2025-01-19 14:13:57 +01:00 |
stefan schippers
|
2bd1c79cd5
|
enhance drawing wires in intuitive_interface by dragging away from an instance pin or wire endpoint. Allow set manhattan/oblique direction as with w keybind
|
2025-01-19 13:59:18 +01:00 |
Chayan Deb
|
eee26c9f3e
|
Merge branch 'StefanSchippers:master' into master
|
2025-01-19 15:35:42 +05:30 |
stefan schippers
|
6dcc9fd7c5
|
allow Shift-Click to terminate snapped wire placement (in addition to Shift-W)
|
2025-01-18 23:50:04 +01:00 |
stefan schippers
|
ca1035eca1
|
add no-infix (set infix_interface 0) operation to move and copy operations
|
2025-01-18 21:59:04 +01:00 |
stefan schippers
|
cfb491adb3
|
draw_crosshair(): parameter del renamed to what; @spice_get_current: special handling for resistors that are converted to b-sources: i(@r.x4.r1[i]) --> i(@b.x4.br1[i])
|
2025-01-18 12:38:12 +01:00 |
Chayan Deb
|
26df8d7d21
|
[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:50:36 +05:30 |
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
|
8ce32b73b7
|
[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:05:29 +05:30 |
stefan schippers
|
025823f14c
|
`xschem go_back 0` allows to go up in hierarchy *NOT* saving a modified schematic
|
2025-01-17 18:11:35 +01:00 |
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
|
24bfb5b363
|
[Bugfix]: Fixed an issue where the bottom statusbar showed the green zsh: command not found: Draw indicatior when the user enters and exits wire-drawing mode without actually drawing a wire.
|
2025-01-17 11:42:59 +05:30 |
Chayan Deb
|
378c2ea115
|
Merge branch 'StefanSchippers:master' into master
|
2025-01-17 11:37:48 +05:30 |
stefan schippers
|
ca6b8fe85b
|
end_shape_point_edit(): fix erroneous set_modify because comparing unsmapped mouse saved coords with snapped actual mouse coords
|
2025-01-16 17:19:42 +01:00 |
stefan schippers
|
f2225677cc
|
fix regression in (V) cursor movement when multiple side-by-side graphs are present
|
2025-01-16 16:03:34 +01:00 |
Chayan Deb
|
3081714ebf
|
Merge branch 'StefanSchippers:master' into master
|
2025-01-14 18:08:10 +05:30 |
stefan schippers
|
d05b7fa389
|
update schematic backannotation on cursor2 position if setting it numerically (Right button click on cursor)
|
2025-01-12 17:06:44 +01:00 |
Chayan Deb
|
48b561b72c
|
Merge branch 'StefanSchippers:master' into master
|
2025-01-10 17:08:28 +05:30 |
stefan schippers
|
a29814d728
|
get_additional_symbols(), get_sch_from_sym(): allow to resolve schematic calls like: schematic=generator.tcl( @n ) where n=11 is defined in instance attrs. some fixes in cursor movement in waves_callback()
|
2025-01-10 06:03:52 +01:00 |
stefan schippers
|
2c1e1c1fe7
|
refactoring and cleanup of wave_callback() -8-
|
2025-01-10 02:35:50 +01:00 |
stefan schippers
|
ef5d0e1b96
|
str_replace(): add parameter to specify number of substituitions (or all); replaced atof_spice() with atof_eng() in various parts related to numbers that do not come from spice netlists; fix numerical setting of cursors if log scale is set (wrong preset was shown); make wave labels in graph scale with gr->magx as X-axis labels; fix scaling roundoff issues in dtoa_eng(); add new `@spice_get_node <spice_node> ` token (where spice_node may contain @variables) in symbol texts to display indicated spice node value. Does not use TCL, thus faster and less "quoting hell" problems
|
2025-01-10 01:52:54 +01:00 |
Chayan Deb
|
a184d38007
|
Merge branch 'StefanSchippers:master' into master
|
2025-01-09 17:21:52 +05:30 |
Chayan Deb
|
21d4abcfc0
|
[Experimental Feature Update (orthogonal_wiring)]: Modified the last added orthogonal wiring mode to only FINALIZE either a horizontal, or a vertical component when a user-click event is detected. HOWEVER, the full orthogonal wire is drawn on the canvas anyways. A double-click using LMB causes both the horizontal and vertical components to get finalized, and the wire-drawing mode is simultaneously terminated. To get the best experience with this feature, 'persistent_commands' should also be enabled from the 'Options' menu.
|
2025-01-09 15:56:29 +05:30 |
stefan schippers
|
c6a4e8b942
|
refactoring and cleanup of wave_callback() -7-
|
2025-01-09 04:23:23 +01:00 |
stefan schippers
|
cd3eaf23ea
|
refactoring and cleanup of wave_callback() -6-
|
2025-01-09 04:11:30 +01:00 |
stefan schippers
|
52b9cc1ee6
|
refactoring and cleanup of wave_callback() -5-
|
2025-01-09 00:46:42 +01:00 |
stefan schippers
|
7d7b381b7b
|
refactoring and cleanup of wave_callback() -4-
|
2025-01-09 00:17:55 +01:00 |