Commit Graph

346 Commits

Author SHA1 Message Date
Stefan Frederik 01d9ba58c5 Tabbed windows: menu typo 2022-01-09 22:21:14 +01:00
Stefan Frederik 1360641d75 Tabbed windows interface option added 2022-01-09 22:19:58 +01:00
Stefan Frederik 84662451ae tabbed interface almost done 2022-01-09 14:58:45 +01:00
Stefan Frederik e238f571b0 code added for tabbed window interface 2022-01-09 05:14:25 +01:00
Stefan Frederik 0eaf884039 modularized usage of simconf`s scrollable frame so it can be reused 2022-01-07 12:45:18 +01:00
Stefan Frederik 71a98e78f5 don`t try bring up the info ERC window if xschem is used in cli mode without X; filter out some events from graph event callback 2022-01-06 22:38:00 +01:00
Stefan Frederik 31ba4ce0d6 added wave @ cursor measurement feature 2022-01-04 05:54:25 +01:00
Stefan Frederik 625495e27a measurement tooltip in graphs 2022-01-03 18:43:34 +01:00
Stefan Frederik 2c09982e5a resolve a race condition in context menu (mouse click and immediately destroy menu by exiting the area) 2022-01-03 01:38:15 +01:00
Stefan Frederik 66152c33a5 better vertical scrolling of digital graphs 2022-01-03 00:29:05 +01:00
Stefan Frederik 2bbf967729 remove dbg message 2022-01-02 00:06:22 +01:00
Stefan Frederik 01764bc929 reset globfilter to {*} after using it 2022-01-02 00:05:05 +01:00
Stefan Frederik 81a7041c9f faster graph drawing by direct graph->screen transformation, avoiding double graph->xschem->screen scaling. File entry box is also a glob-search pattern in file open dialog 2022-01-01 15:46:03 +01:00
Stefan Frederik d6c197d108 fix BadDrawable regression in free_rawfile(): after deleting data a draw() was called, but since this function is called also in exit handler all windows are already closed. Added digital waveforms and bussed signal display 2021-12-29 05:11:39 +01:00
Stefan Frederik 37575e9404 allow button1 in addition to button2 for panning / zooming waveforms, add menu commands to insert graph, display/hide empty graphs, load raw file 2021-12-26 04:09:55 +01:00
Stefan Frederik 8fb4c9ee55 Inutile stimuli translator integrated: some fixes 2021-12-26 00:41:21 +01:00
Stefan Frederik 163cdd72e5 Inutile stimuli translator integrated in xschem.tcl, no more EXEC-uted as external process 2021-12-26 00:35:56 +01:00
Stefan Frederik f3526a5a08 Inutile stimuli translator integrated in xschem.tcl, no more EXEC-uted as external process 2021-12-26 00:33:57 +01:00
Stefan Frederik d423545ccc fix: missing graph borders 2021-12-24 21:17:52 +01:00
Stefan Frederik 382cba1fda added missing quotes on return value in abs_sym_path 2021-12-19 10:11:54 +01:00
Stefan Frederik b0af12d529 better layout of load_file_dialog widget; better handling of (strange) pathnames in abs_sym_path 2021-12-19 00:20:20 +01:00
Stefan Frederik ead63f5c39 Fix regression: in load_file_dialog make "Current file dir" button work again 2021-12-18 13:11:21 +01:00
Stefan Frederik a397d936dc if a schematic references a symbol name as "./xxx.sym" (instead of just "xxx.sym")force searching in directory of current schematic first, then in XSCHEM_LIBRARY_PATH directories. 2021-12-18 12:29:17 +01:00
Stefan Frederik 72f365f995 fix regression in tclgetvar() not returning NULL for non existent variables (place text dialog box did not show text size) 2021-12-16 23:09:23 +01:00
Stefan Frederik 95ea920faf do not hash the comments containing absolute paths in xschemtest netlist check, since these vary on different systems 2021-12-14 12:40:32 +01:00
Stefan Frederik b7af31d38c fix regression in tcl execute procedure ("execute 0 prog" blocking if prog closes stdout/stderr file descriptors) 2021-12-13 01:52:18 +01:00
Stefan Frederik 31ff86557e single global array var `execute` instead of multiple execute_* arrays for `execute` process handling 2021-12-06 00:58:06 +01:00
Stefan Frederik de1db1e87a main.c do not spawn a child closing std file descriptors if -b option is given, just start xschem without interactive tcl shell, handle error condition in setup_tcp_gaw 2021-12-05 15:31:26 +01:00
Stefan Frederik f466ce5ad4 better menu text 2021-12-01 12:42:40 +01:00
Stefan Frederik d98c855135 remove calls to ngspice::resetdata in C code, done in ngspice annotator when reading a new file and in xinit.c when exiting the program. Some File menu item reordering 2021-12-01 00:35:52 +01:00
Stefan Frederik 6cf6c58841 add menu command to restore all colors to default, deleting "colors" config file 2021-11-30 00:38:02 +01:00
Stefan Frederik e2197844ca fix infowindow (wrong window path) 2021-11-29 19:14:24 +01:00
Stefan Frederik 40803e47c5 Add Dismiss button to infowindow 2021-11-29 18:41:13 +01:00
Stefan Frederik 053d06c0f6 use tclgetvar for XSCHEM_TMP_DIR 2021-11-29 18:26:52 +01:00
Stefan Frederik 0ebe36bc8f avoid quitting the program for some serious but non fatal errors, add some error reporting, some documentation updates (faq.html) 2021-11-29 17:29:09 +01:00
Stefan Frederik d4fb14a0bb store server socket descriptors so they can be closed at will 2021-11-29 14:56:34 +01:00
Stefan Frederik 887c546d00 more consistent naming for some xschem subcommands, added and updated "xschem help" command (still wip) 2021-11-29 14:37:39 +01:00
Stefan Frederik d3ef2038ed "xschem change_colors" to "xschem build_colors" in tcl command language for consistency 2021-11-29 11:27:11 +01:00
Stefan Frederik 2442a3dfc0 runtime menu option to set undo stack on disk or in memory 2021-11-29 02:47:37 +01:00
Stefan Frederik 1cbfc16cd9 better simconf help text 2021-11-27 03:49:39 +01:00
Stefan Frederik 965d2f3ec1 Restore default (delete simrc file) button in simulation configuration dialog 2021-11-27 03:37:36 +01:00
Stefan Frederik f9b6389942 cosmetic changes ([xschem get version] print format) 2021-11-25 19:26:43 +01:00
Stefan Frederik 39a27e856e fix pcb_current_protection_embed.sch with up to date embedded symbols (previous had very old symbols with errors), fix pmos.sym (make pin names and verilog_format string consistent). All other schematics with embedded symbols updated with current library symbol. Some code in place for saving/restoring symbols in in-memory undo. This code is not compiled so does not affect xschem operation at all. 2021-11-25 04:00:01 +01:00
Stefan Frederik 9f33230f44 removed unneeded tcl global "simulate_bg" 2021-11-23 17:16:21 +01:00
Stefan Frederik 78934d363f removed duplicate netlist_dir global var in C code, use tcl netlist_dir variable, some widgets now display on top of current schematic window instead of xschem`s master window (use [xschem get topwindow] instead of ".") 2021-11-23 17:02:36 +01:00
Stefan Frederik 1c37e7eeee when descending from a modified schematic with highlight nets and not saving schematic before descending, clear highlights to avoid inconsistent state when returning back. save() and save_schematic() have more decent return values 2021-11-22 00:26:49 +01:00
Stefan Frederik 4b228737f4 fix long standing typo in file selector right listbox (-selectmode browse) 2021-11-21 01:56:54 +01:00
Stefan Frederik 10114ec838 add missing braces in update recent file submenu, fix file selector improperly setting main window title, added logic/test_mos_verilog.sch depletion mode verilog example 2021-11-20 23:44:19 +01:00
Stefan Frederik a495ada2ed When saving a schematic issue a warning if disk file has been changed since opening 2021-11-20 13:33:40 +01:00
Stefan Frederik 4cb0a12d64 resolve a race condition between Configure event delivery, window creation, and wm hints setting for icon 2021-11-18 03:06:22 +01:00
Stefan Frederik bbba3b9c02 check for max number of subwindows, better way to set icons for windows 2021-11-18 03:01:28 +01:00
Stefan Frederik eecc81437c flat_netlist and only_probes moved into xctx struct 2021-11-17 23:12:17 +01:00
Stefan Frederik daf90b0645 fix icon pixmap on child schematic windows 2021-11-17 22:15:36 +01:00
Stefan Frederik e27c5dc21a separate pack_widgets and set_bindings 2021-11-17 17:53:18 +01:00
Stefan Frederik 1ce2d71e95 add File menu to open new recent schematic windows 2021-11-17 16:02:29 +01:00
Stefan Frederik 043e83e18f fix correct drawing of new schematic window if schematic not found 2021-11-17 13:32:32 +01:00
Stefan Frederik 7fcda987c0 proc new_window add abs_sym_path so full path is resolved if necessary 2021-11-17 11:47:12 +01:00
Stefan Frederik 59fccdee14 proc new_window remove file normalize as it messes up symlinks 2021-11-17 11:34:58 +01:00
Stefan Frederik 2604db125a fix typo in proc edit_vi_prop 2021-11-17 11:01:44 +01:00
Stefan Frederik dfc8031786 add File menu to open another schematic window in same xschem process 2021-11-17 03:49:32 +01:00
Stefan Frederik 937261807b fix setting snap and grid values in statusbar 2021-11-17 01:30:37 +01:00
Stefan Frederik bd626427fd fix status bar info correctly swicthing when focusing multiple xschem child windows; multiple schematic window handling within one xschem instance is now working 2021-11-17 01:12:55 +01:00
Stefan Frederik ad05513838 some parameter checks in xschem commands, global var removal in simulation help window - No use for production yet 2021-11-16 22:28:10 +01:00
Stefan Frederik 290fc3c793 fix missing escaping of "[" and "]" in tcl command bound to simulate button. Thanks to Mayank Gupta for pointing out the issue 2021-11-14 11:49:12 +01:00
Stefan Frederik 59198f2dda removed a whole bunch of global UI-related variables and tcl/C redundancies 2021-11-10 13:43:08 +01:00
Stefan Frederik c3c1b39cb5 (2) full widget creation for xschem new windows, code cleanup, removed old stuff 2021-11-09 19:05:56 +01:00
Stefan Frederik c6a6d1b1dc Motion and Enter events regain focus even it toolbar is displayed and user pressed "Tab" to focus a button; toolbar button focus ordering matches display ordering 2021-11-08 16:27:07 +01:00
Stefan Frederik fce2c9a292 more consistent ctx menu label texts 2021-11-07 12:57:02 +01:00
Stefan Frederik 05b8447846 better copy/paste button images 2021-11-07 12:54:15 +01:00
Stefan Frederik f96ff46afc better ctx menu font on old 8.4 tcl-tk 2021-11-07 01:12:04 +01:00
Stefan Frederik 173450edde fix wrong toolbar "Push schematic" action 2021-11-06 02:09:32 +01:00
Stefan Frederik 7efc446dae Escape key (instead of Simulation menu entry, now removed) stops ongoing xschem internal simulator engine if running 2021-11-04 23:52:24 +01:00
Stefan Frederik 966ebdc26e fix deletion of ctxmenu if user keeps right button pressed and exits window, icons in ctxmenu 2021-11-04 12:57:41 +01:00
Stefan Frederik fdf198d71e remove commented toolbar items in list 2021-11-04 09:30:43 +01:00
Stefan Frederik f5f6b681e2 removed rarely used toolbar buttons, added Abort context menu command 2021-11-04 02:07:41 +01:00
Stefan Frederik aadc37c2a8 More consistent context menu texts 2021-11-04 01:50:18 +01:00
Stefan Frederik 6ab004ec4b More consistent context menu texts 2021-11-04 01:43:43 +01:00
Stefan Frederik e85559efec context menu added in drawing area (right mouse button) 2021-11-04 01:13:44 +01:00
Stefan Frederik 4dcb2c61a1 redesign of some toolbar buttons 2021-11-03 17:02:52 +01:00
Stefan Frederik 3ec3add6c0 redundant code elimination in new_schematic(), fixed a memory leak in update_symbol() 2021-11-03 00:31:08 +01:00
Stefan Frederik 6dbd952910 code cleanup in new_schematic(), error checks to make new window creation safe and simpler (proc new_window what path filename) 2021-11-02 02:23:45 +01:00
Stefan Frederik b81325ea00 code cleanup, comments, more globals in Xctx context structure 2021-10-25 17:05:43 +02:00
Stefan Frederik 6223698b0b eliminated usage of flatten_savenodes.awk in spice netlist generation as hierarchical node saving (from inside subcircuits) is now a working feature of ngspice. 2021-10-20 01:50:26 +02:00
Stefan Frederik 205bda387a Add File menu commands to open empty schematic or symbol in new window 2021-10-09 00:41:39 +02:00
Stefan Frederik 83c3814aa1 brace all remaining tcl "expr"essions for performance and security 2021-09-21 10:31:08 +02:00
Stefan Frederik 240cbfa935 do not call tcl_hook2() in "xschem get_tok" calls in xschem.tcl 2021-09-20 18:43:29 +02:00
Stefan Frederik f9ef05eabe execute tcleval(...) wrapped attributes in global tcl context, fix a bug (chopped newlines) in tclpropeval2 tcl proc 2021-09-20 12:08:24 +02:00
Stefan Frederik 090cc5052e added xschem X-probe to bespice (from Analog flavor) waveform viewer. Works with eval version too. 2021-09-19 00:21:20 +02:00
Stefan Frederik ccbd77b9d6 edit text label 2021-09-16 18:19:24 +02:00
Stefan Frederik 8e4a6250ac added spice waveform template configuration for Analog Flavor`s bespice wave (bspwave) 2021-09-16 18:07:12 +02:00
Stefan Frederik 00311e7ff1 update license info 2021-07-27 16:42:54 +02:00
Stefan Frederik e16e54d851 new list variable "noprint_libs" to specify patterns of cells NOT to print in hierarchical export. "xschem_libs" does the same thing for netlisting. 2021-06-15 01:15:32 +02:00
Stefan Frederik 5880e23f94 added hierarchical ps/pdf export (File menu) 2021-06-13 23:55:17 +02:00
Stefan Frederik dfef332fb5 Replace *.ipin/*.opin/*.iopin info lines with *.PININFO.... if LVS netlist is selected. Use absolute path of symbols in check_lib function. Make PNG export work if destination path contains spaces. 2021-06-12 00:54:09 +02:00
Stefan Frederik ddaa431144 make_sym_lcc.awk: declare "value" as local variable inside process_box_line() to avoid clashes with global "value" 2021-06-05 08:58:38 +02:00
Stefan Frederik bda3d9d426 Added new feature "Make schematic and symbol from selected components" with command "xschem make_sch_from_sel" and function make_schematic(..)
added proc make_symbol_lcc and make_symbol_lcc.awk
sch and sym components to specially process dash in prop_ptr.
2021-05-29 00:45:01 +02:00
Stefan Frederik 99b0ab2ee2 if an XSCHEM_LIBRARY_PATH item contains "../" somewhere in the directory path apply [file normalize ... ] to resolve the ../../path/ path to an absolute location. 2021-04-16 13:31:20 +02:00
Stefan Frederik 7d4c208027 Save file dialog: added delete file/dir button 2021-03-18 17:16:46 +01:00
Stefan Frederik 447fca1b66 Save file dialog: added delete file/dir button 2021-03-18 17:13:36 +01:00
Stefan Frederik c5adb8a312 export images: seed text box with filename taking current schematic name; mkdir option in file / save dialog box; search dialog box: if token not found just repeat 2021-03-18 16:28:09 +01:00
Stefan Frederik ba31530e87 fix wrong displayed menu accelerator in Properties->View 2021-03-17 00:52:33 +01:00
Stefan Frederik 0d3ebf7da9 add simulation menu option to create simulation/ dir under current schematic dir (local_netlist_dir) 2021-02-14 23:18:25 +01:00
Stefan Frederik df4aa83b01 fix "load most recent file" if file contains spaces. better handling of missing editor 2021-02-14 15:04:14 +01:00
Stefan Frederik 9825349f0d report error if editor not found while opening/editing with editor (netlist, stimuli file attributes) (xschemrc editor variable) 2021-02-14 13:05:11 +01:00
Stefan Frederik b7686bfe5c ngspice annotator: avoid adding "x" to node path names if not in spice netlist mode 2021-02-08 02:15:15 +01:00
Stefan Frederik 3d5e859766 ngspice_annotator: implicitly add "x" to subcircuit instance names that do not begin with "x" or "X" 2021-02-08 01:57:37 +01:00
Stefan Frederik 906dc4212e windows png/pdf export 2021-01-28 23:09:37 +01:00
Stefan Frederik e25f8c308a debug messages 2021-01-17 18:06:02 +01:00
Stefan Frederik 34a664e62f Fix: set_replace_key_binding was not working due to missing global array declaration. 2021-01-17 18:01:19 +01:00
Stefan Frederik e332008fa8 removed/updated obsolete keybinding descriptions, removed status check on Delete key events 2021-01-13 13:44:57 +01:00
Stefan Frederik cea1069656 add "mux", "tristate" functions to logic expressions 2021-01-10 12:53:10 +01:00
Stefan Frederik ef1f297290 more flexibility in constrained move operations (draw wires, lines, copy/move), pressing h/v again toggles constrained / unsonstrained move 2021-01-05 01:24:45 +01:00
Stefan Frederik 6cac6f2291 cleanups in sample xschemrc comments 2021-01-04 15:19:08 +01:00
Stefan Frederik b63d3bec09 finalizing "select nets up to junctions" 2021-01-03 01:26:54 +01:00
Stefan Frederik cc993bfe44 added in the menu the (undocumented) "propagate-highlight" function (propagate through conductive elements) 2021-01-02 20:33:34 +01:00
Stefan Frederik 3528634124 Add Shift-Delete command that selects all nets/labels/probes physically attached to current selected wire segment/label/pin/probe 2021-01-02 18:56:42 +01:00
Stefan Frederik 46e986cc62 added "auto join/trim wires" menu option since now the trim operation is doing fast even on big designs 2021-01-02 03:24:26 +01:00
Stefan Frederik 8cd8542299 code cleanups, eliminated dead code 2021-01-01 15:25:30 +01:00
Stefan Frederik 41d9e17527 option for transparent background in svg export; added ngspice backannotation tutorial 2020-12-28 02:52:44 +01:00
Stefan Frederik b71199c5b8 added "xschem_simulator" sample example directory for trying logic propagation of probed nets 2020-12-26 19:26:33 +01:00
Stefan Frederik 9604b8cc82 removed redundant code in calc_drawing_bbox(),removed trim_wires, push & pop undo in print export routines, exported images should be wysiwyg 2020-12-25 21:31:15 +01:00
Stefan Frederik 582863f825 added menu option to load most recent file: ctrl-shift-o, fix menu entry "unhilight selected nets" (did unhilight all); removed a wire[].node clear in hash_wire() that caused broken connectivity. this data is cleared in delete_netlist_structs when needed. 2020-12-25 04:37:53 +01:00
Stefan Frederik fe42f65ec0 some adjustments to make xschem work without warnings if compiled with 18 years old tcl-tk 8.4, check for unconfigured simulators/viewers (example: running a simulation on tedax netlist), various fixes for the drill_hilight() function 2020-12-24 05:18:50 +01:00
Stefan Frederik 5e0ba4766b use Sans-Serif for svg default font instead of SansSerif that is unrecognized on some browsers 2020-12-22 13:08:11 +01:00
Stefan Frederik 779c789100 better "xschem print" command accepting viewport and image dimensions, better zoom_full (with margin), good for embedding in script and do automatic export generation 2020-12-22 00:13:25 +01:00
Stefan Frederik d46abbeec1 use SansSerif default font instead of Helvetica: more general and better matching with browser display 2020-12-20 22:28:10 +01:00
Stefan Frederik 821ebf06f2 optimizations in instance (connected to wires/net labels) highlights 2020-12-18 19:22:08 +01:00
Stefan Frederik 2e18119645 remove "m=1" in xyce spice netlists as xyce does not handle m param. Translate spice_probe ".save" to xyce ".print tran", handle different hierarchical expansion of voltage/current nodes in xyce for hierarchical ammeter/spice_probe probes 2020-12-17 18:26:46 +01:00
Stefan Frederik 5b4d6ab640 postscript fonts in ps/pdf export 2020-12-16 18:30:33 +01:00
Stefan Frederik f22f7a26f5 allow to specify fixed, user defined line width (does not change on zoom) and allow specify if grid points should be same size as line width 2020-12-14 19:11:24 +01:00
Stefan Frederik ce5adbffdb added flatten_savenodes.awk for flattening in-subcircuit .save instructions 2020-12-14 16:31:20 +01:00
Stefan Frederik 5af6a38d2e allow ! in net names, it got deleted after the parselabel rework. 2020-12-13 20:26:39 +01:00
Stefan Frederik a3e1564c48 option for variable-width grid points for better visibility on hyper-resolution monitors 2020-12-12 13:36:39 +01:00
Stefan Frederik a642d6e05e if cadlayers set in xschemrc reduce / pad color lists accordingly; handle the case of insufficient number of layers set. Sorted "xschem" command "get" substrings for later lookup optimizations 2020-12-08 12:35:21 +01:00
Stefan Frederik 0ca9464f8f "Edit Attr" combobox in edit symbol attributes and edit global attributes was adding unnecessary quotes around the attribute 2020-12-07 21:08:13 +01:00
Stefan Frederik c5c729fc89 tcl code indentation fixes, cleanup, some global vars removed 2020-12-07 15:46:20 +01:00
Stefan Frederik e7e5ad190b more schematic context in xctx: cairo surfaces and context, save buffer graphic context (GC), hilight hash tables and data, node name hash tables. Refactoring of resetwin , resetcairo routines (also used in xinit to avoid code duplication), switching schematics seems almost complete now 2020-12-06 02:10:53 +01:00
Stefan Frederik f9f9de3371 added "PWD" button in file load/place component dialog box that brings back to the directory containing current schematic. Selecting a component before doing "place component" will make the file load dialog start from the directory containing the selected component 2020-12-05 05:18:35 +01:00
Stefan Frederik e6d522bf69 xschem() tcl extension function (scheduler.c) command lookup made much faster by ordering command strings 2020-12-05 00:01:09 +01:00
Stefan Frederik c3aad2fbfc remove dbg messages 2020-12-04 13:02:19 +01:00
Stefan Frederik e5205cfd1e Split mode netlisting in different formats got bitrotten due to a regression. Fixed. 2020-12-04 12:45:50 +01:00
Stefan Frederik 76ef664757 undo data structures into xctx context 2020-12-04 00:30:13 +01:00
Stefan Frederik 2b7e31e0d6 add utility functions to create new schematic window 2020-12-03 23:17:13 +01:00
Stefan Frederik ead42c17fa raise_dialog above main window 2020-12-03 18:43:48 +01:00
Stefan Frederik 3732bd8d01 put cairo save surface and context into xctx, faster and smoother preview (avoid unload/load if no filename change) 2020-12-03 18:21:23 +01:00
Stefan Frederik a64d69ed7a some code refactoring, more globals in xctx context, fixed unnoticed shift-reduce conflict in expandlabel 2020-12-03 04:20:05 +01:00
Stefan Frederik 8902f3b56b more state in xctx context 2020-12-02 19:35:42 +01:00
Stefan Frederik aef66d6ff6 clear debug msg 2020-12-01 14:39:02 +01:00
Stefan Frederik eb2d143e77 more consistent get_tok_value() regarding escaping 2020-11-29 01:59:17 +01:00
Stefan Frederik 9a03923b4e switch LC_ALL to "C" locale 2020-11-28 16:54:15 +01:00