Commit Graph

2890 Commits

Author SHA1 Message Date
stefan schippers 5161f3dc0a some doc updates and comments, error checks in get_sch_from_sym() 2025-01-11 14:08:23 +01:00
Chayan Deb 8b6f5c1b9d
Merge branch 'StefanSchippers:master' into master 2025-01-11 11:33:44 +05:30
stefan schippers 9d54269d25 doc updates (@spice_get_node) 2025-01-11 01:34:41 +01:00
stefan schippers 69ddd2966c get_sym_name(): use with_quotes=6 in extraction of schematic attribute as done in get_additional_symbols() and get_sch_from_sym() 2025-01-10 17:40:16 +01:00
stefan schippers be76009a3c remove dbg msg 2025-01-10 17:15:53 +01:00
stefan schippers a0da5c7b51 fix resolution of symbol references like: symbolgen.tcl(buf), when descending into symbol correctly recognize generator and descend into generated symbol 2025-01-10 17:14:13 +01:00
stefan schippers 1d5ff21130 get_sch_from_sym() fix detection of empty instance `schematic` attribute 2025-01-10 16:51:20 +01:00
stefan schippers aeb57781a8 fix some c89 violations (warnings) 2025-01-10 16:14:24 +01:00
stefan schippers 59e7872f67 reduce some pointer indirections to array subscripts (readability) 2025-01-10 16:00:47 +01:00
stefan schippers 0a3fd95e06 code formatting 2025-01-10 14:58:10 +01:00
stefan schippers 882e20397d get_additional_symbols(), get_sch_from_sym(): allow to resolve schematic calls like: schematic=generator.tcl(@n\) --> let get_tok_value() return backslashes and remove surrounding "..." quotes 2025-01-10 14:12:05 +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 3746564468
Merge branch 'StefanSchippers:master' into master 2025-01-09 21:13:37 +05:30
stefan schippers aa36cbb897 @path expansion in translate(): remove path components above the level where raw file (if any) was loaded; added @spice_get_current in bsource.sym 2025-01-09 15:35:35 +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 ff7c767c4d propagate drawing graph Hcursor functions to SVG/PDF exports 2025-01-09 00:31:11 +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 be202219a0 [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:58:38 +05:30
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
stefan schippers 4d76708534 save_schematic(): remove set_modify(2) if same name. need to add a dedicated parameter for save without title update 2025-01-05 11:27:18 +01:00
Chayan Deb 3a19d8c8ec
Merge branch 'StefanSchippers:master' into master 2025-01-05 13:23:03 +05:30
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
stefan schippers fd5fec64aa make uninstall: remove empty directories (share/xschem and share/doc/xschem); make command `xschem help` work also if running in src/ directory; use XSCHEM_SHAREDIR shell variable (if defined and directory existing), else set XCSCHEM_SHAREDIR to `pwd` if started from src/ dir, else set compile set XSCHEM_SHAREDIR. xschemrc can override this XSCHEM_SHAREDIR setting. 2025-01-05 01:29:04 +01:00
Chayan Deb 4e084d8cae
Merge branch 'StefanSchippers:master' into master 2025-01-04 17:35:16 +05:30
stefan schippers 09813f8e1e restrict `menu unpost by click` hack to 8.6+ tcl versions. the hack works on tcl8.4, but lets avoid potential problems on jurassic systems 2025-01-04 12:47:13 +01:00
stefan schippers f824f26c4f click on posted menu will unpost it. Now no more Motion event is needed to repost again the menu by another click 2025-01-04 12:39:22 +01:00
stefan schippers ee0de61220 add `2` and `3` argument to set_modify (do only clear/set modified flag), save() -> save_schematic(): do not update title/tab names if saving with same name. 2025-01-04 12:24:22 +01:00
stefan schippers 69a23355fb refactor some debug print messages for NULL strings 2025-01-04 11:33:58 +01:00
stefan schippers 4e2584341c updates on cellview and traversal; hack on Menu Button event handler to allow a click on a posted menu to unpost it. 2025-01-04 04:16:43 +01:00
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 9aff371ffe
Merge branch 'StefanSchippers:master' into master 2025-01-03 18:19:54 +05:30
stefan schippers 0e63e1bfff remove commented dirty hack 2025-01-03 13:48:23 +01:00
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
stefan schippers abc88e8819 Revert dirty hack to make a click on an open menu close it, still some issues 2025-01-03 13:15:30 +01:00
stefan schippers ed1149edb2 dirty hack to make a click on an open menu close it 2025-01-03 13:09:18 +01:00
stefan schippers e77cc334f4 has_included_subcircuit() and proc has_included_subcircuit: compare and reorder only ports with associated symbol pin. do not consider `extra` ports assigned via attributes 2025-01-03 00:49:54 +01:00
stefan schippers 294a10bd5a go_back(): if a write of modified schematic is requested before going up but write fails (for example due to permission issues) then issue a warning and go ahead anyway. Previously xschem got stuck in the lower hierarchy with no way to escape. If xschem load is done with `noundoreset` option do not change some context data (xctx->currsch, xctx->sch_path, xctx->portmap, xctx->sch_inst_number, ...). Various fixes/enhancements in cellview and traversal procedures. 2025-01-02 22:38:40 +01:00
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 1ef5445353 Repo Merge 2025-01-02 18:54:37 +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 724f8e834e
Merge branch 'StefanSchippers:master' into master 2025-01-02 13:42:56 +05:30
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 8fa2c9c22a add all_hierarchy parameter to proc traversal 2025-01-01 11:48:33 +01:00
stefan schippers 041d90548d xschem.tcl toolbar procs reordering 2024-12-31 22:57:28 +01:00
stefan schippers 3a8d36d0fe update add_custom_menu.tcl to new menu system, some refactoring in xschem.tcl for toolbar (add_toolbuttons procedure) 2024-12-31 21:00:09 +01:00
stefan schippers 05dc1a4772 update add_custom_menu.tcl for new menu system 2024-12-31 13:05:48 +01:00
stefan schippers b23b162f2c rewritten the menu system using a menubar vs the menubuttons 2024-12-31 03:51:05 +01:00
stefan schippers 2c8468ee1c add custom binding to MenuButton Button-1 events so clicking on a posted menubutton will unpost it 2024-12-30 19:03:06 +01:00
stefan schippers 1a14adaade Hovering other menu titles while one is open will drop down the other menus, even wihout holding down mouse button1 2024-12-30 15:31:59 +01:00
stefan schippers 1e75d69dfe remove unused variable mbg in menu system 2024-12-30 11:20:07 +01:00
stefan schippers c45ae9248b slightly bigger font for traversal 2024-12-30 01:11:37 +01:00
stefan schippers 724c67435c updates in traversal proc, fix searching for xschem_man.html if clicking the link into the About dialog and running xschem from the src/ dir. 2024-12-30 01:04:40 +01:00
stefan schippers 0ba037894f update keys.help 2024-12-29 21:37:17 +01:00
stefan schippers 135022a39d removed src/traversal.tcl 2024-12-29 19:39:29 +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 b68731481c updated cellview and traversal procedures 2024-12-29 14:47:27 +01:00
stefan schippers be39ce970b remove traversal.tcl from src/Makefile.in 2024-12-29 12:52:28 +01:00
stefan schippers 0ffd327b85 do not do a rectangle zoom (`z` key) if no minimum area is given; added `xschem get symbols` command; added `derived_symbols` in `xschem symbols` command; added menu `simulations->Keep symbols when traversing hierarchy`; created `proc cellview` and integrated `traversal.tcl` into xschem.tcl 2024-12-29 12:38:26 +01:00
stefan schippers 61c4f72c15 some `xschem test` benchmarks added 2024-12-24 03:15:50 +01:00
stefan schippers b16a5ef927 code comments 2024-12-23 12:24:06 +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 712b985333 proc edit_prop: better selection of value=".... \" .... \" ...": dont get confused by escaped quotes 2024-12-23 00:51:52 +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 c4ebc92aa2 update xschem go_back command (pas integer notitle to go_back() function; simplify wrap handling vs sweep variable in draw_graph(), graph_fullyzoom(), calc_custom_data_yrange(), find_closest_wave() 2024-12-21 13:05:33 +01:00
stefan schippers 6682965dba make @spice_get_current work for pnp and npn symbols 2024-12-21 00:49:44 +01:00
stefan schippers b892ad8ac7 Make @spice_get_current report Id (drain current) for mos devices (defined as plain mosfets in model (ngspice syntax), may be to extend for Xyce) 2024-12-20 22:25:19 +01:00
stefan schippers 1ddafe3276 updated autozero_comp.sch to show saout histogram; xschem raw switch: do not call update_op() if not switching into a 1-point OP or DC sim 2024-12-20 11:56:53 +01:00
stefan schippers 47f0d2d57c improvements in raw_get_pos(), fix test_backannotated_subckt.sch (was not simulating anymore) 2024-12-20 02:28:38 +01:00
stefan schippers d9d75de337 remove dbg message 2024-12-20 01:19:02 +01:00
stefan schippers d03f3b52e1 bars for hystograms use squared lines, not rounded lines, added command `xschem raw pos_at node value` to find position (in raw file) where node = value 2024-12-19 23:53:11 +01:00
stefan schippers 7402385a82 fix regression from commit `graphs: always plot one point before x1 and one point after x2 of simulation`: 2-dimensional dc-sweeps did miss first or last point 2024-12-18 01:55:05 +01:00
stefan schippers da6532d8d8 doc updates (xschem image command) 2024-12-17 09:27:01 +01:00
stefan schippers 6b75aa62aa avoid a redundant set_modify(-1) in review_window("destroy"...) 2024-12-17 01:07:36 +01:00
stefan schippers 158ed8decc load_schematic(): do not invoke trim_wires (if enabled) if called non interactively with reset_undo == 0 (it will change name of top schematic in tab and window title while netlisting) 2024-12-16 16:44:56 +01:00
stefan schippers 5bc194f3a5 separated undo_initialized and mem_undo_initialized, so they can be used more interchangeably 2024-12-16 12:14:11 +01:00
stefan schippers b4423126ea add (disabled) debug message in proc set_tab_names 2024-12-16 09:09:39 +01:00
stefan schippers 8c4d5cb7b8 push_undo() correctly handle case when tmpdir can not be created (init_undo() fails) 2024-12-16 02:18:32 +01:00
stefan schippers cac5392a45 proc set_tab_names: call [xschem get schname] only once 2024-12-16 01:24:36 +01:00
stefan schippers 538d3bf2ad xschem raw values now returns full precision, no more 8 digit rounding, as this is undesirable for transient noise sims 2024-12-15 12:24:51 +01:00
stefan schippers 5eea0728c7 update in_memory_undo.c to be in sync with pop_undo(4, ...) 2024-12-14 22:39:13 +01:00
stefan schippers e8e217591d add verilator in addition to icarus verilog simulator 2024-12-12 12:45:24 +01:00
stefan schippers a97b47623f annotate_op: delete current raw file (to replace with new OP raw) ONLY if current loaded raw file is an OP simulation (npoints==1) 2024-12-11 01:54:31 +01:00
stefan schippers 13e38b803d annotate_op command only deletes loaded OP raw file (if any), does no more delete all loaded raw files. 2024-12-10 23:31:09 +01:00
stefan schippers 4bdfa44575 use ttk::combobox instead of spinbox where available (tcl > 8.4) for graph Line/HistoH/HistoV selection 2024-12-10 11:41:35 +01:00
stefan schippers 48d7522a8c remove debug messages 2024-12-10 00:37:26 +01:00
stefan schippers 893c48d7dd fix some HistH graph draw artifacts when panning/zooming the graph 2024-12-10 00:07:33 +01:00
stefan schippers 8bb69b65e9 HistogramH and HistogramV graph modes 2024-12-09 17:25:40 +01:00
stefan schippers 2a7ee749ba xschem raw add: add optional sweep_var parameter 2024-12-09 00:00:27 +01:00
stefan schippers 2ec8c61757 fix previous commit for digital graphs 2024-12-07 11:40:49 +01:00
stefan schippers f73cf30452 added a fix in draw_graph_points() to avoid waves to be drawn outside of the graph box container on Windows, where there is no working XSetCLipRectangles() 2024-12-07 00:56:04 +01:00
stefan schippers 963e877497 Allow wave expressions with spaces on a single line without quotes ("...."). Quotes can be used for wave expression on multiple lines. Side effect: multiple nodes can no more be specified on a single line separated with spaces. Use newlines 2024-12-05 02:54:08 +01:00
stefan schippers 75b5cc13f4 added `-undo 1` to all text widgets. If text_replace_selection is enabled replace selection when pasting also in entry widgets as done with text widgets 2024-12-04 16:38:35 +01:00
stefan schippers 0734414bd7 simplify some regsub pattern substitutions in xschem.tcl 2024-12-04 13:41:52 +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 17a564062c graphs: always plot one point before x1 and one point after x2 of simulation waves so they will extend to full graph area even if there are few simulation points. 2024-11-30 01:16:37 +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 7ca8857302 starting a move (m) or copy (c) operation when nothing is selected does not change ui_state. Clearly a bug 2024-11-29 01:30:38 +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 471675ad49 fully remember panedwindow (vertical and horizontal) sash positions in load_file_dialog 2024-11-28 10:06:37 +01:00
stefan schippers e2f19d8b7c better implementation of previous fix. if read_dataset() does not find a matching dataset, delete only current raw structure, not all loaded raw files. 2024-11-28 03:51:27 +01:00
stefan schippers 9c48617e4e xschem annotate_op command: if no OP analysis is found in raw file try to load a DC sweep and use first point for schematic annotation. This is done because Xyce stores OP data as a 1-point DC sweep 2024-11-28 03:18:32 +01:00
stefan schippers f9b341ef98 revert last changes in draw_graph_points(). Optimization was already done. 2024-11-28 00:51:38 +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 ca6fb60ce7 added `legend` checkbutton in graph dialog box to switch off signal legend in analog graphs 2024-11-25 14:29:19 +01:00
stefan schippers cf7933b99d save.c: do not assume complex data for `constants` raw file sections, deduce data type from Flags line (both complex and real constants sections exist) 2024-11-25 12:48:25 +01:00
stefan schippers 7fccc2eed1 better xschem bbox command 2024-11-22 03:12:57 +01:00
stefan schippers 4fff388f99 add `constants` plot type in graph sim type drop down menu 2024-11-22 00:11:37 +01:00
stefan schippers 893bd20901 remove a clipping condition in draw_graph_points() as graph-area clip is set in draw_graph() 2024-11-21 10:58:15 +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 1c69848325 correctly handle `set_title & 2` in descend_schematic() 2024-11-14 00:35:21 +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 de9c40af65 allow file extension spec in tmpfile creation, update index.html 2024-11-13 12:04:56 +01:00
stefan schippers 4fca204e8d improvement of previous commit. Sanitize paths ending with ////, like /aa/bb/cc/// 2024-11-12 22:48:21 +01:00
stefan schippers 169d743b33 insert symbols should tolerate paths in XSCHEM_LIBRARY_PATH ending with `/` 2024-11-12 20:58:09 +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 aa95f0ff9d Small changes to allow build with tcl-tk 9.0 2024-11-12 01:16:43 +01:00
stefan schippers 127a2a0221 add needed include <stdarg.h> in scheduler.c (needed, probably some library or other include file was sourcing it). 2024-11-11 20:59:29 +01:00
stefan schippers 63ac9ccbb9 update Changelog for 3.4.6 2024-11-11 17:17:42 +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 346666e13d draw_graph_grid(): handle NaN in y-data , avoid infinite loop 2024-11-07 00:39:53 +01:00
stefan schippers b7e39700d4 add ability to read ASCII raw files 2024-11-06 11:59:00 +01:00
Stefan Schippers bb49cc9b26 fix incomplete line in actions.c 2024-11-05 20:09:04 +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 0bd6ccef86 select_element(): do not draw selection if fast argument given 2024-11-03 10:33:11 +01:00
stefan schippers e26e03ff0b comments on top of change_sch_path() 2024-11-03 00:23:49 +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 f3abdf2eb8 avoid another crash in case of malformed raw files (if raw->npoints not allocated return without attempting to read raw file) 2024-11-01 00:27:29 +01:00
stefan schippers 65bd4ce766 fix is_quoted() (reported "aaa\\\"bbb" as unquoted) 2024-10-31 11:06:19 +01:00
stefan schippers 71d5481dc8 move definition of my_memmem() outside of an #ifdef 2024-10-28 19:15:13 +01:00
stefan schippers c342a1c41f update svgdraw and psprint to recognize svg embedded images. svgdraw exports it as embedded svg 2024-10-28 18:55:13 +01:00
stefan schippers 76c1425180 get_surface_from_file(): better error checking 2024-10-28 12:45:50 +01:00
stefan schippers 17146a7cf7 get_surface_from_b64data() for svg images: create cairo surface only if filter_data() went successfully 2024-10-28 12:12:11 +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 2c82e26dcb when importing svg images with a svg->png filter (like rsvg-convert) keep source svg data in the image_data attribute instead of the rasterized data. This will make these images scalable and schematics will be smaller (if using small vector SVGs) 2024-10-27 03:04:55 +01:00
Stefan Schippers 426cf9c33a revert change "draw_image(): do RECTORDER() before taking *x1, *y1", as it messes up images in rotated /flipped symbols 2024-10-26 18:09:12 +02:00
stefan schippers a7cded9f19 fix crash if multiple raw files are loaded and last one fails loading due to corrupt raw file 2024-10-24 22:16:46 +02:00
stefan schippers f8a676aebf avoid rasiing an error when typing a raw file with some tcl variables (like $netlist_dir/...) in Raw file textbox in graph dialog 2024-10-24 19:47:28 +02:00
stefan schippers 8de9004468 added operator "cph()" to transform discontinuous phase ph(xxx) in AC analyses to aontinuous phase, like ngspice cph() function. Usage: instead of ph(out) use "ph(out) cph()" 2024-10-16 17:02:36 +02:00
stefan schippers fa699fe2f1 change_elem_order(): use input_line instead of text_line dialog 2024-10-14 21:59:39 +02:00
stefan schippers 30e407b743 add "Properties" menu for "Change selected object insertion order" (Shift-S) 2024-10-14 21:41:07 +02:00
stefan schippers 02a891b173 further streamlined hash lookup functions 2024-10-14 15:35:53 +02:00
stefan schippers c0474a139d simplified hash table lookup functions (indirect pointer) 2024-10-14 14:39:22 +02:00
stefan schippers e4d9594065 small cosmetic changes in hash tables (initialization of next pointer) 2024-10-14 12:13:19 +02: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 d387bb911d add commented example for custom radiobutton menu entries in add_custom_menu.tcl 2024-10-10 14:28:36 +02:00
stefan schippers baad052431 fix a potential crash (premature free() of pointer) when editing graph node names with % (dataset) specifier 2024-10-10 01:45:50 +02:00
stefan schippers 1b734d5202 fix refression (color of highlighted texts in only_probes view mode) 2024-10-07 15:50:29 +02:00
stefan schippers 835b05ce9f subst_token(): if s is empty and tok, new_val are gien just set return string to tok=new_val (no newlines whatsoever) 2024-10-05 11:43:57 +02:00
stefan schippers 4311ac424a handle NULL analysis type in debug messages (extra_rawfile()), recursive value substitution in symbol displayed strings: if translated text begins with @ search for recursive upper level definitions for text following @, example: @model symbol text, instance has model=@modeln, upper instance has modeln=nfet: resolve symbol text and display "@model" as "nfet", proc inutile: add optional wait argument to block xschem while dialog displayed 2024-10-03 13:08:32 +02:00
stefan schippers 95c7a68c92 enhance xschem print command (allow to specify bitmap size while using selection to indicate the boundbox to export) 2024-09-29 00:16:05 +02:00
stefan schippers bb1a1557bc svg and ps/pdf export: do not include data for offscreen graphs or images to reduce file size 2024-09-24 11:10:30 +02:00
stefan schippers 2372828c22 svgdraw and psprint: draw text after images as done in draw.c. Correct postscript / pdf image zoom factor from 0.97 to 1.0 to match scaling with other xschem elements. 2024-09-24 00:50:10 +02:00
stefan schippers aaac47720f draw_image(): add cairo_flush() to flush pending paints. In some cases a black square was exported instead of the image... Update Changelog for upcoming 3.4.6 2024-09-23 23:17:19 +02:00
stefan schippers a79e4304d9 draw_image(): do RECTORDER() before taking *x1, *y1 2024-09-23 15:57:32 +02:00
Stefan Schippers adb855db0b do not reset xctx->netlist_name after doing `Netlist` from gui (xschem netlist -erc) 2024-09-17 20:31:28 +02:00
stefan schippers f92dcfc49b add "proc ev7" (same as "proc ev", 7 significant digits) 2024-09-17 16:55:26 +02:00
stefan schippers 0afa12c3fb proc edit_prop: correctly set editprop_sympath when tcleval(...) is used 2024-09-16 16:55:09 +02:00
stefan schippers 2ef4b88146 sym_vs_sch_pins(): do tcl substitution on symbol references found in schematic being compared with symbol 2024-09-15 22:08:39 +02:00
stefan schippers 4ff7d0e2f8 load_sym_def(): process tcleval(....) (if present) in `name` argument (use tcl_hook2()) 2024-09-14 23:31:26 +02:00
stefan schippers 88b44db333 node_hash.c optimization: use inst[].lab instead of get_tok_value(..., "lab"...) 2024-09-14 09:52:06 +02:00
stefan schippers dfe2e05603 let symbol name entry box in component edit property dialog box expand in X direction if dialog box is enlarged 2024-09-12 00:36:52 +02:00
stefan schippers ba7e50ccc1 update hash calculation in xschemtest.tcl for LCC_instances netlist (due to changes in schematic) 2024-09-10 22:38:44 +02:00
stefan schippers 1108a71263 replace "UNDEF" with "-" in backannotated nodes that have no value in raw file. 2024-09-09 23:15:05 +02:00
stefan schippers a065fb93cc draw node names in graphs even if specified file / analysis (graph rawfile or sim_type attributes) is not loaded 2024-09-09 13:20:02 +02:00
stefan schippers ad96e222f1 if autoload is set in graph and a filename is given (rawfile graph attr) load raw file immediately when drawing graph. Don`t wait for user to load an intiial raw file to trigger auto loading 2024-09-08 13:43:29 +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 3f4004fdca set verison to 3.4.6RC (Release Candidate) to avoid confusion 2024-09-07 00:01:39 +02:00
stefan schippers 1b6612669d bump version to 3.4.6, will be next release when fully tested 2024-09-06 23:39:16 +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 882f7f7434 fix memory leaks introduced since introduction of my_expand() 2024-09-06 18:33:09 +02:00
stefan schippers fddc4650d1 graphs will autoload (if autoload checked) raw data even if no raw file is specified in graph dialog box (use current loaded raw file, usually a different analysis) 2024-09-06 16:57:13 +02:00
stefan schippers 291ba02339 save 4 vars ( node, ph(node), re(node, im(node) ) instead of 2 ( node, ph(node )for ac plots 2024-09-06 10:24:12 +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 d40a17df64 correctly set top_path and current_win_path in preview_window() when calling alloc_xschem_data(), don`t use fake window paths (alert_ proc uses parent win path) 2024-08-31 09:00:48 +02:00
stefan schippers 2b94e845c0 fix a bug in preview symbol displaying when inserting components. Toplevel .load widget was destroyed before cleaning preview data in preview_window(), so after some insertion preview was no more displayed. 2024-08-31 08:07:17 +02:00
stefan schippers 0e44462227 resolved_net(): correctly handle subschematic nets attached via port to upper global node. (return VCC instead of x1.VCC) 2024-08-29 22:10:06 +02:00
stefan schippers 1a2a925fbf remove backslashes in translate3() call in draw_temp_symbol(), as done in draw_symbol() 2024-08-29 08:13:06 +02:00
stefan schippers eb7b9ae018 removed pointless my_strcat() in translate3() 2024-08-29 07:56:22 +02:00
stefan schippers d06e999daf better backslash handling in translate3() 2024-08-28 23:37:43 +02:00
stefan schippers a725838850 fix escape recognition in translate3(), so in symbol texts it is possible to write \\@name to an instance attribute to get literal @name in displayed text instead of the instance name. fix typo in tutorial_use_existing_subckt.html. some schematic updates (no more enable show_pin_net_names tcl variable) 2024-08-28 09:39:43 +02:00
stefan schippers 4f0c3afa23 port ordering for a schematic .subckt line will always be deduced from the symbol if it exists, even if the symbol type is not "subcircuit" (so it will be used for also "primitive" type symbols). 2024-08-24 08:21:08 +02: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 9f761176ec highlight disconnected instances at end of netlisting to better find them 2024-08-14 10:12:13 +02:00
stefan schippers a32386c23c issue a netlist error (and report message) if instances with pins have *all* pins disconnected. This is in 99.999% of the cases an error. 2024-08-14 10:08:36 +02:00
stefan schippers f850877b1e added tcl variable top_is_subckt and related Simulation->LVS menu, that keeps top level wrapped inside a .subckt / .ends, as lvs_netlist does. However top_is_subckt does only that and will not enable lvs_format to differentiate device lines in netlist (usually used for LVS comparison). 2024-08-06 12:20:32 +02:00
stefan schippers 8b5ed3f32e symbols picked up from CWD are saved in parent design without absolute paths even if the CWD is not in XSCHEM_LIBRARY_PATH list of places. 2024-07-19 15:13:38 +02:00
stefan schippers d444673b88 add `xschem log_write text` command so erc error messages are written into errfp instead of stderr by tcl 2024-07-12 07:09:32 +02:00
stefan schippers 28bef9b06e fix_symbols: add optional pattern parameter: `fix_symbols 0 devices` 2024-07-09 08:53:24 +02:00
stefan schippers e8e4196da2 sym_vs_sch_pins(): check for not NULL pin_dir to avoid crash, as per Tim Edwards findings 2024-07-03 08:39:56 +02:00
stefan schippers 079c643be0 add graph_autoload to tctx::global_list 2024-06-23 16:06:13 +02:00
stefan schippers 89eb02f188 add autoload checkbutton in graph properties to automatically load or not custom graph-specified raw files 2024-06-23 15:59:22 +02:00
stefan schippers 64d5472963 allow `global` atttributes on instances of gnd.sym and vdd.sym to override symbol `global` setting. This allows also to set global=1 to net labels (lab_net.sym, lab_pin.sym) to make the net global. 2024-06-23 11:02:25 +02:00
stefan schippers e122a9764e ps/pdf export: use highlight colors on instances / wires that are highlighted 2024-06-21 14:19:11 +02:00
stefan schippers d42ecf96c5 add attribute text_layer_n=lay, where n = text object inside symbol instance to change its layer 2024-06-21 13:18:52 +02:00
stefan schippers 4e236750ed add abs_path parameter to get_sym_name() for more flexibility 2024-06-21 11:33:28 +02:00
stefan schippers 5ce1f01f43 correctly evaluate tcleval(....) in spice_sym_def attributes (ie after substituting @vars) 2024-06-21 01:41:42 +02:00
stefan schippers 36c79f262c add @symref (in addition to @symname) substitution in spice_sym_def processing 2024-06-21 01:03:08 +02:00
stefan schippers fa4d4a0970 enhance spice_sym_def used in instances (with schematic=...) by substituting @param with values defined in instance if any (param=xxx) 2024-06-14 08:55:35 +02:00
stefan schippers f267077e99 allow @symname , @param (param defined in symbol template string) translation in instance or symbol spice_sym_def attributes 2024-06-14 08:21:43 +02:00
stefan schippers d7c77718c0 fix erroneous select_touch() usage if incremental_select is set to 0 in xschemrc 2024-06-12 09:12:33 +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 9545eea546 fix tcleval called with 2 arguments on windows build in print_image() 2024-06-09 23:38:20 +02:00
stefan schippers 9282ea670e fix bus_tap netlisting with bus pin (pin # 1) connected to unnamed net. If Tap pin (pin # 0) was already named as #net... (unnamed net ) delete and take name from bus pin and tap index 2024-05-31 11:50:02 +02:00
stefan schippers 9f368d32e5 sim_pinnumber attribute on schematic pins will be used for top level .subckt pin ordering if no corresponding symbol exists when creating a spice netlist 2024-05-31 09:07:56 +02:00
stefan schippers 5969b0f472 proc ev, ev0, to_eng: evaluate expr at global scope so global vars will be expanded correctly ($path) 2024-05-29 09:41:52 +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 84b73bcdf4 `xschem setprop rect layer number fill val` : update cacted .fill value 2024-05-25 10:39:47 +02:00
stefan schippers 2060ca8871 update all text_bbox() calls to account for tabs in bbox calculation 2024-05-24 18:05:37 +02:00
stefan schippers d04162b31e use $tabstop setting in tk text widgets 2024-05-23 01:36:24 +02:00
stefan schippers 17bf6f3efb handle TABs in draw_string() (also ps and svg draw_string()), tcl var tabstop (default = 8) sets the tab positions. 2024-05-23 00:57:45 +02:00
stefan schippers 747652ffe1 xschem swap_cursors does not redraw. Use xschem redraw for that 2024-05-22 00:13:25 +02:00
stefan schippers 65b9c1b04b added command `xschem cursor 1|0 1|0` to enable or disable cursors via cmdline 2024-05-22 00:05:41 +02:00
stefan schippers 7cd7d16f6a add command `xschem swap_cursors` 2024-05-21 23:46:00 +02:00
stefan schippers 8067f58b43 uniquify /tmp/xschem_web (--> /tmp/xschem_web_xxxxxx), also handle like /tmp/xschem_undo_xxxxx, create on startup and remove on exit. 2024-05-20 19:00:33 +02:00
stefan schippers 35cac9bf22 netlist errors (if xschemrun from cmdline) return exit code 10 2024-05-17 00:20:27 +02:00
stefan schippers 7b8acd97da do not allow wrap variable to be set in draw_graph() and graph_fullyzoom() if viewing multiple OP simulations converted to DC (allow_wrap) 2024-05-14 11:54:10 +02:00
stefan schippers 5a32a77fd3 fix regression (xschem load_new_window was not working anymore with web urls) 2024-05-12 23:52:05 +02:00
stefan schippers 6db52b125c fix missing type for sym_vs_sch_pins(all) 2024-05-10 08:06:39 +02:00
stefan schippers be06ed50cb if top level schematic has an associated symbol (.sym) file ensure their ports match, otherwise issue an error. if netlisting fails return non zero exit code if netlisting from command line 2024-05-09 02:10:45 +02:00
stefan schippers 5e5dc5c3e5 translate(): return @spice_get_* tokens in engineerring notation if no tcleval(...) is used (no further expr processing) 2024-05-04 09:02:34 +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 7d181e43a1 spice_get_voltage attributes: assume "0" and "GND" equal to 0.0V (not saved by simulator), added vgs and vds showing in nmos4.sym and pmos4.sym if show/hide->show hidden texts enabled 2024-05-03 12:10:37 +02:00
stefan schippers 02e0705bf4 little adjust default layer 11 color (green) 2024-05-02 17:44:56 +02:00
stefan schippers c544c5bd6e xinit.c: test for tcl_interactive existence before testing value 2024-05-02 17:33:43 +02:00
stefan schippers c7bf1300c1 some better code formatting 2024-05-02 17:24:31 +02:00
stefan schippers 91fafecffb added some @#pin_name:spice_get_voltage examples on symbols, if no voltage is found return "" instead of "--UNDEF--" 2024-05-02 15:19:34 +02:00
stefan schippers 501fb7943f removed completely menu View->Show/hide->Show net names on symbol pins 2024-05-02 14:41:15 +02:00
stefan schippers 9c750b5044 add @#pin:spice_get_voltage attribute for pin texts that displays voltage of net attached to pin. remove net_name=... attributes from symbols and instance global attributes since it is no more used. set default value for show_pin_net_names to 1. 2024-05-02 10:32:12 +02:00
stefan schippers ba44bfb337 config.h: generate HAS_LIBREADLINE, do not add #include line for libreadline (yet) as this is wip 2024-05-01 11:53:54 +02:00
stefan schippers 6f9ddff72f revert change `do not load XSCHEM_LIBRARY_PATH if options are given on cmdline`. if no file to load is given $XSCHEM_LIBRARY_PATH will be loaded regardless of command line switches 2024-04-30 11:00:37 +02:00
stefan schippers 5a4b2cc6e0 launcher(): issue a warning dialog box if no action is defined (url or tclcommand) 2024-04-25 12:22:15 +02:00
stefan schippers 9631cd2bcf launcher(): bring up an alert dialog if tclcommand did not execute successfully 2024-04-25 12:10:56 +02:00
stefan schippers 60d4fd2345 drc_check(): if no fet_drc procedure found do nothing 2024-04-25 09:13:23 +02:00
stefan schippers c871efa627 xschem image rectangles: allow to fetch urls using filter="tcleval(wget --quiet http://.... -O -)" and image="" 2024-04-22 18:00:15 +02:00
stefan schippers 62eb256159 xschem wave processor: added <, >, <=, >=, ==, != and contitional ? (3 operands) operator 2024-04-22 15:11:25 +02:00
stefan schippers 6fc89f8d0b added comments in developer_info man page 2024-04-19 23:53:36 +02:00
stefan schippers b525252612 preview_window() : BUG 2: test for NULL tkpre_window[i] 2024-04-19 19:17:18 +02:00
stefan schippers c485bcd8a2 preview_window() : BUG: fix order of statements 2024-04-19 19:12:23 +02:00
stefan schippers 34a06d964d preview_window() : allow up to 10 simultaneous preview windows open 2024-04-19 19:05:38 +02:00
stefan schippers 372b21ae07 no load XSCHEM_START_WINDOW if cli options given (2); remove one unneeded var in preview_window() 2024-04-19 17:08:37 +02:00
stefan schippers 6b54542ab4 do not load XSCHEM_LIBRARY_PATH if options are given on cmdline 2024-04-19 13:55:25 +02:00
stefan schippers 531a19ce59 doc updates (xschem raw values with dset = -1) 2024-04-19 12:32:41 +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 83f62bfdf9 postinit_commands: print error message if execution of specified commands fails 2024-04-16 00:17:02 +02:00
stefan schippers 8d68beb914 added drc_check() function, that evaluates tcl scripts contained in symbol `drc` attribute. Used for checking allowed dimensions, mostly 2024-04-15 16:43:56 +02:00
stefan schippers 260256afb9 improve preview_window, to redraw current schematic just use `xschem preview_window draw` (no filename -> use current loaded one) 2024-04-14 23:55:47 +02:00
stefan schippers 3d20b44ced translate3(): add eat_escapes parameter 2024-04-14 11:38:35 +02:00
stefan schippers 9c766c5260 modernization of symgen.awk, fine tuning of create_symbol.tcl 2024-04-12 01:44:48 +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 80e2c47b0e improve `xschem add_symbol_pin` command 2024-04-11 00:05:59 +02:00
stefan schippers 6de84a69e9 better detect wrap arounds (use sweep var, first column saved by ngspice) in multiple sweep dc sims 2024-04-10 12:25:22 +02:00
stefan schippers f88f9f8e2e do not exit is calling xschem with a non existent file on cmdline 2024-04-10 12:08:09 +02:00
stefan schippers 1d72478138 do full x/y zoom when switching log/linear x/y scales in graphs 2024-04-09 09:15:56 +02:00
stefan schippers 51a34ed4a7 get_raw_index(): look up node name as is, before trying upper/lower case 2024-04-08 00:06:18 +02:00
stefan schippers 60e55212d5 handle rot/flip transfofmations for ellipses inside symbols 2024-04-06 23:13:14 +02:00
stefan schippers 059badaccd fix flip / rotation of ellipses (no absolute angles) 2024-04-06 11:31:36 +02:00
stefan schippers ce1d4b4bbb initial support for drawing ellipses (from rectangle boxes) 2024-04-05 01:34:54 +02:00
stefan schippers 83660bc531 update bespice communication routines according to Gerard updates 2024-04-04 00:55:26 +02:00
stefan schippers 35dffef618 has_included_subcircuit(): extend case insensitivity also on included subckt pins vs symbol pins 2024-04-03 00:56:05 +02:00
stefan schippers bcd4e9367b has_included_subcircuit(): use lowercase symname to check with lowercase spice_sym_def included netlist to avoid case mismatches (spice is case-insesitive) 2024-04-02 23:54:40 +02:00
stefan schippers 5e96c84992 simplify draw_graph(): reduce redundant arrays measure_p, measure_x, measure_prev_x to scalars 2024-04-01 23:33:15 +02:00
stefan schippers b004618c25 explicit parameters to interpolate_yval() 2024-04-01 23:23:45 +02:00
stefan schippers 1ed64e95ca optimize a bit draw_graph() (no allocate measure_*[] vars if no cursor) 2024-04-01 11:42:54 +02:00
stefan schippers d9871edb13 update LCC_instances.sch 2024-04-01 02:23:30 +02:00
stefan schippers 033493d0ec doc updates (cursors) 2024-04-01 00:33:09 +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 5dc27fb364 fix 2nd level @param subst in instances (like model=xxx@name in instances) 2024-03-31 00:36:42 +01: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 7756769a4e simplify node measurements and cursor handling 2024-03-30 11:25:02 +01:00
stefan schippers 89f494aa85 simplify node measurements --do not use this commit -- 2024-03-30 10:43:55 +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 659231e7ae remove dbg msg 2024-03-26 18:48:35 +01:00
stefan schippers 5789058775 do not auto highlight nets if operating point raw data is loaded (auto_hilight_graph_nodes=1) 2024-03-26 17:49:35 +01:00
stefan schippers fc19e646c7 set default live_cursor2_backannotate to 1 (enabled) 2024-03-26 15:39:16 +01:00
stefan schippers 3dcda64367 fix Alt-e command (proc open_sub_schematic) if no raw file loaded 2024-03-26 11:30:02 +01:00
stefan schippers 27f41119d8 fourth round of additions to improve auto_hilight_graph_nodes 2024-03-26 01:21:37 +01:00
stefan schippers 34d85db77e third round of additions to improve auto_hilight_graph_nodes 2024-03-26 00:20:40 +01:00
stefan schippers f53bc2c6b7 second round of additions to improve auto_hilight_graph_nodes 2024-03-25 22:28:29 +01:00
stefan schippers aa6182c65f initial support for auto_hilight_graph_nodes 2024-03-25 11:39:57 +01:00
stefan schippers 77a5cecef8 hier_hilight_hash_lookup(): set path param to const char * 2024-03-24 22:49:40 +01:00
Stefan Schippers faee6bbc89 apply cairo_font_scale also for nocairo fonts (in addition to nocairo_[xy]_font_scale) 2024-03-24 20:36:19 +01:00
Stefan Schippers 3186270548 apply cairo_font_scale to svg and ps/pdf exports 2024-03-24 19:59:28 +01:00
Stefan Schippers 85d7e565a3 cairo_font_scale can be changed runtime to rescale text fonts, hier_hilight_hash_lookup(() function to hilight an arbitrary hierarchic net; improved xschem list_hilights command 2024-03-24 19:34:30 +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 c51b4474e5 correctly resolve absolute paths for 2nd...Nth files given on cmdline that use ./ or ../ relative paths 2024-03-21 15:48:48 +01:00
stefan schippers 058b96ba7a fix a crash when netlisting top level elements in print_spice_element(), attempting to look up format string tokens into non-existent parent level (xctx->currsch-1 = -1)) 2024-03-21 14:41:15 +01:00
stefan schippers 85abc67c89 fix arc placement if moving mouse to the left for second point 2024-03-21 01:28:01 +01:00
stefan schippers 3e6a3ba886 draw_symbol() and draw_temp_symbol(): do the second level @ resolution with translate3(): if no @var definition is found leave @var as is. This is what we want, to avoid trying to substitute @m.xm1......[id] ngspice variables. 2024-03-21 00:12:48 +01:00
stefan schippers 12b01e31c6 draw_symbol() and draw_temp_symbol(): do not attempt to do a 2nd level @var resolution for texts as this creates more inconveniences than advantages (quoting hell) 2024-03-20 23:57:01 +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 cc1a70d340 quoting hell mitigation: translate3() should not eat backslashes 2024-03-20 15:08:12 +01:00
stefan schippers 6886fd98e9 f**k 2024-03-20 12:28:49 +01:00
stefan schippers 3e722d217d remove dgb message 2024-03-20 11:55:36 +01:00
stefan schippers 8329720848 hash_file(): skip also .include lines if skip_path_lines parameter is set 2024-03-20 10:45:28 +01:00
stefan schippers 61b1c0b368 add `Tools->Grab screen area` function (unix only) 2024-03-20 03:53:56 +01:00
stefan schippers 6405ac4c09 simplified alpha removal and inversion in ps_embedded_image() 2024-03-18 11:53:51 +01:00
stefan schippers 197379989a edit_image(): add removal of transparency with white and black 2024-03-18 10:54:10 +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 04409cc315 simplified ps_embedded_image(), avoid recoding jpeg if possible (no invert), error checks in edit_image() and get_surface_from_b64data() 2024-03-18 01:08:51 +01:00
Stefan Schippers b46828ae3e fix a typo in simconf, fix embedding of jpeg inside svg images 2024-03-17 20:16:48 +01:00
stefan schippers bf027bc4f8 refactored draw_image() into smaller functions 2024-03-17 10:11:57 +01:00
stefan schippers 9670368f9d set_modify and undo() in `xschem image` commands 2024-03-17 02:13:54 +01:00
stefan schippers 294529f885 protect with #if HAS_CAIRO==1 the edit_image() calls 2024-03-17 01:56:59 +01:00
stefan schippers d5f7c5c88c cleanups in draw_image(), added command `xschem image` for various operations on images 2024-03-17 01:32:10 +01:00
stefan schippers 6416df9733 cleanups in draw_image(), do not decode-reencode jpeg data 2024-03-16 12:50:42 +01:00
stefan schippers f84305930f fix size and number of items ordering in fread() to match returned sizes 2024-03-15 16:07:46 +01:00
stefan schippers 092f111925 intuitive_interface fix: only clicking on an instance (no drag) does not push to undo state 2024-03-15 15:53:38 +01:00
stefan schippers f7287f0c6c add further #if defined(HAS_LIBJPEG) in xschem.h 2024-03-15 14:30:52 +01:00
stefan schippers d30715bc2c add #ifdefs for missing libjpeg libraries to avoid link problems, remove some warnings from compilers/glib versions that tave some functions marked as -Wunused-result 2024-03-15 13:59:52 +01:00
stefan schippers 56697dfc43 protect inspect_iage with HAS_CAIRO==1 2024-03-15 12:57:42 +01:00