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
|
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
|
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
|
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
|
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 |
stefan schippers
|
be1a0deb89
|
fix typo in draw_graph()
|
2025-02-28 18:04:56 +01:00 |
stefan schippers
|
becbf7cf9c
|
descend_schematic() return value indicates if descended into a valid schematic (1) or empty one (0)
|
2025-02-28 16:08:35 +01:00 |
stefan schippers
|
bba3f434d5
|
fix an error in change_sch_path() (level check) and go_back() (no set title)
|
2025-02-27 13:04:57 +01:00 |
stefan schippers
|
028ca8cb5a
|
proc editdata: added Copy (to Clipboard) button
|
2025-02-27 01:45:12 +01:00 |
stefan schippers
|
c19c25873b
|
(2)proc to_eng: return arg as is if not valid expression
|
2025-02-26 19:33:14 +01:00 |
stefan schippers
|
2d6b7c4fe1
|
revert previous
|
2025-02-26 16:03:36 +01:00 |
stefan schippers
|
43a8b62a24
|
proc to_eng: return arg as is if not valid expression
|
2025-02-26 16:01:32 +01:00 |
stefan schippers
|
d3e0ca82b4
|
eval_expr.y: references to unknown identifiers cause the lexer to return an error so the expression is not evaluated and returned as is, instead of erroneously interpreting the unknown identifier as 0
|
2025-02-25 02:00:55 +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
|
bd2c65bc1a
|
embed graph inside scope symbol
|
2025-02-23 14:58:44 +01:00 |
stefan schippers
|
1d3c2dde59
|
fix regression: Cancel pressed when inserting new symbol
|
2025-02-23 14:03:53 +01:00 |
stefan schippers
|
6a75c8a6dd
|
initial commit to add scope.sym symbol
|
2025-02-23 13:50:39 +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
|
a306d97725
|
update docs (#pattern#@name tag)
|
2025-02-23 12:12:59 +01:00 |
stefan schippers
|
7144ead895
|
remove dbg messages
|
2025-02-22 19:49:43 +01:00 |
stefan schippers
|
81c3d64778
|
(2) changed some *attached*() function names for sonsistency
|
2025-02-22 19:40:04 +01:00 |
stefan schippers
|
6f0133a1b2
|
changed some *attached*() function names for sonsistency
|
2025-02-22 19:38:05 +01:00 |
stefan schippers
|
e266642c2c
|
lock attribute extended to all objects
|
2025-02-22 12:47:54 +01:00 |
stefan schippers
|
a93fb64e12
|
better threshold detection for bezier selection
|
2025-02-22 11:37:19 +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
|
4e2af7ddb9
|
attach attribute: update copied objects
|
2025-02-21 17:49:38 +01:00 |
stefan schippers
|
3eab6bf2dc
|
added attribute `attach="name1 name2 ..."` for components to designate other objects to be selected with it. Designated objects must have a matching `name=name1` attribute. This allows to create object groups
|
2025-02-21 14:31:30 +01:00 |
stefan schippers
|
dc270aa029
|
resize a bit graph wave label / axis label sizes
|
2025-02-21 12:53:04 +01:00 |
stefan schippers
|
34fd430c13
|
svg_embedded_graph() and ps_embedded_graph() do not do a full redraw prior to graph rasterizing, draw only the current graph area. This avoid `overstrike` problems with superimposed text objects
|
2025-02-21 11:12:27 +01:00 |
stefan schippers
|
90bb42e7fa
|
fix regression: no dashed graph bbox
|
2025-02-20 16:52:23 +01:00 |
stefan schippers
|
afe058a25d
|
comments typos
|
2025-02-20 16:30:40 +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
|
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
|
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
|
b7c6118288
|
add physical constants in eval_expr.y
|
2025-02-19 02:39:02 +01:00 |
stefan schippers
|
fc3a3ed4e0
|
add proc cinv (complex inversion)
|
2025-02-18 17:45:09 +01:00 |
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
|
821aa77b0a
|
fix svg fill rules
|
2025-02-18 02:45:24 +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
|
9eb012e6a3
|
fix image in symbols rotation/flip for svg exports
|
2025-02-17 17:53:49 +01:00 |
stefan schippers
|
4623b1c869
|
add ellipses/ellipse_arcs rendering in svg export
|
2025-02-17 16:10:44 +01:00 |
stefan schippers
|
a7ae4eaca8
|
added some simple helper complex number procedures
|
2025-02-17 13:45:12 +01:00 |
stefan schippers
|
1e1c56801d
|
when loading a raw file, if graphs are present and cursor2 is enabled in 1st graph setup annotation in the schematic (no need to move the cursor)
|
2025-02-16 14:08:31 +01:00 |
stefan schippers
|
51c6eded14
|
(2) integrated @georgtree proc symbolParse
|
2025-02-16 01:11:32 +01:00 |
stefan schippers
|
446f7949b4
|
integrated @georgtree proc symbolParse
|
2025-02-16 01:09:28 +01:00 |
stefan schippers
|
cefd320ef6
|
complete previous `xschem load_symbol` command
|
2025-02-15 01:33:13 +01:00 |
stefan schippers
|
279d24288d
|
proc rel_sym_path: resolve ~/... or relative paths (by prepending HOME or PWD) to input path before calculating relative symbol path. Added command `xschem load_symbol`
|
2025-02-15 00:50:02 +01:00 |
stefan schippers
|
5c4be8313b
|
better xctx->save_netlist_type setting when navigating in the hierarchy (of LCC schematics specifically)
|
2025-02-14 14:40:56 +01:00 |
stefan schippers
|
be643d5a92
|
remove here() dbg call
|
2025-02-14 14:00:34 +01:00 |
stefan schippers
|
26710d3bd0
|
fix setting netlist_type to CAD_SYMBOL_ATTRS when doing a descend symbol (`i` key) into a LCC schematic and setting back to previous netlist_type when going back
|
2025-02-14 13:58:36 +01:00 |
stefan schippers
|
05434cb5e4
|
fix @spice_get_*_*(...) regex
|
2025-02-14 13:32:17 +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 |
stefan schippers
|
9fe67cd242
|
eval_expr.y: fix eval_expr_clear_table, remove unneeded unistd.h
|
2025-02-14 02:15:03 +01:00 |
stefan schippers
|
afac3f7620
|
token.c: translate(): protect regex*() calls with #ifdef __unix__
|
2025-02-13 22:18:23 +01:00 |
stefan schippers
|
b0d740757a
|
fix regression in psprint.c
|
2025-02-13 20:43:39 +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
|
2c703aa12d
|
backport previous fix to print_verilog_primitive and print_vhdl_primitive
|
2025-02-13 00:46:39 +01:00 |
stefan schippers
|
4517ff3b87
|
fix netlist error if in symbol attributes model="xxx@name" is given, @name was looked up in symbol template instead of again in instance properties.
|
2025-02-12 23:26:00 +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 |