stefan schippers
|
059ac92695
|
fix catch command in tclvareval(....menubar entryconfigure ...) commands
|
2025-08-19 09:00:09 +02:00 |
stefan schippers
|
7e20ea0127
|
catch all calls to .menubar entruconfigure commands to change bg color of buttons to avoid errors if buttons are removed
|
2025-08-09 10:57:17 +02:00 |
stefan schippers
|
5a3c97d64e
|
add vccs_limit.sym and vcvs_limit.sym that use the XSPICE limit code model (saturated controlled sources). [WIP] support for spectre netlist format (for the VACASK simulator) - still incomplete
|
2025-07-16 00:12:26 +02:00 |
stefan schippers
|
0f49e3cda7
|
Make xschem build with configure option --CFLAGS="-std=c23" (prepare for gcc-15 issues)
|
2025-05-01 23:52:53 +02:00 |
stefan schippers
|
afc3f1b724
|
move some X11 dependent code into draw(), circuit example updates
|
2025-04-20 09:48:40 +02:00 |
stefan schippers
|
6af59cb3fb
|
reset alloc IDs
|
2025-04-18 02:02:15 +02:00 |
stefan schippers
|
dbac25433c
|
`/` command (show bindkeys) will use a toplevel window instead of fullscreen
|
2025-04-18 02:00:08 +02:00 |
stefan schippers
|
21dbd0e340
|
fix a small memory leak issue in waves_callback(), variable curr_sim_type, fix random clipping (due to uninitialized var instead of rect coordinates) in ps_filledrect()
|
2025-04-17 15:46:33 +02:00 |
stefan schippers
|
c3cb1218a1
|
set line width commands also set minimum allowed line width (good for UHD displays)
|
2025-04-09 11:47:19 +02:00 |
stefan schippers
|
8d0837d5e9
|
Add bindkey `Alt -` (specify line width) in addition to menu entry
|
2025-04-09 10:07:33 +02:00 |
stefan schippers
|
514b5be2c2
|
fix sym_txt (text display/hide) in symbols, add commands to place ipins and opins, move create_plot_cmd to ctrl-shift-X, grouped some menus in Symbol menu
|
2025-04-07 14:50:28 +02:00 |
stefan schippers
|
24f2af8c81
|
update keybinding documentation; add `/` command to show fullscreen image of keybindings also in Help menu)
|
2025-04-06 12:58:13 +02:00 |
stefan schippers
|
795f89215e
|
add bindkeys_cheatsheet.sch, moved shift-J to Ctrl-p (xplot creation)
|
2025-04-03 18:00:33 +02:00 |
stefan schippers
|
28aca824ed
|
update docs for keybindings
|
2025-04-03 06:25:23 +02:00 |
stefan schippers
|
cd0a78d9ff
|
cadence_compat: a Button **Release** (instead of **Press**) on a selected item will unselect everything but the item under the mouse. This allows click & drag in intuitive_interface + cadence_compat
|
2025-04-03 00:19:40 +02:00 |
stefan schippers
|
3941568804
|
further cleanups on event handling / window switching code
|
2025-04-02 13:26:46 +02:00 |
stefan schippers
|
36cbb84c04
|
refactor event code (FocusIn/Enter races)
|
2025-04-01 11:41:35 +02:00 |
stefan schippers
|
dc871f5227
|
area select: reverse effect of ctrl-modifier key depending on enable stretch: enable_stretch==1 and control -> NO stretch select; enable_stretch==0 and control -> Stretch select
|
2025-03-29 01:18:41 +01:00 |
stefan schippers
|
dcb5689191
|
if an instance is selected with ctrl-shift-click in intuitive_interface mode, move instance creating new wires to pins connected to something. This was working as a plain stretch-move (stretch already attached nets instead of creating new ones)
|
2025-03-26 02:29:35 +01:00 |
stefan schippers
|
8330f0f3c5
|
remove debug info
|
2025-03-25 23:44:54 +01:00 |
stefan schippers
|
1f4841b2b6
|
fix context switching in tabbed interface (regression)
|
2025-03-25 23:26:06 +01:00 |
stefan schippers
|
9e4b26b027
|
dont process Motion / ButtonPress events if done in wrong window without first focusing it
|
2025-03-24 16:21:01 +01:00 |
stefan schippers
|
3443e9aff5
|
even in click to focus mode allow switching to other window when copying stuff across windows
|
2025-03-24 15:32:37 +01:00 |
stefan schippers
|
5ac170f2a5
|
changes in event system to make window context switching (in no tab mode) less "automatic", requiring a FocusIn event to switch. Will work better when working with the new symbol browser. changed default value of autofocus_mainwindow to 0 (set to 1 explicitly in xschemrc if you need that)
|
2025-03-24 13:46:15 +01:00 |
stefan schippers
|
48beb76087
|
created handle_expose() event handler, offloaded from callback()
|
2025-03-23 16:10:58 +01:00 |
stefan schippers
|
eadfe6511a
|
further move statusbar code from callback() to update_statusbar()
|
2025-03-23 15:57:34 +01:00 |
stefan schippers
|
31a0712109
|
remove some redundant operations (housekeeping_ctx) when switching windows contexts for redraw_only
|
2025-03-23 12:16:01 +01:00 |
stefan schippers
|
ed0d71c1ff
|
move update statusbar stuff from callback() into separate function
|
2025-03-23 11:35:49 +01:00 |
stefan schippers
|
d765f6ac4f
|
in cadence_compat mode, when a selection is present, clicking on a selected item will unselect all others (default is do nothing)
|
2025-03-23 00:25:29 +01:00 |
stefan schippers
|
08c613d3a8
|
fix regression (Shift-D not working) introduced after `Escape pressed while drawing polygon will cancel last segment instead of the whole poly`
|
2025-03-19 10:03:20 +01:00 |
stefan schippers
|
0b266d2bd0
|
merge in SuperChayan refactoring ( recompute_orthogonal_manhattanline() )
|
2025-03-19 00:50:35 +01:00 |
stefan schippers
|
ce8714acae
|
add new_file_browser_* variables in xschemrc to allow new symbol browser to be used also to load files
|
2025-03-19 00:45:25 +01:00 |
stefan schippers
|
b348451160
|
new symbol browser: add Update button to refresh list of dirs and files; fix Alt-s (Reload) incorrectly moved in r keybind after handle_key_press() refactoring
|
2025-03-18 00:53:46 +01:00 |
stefan schippers
|
caddf0f0dd
|
fix indentation
|
2025-03-16 23:38:54 +01:00 |
stefan schippers
|
50321ae480
|
align callback.c with SuperCD fork
|
2025-03-16 19:56:57 +01:00 |
stefan schippers
|
33591fa41d
|
applied recent additions from SuperCgayan
|
2025-03-16 11:35:30 +01:00 |
stefan schippers
|
2f26544c45
|
dont assume a particular manhattan_lines when starting wires or lines. Keep last one set
|
2025-03-16 01:17:50 +01:00 |
stefan schippers
|
124d73ee64
|
fix regression (start new wires in manhattan orient)
|
2025-03-16 00:31:57 +01:00 |
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 |
stefan schippers
|
2a4ebe4b77
|
new (optional) symbol placement browser
|
2025-03-12 16:59: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 |
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 |
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 |
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 |
stefan schippers
|
0c4cdb3ea1
|
propagate changed key bindings to new opened windows (in no-tabs mode)
|
2025-02-06 01:11:11 +01:00 |
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 |
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 |
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 |
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 |
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 |
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 |