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 |
stefan schippers
|
ed9dc9b211
|
disable debug msg
|
2025-01-09 00:12:07 +01:00 |
stefan schippers
|
45a0af8005
|
fix unwanted clear of GRAPHPAN bit in button3 operations in wave_callback()
|
2025-01-09 00:11:04 +01:00 |
stefan schippers
|
444eb47eb5
|
refactoring and cleanup of wave_callback() -3-
|
2025-01-08 22:19:58 +01:00 |
stefan schippers
|
d1e2328eb3
|
refactoring and cleanup of wave_callback() -2-
|
2025-01-08 21:12:59 +01:00 |
stefan schippers
|
bbdfd3c61a
|
refactoring and cleanup of wave_callback()
|
2025-01-08 16:36:45 +01:00 |
stefan schippers
|
0d7d1f5364
|
implemented drag with right-button pressed on left of Y axis to do a Y area zoom
|
2025-01-08 15:05:11 +01:00 |
stefan schippers
|
12a9276ee0
|
optimization in plotting routines: skip unwanted datasets, if no dc simulation there is no need to detect sweep variable wraps
|
2025-01-08 13:27:07 +01:00 |
stefan schippers
|
182b55adf8
|
fix some issues when setting numerical position of cursors (spurious activation of `GRAPHPAN`); proc input_line: return `preset` argument on Cancel
|
2025-01-08 01:21:05 +01:00 |
stefan schippers
|
149ee5fdc0
|
further refactoring of waves_callback() (reduce first loop over graphs to single iteration on graph_master)
|
2025-01-07 14:31:26 +01:00 |
stefan schippers
|
d2321f1eeb
|
cleanup code in waves_callback()
|
2025-01-07 13:04:41 +01:00 |
stefan schippers
|
15738bbf51
|
better drag waves in x direction (continue even if dragging outside of graph)
|
2025-01-07 12:03:49 +01:00 |
stefan schippers
|
a3e7610d83
|
horizontal cursors in graphs
|
2025-01-07 04:20:32 +01:00 |
stefan schippers
|
9fda7e2f96
|
wip: put code in place for horiz cursors in graphs
|
2025-01-06 13:14:12 +01:00 |
Chayan Deb
|
f020e45364
|
[Experimental Feature Update (orthogonal_wiring)]: Modified the last added orthogonal wiring mode to only draw either a horizontal, or a vertical component when a user-click event is detected. To get the best experience with this feature, 'persistent_commands' should also be enabled from the 'Options' menu.
|
2025-01-06 15:57:37 +05:30 |
stefan schippers
|
783fa04eb6
|
`xschem save` --> save_schematic(): added `fast` argument (do not update window/tab/sim button states for speed); `xschem select instance` --> select_element(): added `nodraw` argument in addition to existing `fast` (avoid drawing selected item for speed)
|
2025-01-05 13:27:49 +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
|
8981b47ed3
|
[Fixed an issue]: The bottom-statusbar now correctly indicates if the schematic editor is currently in wire-drawing-mode or not. The color of the indicator has been changed to a more visible and non-alerting green, and the text has been shortened to only display 'DRAW WIRE! ' instead of the previous message.
|
2025-01-03 18:35:15 +05:30 |
Chayan Deb
|
b1e4d14a80
|
[Changed behavior of a workflow action]: While the 'persistent-wire-draw' checkbox is ticked in the 'Options'-menu, pressing 'Esc' will immediately eject the user from wire-drawing-mode and end any multi-segment wire being drawn. Double click behavior remains the same as before.
|
2025-01-03 18:08:33 +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 |
Chayan Deb
|
6e886ff448
|
Merge branch 'StefanSchippers:master' into master
|
2025-01-02 18:55:36 +05:30 |
Chayan Deb
|
76e106563b
|
[UI/UX Enhancement]: When the 'w'-key is pressed to enter wire-drawing mode, until drawing begins with an LMB-click - a new bottom status-bar entry will appear in deep blue color along with the text {WIRE READY TO DRAW! } - indicating the current editor mode. Either pressing 'Esc'-key, or starting the wire-drawing process with an LMB-click will cause this new status-bar entry to disappear.
|
2025-01-02 18:46:46 +05:30 |
stefan schippers
|
45382d1b1d
|
fix `s` command (simulate) to work with new menu system
|
2025-01-02 13:22:34 +01:00 |
stefan schippers
|
2bd205427d
|
load_schematic(): do not set xctx->time_last_modify if called with reset_undo == 0; fix persistent command mode when started from menu; update traversal procedures
|
2025-01-02 12:52:51 +01:00 |
Chayan Deb
|
96c3dde250
|
[Feature enhancement]: Pressing the 'w'-key now sets the schematic editor to wire-drawing mode, instead of immediately placing down the wire. Press LMB in this state to start drawing the wire.
|
2025-01-02 12:32:35 +05:30 |
stefan schippers
|
b23b162f2c
|
rewritten the menu system using a menubar vs the menubuttons
|
2024-12-31 03:51:05 +01:00 |
stefan schippers
|
0b4cedbf05
|
add Button3 drag for rectangle zoom, move ctx menu to Button3Release, updates in traversal and cellview
|
2024-12-29 19:35:49 +01:00 |
stefan schippers
|
3fecba878c
|
fix double push_undo() call when adding a wire in intuitive_interface (by click and drag from a wire endpoint or symbol pin). This led to inconsistencies (spurious connecting dots on wires) when doing an Undo operation
|
2024-12-23 02:22:40 +01:00 |
stefan schippers
|
7a8ab78d11
|
restore rotten intuitive interface command ctrl-shift-click-drag to move a component creating wires if pins attached to components or wires
|
2024-12-22 18:49:58 +01:00 |
stefan schippers
|
ce99d093c4
|
screen grab: if draw crosshair is enabled and a screen grab is done show default mouse pointer
|
2024-12-01 11:55:46 +01:00 |
stefan schippers
|
5ae730a5fb
|
waves_selected(): do not check sch_waves_loaded() to return is_inside
|
2024-11-30 10:57:06 +01:00 |
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
|
b642d63215
|
avoid unneeded calls to draw_crosshair(1) if crosshair is not enabled. Double performance of draw_graph_points() (do not draw on xctx->window if XCopyArea drawing model (now the default) is enabled
|
2024-11-27 16:13:48 +01:00 |
stefan schippers
|
67a4407952
|
fix typo in condition (draw_pixmap instead of save_pixmap)
|
2024-11-16 10:19:34 +01:00 |
stefan schippers
|
7e699d94e5
|
indentations in xschem.tcl
|
2024-11-14 20:41:54 +01:00 |
stefan schippers
|
819e2f0969
|
limit precision of (now unsnapped) selection rectangle dimensions in status line
|
2024-11-13 23:05:46 +01:00 |
stefan schippers
|
20359ed43e
|
update license info. Remove unneeded newline saving in version line of .sch/.sym files, remove c89 flag based on lib versions
|
2024-11-12 20:23:18 +01:00 |
stefan schippers
|
dd33a067de
|
select rectangles are unsnapped. much easier to select small objects
|
2024-11-10 09:53:37 +01:00 |
stefan schippers
|
94d5c44599
|
xschem change_sch_path command for changing the current path we are descended in; set_title parameter for xschem descend and xschem go_back (optimization for faster scripts). optimized utility procedure traversal.tcl. Catch glob pattern errors in proc setglob
|
2024-11-03 00:22:40 +01:00 |
stefan schippers
|
98475e328b
|
avoid triggering tclcommand -> launcher() when dragging mouse with ctrl key around objects with such attribute
|
2024-10-12 20:47:34 +02:00 |
stefan schippers
|
e5015488f3
|
double clicking in the center of a graph will now bring up the graph edit attributes dialog box even if no raw file is loaded
|
2024-09-07 10:11:52 +02:00 |
stefan schippers
|
1dd3e28b32
|
remove memory tracking alloc IDs
|
2024-09-06 22:27:05 +02:00 |
stefan schippers
|
391464bab9
|
fix another small memory leak due to tclvareval("xschem exit...")--> use tcleval()
|
2024-09-06 22:19:36 +02:00 |
stefan schippers
|
27c0fd1622
|
use atof_spice() instead of atof() to read cursor position data from graph attributes
|
2024-09-05 14:53:36 +02:00 |
stefan schippers
|
a94e0363fd
|
Add "private cursor" check box in graph dialog box. This allow the related graph to have separate "a" and "b" cursors. These cursor positions are saved with the schematic and are thus persistent when reloading the schematic.
|
2024-09-05 00:51:15 +02:00 |
stefan schippers
|
18a0c5e624
|
Use by default *.{sym,tcl} pattern in insert symbol and component browser
|
2024-05-28 14:32:20 +02:00 |
stefan schippers
|
087aa8c3b9
|
if a full path is given with -N set netlist file name as well as destination path; allow right click waveforms to set to bold even if cursors are drawn
|
2024-05-27 08:03:52 +02:00 |
stefan schippers
|
60c5230727
|
resolved_net(): resolve nets passed to symbols via attributes, avoid using dtoa_eng() in returned spice voltages, use dtoa(), since it may be used further in tcl expressions.
|
2024-05-03 15:00:51 +02:00 |
stefan schippers
|
00d367ae0c
|
Add xctx->mouse_moved state var to better handle ctrl-clicks (launcher() trigger)
|
2024-04-18 20:47:06 +02:00 |
stefan schippers
|
69ecb82750
|
in intuitive_interface allow to trigger laucher() by ctrl-click (if no mouse is moved), do not clear set_first_sel() data in intuitive_interface when clicking (without moving) multiple objects, better recognize .subckr or .model name in device_model attributes
|
2024-04-18 11:40:51 +02:00 |
stefan schippers
|
6a4131699a
|
improve `xschem add_symbol_pin` command, add create_symbol.tcl procedure
|
2024-04-12 00:06:36 +02:00 |
stefan schippers
|
b004618c25
|
explicit parameters to interpolate_yval()
|
2024-04-01 23:23:45 +02:00 |
stefan schippers
|
d9871edb13
|
update LCC_instances.sch
|
2024-04-01 02:23:30 +02:00 |
stefan schippers
|
318c52cd0f
|
cursor positions always saved in true x values (no log taken for logx axes) avoid too many log10() / pow(10, ...) conversions
|
2024-04-01 00:25:50 +02:00 |
stefan schippers
|
8eecd73c50
|
removed impossible if() condition in backannotate_at_cursor_b_pos()
|
2024-03-31 13:36:35 +02:00 |
stefan schippers
|
9c5a1a9816
|
handle cursor drawing in multiple graphs, some with log scale some others without
|
2024-03-31 13:27:12 +02:00 |
Stefan Schippers
|
731a265dcf
|
removed some dead code
|
2024-03-30 20:16:47 +01:00 |
Stefan Schippers
|
cab89d03d9
|
revert to commit 2024-03-26 18:48:48
|
2024-03-30 19:20:51 +01:00 |
stefan schippers
|
547bdec018
|
avoid rouding to 0 wave measures in show_node_measures()
|
2024-03-30 13:00:39 +01:00 |
stefan schippers
|
27c065327e
|
improve cursor display and move with multiple graphs with different sweep variables (2)
|
2024-03-30 02:20:38 +01:00 |
Stefan Schippers
|
ba76f42277
|
improve cursor display and move with multiple graphs with different sweep variables
|
2024-03-29 19:58:54 +01:00 |
stefan schippers
|
fdeca4646a
|
cursor a and b: when draging in a graph with default sweep var correctly map cursor in other graphs with different sweep vars
|
2024-03-29 13:57:06 +01:00 |
stefan schippers
|
642ee525ac
|
fix grab screen window pathname calculation
|
2024-03-21 22:37:39 +01:00 |
stefan schippers
|
751c965e9f
|
waves_selected(): better checking of mouse `is_inside` graph
|
2024-03-21 22:28:32 +01:00 |
stefan schippers
|
5417392357
|
grab screen make it work if initiated from additional tabs / windows
|
2024-03-21 22:10:27 +01:00 |
stefan schippers
|
e55c8294c2
|
fix ctrl-click in launchers if no intuitive interface is set
|
2024-03-20 18:43:25 +01:00 |
stefan schippers
|
3e722d217d
|
remove dgb message
|
2024-03-20 11:55:36 +01:00 |
stefan schippers
|
61b1c0b368
|
add `Tools->Grab screen area` function (unix only)
|
2024-03-20 03:53:56 +01:00 |
stefan schippers
|
cfccb64026
|
remove dbg msgs
|
2024-03-18 03:10:00 +01:00 |
stefan schippers
|
f68cb6c18a
|
start launcher commands on mouse button release (if no mouse movement has occurred) to allow ctrl-button1 drags
|
2024-03-18 02:39:54 +01:00 |
stefan schippers
|
6c0398a8b6
|
fix unintended move operation start when clicking a launcher that starts a new schematic and returning to the originating schematic containing the launcher. Added support for direct JPG image import (no JPG->PNG filters)
|
2024-03-14 11:09:49 +01:00 |
stefan schippers
|
90241d2463
|
Alt-x to toggle crosshair display, removed alt-x and ctrl-shift-X for compare schematic functions (seldom used) improved calculation of `delta` in drawgrid, improved search() (added missing arcs and polygon attribute searches)
|
2024-03-10 12:11:51 +01:00 |
stefan schippers
|
a855f732c9
|
fix redundant push_undo() in shape_point_selected ops
|
2024-03-09 06:16:41 +01:00 |
stefan schippers
|
3a412e8e6f
|
fix redundant push_undo() in drag_elements
|
2024-03-09 06:08:22 +01:00 |
stefan schippers
|
0611c7a6e7
|
allow select and drag graphs by clicking the upper border too
|
2024-03-08 15:08:47 +01:00 |
stefan schippers
|
336a132219
|
update inst_sch_select.sch, fix constrained move reset in intuitive_interface
|
2024-03-08 00:48:05 +01:00 |
stefan schippers
|
132d335757
|
fix a regression in merge_file(0,...) from user provided file being aborted
|
2024-03-07 18:32:42 +01:00 |
stefan schippers
|
71b1b52384
|
fix some unwanted persistency of constrained move (now renamed to constr_mv and moved into xctx struct), not being reset at end of command
|
2024-03-07 17:48:41 +01:00 |
stefan schippers
|
f57f09ee12
|
allow rotate/flip objects while moving in intuitive interface (Button1 pressed)
|
2024-03-07 12:31:18 +01:00 |
stefan schippers
|
76678ab8b6
|
drag wires from pins: improvements on previous commit
|
2024-03-07 00:08:47 +01:00 |
stefan schippers
|
022a0ebb5e
|
drag wires from pins: if instance is selected can drag wire from pin even if there are already other wires attached
|
2024-03-06 20:04:15 +01:00 |
stefan schippers
|
a7034ce2d1
|
directly create new wires by clicking and dragging from unconnected instance pins (if intuitive_interface is enabled)
|
2024-03-06 16:27:14 +01:00 |
stefan schippers
|
4d3af62ee1
|
intuitive_interface: if clicking without shift all other selected objects will be unselected
|
2024-03-06 13:02:53 +01:00 |
stefan schippers
|
f663a6486d
|
intuitive_interface: if clicking without shift all other selected objects will be unselected
|
2024-03-06 12:58:29 +01:00 |
stefan schippers
|
174d590ad1
|
fix some regressions (place wires/lines/polys/rectangles from context menu), restore selection when creating a new arc
|
2024-03-06 12:53:49 +01:00 |
stefan schippers
|
72e613785a
|
fix some graphical artifacts when moving crosshair over partially selected objects (missing rebuild_selected_array())
|
2024-03-05 23:17:42 +01:00 |
stefan schippers
|
3cdd6526c6
|
add xschem closest_object command, improve intuitive_interface (dont full-select already partially selected item when dragging)
|
2024-03-05 11:57:15 +01:00 |
stefan schippers
|
ceafdedbbd
|
intuitive_interface fix bug(3): cleanup
|
2024-03-05 10:04:39 +01:00 |
stefan schippers
|
02247d13bb
|
intuitive_interface fix bug(2) (did unselect all when clicking on a new instance)
|
2024-03-05 09:58:48 +01:00 |
stefan schippers
|
733d5a9bb1
|
intuitive_interface fix bug (did unselect all when clicking on a new instance)
|
2024-03-05 09:55:35 +01:00 |